/* ═══════════════════════════════════════════════════════════════
   COMPENSAR · CALENDARIO LANDING
   Variables base (JS sobreescribe en runtime desde config)
═══════════════════════════════════════════════════════════════ */
:root {
    /* Tipografía */
    --cl-font:        'Montserrat', sans-serif;
    --cl-h1-size:     48px;  --cl-h1-weight: 700;
    --cl-h2-size:     36px;  --cl-h2-weight: 700;
    --cl-h3-size:     24px;  --cl-h3-weight: 600;
    --cl-p-size:      16px;
    --cl-cta-size:    16px;  --cl-cta-weight: 600;
    --cl-detail-desc-size: 22px;
    --cl-detail-desc-weight: 500;
    --cl-detail-desc-lh: 1.6;
    --cl-detail-meta-size: 18px;
    --cl-detail-meta-weight: 700;
    --cl-detail-meta-lh: 1.35;
    --cl-detail-meta-icon-size: 30px;
    --cl-detail-meta-icon-stroke: 2.2;

    /* Espaciado */
    --sp-xs:  2px;  --sp-sm:  4px;  --sp-md:  8px;
    --sp-lg:  16px; --sp-xl:  24px; --sp-x2l: 32px;
    --sp-x3l: 48px; --sp-x4l: 64px;

    /* Colores */
    --cl-primary:    #FF6600;
    --cl-secondary:  #E63F0C;
    --cl-text:       #1A1A1A;
    --cl-text-muted: #666666;
    --cl-bg-section: #F9F9F9;
    --cl-border:     #E0E0E0;

    /* Botón */
    --btn-grad-active:  linear-gradient(180deg, rgba(255,102,0,1) 0%, rgba(230,63,12,1) 100%);
    --btn-grad-hover:   linear-gradient(180deg, rgba(230,63,12,1) 0%, rgba(255,102,0,1) 100%);
    --btn-border-hover: 1px solid #FF6600;
    --btn-color:        #FFFFFF;
    --btn-radius:       24px;
    --btn-py:           12px;
    --btn-px:           28px;
    --btn-transition:   0.25s ease;

    /* Banner */
    --cl-banner-max-width:      1900px;
    --cl-banner-desktop-height: 400px;
    --cl-banner-tablet-width:   400px;
    --cl-banner-tablet-height:  500px;
    --cl-banner-mobile-width:   400px;
    --cl-banner-mobile-height:  500px;
    --cl-banner-radius:         0;
    --cl-banner-shadow:         none;

    /* Tarjeta carousel */
    --card-radius:            16px;
    --card-shadow:            0 4px 20px rgba(0,0,0,0.08);
    --card-shadow-hover:      0 8px 32px rgba(255,102,0,0.15);
    --card-img-border-bottom: none;
    --card-body-padding:      24px;

    /* Calendario */
    --cl-cal-today-bg:    #FF6600;
    --cl-cal-event-dot:   #FF6600;
    --cl-cal-border:      #FF6600;
}

/* ═══════════════════════════════════════════════════════════════
   RESET BASE
═══════════════════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; }

html, body {
    margin: 0; padding: 0;
    font-family: var(--cl-font);
    font-size: var(--cl-p-size);
    color: var(--cl-text);
    background: #fff;
}

h1 { font-size: var(--cl-h1-size); font-weight: var(--cl-h1-weight); margin: 0; }
h2 { font-size: var(--cl-h2-size); font-weight: var(--cl-h2-weight); margin: 0; }
h3 { font-size: var(--cl-h3-size); font-weight: var(--cl-h3-weight); margin: 0; }
p  { font-size: var(--cl-p-size);  margin: 0; }
a  { text-decoration: none; color: inherit; }

#cl-beneficios-para-empleados-app {
    width: 100%;
    margin: 0 auto;
}

#cl-beneficios-para-empleados-app,
#cl-beneficios-para-empleados-app * {
    font-family: 'Montserrat', sans-serif !important;
}

/* ═══════════════════════════════════════════════════════════════
   BOTÓN GLOBAL
═══════════════════════════════════════════════════════════════ */
.cl-btn {
    display: inline-block;
    background:    var(--btn-grad-active);
    color:         #FFFFFF !important;
    font-family:   var(--cl-font);
    font-size:     var(--cl-cta-size);
    font-weight:   var(--cl-cta-weight);
    padding:       var(--btn-py) var(--btn-px);
    border-radius: var(--btn-radius);
    border:        1px solid transparent;
    cursor:        pointer;
    transition:    background var(--btn-transition), border var(--btn-transition);
    white-space:   nowrap;
    text-decoration: none !important;
}
.cl-btn:hover,
.cl-btn:focus,
.cl-btn:visited,
.cl-btn:active {
    background: var(--btn-grad-hover);
    border:     var(--btn-border-hover);
    color:      #FFFFFF !important;
    outline:    none;
    text-decoration: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   BANNER
═══════════════════════════════════════════════════════════════ */
#cl-banner-section {
    width: 100vw;
    margin-left: calc(50% - 50vw);
}

.cl-banner {
    width: 100%;
    display: flex;
    justify-content: center;
}
.cl-banner__media {
    width: 100%;
    max-width: var(--cl-banner-max-width);
    margin: 0 auto;
    overflow: hidden;
    border-radius: var(--cl-banner-radius);
    box-shadow: none;
    background-color: transparent;
}
.cl-banner__media picture { display: block; width: 100%; }
.cl-banner__image {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
}

@media (max-width: 1024px) {
    .cl-banner__media { max-width: 100%; }
    .cl-banner__image { height: auto; }
}
@media (max-width: 767px) {
    .cl-banner__media { max-width: var(--cl-banner-mobile-width); }
    .cl-banner__image { height: var(--cl-banner-mobile-height); }
}

/* ═══════════════════════════════════════════════════════════════
   SECCIÓN EVENTOS — CONTENEDOR PRINCIPAL
═══════════════════════════════════════════════════════════════ */
#cl-events-section {
    width:      100%;
    max-width:  1240px;
    margin:     0 auto;
    padding:    var(--sp-x2l) var(--sp-xl);
    overflow:   visible;
}

/* Header de sección */
.cl-ev-header {
    margin-bottom: var(--sp-x2l);
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: var(--sp-xl);
    align-items: start;
}
.cl-ev-header__main {
    display: flex;
    flex-direction: column;
    gap: var(--sp-lg);
}
.cl-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 17px;
    line-height: 1.2;
    color: #666666;
}
.cl-breadcrumb__link {
    color: #666666;
    font-weight: 500;
    text-decoration: none;
}
.cl-breadcrumb__link:hover,
.cl-breadcrumb__link:focus {
    color: #ff6600;
    text-decoration: none;
}
.cl-breadcrumb__home {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ff6600;
}
.cl-breadcrumb__home-icon {
    width: 21px;
    height: 24px;
}
.cl-breadcrumb__sep {
    color: #999999;
    font-weight: 600;
}
.cl-breadcrumb__current {
    color: #ff6600;
    font-weight: 700;
}
.cl-ev-header__title {
    font-size:   var(--cl-h2-size);
    font-weight: var(--cl-h2-weight);
    color:       var(--cl-text) !important;
    text-align:  center;
    margin-top: 8px;
    margin-bottom: 0;
}

/* Sube el calendario para alinear su título con el título principal */
#cl-calendar-section {
    margin-top: -66px;
}

/* Layout: carousel + detalle izquierda, calendario derecha */
#cl-events-body {
    display:               grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap:                   var(--sp-xl);
    align-items:           start;
    overflow:              visible;
}

#cl-carousel-wrap-container {
    display:        flex;
    flex-direction: column;
    gap:            0;
    width:          100%;
}

@media (max-width: 1024px) {
    #cl-events-section {
        padding: var(--sp-x2l) var(--sp-xl);
    }
    #cl-events-body {
        grid-template-columns: minmax(0, 1fr) 300px;
        gap: var(--sp-xl);
    }
    .cl-ev-header {
        grid-template-columns: minmax(0, 1fr) 300px;
        margin-bottom: var(--sp-xl);
    }
    .cl-breadcrumb {
        font-size: 13px;
        gap: 6px;
        justify-content: center;
        width: 100%;
    }
    .cl-ev-header__title {
        text-align: center;
        font-size: 40px;
        line-height: 1.12;
    }
    #cl-calendar-section {
        margin-top: -52px;
    }
    .cl-calendar {
        border-radius: var(--sp-lg);
    }
    .cl-carousel-label {
        margin-bottom: var(--sp-xl);
    }
}

/* ═══════════════════════════════════════════════════════════════
   CAROUSEL
═══════════════════════════════════════════════════════════════ */
.cl-carousel-wrap { width: 100%; }

/* Label "PARA PROGRAMARSE …" */
.cl-carousel-label {
    font-size:     23px !important;
    color:         var(--cl-text);
    margin-bottom: var(--sp-x2l);
}
.cl-carousel-label__highlight {
    font-weight: 800;
    color:       var(--cl-primary);
}

.cl-mobile-programarse {
    display: none;
}

/* Estructura del carousel */
.cl-carousel {
    position:  relative;
    display:   flex;
    align-items: center;
    gap:       var(--sp-md);
}
.cl-carousel__viewport {
    overflow: hidden;
    flex:     1;
    /* Reserva espacio para que la sombra inferior no quede recortada */
    padding:  0 0 24px 0;
    margin:   0 0 -24px 0;
}
.cl-carousel__track {
    display:    flex;
    gap:        var(--sp-xl);
    padding-right: 16px;
    transition: transform 0.35s ease;
    will-change: transform;
}

/* Tarjeta */
.cl-card {
    flex:           0 0 calc((100% - var(--sp-xl) * 2) / 3);
    background:     #ffffff;
    border:         1px solid #e8e8e8;
    border-radius:  14px;
    box-shadow:     0 10px 6px rgba(0,0,0,0.14) !important;
    padding:        14px;
    overflow:       hidden;
    display:        flex;
    flex-direction: column;
    transition:     box-shadow 0.2s;
}
.cl-card:hover { box-shadow: 0 10px 22px rgba(0,0,0,0.18) !important; }

.cl-card__img-wrap {
    width:         100%;
    aspect-ratio:  16 / 9;
    overflow:      hidden;
    border-radius: 10px;
    border-bottom: none !important;
    line-height:   0;
    position:      relative;
}

.cl-card__img-wrap::after {
    display: none;
}
.cl-card__img {
    width:         100%;
    height:        100%;
    object-fit:    cover;
    display:       block;
    transition:    transform 0.3s ease;
    border:        none !important;
    outline:       none !important;
}
.cl-card:hover .cl-card__img { transform: scale(1.04); }

.cl-card__body {
    padding:        16px 2px 4px;
    display:        flex;
    flex-direction: column;
    gap:            10px;
    flex:           1;
}
.cl-card__title {
    font-size:   16px !important;
    font-weight: 700;
    color:       #1d1d1d;
    line-height: 1.25;
    text-align:  left;
}
.cl-card__desc {
    font-size:  14px;
    color:      #2f2f2f;
    line-height: 1.45;
    text-align: left;
    flex:       1;
}
.cl-card__body .cl-btn {
    align-self: center;
    margin-top: auto;
    min-width: 190px;
    text-align: center;
    border-radius: 999px;
}

/* Tarjeta visible según viewport */
@media (max-width: 1024px) {
    .cl-card { flex-basis: calc((100% - var(--sp-xl)) / 2); }
}
@media (max-width: 767px) {
    .cl-card { flex-basis: 100%; }
    .cl-card__title {
        font-size: 18px;
    }
    .cl-card__desc {
        font-size: 14px;
    }
}

/* Botones nav del carousel */
.cl-carousel__nav {
    background:    var(--btn-grad-active);
    color:         #fff;
    border:        none;
    border-radius: 50%;
    width:         40px;
    height:        40px;
    font-size:     24px;
    line-height:   1;
    cursor:        pointer;
    flex-shrink:   0;
    transition:    background var(--btn-transition), opacity 0.2s;
    display:       flex;
    align-items:   center;
    justify-content: center;
}
.cl-carousel__nav:hover:not(:disabled) { background: var(--btn-grad-hover); }
.cl-carousel__nav:disabled { opacity: 0.3; cursor: default; }

.cl-upcoming-wrap {
    margin-top: 0;
}

.cl-carousel--upcoming .cl-card {
    flex: 0 0 calc((100% - var(--sp-xl) * 3) / 4);
}

.cl-empty-state {
    color: var(--cl-text-muted);
    font-size: var(--cl-p-size);
    margin: 0;
}

@media (max-width: 1200px) {
    .cl-carousel--upcoming .cl-card {
        flex: 0 0 calc((100% - var(--sp-xl)) / 2);
    }
}

@media (max-width: 767px) {
    #cl-events-section {
        padding: var(--sp-x2l) var(--sp-lg);
    }
    .cl-ev-header {
        grid-template-columns: 1fr;
        margin-bottom: var(--sp-lg);
    }
    .cl-ev-header__main {
        gap: var(--sp-md);
    }
    .cl-breadcrumb {
        justify-content: center;
        flex-wrap: wrap;
        font-size: 13px;
    }
    .cl-ev-header__title {
        text-align: center;
        font-size: 42px;
        line-height: 1.05;
    }
    #cl-events-body {
        display: flex;
        flex-direction: column;
        gap: var(--sp-lg);
    }
    #cl-calendar-section {
        order: 1;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-top: var(--sp-x2l);
        margin-bottom: var(--sp-lg);
    }
    #cl-carousel-wrap-container {
        order: 2;
    }
    .cl-carousel-label {
        text-align: center;
        line-height: 1.1;
    }
    .cl-mobile-programarse {
        display: block;
        max-width: 340px;
        margin: 0 auto var(--sp-x3l);
        text-align: center;
        line-height: 1.15;
        color: #1f1f1f;
    }
    .cl-mobile-programarse .cl-carousel-label__highlight {
        display: block;
        font-size: 25px !important;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.4px;
        color: #1f1f1f;
        margin-bottom: 2px;
    }
    .cl-mobile-programarse__subtitle {
        display: block;
        font-size: 23px !important;
        font-weight: 500;
        line-height: 1.2;
        color: #2b2b2b;
    }
    #cl-upcoming-section .cl-carousel-label {
        max-width: 340px;
        margin: 0 auto var(--sp-x2l);
        text-align: center;
        font-size: 23px !important;
        font-weight: 500;
        line-height: 1.15;
        color: #111111;
    }
    #cl-upcoming-section .cl-carousel-label__highlight {
        display: block;
        margin-bottom: 4px;
        font-size: 25px !important;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.4px;
        color: #111111;
    }
    .cl-carousel {
        gap: 0;
    }
    .cl-carousel__viewport {
        padding: 0 0 18px 0;
        margin: 0 0 -18px 0;
    }
    .cl-carousel__track {
        gap: var(--sp-lg);
        padding-right: 0;
    }
    .cl-card {
        border-radius: 12px;
    }
    .cl-card__body {
        padding: var(--sp-xl) var(--sp-lg);
        gap: var(--sp-md);
    }
    .cl-card__title {
        font-size: 24px;
        line-height: 1.25;
    }
    .cl-card__desc {
        font-size: 18px;
        line-height: 1.45;
    }
    .cl-carousel__nav {
        width: 38px;
        height: 38px;
        font-size: 22px;
        position: absolute;
        top: 42%;
        z-index: 2;
        box-shadow: 0 6px 14px rgba(0,0,0,0.18);
    }
    .cl-carousel__nav--prev {
        left: -10px;
    }
    .cl-carousel__nav--next {
        right: -10px;
    }
    #cl-detail-panel-current {
        margin-top: var(--sp-lg) !important;
    }
    #cl-upcoming-section,
    #cl-detail-panel-next {
        margin-top: var(--sp-lg) !important;
    }
    .cl-carousel--upcoming .cl-card {
        flex: 0 0 100%;
    }
}

/* ═══════════════════════════════════════════════════════════════
   CALENDARIO DINÁMICO
═══════════════════════════════════════════════════════════════ */
.cl-calendar__title {
    font-family:    var(--cl-font);
    font-size:      var(--sp-xl);         /* 24px */
    font-weight:    800;
    color:          #6f7378;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin:         0 0 var(--sp-lg) 0;
}
.cl-calendar {
    border:        2px solid var(--cl-cal-border);
    border-radius: var(--sp-lg) 0 0 var(--sp-lg);
    padding:       var(--sp-xl) var(--sp-xl);
    background:    #fff;
    width:         100%;
    min-width:     0;
    overflow:      visible;
    box-sizing:    border-box;
}
/* .cl-calendar__months se define junto al bloque .cl-cal__month (ver arriba) */

/* Mes */
.cl-cal__month-title {
    font-size:    var(--sp-xl);
    font-weight:  700;
    color:        var(--cl-primary);
    margin-bottom: var(--sp-md);
}

/* Días de semana */
.cl-cal__weekdays {
    display:               grid;
    grid-template-columns: repeat(7, 1fr);
    margin-bottom:         var(--sp-sm);
}
.cl-cal__weekdays--global {
    margin-bottom: var(--sp-lg);
}
.cl-cal__dayname {
    text-align:  center;
    font-size:   12px;
    font-weight: 700;
    color:       var(--cl-primary);
    padding:     var(--sp-sm) 0;
}

/* Grid de celdas */
.cl-cal__grid {
    display:               grid;
    grid-template-columns: repeat(7, 1fr);
    gap:                   var(--sp-lg);
    overflow:              visible;
}

.cl-cal__month {
    overflow: visible;
}

.cl-calendar__months {
    display:        flex;
    flex-direction: column;
    gap:            var(--sp-x2l);
    overflow:       visible;
}

.cl-cal__cell {
    position:        relative;
    display:         flex;
    align-items:     center;
    justify-content: center;
    min-height:      30px;
    font-size:       13px;
    font-weight:     500;
    color:           var(--cl-text);
    border-radius:   50%;
    cursor:          default;
    transition:      background 0.15s;
    overflow:        visible;
}
.cl-cal__cell--empty { pointer-events: none; }

/* Día actual */
.cl-cal__cell--today {
    background:  var(--cl-cal-today-bg);
    color:       #fff;
    font-weight: 700;
}

/* Día con evento: cursor + punto */
.cl-cal__cell--event {
    cursor:      pointer;
    background:  var(--cl-primary);
    color:       #fff;
    font-weight: 700;
    width:       30px;
    height:      30px;
    min-height:  30px;
    margin:      0 auto;
    border-radius: 999px;
    padding:     0;
}
.cl-cal__cell--event:hover { background: var(--cl-secondary); }

/* Punto indicador de evento */
.cl-cal__dot {
    position:      absolute;
    bottom:        3px;
    left:          50%;
    transform:     translateX(-50%);
    width:         5px;
    height:        5px;
    border-radius: 50%;
    background:    var(--cl-cal-event-dot);
}
.cl-cal__cell--event .cl-cal__dot { display: none; }
.cl-cal__cell--today .cl-cal__dot { background: #fff; }

/* Tooltip al pasar el mouse */
.cl-cal__tooltip {
    display:        none;
    position:       absolute;
    bottom:         calc(100% + 8px);
    left:           50%;
    transform:      translateX(-50%);
    background:     rgba(26,26,26,0.92);
    color:          #fff;
    font-family:    var(--cl-font);
    font-size:      12px;
    font-weight:    500;
    line-height:    1.4;
    white-space:    normal;
    padding:        var(--sp-sm) var(--sp-md);
    border-radius:  6px;
    z-index:        9999;
    pointer-events: none;
    min-width:      120px;
    max-width:      220px;
    text-align:     center;
    box-shadow:     0 4px 12px rgba(0,0,0,0.25);
}
/* Flechita inferior del tooltip */
.cl-cal__tooltip::after {
    content:      '';
    position:     absolute;
    top:          100%;
    left:         50%;
    transform:    translateX(-50%);
    border:       6px solid transparent;
    border-top-color: rgba(26,26,26,0.92);
}
.cl-cal__cell--event:hover .cl-cal__tooltip { display: block; }

/* Responsive: en mobile el calendario va debajo del carousel */
@media (max-width: 767px) {
    #cl-beneficios-para-empleados-app     { width: 100%; }
    .cl-calendar__title {
        width: 100%;
        text-align: center;
        font-size: 26px;
        letter-spacing: 0;
        font-weight: 700;
        color: #6f7378;
        text-transform: none;
        margin: 0 0 var(--sp-x3l) 0;
    }
    .cl-calendar        { min-width: unset; }
    .cl-calendar {
        width: 100%;
        max-width: 360px;
        margin: 0 auto;
        padding: var(--sp-lg);
        border-radius: 10px;
    }
    .cl-cal__grid {
        gap: 10px;
    }
    .cl-cal__dayname    { font-size: 10px; }
    .cl-cal__cell       { font-size: 15px; min-height: 22px; }
    .cl-cal__cell--event {
        width: 24px;
        height: 24px;
        min-height: 22px;
    }
}

/* ═══════════════════════════════════════════════════════════════
   PANELES DE DETALLE DE EVENTO (independientes por carrusel)
═══════════════════════════════════════════════════════════════ */
#cl-detail-panel-current,
#cl-detail-panel-next {
    width:      100% !important;
    background: transparent !important;
    max-height: 0 !important;
    overflow:   hidden !important;
    opacity:    0 !important;
    transition: max-height 0.35s ease, opacity 0.35s ease !important;
}

#cl-detail-panel-current.cl-detail-panel--visible {
    max-height: 1400px !important;
    opacity:    1 !important;
}

#cl-detail-panel-current {
    margin-top: var(--sp-x2l) !important;
}

#cl-upcoming-section {
    margin-top: var(--sp-x2l);
}

#cl-detail-panel-next {
    margin-top: var(--sp-x2l) !important;
}

#cl-detail-panel-next.cl-detail-panel--visible {
    max-height: 1400px !important;
    opacity:    1 !important;
}

.cl-detail-wrapper {
    display:               grid !important;
    grid-template-columns: minmax(320px, 48%) minmax(0, 1fr) !important;
    gap:                   var(--sp-x2l) !important;
    padding:               var(--sp-x2l) 0 !important;
    align-items:           start !important;
}

.cl-detail-image {
    width:         100% !important;
    height:        410px !important;
    overflow:      hidden !important;
    border-radius: var(--card-radius) !important;
    line-height:   0 !important;
}

.cl-detail-image img {
    width:      100% !important;
    height:     100% !important;
    object-fit: cover !important;
    display:    block !important;
}

.cl-detail-content {
    display:        flex !important;
    flex-direction: column !important;
    gap:            var(--sp-lg) !important;
}

.cl-detail-title {
    font-size:   32px !important;
    font-weight: 700 !important;
    color:       #6f7378 !important;
    margin:      0 0 var(--sp-lg) 0 !important;
    line-height: 1.2 !important;
}

.cl-detail-description {
    font-size:  var(--cl-detail-desc-size) !important;
    color:      var(--cl-text-muted) !important;
    line-height: var(--cl-detail-desc-lh) !important;
    margin:     0 0 var(--sp-xl) 0 !important;
    font-weight: var(--cl-detail-desc-weight) !important;
}

.cl-detail-meta {
    display:        flex !important;
    flex-direction: column !important;
    gap:            var(--sp-lg) !important;
    padding:        var(--sp-xl) 0 !important;
    border-top:     none !important;
    border-bottom:  none !important;
}

.cl-detail-meta__item {
    display:        flex !important;
    align-items:    center !important;
    gap:            var(--sp-lg) !important;
    font-family:    var(--cl-font) !important;
    font-size:      var(--cl-detail-meta-size) !important;
    color:          #6f7378 !important;
    font-weight:    var(--cl-detail-meta-weight) !important;
}

.cl-detail-meta__icon {
    width:       var(--cl-detail-meta-icon-size) !important;
    height:      var(--cl-detail-meta-icon-size) !important;
    color:       var(--cl-primary) !important;
    flex-shrink: 0 !important;
    display:     inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.cl-detail-meta__icon-svg {
    width:           100% !important;
    height:          100% !important;
    stroke:          currentColor !important;
    stroke-width:    var(--cl-detail-meta-icon-stroke) !important;
    stroke-linecap:  round !important;
    stroke-linejoin: round !important;
}

.cl-detail-meta__text {
    flex:       1 !important;
    line-height: var(--cl-detail-meta-lh) !important;
    font-family: var(--cl-font) !important;
    font-size:   var(--cl-detail-meta-size) !important;
    font-weight: var(--cl-detail-meta-weight) !important;
    color:       #6f7378 !important;
}

.cl-detail-btn {
    align-self: flex-start !important;
    margin-top: var(--sp-xl) !important;
    font-weight: 600 !important;
    font-size:   15px !important;
    padding:     12px 32px !important;
}

/* Responsive para detalle */
@media (max-width: 1024px) {
    .cl-detail-wrapper {
        grid-template-columns: minmax(260px, 44%) minmax(0, 1fr) !important;
        gap:                   var(--sp-xl) !important;
        padding:               var(--sp-xl) 0 !important;
    }
    
    .cl-detail-image {
        height: 330px !important;
    }
    
    .cl-detail-title {
        font-size: 30px !important;
    }
    
    #cl-detail-panel-current.cl-detail-panel--visible,
    #cl-detail-panel-next.cl-detail-panel--visible {
        max-height: 1600px !important;
    }
}

@media (max-width: 767px) {
    #cl-detail-panel-current.cl-detail-panel--visible,
    #cl-detail-panel-next.cl-detail-panel--visible {
        background: #f2dec8 !important;
        border-radius: 0 !important;
        width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
    }

    .cl-detail-wrapper {
        background: transparent !important;
        border-radius: 0 !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        padding: var(--sp-lg) !important;
        gap:     var(--sp-lg) !important;
    }

    .cl-detail-title,
    .cl-detail-description,
    .cl-detail-meta__text,
    .cl-detail-meta__item {
        color: #111111 !important;
    }

    .cl-detail-meta__icon {
        color: #111111 !important;
    }
    
    .cl-detail-title {
        font-size: 24px !important;
        margin-bottom: var(--sp-md) !important;
    }
    
    .cl-detail-description {
        margin-bottom: var(--sp-lg) !important;
    }
    
    .cl-detail-image {
        height: 280px !important;
    }
    
    .cl-detail-meta {
        padding: var(--sp-lg) 0 !important;
    }
    
    .cl-detail-meta__icon {
        width: 24px !important;
        height: 24px !important;
    }

    .cl-detail-btn {
        align-self: center !important;
    }
    
    #cl-detail-panel-current.cl-detail-panel--visible,
    #cl-detail-panel-next.cl-detail-panel--visible {
        max-height: 1800px !important;
    }
}

