
/* ===== CDH SALIDA V3 UI ===== */

.cdh-mobile-cta{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:9999;
    padding:12px 14px calc(12px + env(safe-area-inset-bottom));
    background:rgba(10,10,10,.92);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    display:none;
    border-top:1px solid rgba(255,255,255,.08);
    transform:translate3d(0,0,0);
    will-change:transform;
    contain:layout paint;
}

.cdh-mobile-cta .cdh-mobile-cta-btn{
    border:0;
    cursor:pointer;
    appearance:none;
    -webkit-appearance:none;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    box-sizing:border-box;
    min-height:52px;
    border-radius:18px;
    background:#c41212;
    color:#fff;
    text-decoration:none;
    font-family:Inter,sans-serif;
    font-weight:700;
    letter-spacing:.3px;
    transition:all .25s ease;
}

.cdh-mobile-cta .cdh-mobile-cta-btn:hover{
    background:#000;
    color:#fff;
}

.cdh-sidebar-card{
    background:#121212;
    border-radius:24px;
    padding:24px;
    box-shadow:0 10px 40px rgba(0,0,0,.22);
    border:1px solid rgba(255,255,255,.05);
}

.cdh-sidebar-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin-top:20px;
}

.cdh-side-stat{
    background:#1b1b1b;
    border-radius:18px;
    padding:14px;
    text-align:center;
}

.cdh-side-stat-label{
    color:#9d9d9d;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:1px;
    margin-bottom:6px;
}

.cdh-side-stat-value{
    color:#fff;
    font-size:18px;
    font-weight:700;
}

.cdh-participants-modern{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    margin-top:14px;
}

.cdh-participants-modern .cdh-avatar{
    width:44px;
    height:44px;
    border-radius:50%;
    border:2px solid #fff;
    overflow:hidden;
    background:#2a2a2a;
}

.cdh-participants-modern .cdh-avatar img{
    width:100%;
    box-sizing:border-box;
    height:100%;
    object-fit:cover;
}

.cdh-ui-card{
    border-radius:28px;
    background:#121212;
    padding:28px;
    box-shadow:0 12px 36px rgba(0,0,0,.16);
    margin-bottom:28px;
}

.cdh-ui-card:hover{
    transform:translateY(-2px);
    transition:all .25s ease;
}

@media(max-width:768px){

    body{
        padding-bottom:calc(96px + env(safe-area-inset-bottom));
    }

    .cdh-mobile-cta{
        display:block;
    }

    .cdh-sidebar-grid{
        grid-template-columns:1fr 1fr;
    }

    .cdh-ui-card{
        border-radius:22px;
        padding:22px;
    }
}


@media(max-width:768px){
    .cdh-mobile-cta{
        display:block;
    }

    .cdh-mobile-cta .cdh-mobile-cta-btn{
        max-width:720px;
        margin:0 auto;
        line-height:1;
        box-shadow:0 10px 28px rgba(196,18,18,.35);
    }
}



/* ===== CDH SALIDA V4 — Timeline, puntos y checklist ===== */

.cdh-card__lead{
    margin:-8px 0 24px;
    color:rgba(255,255,255,.68);
    font-family:Inter,sans-serif;
    font-size:15px;
    line-height:1.55;
    max-width:720px;
}

.cdh-card--content{
    overflow:hidden;
}

/* Timeline recorrido */
.cdh-steps{
    position:relative;
    display:flex;
    flex-direction:column;
    gap:18px;
    margin:0;
    padding:0;
    list-style:none;
    counter-reset:cdh-step;
}

.cdh-steps::before{
    content:"";
    position:absolute;
    left:26px;
    top:28px;
    bottom:28px;
    width:2px;
    background:linear-gradient(to bottom, #c41212, rgba(196,18,18,.15));
    opacity:.9;
}

.cdh-steps__item{
    position:relative;
    display:grid;
    grid-template-columns:54px minmax(0,1fr);
    gap:18px;
    align-items:stretch;
}

.cdh-steps__number{
    position:relative;
    z-index:2;
    width:54px;
    height:54px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#c41212;
    color:#fff;
    font-family:Oswald,Inter,sans-serif;
    font-size:22px;
    font-weight:700;
    box-shadow:0 12px 26px rgba(196,18,18,.34);
}

.cdh-steps__content{
    display:grid;
    grid-template-columns:minmax(0,1fr) 150px;
    gap:18px;
    align-items:center;
    min-height:112px;
    padding:18px;
    border-radius:24px;
    background:linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.03));
    border:1px solid rgba(255,255,255,.075);
    box-shadow:0 12px 28px rgba(0,0,0,.16);
    transition:transform .25s ease, border-color .25s ease, background .25s ease;
}

.cdh-steps__item:hover .cdh-steps__content{
    transform:translateY(-2px);
    border-color:rgba(196,18,18,.38);
    background:linear-gradient(135deg, rgba(255,255,255,.095), rgba(255,255,255,.04));
}

.cdh-steps__body strong{
    display:block;
    color:#fff;
    font-family:Oswald,Inter,sans-serif;
    text-transform:uppercase;
    letter-spacing:.5px;
    font-size:23px;
    line-height:1.05;
    margin-bottom:8px;
}

.cdh-steps__body small{
    display:block;
    color:rgba(255,255,255,.68);
    font-family:Inter,sans-serif;
    font-size:14px;
    line-height:1.5;
    margin-top:6px;
}

.cdh-tramo-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:14px 0 4px;
}

.cdh-tramo-meta span{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:6px 11px;
    border-radius:999px;
    background:rgba(196,18,18,.14);
    color:#fff;
    border:1px solid rgba(196,18,18,.28);
    font-family:Inter,sans-serif;
    font-size:12px;
    font-weight:700;
    letter-spacing:.25px;
}

.cdh-steps__media{
    height:112px;
    border-radius:20px;
    overflow:hidden;
}

.cdh-steps__thumb{
    display:block;
    height:100%;
    border-radius:20px;
    overflow:hidden;
    background:#050505;
}

.cdh-steps__thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .35s ease;
}

.cdh-steps__thumb:hover img{
    transform:scale(1.06);
}

/* Puntos de encuentro */
.cdh-list--meeting-points{
    display:grid;
    gap:14px;
    margin:0;
    padding:0;
    list-style:none;
}

.cdh-list--meeting-points .cdh-list__item{
    display:grid;
    grid-template-columns:92px minmax(0,1fr);
    gap:16px;
    align-items:center;
    padding:16px;
    border-radius:22px;
    background:linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
    border:1px solid rgba(255,255,255,.07);
}

.cdh-list__item-time{
    min-height:56px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    color:#111;
    font-family:Oswald,Inter,sans-serif;
    font-size:22px;
    font-weight:700;
    letter-spacing:.5px;
}

.cdh-list__item-body strong{
    display:block;
    color:#fff;
    font-family:Oswald,Inter,sans-serif;
    text-transform:uppercase;
    letter-spacing:.45px;
    font-size:21px;
    line-height:1.1;
    margin-bottom:6px;
}

.cdh-list__item-body small{
    display:block;
    color:rgba(255,255,255,.68);
    font-family:Inter,sans-serif;
    line-height:1.45;
    margin-top:4px;
}

.cdh-list__item-body a{
    color:#fff;
    font-weight:800;
    text-decoration:none;
    border-bottom:1px solid rgba(196,18,18,.9);
}

/* Checklist */
.cdh-checklist{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin:0;
    padding:0;
    list-style:none;
}

.cdh-checklist__item{
    position:relative;
    min-height:58px;
    padding:16px 16px 16px 48px;
    border-radius:20px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.07);
    color:#fff;
    font-family:Inter,sans-serif;
    font-weight:700;
}

.cdh-checklist__item::before{
    content:"✓";
    position:absolute;
    left:16px;
    top:16px;
    width:22px;
    height:22px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#c41212;
    color:#fff;
    font-size:13px;
    font-weight:900;
}

.cdh-checklist__item small{
    display:block;
    margin-top:5px;
    color:rgba(255,255,255,.6);
    font-weight:500;
    line-height:1.45;
}

@media(max-width:900px){
    .cdh-steps__content{
        grid-template-columns:1fr;
    }

    .cdh-steps__media{
        height:180px;
    }

    .cdh-checklist{
        grid-template-columns:1fr;
    }
}

@media(max-width:640px){
    .cdh-card__lead{
        font-size:14px;
        margin-bottom:18px;
    }

    .cdh-steps{
        gap:14px;
    }

    .cdh-steps::before{
        left:20px;
    }

    .cdh-steps__item{
        grid-template-columns:42px minmax(0,1fr);
        gap:12px;
    }

    .cdh-steps__number{
        width:42px;
        height:42px;
        border-radius:14px;
        font-size:18px;
    }

    .cdh-steps__content{
        padding:15px;
        border-radius:20px;
    }

    .cdh-steps__body strong{
        font-size:20px;
    }

    .cdh-tramo-meta span{
        font-size:11px;
    }

    .cdh-list--meeting-points .cdh-list__item{
        grid-template-columns:1fr;
        gap:10px;
    }

    .cdh-list__item-time{
        width:max-content;
        min-width:92px;
        min-height:44px;
        font-size:20px;
    }
}



/* ===== CDH SALIDA V4.1 — Fix cards blancas ===== */

/* Las cards internas del detalle usan fondo blanco; estos módulos deben contrastar ahí. */
.cdh-card--content .cdh-card__lead{
    color:#777;
}

.cdh-card--content .cdh-steps__content,
.cdh-card--content .cdh-list--meeting-points .cdh-list__item,
.cdh-card--content .cdh-checklist__item{
    background:#fff;
    border:1px solid rgba(0,0,0,.09);
    box-shadow:0 12px 28px rgba(0,0,0,.06);
}

.cdh-card--content .cdh-steps__item:hover .cdh-steps__content{
    border-color:rgba(196,18,18,.35);
    background:#fff;
}

.cdh-card--content .cdh-steps__body strong,
.cdh-card--content .cdh-list__item-body strong,
.cdh-card--content .cdh-checklist__item{
    color:#111;
}

.cdh-card--content .cdh-steps__body small,
.cdh-card--content .cdh-list__item-body small,
.cdh-card--content .cdh-checklist__item small{
    color:#777;
}

.cdh-card--content .cdh-tramo-meta span{
    background:#f1f1f1;
    color:#111;
    border:1px solid rgba(0,0,0,.08);
}

.cdh-card--content .cdh-list__item-time{
    background:#111;
    color:#fff;
}

.cdh-card--content .cdh-list__item-body a{
    color:#111;
    border-bottom-color:#c41212;
}

.cdh-card--content .cdh-checklist__item{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:72px;
    padding:16px 18px 16px 56px;
    line-height:1.25;
}

.cdh-card--content .cdh-checklist__item::before{
    left:18px;
    top:50%;
    transform:translateY(-50%);
    width:24px;
    height:24px;
    background:#111;
    color:#fff;
    box-shadow:none;
}

.cdh-card--content .cdh-checklist__item:hover::before{
    background:#c41212;
}

@media(max-width:640px){
    .cdh-card--content .cdh-checklist__item{
        padding-left:54px;
    }
}



/* ===== CDH SALIDA V5 — Participantes comunidad ===== */

.cdh-community-section{
    max-width:1200px;
    margin:42px auto;
    padding:0 24px;
}

.cdh-community-card{
    display:grid;
    grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);
    gap:26px;
    align-items:stretch;
    border-radius:34px;
    padding:30px;
    background:
        radial-gradient(circle at 15% 15%, rgba(196,18,18,.24), transparent 34%),
        linear-gradient(135deg, #121212 0%, #050505 100%);
    color:#fff;
    box-shadow:0 24px 60px rgba(0,0,0,.24);
    overflow:hidden;
    position:relative;
}

.cdh-community-card::after{
    content:"";
    position:absolute;
    right:-80px;
    top:-80px;
    width:220px;
    height:220px;
    border-radius:50%;
    background:rgba(196,18,18,.22);
    filter:blur(8px);
}

.cdh-community-card__content,
.cdh-community-card__stats{
    position:relative;
    z-index:2;
}

.cdh-community-card__eyebrow{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:6px 12px;
    border-radius:999px;
    background:rgba(196,18,18,.18);
    border:1px solid rgba(196,18,18,.35);
    color:#fff;
    font-family:Inter,sans-serif;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.8px;
    margin-bottom:14px;
}

.cdh-community-card__title{
    margin:0;
    font-family:Oswald,Inter,sans-serif;
    text-transform:uppercase;
    letter-spacing:.6px;
    font-size:clamp(32px,4vw,54px);
    line-height:.95;
}

.cdh-community-card__lead{
    max-width:620px;
    margin:14px 0 22px;
    color:rgba(255,255,255,.72);
    font-family:Inter,sans-serif;
    font-size:16px;
    line-height:1.55;
}

.cdh-community-avatars{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:0;
    margin:22px 0 26px;
    padding-left:10px;
}

.cdh-community-avatar{
    width:58px;
    height:58px;
    border-radius:50%;
    margin-left:-10px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#262626;
    border:3px solid #0b0b0b;
    color:#fff;
    overflow:hidden;
    font-family:Oswald,Inter,sans-serif;
    font-size:18px;
    font-weight:800;
    letter-spacing:.5px;
    box-shadow:0 10px 26px rgba(0,0,0,.26);
}

.cdh-community-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.cdh-community-avatar--more{
    background:#c41212;
}

.cdh-community-avatar--ghost{
    background:transparent;
    border-style:dashed;
    color:rgba(255,255,255,.7);
}

.cdh-community-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.cdh-community-card__stats{
    display:grid;
    gap:14px;
    align-content:center;
}

.cdh-community-stat{
    border-radius:24px;
    padding:20px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.09);
}

.cdh-community-stat span{
    display:block;
    color:rgba(255,255,255,.58);
    font-family:Inter,sans-serif;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.8px;
    margin-bottom:8px;
}

.cdh-community-stat strong{
    display:block;
    color:#fff;
    font-family:Oswald,Inter,sans-serif;
    font-size:40px;
    line-height:1;
}

.cdh-community-stat--accent{
    background:#c41212;
    border-color:#c41212;
}

.cdh-community-stat--accent span,
.cdh-community-stat--accent strong{
    color:#fff;
}

/* Modal participantes */
.cdh-participantes-modal__content h3{
    font-family:Oswald,Inter,sans-serif;
    text-transform:uppercase;
    letter-spacing:.5px;
}

.cdh-participantes-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin:18px 0;
}

.cdh-participante-card{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
    padding:12px;
    border-radius:18px;
    background:#f7f7f7;
    border:1px solid rgba(0,0,0,.08);
}

.cdh-participante-card__avatar{
    width:46px;
    height:46px;
    flex:0 0 46px;
    border-radius:50%;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#111;
    color:#fff;
    font-family:Oswald,Inter,sans-serif;
    font-weight:800;
    letter-spacing:.4px;
}

.cdh-participante-card__avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.cdh-participante-card__body{
    min-width:0;
}

.cdh-participante-card__body strong{
    display:block;
    color:#111;
    font-family:Inter,sans-serif;
    font-size:14px;
    line-height:1.15;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.cdh-participante-card__body small{
    display:block;
    color:#777;
    font-family:Inter,sans-serif;
    margin-top:2px;
}

@media(max-width:820px){
    .cdh-community-card{
        grid-template-columns:1fr;
        padding:24px;
        border-radius:28px;
    }

    .cdh-community-card__stats{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .cdh-community-stat{
        padding:16px;
    }

    .cdh-community-stat strong{
        font-size:32px;
    }
}

@media(max-width:560px){
    .cdh-community-section{
        margin:30px auto;
        padding:0 16px;
    }

    .cdh-community-card__stats{
        grid-template-columns:1fr;
    }

    .cdh-community-actions .cdh-salida__cta{
        width:100%;
    }

    .cdh-participantes-grid{
        grid-template-columns:1fr;
    }
}



/* ===== CDH SALIDA V5.1 — Comunidad refinada ===== */

/* Alinea Comunidad CDH con el ancho visual de galería y demás bloques amplios */
.cdh-community-section{
    max-width:1248px;
    width:100%;
    box-sizing:border-box;
}

/* Al quedar un solo CTA, lo hacemos más limpio */
.cdh-community-actions{
    margin-top:8px;
}

.cdh-community-actions .cdh-salida__cta{
    min-width:190px;
}

/* Evita que el hero reserve espacio visual para un botón removido */
.cdh-salida__hero-actions{
    gap:12px;
}

@media(max-width:560px){
    .cdh-community-actions .cdh-salida__cta{
        min-width:0;
        width:100%;
    }
}



/* ===== CDH SALIDA V5.2 — UX mobile CTA final ===== */

/*
En mobile el CTA sticky inferior ya cumple la función de conversión.
Ocultamos el footer CTA para evitar duplicación visual al llegar al final.
*/
@media(max-width:768px){
    .cdh-salida__footer-cta{
        display:none !important;
    }
}



/* ===== CDH SALIDA V6 — Galería cinematográfica ===== */

.cdh-salida__gallery-section{
    max-width:1248px;
    margin:50px auto;
    padding:0 24px;
    box-sizing:border-box;
}

.cdh-salida__gallery-inner{
    border-radius:34px;
    padding:30px;
    background:#fff;
    box-shadow:0 24px 60px rgba(0,0,0,.10);
    overflow:hidden;
}

.cdh-gallery-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:24px;
}

.cdh-gallery-head__eyebrow{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:5px 11px;
    border-radius:999px;
    background:rgba(196,18,18,.10);
    color:#c41212;
    border:1px solid rgba(196,18,18,.18);
    font-family:Inter,sans-serif;
    font-weight:900;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.8px;
    margin-bottom:10px;
}

.cdh-gallery-head .cdh-section-title{
    margin:0;
}

.cdh-gallery-head__lead{
    margin:8px 0 0;
    color:#777;
    font-family:Inter,sans-serif;
    font-size:15px;
    line-height:1.5;
}

.cdh-gallery-head__count{
    min-width:112px;
    min-height:92px;
    border-radius:24px;
    background:#111;
    color:#fff;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    box-shadow:0 16px 34px rgba(0,0,0,.16);
}

.cdh-gallery-head__count strong{
    font-family:Oswald,Inter,sans-serif;
    font-size:40px;
    line-height:1;
}

.cdh-gallery-head__count span{
    margin-top:4px;
    font-family:Inter,sans-serif;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.8px;
    color:rgba(255,255,255,.68);
}

.cdh-gallery--mosaic{
    display:grid;
    grid-template-columns:repeat(12,1fr);
    grid-auto-rows:105px;
    gap:14px;
}

.cdh-gallery__item{
    position:relative;
    display:block;
    min-height:160px;
    border-radius:26px;
    overflow:hidden;
    background:#111;
    box-shadow:0 14px 30px rgba(0,0,0,.13);
    isolation:isolate;
}

.cdh-gallery__item::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    background:linear-gradient(to top, rgba(0,0,0,.38), transparent 55%);
    opacity:.72;
    transition:opacity .28s ease;
}

.cdh-gallery__item::after{
    content:"Ver foto";
    position:absolute;
    left:16px;
    bottom:14px;
    z-index:3;
    min-height:30px;
    padding:6px 12px;
    border-radius:999px;
    background:rgba(255,255,255,.92);
    color:#111;
    font-family:Inter,sans-serif;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.5px;
    transform:translateY(8px);
    opacity:0;
    transition:all .28s ease;
}

.cdh-gallery__item:hover::after{
    transform:translateY(0);
    opacity:1;
}

.cdh-gallery__item:hover::before{
    opacity:.95;
}

.cdh-gallery__item img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .45s ease, filter .45s ease;
}

.cdh-gallery__item:hover img{
    transform:scale(1.07);
    filter:saturate(1.08) contrast(1.03);
}

.cdh-gallery__item--1{ grid-column:span 6; grid-row:span 3; }
.cdh-gallery__item--2{ grid-column:span 3; grid-row:span 2; }
.cdh-gallery__item--3{ grid-column:span 3; grid-row:span 2; }
.cdh-gallery__item--4{ grid-column:span 4; grid-row:span 2; }
.cdh-gallery__item--5{ grid-column:span 2; grid-row:span 2; }

.cdh-gallery-empty{
    display:flex;
    flex-direction:column;
    gap:6px;
    padding:28px;
    border-radius:26px;
    background:#f6f6f6;
    border:1px dashed rgba(0,0,0,.16);
    color:#111;
}

.cdh-gallery-empty strong{
    font-family:Oswald,Inter,sans-serif;
    text-transform:uppercase;
    font-size:24px;
    letter-spacing:.4px;
}

.cdh-gallery-empty span{
    color:#777;
    font-family:Inter,sans-serif;
}

@media(max-width:920px){
    .cdh-gallery--mosaic{ grid-auto-rows:95px; }
    .cdh-gallery__item--1{ grid-column:span 12; grid-row:span 3; }
    .cdh-gallery__item--2,
    .cdh-gallery__item--3,
    .cdh-gallery__item--4,
    .cdh-gallery__item--5{
        grid-column:span 6;
        grid-row:span 2;
    }
}

@media(max-width:640px){
    .cdh-salida__gallery-section{
        margin:32px auto;
        padding:0 16px;
    }

    .cdh-salida__gallery-inner{
        padding:20px;
        border-radius:28px;
    }

    .cdh-gallery-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .cdh-gallery-head__count{
        min-width:100%;
        min-height:74px;
        flex-direction:row;
        gap:8px;
    }

    .cdh-gallery-head__count strong{
        font-size:34px;
    }

    .cdh-gallery--mosaic{
        display:flex;
        overflow-x:auto;
        gap:12px;
        scroll-snap-type:x mandatory;
        padding-bottom:8px;
        margin-right:-20px;
        padding-right:20px;
    }

    .cdh-gallery__item,
    .cdh-gallery__item--1,
    .cdh-gallery__item--2,
    .cdh-gallery__item--3,
    .cdh-gallery__item--4,
    .cdh-gallery__item--5{
        flex:0 0 82%;
        min-height:260px;
        grid-column:auto;
        grid-row:auto;
        scroll-snap-align:start;
    }

    .cdh-gallery__item::after{
        opacity:1;
        transform:none;
    }
}



/* ===== CDH SALIDA V6.1 — Fix altura galería ===== */

/*
La galería puede tener pocas fotos. En esos casos el mosaico necesita
altura mínima real y aire inferior para que la imagen no quede mordida.
*/
.cdh-salida__gallery-inner{
    padding-bottom:38px !important;
}

.cdh-gallery--mosaic{
    align-items:stretch;
    min-height:330px;
}

.cdh-gallery__item{
    height:100%;
    min-height:260px;
}

.cdh-gallery__item img{
    height:100% !important;
}

@media(min-width:921px){
    .cdh-gallery--mosaic .cdh-gallery__item:only-child,
    .cdh-gallery--mosaic .cdh-gallery__item:first-child:last-child{
        grid-column:span 7;
        grid-row:span 3;
        min-height:330px;
    }
}

@media(max-width:920px){
    .cdh-gallery--mosaic{
        min-height:300px;
    }

    .cdh-gallery__item{
        min-height:280px;
    }
}

@media(max-width:640px){
    .cdh-salida__gallery-inner{
        padding-bottom:24px !important;
    }

    .cdh-gallery--mosaic{
        min-height:0;
    }

    .cdh-gallery__item,
    .cdh-gallery__item--1,
    .cdh-gallery__item--2,
    .cdh-gallery__item--3,
    .cdh-gallery__item--4,
    .cdh-gallery__item--5{
        min-height:260px;
    }
}



/* ===== CDH SALIDA V7 — Estados y CTA inteligentes ===== */

.cdh-salida__cta{
    transition:
        transform .22s ease,
        background .22s ease,
        color .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}

.cdh-salida__cta:hover{
    transform:translateY(-2px);
}

.cdh-salida__cta--waitlist{
    background:#ffb400 !important;
    color:#111 !important;
    box-shadow:0 14px 30px rgba(255,180,0,.24) !important;
}

.cdh-salida__cta--warning{
    background:#444 !important;
    color:#fff !important;
    cursor:not-allowed;
    box-shadow:none !important;
}

.cdh-salida__cta--disabled{
    background:#222 !important;
    color:#888 !important;
    pointer-events:none;
    box-shadow:none !important;
}

.cdh-estado-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:56px;
    padding:14px 22px;
    border-radius:18px;
    font-family:Oswald,Inter,sans-serif;
    text-transform:uppercase;
    letter-spacing:.5px;
    font-size:22px;
    background:#1a1a1a;
    color:#fff;
}

.cdh-estado-badge--pasada{
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.14);
    color:#fff;
}

.cdh-mobile-cta-btn.cdh-salida__cta--waitlist{
    background:#ffb400 !important;
    color:#111 !important;
}

.cdh-mobile-cta-btn.cdh-salida__cta--warning{
    background:#444 !important;
    color:#fff !important;
}

@media(max-width:640px){
    .cdh-estado-badge{
        width:100%;
        font-size:18px;
    }
}



/* ===== CDH SALIDA V7.1 — Fix textos CTA ===== */
.cdh-salida__cta,
.cdh-mobile-cta-btn{
    color:#fff;
    font-size:16px;
    font-weight:800;
    line-height:1.1;
}

.cdh-salida__cta--waitlist,
.cdh-mobile-cta-btn.cdh-salida__cta--waitlist{
    color:#111 !important;
}


/* ===== FIX REAL CTA ===== */
.cdh-salida__cta{
    min-width:220px !important;
    min-height:58px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    white-space:nowrap !important;
    text-align:center !important;
    padding:0 26px !important;
}



/* ===== CDH SALIDA V7.3 — CTA text hard fix ===== */
.cdh-salida__cta,
.cdh-mobile-cta-btn{
    position:relative !important;
    overflow:hidden;
    color:#fff !important;
    font-size:16px !important;
    text-indent:0 !important;
}

.cdh-salida__cta .cdh-cta-text,
.cdh-mobile-cta-btn .cdh-cta-text{
    position:relative !important;
    z-index:20 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    opacity:1 !important;
    visibility:visible !important;
    color:inherit !important;
    font-family:Inter, sans-serif !important;
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1 !important;
    text-indent:0 !important;
    white-space:nowrap !important;
    text-transform:none !important;
    letter-spacing:0 !important;
    pointer-events:none !important;
    mix-blend-mode:normal !important;
}

.cdh-salida__cta--waitlist,
.cdh-mobile-cta-btn.cdh-salida__cta--waitlist{
    color:#111 !important;
}

.cdh-salida__cta--waitlist .cdh-cta-text,
.cdh-mobile-cta-btn.cdh-salida__cta--waitlist .cdh-cta-text{
    color:#111 !important;
}

.cdh-salida__cta::before,
.cdh-salida__cta::after,
.cdh-mobile-cta-btn::before,
.cdh-mobile-cta-btn::after{
    z-index:1 !important;
    pointer-events:none !important;
}



/* ===== CDH SALIDA V8 — Mobile polish general ===== */

@media(max-width:768px){

    html,
    body{
        overflow-x:hidden;
    }

    .cdh-salida{
        background:#f3f3f3;
    }

    /* Hero más respirable en mobile */
    .cdh-salida__hero{
        min-height:78vh;
        padding-bottom:36px;
    }

    .cdh-salida__hero-inner{
        padding-left:18px !important;
        padding-right:18px !important;
    }

    .cdh-salida__hero-top{
        gap:14px;
    }

    .cdh-salida__brand-copy{
        display:none;
    }

    .cdh-salida__hero-auth{
        gap:8px;
    }

    .cdh-salida__hero-auth .cdh-salida__cta{
        min-width:0 !important;
        min-height:42px !important;
        padding:0 14px !important;
        font-size:13px !important;
        border-radius:14px !important;
    }

    .cdh-salida__title{
        font-size:clamp(46px, 15vw, 78px) !important;
        line-height:.88 !important;
        letter-spacing:-1px !important;
        max-width:100%;
        word-break:normal;
    }

    .cdh-salida__excerpt{
        font-size:18px !important;
        line-height:1.38 !important;
        max-width:96%;
    }

    .cdh-salida__meta{
        display:flex;
        flex-wrap:nowrap;
        overflow-x:auto;
        gap:8px;
        padding-bottom:8px;
        margin-right:-18px;
        padding-right:18px;
        scroll-snap-type:x mandatory;
    }

    .cdh-salida__meta-item{
        flex:0 0 auto;
        scroll-snap-align:start;
        font-size:12px !important;
        min-height:36px;
        padding:8px 12px !important;
    }

    .cdh-salida__hero-actions{
        display:none;
    }

    /* Highlights como cinta scrolleable */
    .cdh-salida__highlights{
        padding:18px 0 6px !important;
        overflow:hidden;
    }

    .cdh-salida__highlights-grid{
        display:flex !important;
        overflow-x:auto;
        gap:12px;
        padding:0 16px 10px !important;
        scroll-snap-type:x mandatory;
    }

    .cdh-highlight-card{
        flex:0 0 72%;
        min-height:116px;
        scroll-snap-align:start;
        border-radius:22px !important;
    }

    .cdh-highlight-card__label{
        font-size:11px !important;
    }

    .cdh-highlight-card__value{
        font-size:36px !important;
    }

    /* Layout principal */
    .cdh-salida__main{
        display:flex !important;
        flex-direction:column !important;
        gap:22px !important;
        padding:18px 16px 0 !important;
    }

    .cdh-salida__content,
    .cdh-salida__sidebar{
        width:100% !important;
        max-width:none !important;
    }

    .cdh-salida__sidebar{
        order:2;
    }

    .cdh-salida__content{
        order:1;
    }

    .cdh-card,
    .cdh-ui-card,
    .cdh-card--content,
    .cdh-card--sidebar{
        border-radius:24px !important;
        padding:22px !important;
        margin-bottom:20px !important;
    }

    .cdh-card__title,
    .cdh-section-title{
        font-size:32px !important;
        line-height:1 !important;
    }

    .cdh-card__lead{
        font-size:14px !important;
        line-height:1.45 !important;
    }

    .cdh-richtext{
        font-size:15px !important;
        line-height:1.65 !important;
    }

    /* Sidebar compacto en mobile */
    .cdh-card--sidebar-accent{
        margin-top:0 !important;
    }

    .cdh-side-grid,
    .cdh-sidebar-grid{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:10px !important;
    }

    .cdh-side-stat{
        min-height:82px;
        border-radius:18px !important;
        padding:12px !important;
    }

    .cdh-side-stat__label,
    .cdh-side-stat-label{
        font-size:10px !important;
        line-height:1.15 !important;
    }

    .cdh-side-stat__value,
    .cdh-side-stat-value{
        font-size:14px !important;
        line-height:1.2 !important;
        word-break:break-word;
    }

    .cdh-card--sidebar .cdh-salida__cta{
        display:none !important;
    }

    .cdh-coordinadores__principal span,
    .cdh-coordinadores__secundarios span{
        font-size:15px !important;
    }

    .cdh-tags{
        gap:8px !important;
    }

    .cdh-tags li{
        font-size:12px !important;
        padding:8px 12px !important;
    }

    /* Timeline */
    .cdh-steps__item{
        grid-template-columns:40px minmax(0,1fr) !important;
        gap:12px !important;
    }

    .cdh-steps::before{
        left:20px !important;
    }

    .cdh-steps__number{
        width:40px !important;
        height:40px !important;
        min-width:40px !important;
        border-radius:14px !important;
        font-size:17px !important;
    }

    .cdh-steps__content{
        padding:14px !important;
        border-radius:20px !important;
        min-height:0 !important;
    }

    .cdh-steps__body strong{
        font-size:19px !important;
        line-height:1.1 !important;
    }

    .cdh-steps__body small{
        font-size:13px !important;
    }

    .cdh-tramo-meta{
        gap:6px !important;
    }

    .cdh-tramo-meta span{
        min-height:28px !important;
        padding:6px 9px !important;
        font-size:11px !important;
    }

    /* Puntos de encuentro */
    .cdh-list--meeting-points .cdh-list__item{
        padding:14px !important;
        border-radius:20px !important;
    }

    .cdh-list__item-body strong{
        font-size:18px !important;
    }

    .cdh-list__item-body small{
        font-size:13px !important;
    }

    /* Qué traer */
    .cdh-checklist{
        gap:10px !important;
    }

    .cdh-card--content .cdh-checklist__item{
        min-height:64px !important;
        padding:14px 14px 14px 52px !important;
        font-size:14px !important;
    }

    .cdh-card--content .cdh-checklist__item::before{
        left:16px !important;
        width:22px !important;
        height:22px !important;
    }

    /* Comunidad */
    .cdh-community-section{
        margin:28px auto !important;
        padding:0 16px !important;
    }

    .cdh-community-card{
        border-radius:26px !important;
        padding:22px !important;
        gap:22px !important;
    }

    .cdh-community-card__title{
        font-size:clamp(34px, 12vw, 48px) !important;
        line-height:.95 !important;
    }

    .cdh-community-card__lead{
        font-size:14px !important;
    }

    .cdh-community-avatar{
        width:50px !important;
        height:50px !important;
        font-size:16px !important;
    }

    .cdh-community-card__stats{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:10px !important;
    }

    .cdh-community-stat{
        border-radius:18px !important;
        padding:14px 10px !important;
        min-height:86px;
    }

    .cdh-community-stat span{
        font-size:10px !important;
        line-height:1.2 !important;
    }

    .cdh-community-stat strong{
        font-size:30px !important;
    }

    /* Galería */
    .cdh-salida__gallery-section{
        margin:28px auto !important;
        padding:0 16px !important;
    }

    .cdh-salida__gallery-inner{
        border-radius:26px !important;
        padding:20px !important;
    }

    .cdh-gallery-head{
        gap:14px !important;
        margin-bottom:18px !important;
    }

    .cdh-gallery-head__lead{
        font-size:14px !important;
    }

    .cdh-gallery-head__count{
        min-height:62px !important;
        border-radius:18px !important;
    }

    .cdh-gallery__item,
    .cdh-gallery__item--1,
    .cdh-gallery__item--2,
    .cdh-gallery__item--3,
    .cdh-gallery__item--4,
    .cdh-gallery__item--5{
        flex-basis:86% !important;
        min-height:235px !important;
        border-radius:22px !important;
    }

    /* Lightbox */
    .cdh-lightbox__close{
        top:18px !important;
        right:18px !important;
    }

    .cdh-lightbox__img{
        max-width:92vw !important;
        max-height:78vh !important;
        border-radius:22px !important;
    }

    /* Modal participantes */
    .cdh-participantes-modal__dialog{
        width:calc(100vw - 24px) !important;
        max-height:86vh !important;
        border-radius:24px !important;
        overflow:auto !important;
    }

    .cdh-participantes-modal__content{
        padding:22px !important;
    }

    .cdh-participantes-grid{
        grid-template-columns:1fr !important;
    }

    /* Sticky CTA mejor integrado */
    .cdh-mobile-cta{
        padding:10px 12px calc(10px + env(safe-area-inset-bottom)) !important;
    }

    .cdh-mobile-cta .cdh-mobile-cta-btn{
        min-height:50px !important;
        border-radius:16px !important;
        font-size:15px !important;
    }
}

@media(max-width:420px){
    .cdh-salida__title{
        font-size:clamp(40px, 14vw, 60px) !important;
    }

    .cdh-community-card__stats{
        grid-template-columns:1fr !important;
    }

    .cdh-community-stat{
        min-height:72px;
    }

    .cdh-highlight-card{
        flex-basis:82%;
    }

    .cdh-side-grid,
    .cdh-sidebar-grid{
        grid-template-columns:1fr !important;
    }
}



/* ===== CDH SALIDA V9 — Inscripción directa logueado ===== */
.cdh-salida__cta.is-loading,
.cdh-mobile-cta-btn.is-loading{
    pointer-events:none !important;
    opacity:.86;
    cursor:progress !important;
}



/* ===== CDH SALIDA V10 — Mi inscripción alta/baja ===== */

.cdh-community-avatar--me{
    cursor:pointer;
    border-color:#c41212 !important;
    box-shadow:0 0 0 4px rgba(196,18,18,.16), 0 10px 26px rgba(0,0,0,.26) !important;
    transition:transform .22s ease, box-shadow .22s ease;
    padding:0;
}

.cdh-community-avatar--me:hover{
    transform:translateY(-2px) scale(1.04);
    box-shadow:0 0 0 5px rgba(196,18,18,.22), 0 16px 32px rgba(0,0,0,.30) !important;
}

.cdh-community-avatar--me::after{
    content:"Mi inscripción";
    position:absolute;
    left:50%;
    bottom:-34px;
    transform:translateX(-50%);
    min-width:max-content;
    padding:5px 9px;
    border-radius:999px;
    background:#111;
    color:#fff;
    font-family:Inter,sans-serif;
    font-size:10px;
    font-weight:900;
    letter-spacing:.4px;
    text-transform:uppercase;
    opacity:0;
    pointer-events:none;
    transition:opacity .2s ease, bottom .2s ease;
    z-index:30;
}

.cdh-community-avatar--me:hover::after{
    opacity:1;
    bottom:-30px;
}

.cdh-mi-inscripcion-modal,
.cdh-mi-inscripcion-info{
    position:fixed;
    inset:0;
    z-index:10050;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:18px;
    background:rgba(0,0,0,.72);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}

.cdh-mi-inscripcion-modal[hidden]{
    display:none !important;
}

.cdh-mi-inscripcion-modal__backdrop{
    position:absolute;
    inset:0;
}

.cdh-mi-inscripcion-modal__dialog,
.cdh-mi-inscripcion-info__box{
    position:relative;
    width:min(460px, 100%);
    border-radius:30px;
    background:#fff;
    color:#111;
    box-shadow:0 24px 80px rgba(0,0,0,.35);
    overflow:hidden;
    animation:cdhPopIn .22s ease both;
}

.cdh-mi-inscripcion-modal__content,
.cdh-mi-inscripcion-info__box{
    padding:30px;
    text-align:center;
}

.cdh-mi-inscripcion-modal__close,
.cdh-mi-inscripcion-info__close{
    position:absolute;
    top:14px;
    right:14px;
    width:38px;
    height:38px;
    border:0;
    border-radius:50%;
    background:#f0f0f0;
    color:#111;
    font-size:24px;
    line-height:1;
    cursor:pointer;
}

.cdh-mi-inscripcion-modal__close:hover,
.cdh-mi-inscripcion-info__close:hover{
    background:#111;
    color:#fff;
}

.cdh-mi-inscripcion-modal__icon,
.cdh-mi-inscripcion-info__icon{
    width:62px;
    height:62px;
    margin:0 auto 14px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#c41212;
    color:#fff;
    font-family:Oswald,Inter,sans-serif;
    font-size:34px;
    font-weight:900;
}

.cdh-mi-inscripcion-info.is-success .cdh-mi-inscripcion-info__icon{
    background:#15803d;
}

.cdh-mi-inscripcion-info.is-error .cdh-mi-inscripcion-info__icon{
    background:#c41212;
}

.cdh-mi-inscripcion-modal h3,
.cdh-mi-inscripcion-info h3{
    margin:0 0 10px;
    font-family:Oswald,Inter,sans-serif;
    font-size:32px;
    line-height:1;
    text-transform:uppercase;
    letter-spacing:.4px;
}

.cdh-mi-inscripcion-modal p,
.cdh-mi-inscripcion-info p{
    margin:0;
    color:#666;
    font-family:Inter,sans-serif;
    font-size:15px;
    line-height:1.55;
}

.cdh-mi-inscripcion-modal__actions{
    display:flex;
    gap:10px;
    justify-content:center;
    margin-top:22px;
}

.cdh-mi-inscripcion-modal__btn,
.cdh-mi-inscripcion-info__button{
    min-height:48px;
    padding:0 22px;
    border:0;
    border-radius:16px;
    cursor:pointer;
    font-family:Inter,sans-serif;
    font-weight:900;
    font-size:14px;
    text-transform:uppercase;
}

.cdh-mi-inscripcion-modal__btn--danger{
    background:#c41212;
    color:#fff;
}

.cdh-mi-inscripcion-modal__btn--ghost,
.cdh-mi-inscripcion-info__button{
    background:#111;
    color:#fff;
}

.cdh-mi-inscripcion-modal__btn:disabled{
    opacity:.65;
    cursor:progress;
}

.cdh-mi-inscripcion-modal__message{
    margin-top:16px;
    padding:12px;
    border-radius:14px;
    font-family:Inter,sans-serif;
    font-size:14px;
    font-weight:700;
    background:#f1f1f1;
    color:#111;
}

.cdh-mi-inscripcion-modal__message.is-error{
    background:#fee2e2;
    color:#991b1b;
}

.cdh-mi-inscripcion-modal__message.is-success{
    background:#dcfce7;
    color:#166534;
}

@keyframes cdhPopIn{
    from{ opacity:0; transform:translateY(12px) scale(.96); }
    to{ opacity:1; transform:translateY(0) scale(1); }
}

@media(max-width:560px){
    .cdh-mi-inscripcion-modal__dialog,
    .cdh-mi-inscripcion-info__box{
        border-radius:24px;
    }

    .cdh-mi-inscripcion-modal__content,
    .cdh-mi-inscripcion-info__box{
        padding:26px 20px;
    }

    .cdh-mi-inscripcion-modal h3,
    .cdh-mi-inscripcion-info h3{
        font-size:26px;
    }

    .cdh-mi-inscripcion-modal__actions{
        flex-direction:column;
    }

    .cdh-mi-inscripcion-modal__btn,
    .cdh-mi-inscripcion-info__button{
        width:100%;
    }
}



/* ===== CDH SALIDA V10.5 — Estado usuario logueado / ya inscripto ===== */
.cdh-salida__hero-auth .cdh-user-nav{
    margin-left:auto;
}

.cdh-salida__hero-auth .cdh-user-nav__trigger{
    border:1px solid rgba(255,255,255,.18);
    background:rgba(0,0,0,.45);
    color:#fff;
    border-radius:999px;
    min-height:48px;
    padding:6px 12px 6px 6px;
}

.cdh-salida__hero-auth .cdh-user-nav__name{
    color:#fff;
    font-weight:800;
}

.cdh-salida__logged-name{
    color:#fff;
    font-family:Inter,sans-serif;
    font-weight:800;
}

.cdh-salida__cta--already,
.cdh-mobile-cta-btn.cdh-salida__cta--already{
    background:#1f7a3f !important;
    color:#fff !important;
    cursor:default !important;
    pointer-events:none !important;
    box-shadow:0 14px 30px rgba(31,122,63,.22) !important;
}

.cdh-salida__cta:disabled,
.cdh-mobile-cta-btn:disabled{
    opacity:1;
}

@media(max-width:768px){
    .cdh-salida__hero-auth .cdh-user-nav__name{
        display:none;
    }

    .cdh-salida__hero-auth .cdh-user-nav__trigger{
        min-height:42px;
        padding:4px;
    }
}



/* ===== CDH SALIDA V10.6 — Sticky mobile estado ya inscripto ===== */
.cdh-mobile-cta-btn.cdh-salida__cta--already,
.cdh-mobile-cta .cdh-mobile-cta-btn.cdh-salida__cta--already{
    background:#1f7a3f !important;
    color:#fff !important;
    cursor:default !important;
    pointer-events:none !important;
    box-shadow:0 14px 30px rgba(31,122,63,.32) !important;
}

.cdh-mobile-cta-btn.cdh-salida__cta--already .cdh-cta-text{
    color:#fff !important;
}



/* ===== CDH SALIDA V10.7 — Sticky mobile hard fix already enrolled ===== */
@media(max-width:768px){
    body .cdh-mobile-cta .cdh-mobile-cta-btn.cdh-salida__cta--already,
    body .cdh-mobile-cta button.cdh-mobile-cta-btn.cdh-salida__cta--already,
    html body .cdh-mobile-cta .cdh-mobile-cta-btn.cdh-salida__cta--already[disabled]{
        background:#1f7a3f !important;
        background-color:#1f7a3f !important;
        color:#fff !important;
        cursor:default !important;
        pointer-events:none !important;
        box-shadow:0 14px 30px rgba(31,122,63,.32) !important;
        opacity:1 !important;
    }

    body .cdh-mobile-cta .cdh-mobile-cta-btn.cdh-salida__cta--already .cdh-cta-text{
        color:#fff !important;
        opacity:1 !important;
        visibility:visible !important;
    }
}



/* ===== CDH SALIDA V10.8 — Ocultar sticky si ya está inscripto ===== */
body.cdh-salida-body.cdh-user-enrolled .cdh-mobile-cta{
    display:none !important;
}



/* ===== CDH SALIDA V10.9 — Ocultar CTAs desktop si ya está inscripto ===== */
body.cdh-salida-body.cdh-user-enrolled .cdh-salida__footer-cta{
    display:none !important;
}

body.cdh-salida-body.cdh-user-enrolled .cdh-participantes-modal__actions{
    display:none !important;
}


/* ===== CDH SALIDA V10.10 — Participantes en hasta 3 líneas ===== */
.cdh-community-avatars{
    display:grid !important;
    grid-template-columns:repeat(30, 42px) !important;
    grid-auto-rows:42px !important;
    gap:8px !important;
    align-items:center !important;
    justify-content:start !important;
    max-width:calc((42px * 30) + (8px * 29)) !important;
    overflow:visible !important;
}

.cdh-community-avatar{
    position:relative !important;
    margin:0 !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    flex:0 0 42px !important;
}

.cdh-community-avatar[data-cdh-participante-tooltip]::after{
    content:attr(data-cdh-participante-tooltip);
    position:absolute;
    left:50%;
    bottom:calc(100% + 10px);
    transform:translateX(-50%) translateY(4px);
    z-index:80;
    min-width:max-content;
    max-width:240px;
    padding:7px 10px;
    border-radius:10px;
    background:#111;
    color:#fff;
    font-family:Inter, sans-serif;
    font-size:12px;
    font-weight:800;
    line-height:1.2;
    white-space:nowrap;
    box-shadow:0 12px 28px rgba(0,0,0,.28);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.cdh-community-avatar[data-cdh-participante-tooltip]::before{
    content:"";
    position:absolute;
    left:50%;
    bottom:calc(100% + 4px);
    transform:translateX(-50%);
    border:6px solid transparent;
    border-top-color:#111;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .18s ease, visibility .18s ease;
}

.cdh-community-avatar[data-cdh-participante-tooltip]:hover::after,
.cdh-community-avatar[data-cdh-participante-tooltip]:focus::after,
.cdh-community-avatar[data-cdh-participante-tooltip].is-tooltip-open::after{
    opacity:1;
    visibility:visible;
    transform:translateX(-50%) translateY(0);
}

.cdh-community-avatar[data-cdh-participante-tooltip]:hover::before,
.cdh-community-avatar[data-cdh-participante-tooltip]:focus::before,
.cdh-community-avatar[data-cdh-participante-tooltip].is-tooltip-open::before{
    opacity:1;
    visibility:visible;
}

.cdh-community-avatar--more{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:13px !important;
    font-weight:900 !important;
}

@media(max-width:1200px){
    .cdh-community-avatars{
        grid-template-columns:repeat(20, 42px) !important;
        max-width:calc((42px * 20) + (8px * 19)) !important;
    }
}

@media(max-width:768px){
    .cdh-community-avatars{
        display:flex !important;
        flex-wrap:wrap !important;
        max-width:100% !important;
        gap:8px !important;
    }

    .cdh-community-avatar{
        width:44px !important;
        height:44px !important;
        min-width:44px !important;
        flex:0 0 44px !important;
    }

    .cdh-community-avatar[data-cdh-participante-tooltip]::after{
        bottom:calc(100% + 9px);
        font-size:12px;
        max-width:calc(100vw - 36px);
        white-space:normal;
        text-align:center;
    }
}


/* ===== CDH SALIDA V10.11 — Participantes 3 líneas de 10 ===== */
.cdh-community-avatars{
    grid-template-columns:repeat(10, 42px) !important;
    grid-auto-rows:42px !important;
    max-width:calc((42px * 10) + (8px * 9)) !important;
}

@media(max-width:1200px){
    .cdh-community-avatars{
        grid-template-columns:repeat(10, 42px) !important;
        max-width:calc((42px * 10) + (8px * 9)) !important;
    }
}

@media(max-width:768px){
    .cdh-community-avatars{
        display:flex !important;
        flex-wrap:wrap !important;
        max-width:100% !important;
    }
}


/* ===== CDH SALIDA V10.12 — Avatares más grandes, encimados y tooltip click ===== */
.cdh-community-avatars{
    display:grid !important;
    grid-template-columns:repeat(10, 40px) !important;
    grid-auto-rows:54px !important;
    gap:0 !important;
    column-gap:0 !important;
    row-gap:8px !important;
    max-width:calc((40px * 9) + 54px) !important;
    align-items:center !important;
    overflow:visible !important;
    padding:6px 0 10px !important;
}

.cdh-community-avatar,
button.cdh-community-avatar{
    position:relative !important;
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    flex:0 0 54px !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:50% !important;
    border:3px solid #fff !important;
    background:#111 !important;
    color:#fff !important;
    cursor:pointer !important;
    appearance:none !important;
    -webkit-appearance:none !important;
    box-shadow:0 8px 22px rgba(0,0,0,.24) !important;
    z-index:1;
}

.cdh-community-avatar:hover,
.cdh-community-avatar:focus,
.cdh-community-avatar.is-tooltip-open{
    z-index:20 !important;
    transform:translateY(-2px) scale(1.04);
}

.cdh-community-avatar img{
    width:100% !important;
    height:100% !important;
    border-radius:50% !important;
    object-fit:cover !important;
    display:block !important;
}

.cdh-community-avatar span{
    font-size:16px !important;
    font-weight:900 !important;
    line-height:1 !important;
}

.cdh-community-avatar[data-cdh-participante-tooltip]::after{
    content:attr(data-cdh-participante-tooltip);
    position:absolute;
    left:50%;
    bottom:calc(100% + 12px);
    transform:translateX(-50%) translateY(4px);
    z-index:999;
    min-width:max-content;
    max-width:260px;
    padding:8px 11px;
    border-radius:11px;
    background:#111;
    color:#fff;
    font-family:Inter, sans-serif;
    font-size:12px;
    font-weight:900;
    line-height:1.2;
    white-space:nowrap;
    box-shadow:0 14px 30px rgba(0,0,0,.34);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.cdh-community-avatar[data-cdh-participante-tooltip]::before{
    content:"";
    position:absolute;
    left:50%;
    bottom:calc(100% + 5px);
    transform:translateX(-50%);
    z-index:1000;
    border:7px solid transparent;
    border-top-color:#111;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .18s ease, visibility .18s ease;
}

.cdh-community-avatar[data-cdh-participante-tooltip]:hover::after,
.cdh-community-avatar[data-cdh-participante-tooltip]:focus::after,
.cdh-community-avatar[data-cdh-participante-tooltip].is-tooltip-open::after,
.cdh-community-avatar[data-cdh-participante-tooltip]:hover::before,
.cdh-community-avatar[data-cdh-participante-tooltip]:focus::before,
.cdh-community-avatar[data-cdh-participante-tooltip].is-tooltip-open::before{
    opacity:1 !important;
    visibility:visible !important;
}

.cdh-community-avatar[data-cdh-participante-tooltip]:hover::after,
.cdh-community-avatar[data-cdh-participante-tooltip]:focus::after,
.cdh-community-avatar[data-cdh-participante-tooltip].is-tooltip-open::after{
    transform:translateX(-50%) translateY(0);
}

.cdh-community-avatar--more{
    font-size:13px !important;
}

@media(max-width:768px){
    .cdh-community-avatars{
        display:flex !important;
        flex-wrap:wrap !important;
        gap:0 !important;
        row-gap:8px !important;
        max-width:100% !important;
        padding-left:0 !important;
    }

    .cdh-community-avatar,
    button.cdh-community-avatar{
        width:52px !important;
        height:52px !important;
        min-width:52px !important;
        flex:0 0 52px !important;
        margin-right:-10px !important;
    }

    .cdh-community-avatar[data-cdh-participante-tooltip]::after{
        max-width:calc(100vw - 44px);
        white-space:normal;
        text-align:center;
    }
}


/* ===== CDH SALIDA V10.13 — Tooltip tap garantizado ===== */
.cdh-community-card,
.cdh-community-card__content,
.cdh-community-avatars{
    overflow:visible !important;
}

.cdh-community-avatar.is-tooltip-open{
    z-index:9999 !important;
}

.cdh-community-avatar.is-tooltip-open::after,
.cdh-community-avatar.is-tooltip-open::before{
    opacity:1 !important;
    visibility:visible !important;
    display:block !important;
}

.cdh-community-avatar.is-tooltip-open::after{
    transform:translateX(-50%) translateY(0) !important;
}

@media(max-width:768px){
    .cdh-community-avatar[data-cdh-participante-tooltip]::after{
        position:absolute !important;
        left:50% !important;
        bottom:calc(100% + 12px) !important;
        z-index:99999 !important;
        min-width:120px !important;
        max-width:220px !important;
        padding:8px 10px !important;
        background:#111 !important;
        color:#fff !important;
        border-radius:10px !important;
        font-size:12px !important;
        font-weight:900 !important;
        line-height:1.2 !important;
        white-space:normal !important;
        text-align:center !important;
    }

    .cdh-community-avatar[data-cdh-participante-tooltip]::before{
        z-index:99999 !important;
    }
}


/* ===== CDH SALIDA V10.14 — Nombre de participante en div real ===== */
.cdh-community-selected-name{
    margin:14px 0 0;
    max-width:520px;
    padding:12px 16px;
    border-radius:16px;
    background:#111;
    color:#fff;
    font-family:Inter, sans-serif;
    font-size:15px;
    font-weight:900;
    line-height:1.25;
    box-shadow:0 14px 34px rgba(0,0,0,.20);
    opacity:0;
    transform:translateY(-4px);
    transition:opacity .18s ease, transform .18s ease;
}

.cdh-community-selected-name.is-visible{
    opacity:1;
    transform:translateY(0);
}

.cdh-community-selected-name span::before{
    content:"Participante: ";
    color:rgba(255,255,255,.68);
    font-weight:800;
}

@media(max-width:768px){
    .cdh-community-selected-name{
        width:100%;
        font-size:14px;
        margin-top:12px;
        text-align:center;
    }
}


/* ===== CDH SALIDA V10.15 — Fix galería mosaico y resolución ===== */
.cdh-salida__gallery-inner{
    overflow:visible !important;
    padding-bottom:34px !important;
}

.cdh-gallery--mosaic{
    display:grid !important;
    grid-template-columns:repeat(12, minmax(0, 1fr)) !important;
    grid-auto-rows:118px !important;
    grid-auto-flow:dense !important;
    gap:16px !important;
    align-items:stretch !important;
    min-height:0 !important;
    overflow:visible !important;
}

.cdh-gallery__item,
.cdh-gallery__item--1,
.cdh-gallery__item--2,
.cdh-gallery__item--3,
.cdh-gallery__item--4,
.cdh-gallery__item--5{
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    margin:0 !important;
    border-radius:26px !important;
    overflow:hidden !important;
    background:#111 !important;
    box-shadow:0 14px 30px rgba(0,0,0,.13) !important;
    isolation:isolate !important;
}

.cdh-gallery__item--1{ grid-column:span 6 !important; grid-row:span 3 !important; }
.cdh-gallery__item--2{ grid-column:span 3 !important; grid-row:span 2 !important; }
.cdh-gallery__item--3{ grid-column:span 3 !important; grid-row:span 2 !important; }
.cdh-gallery__item--4{ grid-column:span 4 !important; grid-row:span 2 !important; }
.cdh-gallery__item--5{ grid-column:span 2 !important; grid-row:span 2 !important; }

.cdh-gallery__item img{
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    object-fit:cover !important;
    display:block !important;
    transform:none;
}

@media(max-width:920px){
    .cdh-gallery--mosaic{
        grid-auto-rows:112px !important;
    }

    .cdh-gallery__item--1{ grid-column:span 12 !important; grid-row:span 3 !important; }
    .cdh-gallery__item--2,
    .cdh-gallery__item--3,
    .cdh-gallery__item--4,
    .cdh-gallery__item--5{
        grid-column:span 6 !important;
        grid-row:span 2 !important;
    }
}

@media(max-width:640px){
    .cdh-gallery--mosaic{
        display:grid !important;
        grid-template-columns:1fr !important;
        grid-auto-rows:auto !important;
        gap:16px !important;
        overflow:visible !important;
        margin-right:0 !important;
        padding-right:0 !important;
        padding-bottom:0 !important;
        scroll-snap-type:none !important;
    }

    .cdh-gallery__item,
    .cdh-gallery__item--1,
    .cdh-gallery__item--2,
    .cdh-gallery__item--3,
    .cdh-gallery__item--4,
    .cdh-gallery__item--5{
        grid-column:auto !important;
        grid-row:auto !important;
        width:100% !important;
        min-height:0 !important;
        height:auto !important;
        aspect-ratio:16/9 !important;
        flex:none !important;
        scroll-snap-align:none !important;
    }

    .cdh-gallery__item:first-child{
        aspect-ratio:16/8.2 !important;
    }

    .cdh-gallery__item img{
        height:100% !important;
    }
}
