/* ==========================================================================
   AITANA TOUR · EXPO (rediseño 2027)
   Componentes comunes (cabecera, títulos, rejillas, CTA): base-v4.css.
   ========================================================================== */

.ex .gc-datos dd.ex-horario { font-size: clamp(22px, 2.2vw, 30px); line-height: 1.1; }

/* ---------- 01 · Experiencia ---------- */
.ex-exp { display: grid; gap: clamp(32px, 4vw, 56px); align-items: start; }
@media (min-width: 960px) { .ex-exp { grid-template-columns: 6fr 5fr; } }
.ex-exp__lead {
    font-family: var(--ai-f-display) !important;
    font-weight: 700;
    font-size: clamp(26px, 3vw, 38px);
    line-height: 1.1;
    text-transform: uppercase;
}
.ex-foto { margin: 0; background: var(--ai-gris); }
.ex-foto img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }

/* ---------- 03 · Actividades (negro) ---------- */
.ex-act { display: grid; gap: 24px; }
@media (min-width: 900px) { .ex-act { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ex-act__bloque { border: 1px solid var(--ai-gris-oscuro); padding: clamp(24px, 3vw, 32px); display: flex; flex-direction: column; gap: 14px; }
.ex-act__bloque--rojo { background: var(--ai-rojo); border-color: var(--ai-rojo); }
.ex-act__bloque--rojo .gc-lista-guion li { border-color: rgba(255, 255, 255, .4); color: var(--ai-blanco); }
.ex-act__bloque--rojo .gc-lista-guion li::before { background: var(--ai-blanco); }
.ex-act__n { font-family: var(--ai-f-display); font-weight: 800; font-size: 40px; line-height: 1; color: var(--ai-rojo); }
.ex-act__bloque--rojo .ex-act__n { color: var(--ai-blanco); }
.ex-act__titulo {
    font-family: var(--ai-f-display) !important;
    font-weight: 800 !important;
    font-size: clamp(28px, 3vw, 36px) !important;
    line-height: 1 !important;
    text-transform: uppercase;
}
.ex-act__enlace { margin-top: auto; font-family: var(--ai-f-display); font-weight: 700; font-size: 18px; letter-spacing: .06em; text-transform: uppercase; }
.ex-act__enlace:hover { color: var(--ai-rojo); }

/* ---------- 04 · Información práctica ---------- */
.ex-info { display: grid; gap: 32px; margin-bottom: 32px; }
@media (min-width: 900px) { .ex-info { grid-template-columns: 5fr 4fr 3fr; gap: 48px; } }
.ex-info__col { display: flex; flex-direction: column; gap: 6px; }
.ex-tabla th, .ex-tabla td {
    padding: 12px 0;
    border-bottom: 1px solid var(--ai-gris-linea);
    text-align: left;
    vertical-align: baseline;
    font-family: var(--ai-f-display) !important;
    font-size: clamp(20px, 2vw, 24px);
    line-height: 1.2;
}
.ex-tabla th { font-weight: 700; text-transform: uppercase; padding-right: 16px; width: 35%; }
.ex-tabla td { font-weight: 600; }
.ex-turismo { gap: 14px; }

/* ---------- 05 · Expón tu marca ---------- */
.ex-marca { display: grid; gap: 24px 48px; align-items: end; border-top: 3px solid var(--ai-negro); padding-top: 24px; }
@media (min-width: 960px) { .ex-marca { grid-template-columns: 1fr 1fr; } }
.ex-marca__titulo { font-size: clamp(40px, 5.6vw, 80px); margin-top: 8px !important; }
.ex-marca__texto { font-size: 18px; line-height: 1.55; }
.ex-marca__texto a { color: var(--ai-rojo) !important; text-decoration: underline !important; font-weight: 600; }

/* ---------- CTA ---------- */
.ex-cta__contacto { border-top: 1px solid rgba(255, 255, 255, .5); padding-top: 20px; display: flex; flex-direction: column; gap: 8px; font-size: 17px; }
.ex-cta__contacto .gc-etq { color: var(--ai-blanco); }
.ex-cta__contacto a { color: var(--ai-blanco) !important; text-decoration: underline !important; font-weight: 700; }
