/* ==========================================================
   GENERALES
   ========================================================== */

body, html{scroll-behavior:smooth!important;}


h2 em {
    font-style: normal;
    color: var(--primarybtnbg);
}

a {
    transition: all .3s ease-in-out !important;
}


/* ==========================================================
   BOTONES RESERVAR / EVENTOS — BASE
   ========================================================== */

.Reservar-Btn > .wrap > a,
.Eventos-Btn > .wrap > a,
.Reservar-Btn .wp-block-button__link,
.Eventos-Btn .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    font-family: var(--headingsfontfamily), var(--nv-fallback-ff) !important;
    text-transform: uppercase !important;
}


/* ==========================================================
   BOTONES DE CONTENIDO — PRIMARY NEVE
   ========================================================== */

.Reservar-Btn .wp-block-button__link,
.Eventos-Btn .wp-block-button__link {
    background: var(--primarybtnbg);
    color: var(--primarybtncolor);
}


/* ==========================================================
   ICONOS — BASE
   ========================================================== */

.Reservar-Btn > .wrap > a::before,
.Eventos-Btn > .wrap > a::before,
.Reservar-Btn .wp-block-button__link::before,
.Eventos-Btn .wp-block-button__link::before {
    content: "";
    display: inline-block;

    width: 20px;
    height: 20px;
    flex: 0 0 20px;

    background-color: currentColor;

    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;

    -webkit-mask-position: center;
    mask-position: center;

    -webkit-mask-size: contain;
    mask-size: contain;
}


/* ==========================================================
   RESERVAR — CALENDARIO
   ========================================================== */

.Reservar-Btn > .wrap > a::before,
.Reservar-Btn .wp-block-button__link::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='17' rx='2'/%3E%3Cpath d='M8 2v4M16 2v4M3 9h18M7 13h2M11 13h2M15 13h2M7 17h2M11 17h2'/%3E%3C/svg%3E");

    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='17' rx='2'/%3E%3Cpath d='M8 2v4M16 2v4M3 9h18M7 13h2M11 13h2M15 13h2M7 17h2M11 17h2'/%3E%3C/svg%3E");
}


/* ==========================================================
   EVENTOS — TROFEO
   ========================================================== */

.Eventos-Btn > .wrap > a::before,
.Eventos-Btn .wp-block-button__link::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 4h8v5a4 4 0 0 1-8 0V4zM8 6H4v2a4 4 0 0 0 4 4M16 6h4v2a4 4 0 0 1-4 4M12 13v5M9 18h6M8 21h8'/%3E%3C/svg%3E");

    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 4h8v5a4 4 0 0 1-8 0V4zM8 6H4v2a4 4 0 0 0 4 4M16 6h4v2a4 4 0 0 1-4 4M12 13v5M9 18h6M8 21h8'/%3E%3C/svg%3E");
}


/* ==========================================================
   HEADER — BOTONES
   ========================================================== */

#secondary-menu-desktop-main .Eventos-Btn > .wrap > a,
#secondary-menu-desktop-main .Reservar-Btn > .wrap > a {
    padding: 10px 16px;
    border-radius: 4px;
}


/* EVENTOS — NEGRO */

#secondary-menu-desktop-main .Eventos-Btn > .wrap > a {
    background: #000;
    color: #fff;
}


/* RESERVAR — PRIMARY NEVE */

#secondary-menu-desktop-main .Reservar-Btn > .wrap > a {
    background: var(--primarybtnbg);
    color: var(--primarybtncolor);
}


/* ==========================================================
   HOVER GLOBAL — HEADER + CONTENIDO
   NARANJA #FF9D00 + BLANCO
   ========================================================== */

#secondary-menu-desktop-main .Eventos-Btn > .wrap > a:hover,
#secondary-menu-desktop-main .Reservar-Btn > .wrap > a:hover,
.Eventos-Btn .wp-block-button__link:hover,
.Reservar-Btn .wp-block-button__link:hover {
    background: #FF9D00 !important;
    border-color: #FF9D00 !important;
    color: #fff !important;
}

/* ==========================================================
   HEADER — FORZAR BOTONES EN HORIZONTAL
   ========================================================== */

#secondary-menu-desktop-main {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 10px;
}

#secondary-menu-desktop-main > li {
    display: flex !important;
    width: auto !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
}

#secondary-menu-desktop-main > li > .wrap {
    display: flex !important;
    width: auto !important;
}

#secondary-menu-desktop-main .Eventos-Btn > .wrap > a,
#secondary-menu-desktop-main .Reservar-Btn > .wrap > a {
    display: inline-flex !important;
    align-items: center;
    width: auto !important;
    white-space: nowrap;
}


.separador-item{max-width:50%; text-align:center;display:block; color:gold;}

.interact p{opacity:.3; transition: all .3s ease-in-out;}
.interact:hover p{opacity:1;}
.interact .separador-item {transition: all .3s ease-in-out;  margin:auto; }
.interact:hover .separador-item {border-color:orange!important; max-width:100%!important;}

.IconList-SP strong{     color: var(--primarybtnbg);
}

.IconList-SP .wp-block-themeisle-blocks-icon-list-item {
    align-items: flex-start !important;
}

.IconList-SP a{color:black!important; text-decoration:none;}

.IconList-SP .wp-block-themeisle-blocks-icon-list-item-icon {
    margin-top: 5px !important;
}
.cards-type h3{margin-left:10px; margin-right:10px;}
.cards-type div{border-radius:10px; box-shadow: 10px 10px 10px #55555510;  gap:0!important; margin:0!important; }

.cards-type *{line-height:1em!important;}

.cards-type img{border-radius:10px 10px 0 0; margin-bottom:10px;}

.site-footer li{line-height:1.3!important;}

.site-footer h2, .site-footer h4{margin-bottom:-20px!important; font-size:13px!important; min-height:none!important;}


.Shadow-Box h2,.Shadow-Box h3{line-height:0.2!important;}

.Shadow-Box li{line-height:1!important; font-weight:700;}

.Shadow-Box p{line-height:1.4!important;}

.Shadow-Box{box-shadow:1px 1px 10px #33333330!important; padding-top:50px!important;}




/* ==========================================================
   OFFER BOX — CÍRCULO OFERTA
   ========================================================== */

.Offer-Box {
    width: 146px !important;
    height: 146px !important;

    min-width: 146px !important;
    min-height: 146px !important;

    max-width: 146px !important;
    max-height: 146px !important;

    flex: 0 0 146px !important;
    align-self: center !important;

    box-sizing: border-box !important;

    background: #000 !important;
    border-radius: 50% !important;

    padding: 12px 10px !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    overflow: hidden;

    color: #fff !important;
    text-align: center;

    /* Posición a la derecha */
    margin-left: auto !important;
    margin-right: 0 !important;
}


/* ==========================================================
   PRECIO
   ========================================================== */

.Offer-Box h3 {
    margin: 0 0 12px !important;
    padding: 0 !important;

    color: #fff !important;
    font-size: 34px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}


/* ==========================================================
   GRAMAJE — CAJA AMARILLA
   ========================================================== */

.Offer-Box h4 {
    width: 115px !important;

    margin: 0 0 10px !important;
    padding: 6px 10px !important;

    background: #ffc400 !important;
    color: #111 !important;

    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1 !important;

    text-transform: uppercase;
    box-sizing: border-box;
}


/* ==========================================================
   EXTRA
   ========================================================== */

.Offer-Box p {
    margin: 0 !important;
    padding: 0 !important;

    color: #fff !important;

    font-size: 11px !important;
    font-weight: 600;
    line-height: 1.25;
}
.Gray-Box strong{font-weight:800!important;}

.Gray-Box{background-color:white!important; padding:30px!important; border-radius:20px; padding-top:50px; box-shadow:1px 1px 15px #00000010;}

.Gray-Box *{line-height:1!important; padding:0!important; margin:0!important; margin-bottom:10px!important; background-size:contain!important; background-position-x:right;}

.wp-block-button a, .wp-block-buttons a, .vanti-event-card__button, .vanti-event-card__price,.vanti-event-single__reserve,.wp-block-button__link{
    font-family: var(--h2fontfamily, var(--headingsfontfamily)), var(--nv-fallback-ff); font-size:21px!important;
}

.Shadowed{text-shadow:1px 1px 10px black;}

.vanti-sticky *{padding:0!important; background-color:transparent!important;}

.vanti-sticky a{margin-left:5px}

/* ==========================================================
   VANTI STICKY — BOTONES REPARTIDOS
   ========================================================== */

.vanti-sticky .wp-block-buttons {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    gap: 1px !important;
    width: 100% !important;
}

.vanti-sticky .wp-block-button {
    flex: 1 1 auto !important;
}

.vanti-sticky .wp-block-button__link {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    white-space: nowrap;
}

@media (max-width: 767px) {

    .vanti-sticky.vanti-sticky--mobile-scroll .wp-block-button__link {
        font-size: 13px !important;
        line-height: 1.1 !important;

        padding: 2px 2px !important;

        white-space: nowrap !important;
    }

    .vanti-sticky.vanti-sticky--mobile-scroll .wp-block-buttons {
        gap: 3px !important;
    }
}


.vanti-event-card__price, .vanti-event-fact--price{display:none;}
.vanti-event-hero__content h1{letter-spacing:0em!important;}
.site-header .gt_switcher-popup span{font-size:8px!important;}
.gt_white_content{border-radius:10px; zoom:120%;}
.gt_white_content a{color:black!important;}


/* VANTI EVENTS — CARD REFINEMENT */

/* Tarjeta */
.vanti-event-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

/* Imagen cuadrada 1:1 */
.vanti-event-card__media {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

.vanti-event-card__image-link {
    display: block;
    width: 100%;
    height: 100%;
}

.vanti-event-card__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

/* Contenido */
.vanti-event-card__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

/* Títulos: máximo 2 líneas */
.vanti-event-card__title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    line-height: 1.35;
    min-height: 2.7em;
}

/* Descripciones: máximo 3 líneas */
.vanti-event-card__excerpt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
    line-height: 1.5;
}

.vanti-event-card__excerpt p {
    margin: 0;
}

/* Botones alineados */
.vanti-event-card__footer {
    margin-top: auto;
    padding-top: 18px;
}

/* Evitar elementos extra del tema */
.vanti-event-card + .sp-product-image {
    display: none;
}
.vanti-event-card + .sp-product-image {
    display: block !important;
}



/* =========================================================
   LA PARTIDA — RESPONSIVE UNIFICADO (v1.0.1)
========================================================= */
@media (max-width: 1024px) {
    h1, h2 { line-height: 0.9em !important; }

    body.home .innerblocks-wrap,
    body.home .wp-block-themeisle-blocks-advanced-column,
    body.home .wp-block-columns,
    body.home .wp-block-column {
        min-width: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
        box-sizing: border-box;
    }

    body.home .vanti-events-tabs {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
    body.home .vanti-events-tabs__category-heading,
    body.home .vanti-events-tabs__heading-aside,
    body.home .vanti-events-tabs__header,
    body.home .vanti-events-tabs__panels,
    body.home .vanti-events-tabs__panel {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    body.home .wp-block-column:has(.Offer-Box) {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 0 !important;
        padding: 0 !important;
        margin-bottom: 15px !important;
    }
    body.home .wp-block-column:has(.Offer-Box) > .wp-block-spacer {
        display: none !important;
    }
    body.home .wp-block-column:has(.Offer-Box) > .wp-block-themeisle-blocks-advanced-columns {
        order: 1 !important;
        width: 100%;
        margin: 0 0 -15px !important;
        position: relative;
        z-index: 2;
    }
    body.home .wp-block-column:has(.Offer-Box) > .wp-block-image {
        order: 2 !important;
        width: 100%;
        margin: 0 !important;
        position: relative;
        z-index: 1;
    }
    body.home .wp-block-column:has(.Offer-Box) > .wp-block-image img {
        display: block;
        width: 100%;
        max-width: 210px;
        height: auto;
        margin: 0 auto;
    }
}

/* NEVE — Botón cerrar menú sin borde (todas las resoluciones) */
.close-sidebar-panel .navbar-toggle,
.close-sidebar-panel .navbar-toggle:hover,
.close-sidebar-panel .navbar-toggle:focus,
.close-sidebar-panel .navbar-toggle:active {
    border: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    background: transparent !important;
}

@media (max-width: 767px) {
    body.home .wp-block-column:has(.Offer-Box) > .wp-block-themeisle-blocks-advanced-columns {
        margin-bottom: -20px !important;
    }
    .Hero {
        padding: 40px !important;
        box-sizing: border-box;
    }
    .Hero p { text-shadow: 1px 1px 5px black; }
    .Hero h2.wp-block-heading { font-size: 2em !important; }

    .wp-block-buttons {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        gap: 12px !important;
    }
    .wp-block-button { width: 100% !important; }
    .wp-block-button__link,
    .wp-block-button .wp-element-button {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 100% !important;
        font-size: 17px !important;
        box-sizing: border-box;
        text-align: center;
    }
    h2.wp-block-heading[style*="font-size:90px"] { font-size: 3em !important; }

    .vanti-sticky .wp-block-button__link {
        min-height: 19px !important;
        margin-right: 8px;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        box-sizing: border-box;
    }
}
