/* ============ Diretório de grupos — LinksDoTelegram ============ */
.ldt-container { max-width: 1200px; margin: 0 auto; padding: 0 16px; }

/* Cabeçalho da categoria */
.ldt-cat-head { padding: 24px 0 8px; }
.ldt-cat-title { font-size: 2rem; line-height: 1.2; margin: 0 0 12px; display: flex; align-items: center; gap: .4em; }
.ldt-cat-ico { font-size: 1.4em; }
.ldt-cat-desc { color: #374151; font-size: 1.02rem; line-height: 1.7; margin-bottom: 12px; }
.ldt-cat-desc h2 { font-size: 1.25rem; margin: 18px 0 8px; }
.ldt-cat-count { font-weight: 600; color: var(--ldt-cat-color, #0088cc); margin: 0 0 8px; }

/* Grid de cards */
.ldt-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 16px;
	margin: 16px 0 28px;
}

/* Card */
.ldt-card {
	display: flex; flex-direction: column;
	background: #fff; border: 1px solid #e5e7eb; border-radius: 14px;
	overflow: hidden; transition: box-shadow .15s ease, transform .15s ease;
}
.ldt-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.10); transform: translateY(-2px); }
.ldt-card__media { display: block; aspect-ratio: 16/9; background: #f3f4f6; position: relative; }
.ldt-card__img { width: 100%; height: 100%; object-fit: cover; }
.ldt-card__icon {
	position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
	font-size: 3rem; background: color-mix(in srgb, var(--ldt-cat-color, #0088cc) 14%, #fff);
}
.ldt-card__body { padding: 12px 14px 6px; flex: 1; }
.ldt-card__title { font-size: 1rem; line-height: 1.3; margin: 0 0 4px; }
.ldt-card__title a { color: #111827; text-decoration: none; }
.ldt-card__title a:hover { color: var(--ldt-cat-color, #0088cc); }
.ldt-card__handle { color: #6b7280; font-size: .85rem; margin: 0 0 2px; }
.ldt-card__members { color: #6b7280; font-size: .8rem; margin: 0; }
.ldt-card__cta {
	display: block; text-align: center; margin: 10px 12px 12px;
	background: var(--ldt-cat-color, #0088cc); color: #fff; text-decoration: none;
	padding: 9px 12px; border-radius: 9px; font-weight: 600; font-size: .9rem;
}
.ldt-card__cta:hover { filter: brightness(.93); }
.ldt-card__cta--alt { background: #e5e7eb; color: #374151; }

/* Paginação */
.ldt-pagination { margin: 8px 0 32px; }
.ldt-pagination .page-numbers { padding: 8px 12px; border: 1px solid #e5e7eb; border-radius: 8px; margin: 0 3px; text-decoration: none; }
.ldt-pagination .current { background: var(--ldt-cat-color, #0088cc); color: #fff; border-color: transparent; }

/* Estado vazio */
.ldt-empty { padding: 32px; text-align: center; background: #f9fafb; border-radius: 12px; color: #4b5563; }

/* Zonas de anúncio */
.ldt-ad { margin: 18px 0; min-height: 0; text-align: center; }
.ldt-ad--in-grid { grid-column: 1 / -1; }

/* Age gate +18 */
.ldt-age-gate {
	background: #fff7ed; border: 1px solid #fdba74; border-radius: 12px;
	padding: 16px 18px; margin: 18px 0; text-align: center;
}
.ldt-age-gate__ok {
	margin-top: 10px; background: #e63946; color: #fff; border: 0; cursor: pointer;
	padding: 10px 18px; border-radius: 9px; font-weight: 600;
}
body.ldt-adult-locked .ldt-grid,
body.ldt-adult-locked .ldt-pagination { filter: blur(8px); pointer-events: none; user-select: none; }

@media (max-width: 600px) {
	.ldt-cat-title { font-size: 1.5rem; }
	.ldt-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
	.ldt-card__icon { font-size: 2.2rem; }
}
