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

/* ---------- Intro ---------- */
.em-intro-sec { padding-bottom: 0; }
.em-intro { display: grid; gap: 20px; max-width: 980px; }
.em-intro__lead {
    font-family: var(--ai-f-display) !important;
    font-weight: 700;
    font-size: clamp(26px, 3.2vw, 40px);
    line-height: 1.12;
    text-transform: uppercase;
}
.em-intro__lead strong { color: var(--ai-rojo); font-weight: 800; }

/* ---------- 01 · Profesionales ---------- */
.em-pros { display: grid; gap: 24px; }
@media (min-width: 1100px) { .em-pros { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.em-pro { border: 1px solid var(--ai-negro); display: grid; min-width: 0; }
/* Un solo embajador: ficha horizontal a todo el ancho */
.em-pros--uno { grid-template-columns: 1fr !important; }
@media (min-width: 700px) { .em-pros--uno .em-pro { grid-template-columns: 2fr 3fr; } .em-pros--uno .em-pro__foto { align-self: start; } }
@media (min-width: 1100px) {
    .em-pros--uno .em-pro { grid-template-columns: 5fr 7fr; }
    .em-pros--uno .em-pro__cuerpo { padding: 48px; }
    .em-pros--uno .em-pro__nombre { font-size: clamp(48px, 5vw, 72px) !important; }
    .em-pros--uno .em-palmares ol { columns: 2; column-gap: 32px; }
    .em-pros--uno .em-palmares li { break-inside: avoid; }
}
@media (min-width: 700px) and (max-width: 1099px) {
    .em-pro { grid-template-columns: 2fr 3fr; }
    .em-pro__foto { align-self: start; }
}
.em-pro__foto { position: relative; margin: 0; background: var(--ai-gris); }
.em-pro__foto img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; object-position: center top; display: block; }
.em-pro__n {
    position: absolute;
    left: 0;
    bottom: 0;
    background: var(--ai-negro);
    color: var(--ai-blanco);
    font-family: var(--ai-f-display);
    font-weight: 800;
    font-size: 28px;
    line-height: 1;
    padding: 10px 14px;
}
.em-pro__cuerpo { padding: clamp(24px, 2.6vw, 32px); display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.em-pro__cat { color: var(--ai-rojo) !important; }
.em-pro__nombre {
    font-family: var(--ai-f-display) !important;
    font-weight: 800 !important;
    font-size: clamp(34px, 3.4vw, 46px) !important;
    line-height: .95 !important;
    text-transform: uppercase;
    overflow-wrap: normal;
    hyphens: manual;
}
.em-badge { white-space: normal; text-align: left; line-height: 1.3; }
.em-pro .gc-texto strong { color: var(--ai-negro); }

.em-palmares { border-top: 3px solid var(--ai-negro); padding-top: 14px; margin-top: 4px; }
.em-palmares .gc-sub { margin-bottom: 6px !important; }
.em-palmares ol { counter-reset: logro; }
.em-palmares li {
    counter-increment: logro;
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 8px;
    padding: 10px 0;
    border-bottom: 1px solid var(--ai-gris-linea);
    font-size: 15px;
    line-height: 1.4;
}
.em-palmares li::before {
    content: counter(logro, decimal-leading-zero);
    font-family: var(--ai-f-display);
    font-weight: 800;
    font-size: 18px;
    line-height: 1.1;
    color: var(--ai-rojo);
}

/* ---------- 02 · Amateur ---------- */
.em-amateurs { display: grid; gap: 1px; background: var(--ai-gris-linea); border: 1px solid var(--ai-gris-linea); }
@media (min-width: 640px)  { .em-amateurs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .em-amateurs { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.em-am { background: var(--ai-blanco); display: flex; flex-direction: column; min-width: 0; }
.em-am__foto { margin: 0; background: var(--ai-gris); }
.em-am__foto img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: center 30%; display: block; }
.em-am__cuerpo { padding: clamp(22px, 2.4vw, 28px); display: flex; flex-direction: column; gap: 10px; }
.em-am__badge { color: var(--ai-rojo) !important; }
.em-am__nombre {
    font-family: var(--ai-f-display) !important;
    font-weight: 800 !important;
    font-size: clamp(28px, 2.6vw, 34px) !important;
    line-height: 1 !important;
    text-transform: uppercase;
}
.em-am__frase { font-size: 17px; line-height: 1.5; color: #2a2a2a; font-weight: 500; }

/* ---------- 03 · Ediciones anteriores (negro) ---------- */
.em-legado { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 16px; }
@media (min-width: 640px)  { .em-legado { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 24px; } }
@media (min-width: 1024px) { .em-legado { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .em-legado { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.em-leg { min-width: 0; }
.em-leg__foto { position: relative; margin: 0 0 14px; background: #1c1c1c; overflow: hidden; }
.em-leg__foto img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
    filter: grayscale(1) contrast(1.05);
    transition: filter .3s ease;
}
.em-leg:hover .em-leg__foto img { filter: none; }
.em-leg__badge { margin-top: 8px !important; font-family: var(--ai-f-mono) !important; font-size: 11px; letter-spacing: .06em; line-height: 1.4; text-transform: uppercase; color: var(--ai-blanco); background: var(--ai-rojo); display: inline-block; padding: 4px 8px; }
.em-leg__nombre {
    font-family: var(--ai-f-display) !important;
    font-weight: 800 !important;
    font-size: clamp(20px, 1.9vw, 24px) !important;
    line-height: 1.05 !important;
    text-transform: uppercase;
    border-top: 2px solid var(--ai-rojo);
    padding-top: 10px;
}
.em-leg__ed { margin-top: 6px !important; font-family: var(--ai-f-mono) !important; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--ai-gris-claro-texto); }

/* Contenido de Embajadores incluido al final de otra página (Media) */
.em-cab-incluida { border-top: 1px solid rgba(255, 255, 255, .18); scroll-margin-top: 80px; }
