.elementor-101753 .elementor-element.elementor-element-ed05795{--display:flex;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for shortcode, class: .elementor-element-58742c4 *//* =========================================================
   TBS - HEADER PREMIUM HOMEPAGE V3
   Estilo minimal premium babyshower
   Shortcode: [tbs_header_premium]
========================================================= */

.tbs-site-header,
.tbs-site-header *,
.tbs-site-header *::before,
.tbs-site-header *::after {
    box-sizing: border-box !important;
    font-family: "Roboto", Arial, Helvetica, sans-serif !important;
}

/* HEADER GENERAL */
.tbs-site-header {
    width: 100vw !important;
    max-width: 100vw !important;

    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 99999 !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding: 0 !important;

    background:
        linear-gradient(
            90deg,
            rgba(255, 248, 242, .96) 0%,
            rgba(255, 255, 255, .98) 36%,
            rgba(255, 246, 252, .96) 100%
        ) !important;

    border-bottom: 1px solid rgba(236, 203, 218, .55) !important;

    box-shadow:
        0 4px 18px rgba(92, 62, 78, .04) !important;

    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;

    transition:
        background .24s ease,
        box-shadow .24s ease,
        border-color .24s ease !important;
}

/* Glow sutil */
.tbs-site-header::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    background:
        radial-gradient(circle at 4% 10%, rgba(255, 210, 225, .50), transparent 18%),
        radial-gradient(circle at 98% 12%, rgba(255, 220, 242, .48), transparent 20%),
        radial-gradient(circle at 45% 0%, rgba(198, 232, 255, .22), transparent 24%) !important;

    pointer-events: none !important;
    z-index: 0 !important;
}

.tbs-site-header.is-scrolled {
    background: rgba(255, 255, 255, .98) !important;
    border-bottom-color: rgba(229, 198, 213, .70) !important;

    box-shadow:
        0 12px 34px rgba(86, 55, 70, .08) !important;
}

/* CONTENEDOR INTERNO */
.tbs-site-header-inner {
    width: 100% !important;
    max-width: 1440px !important;

    min-height: 76px !important;

    margin: 0 auto !important;
    padding: 0 66px !important;

    position: relative !important;
    z-index: 2 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 34px !important;

    background: transparent !important;

    transition:
        min-height .24s ease,
        padding .24s ease !important;
}

.tbs-site-header.is-scrolled .tbs-site-header-inner {
    min-height: 66px !important;
}

/* LOGO */
.tbs-header-logo {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    flex: 0 0 auto !important;

    width: auto !important;
    max-width: none !important;

    padding: 0 !important;
    margin: 0 !important;

    background: transparent !important;
    border: none !important;
    box-shadow: none !important;

    line-height: 1 !important;
    text-decoration: none !important;
}

.tbs-header-logo img {
    display: block !important;

    height: 46px !important;
    width: auto !important;
    max-width: 285px !important;

    object-fit: contain !important;

    background: transparent !important;
    border: none !important;
    box-shadow: none !important;

    transition:
        height .24s ease,
        transform .24s ease !important;
}

.tbs-site-header.is-scrolled .tbs-header-logo img {
    height: 40px !important;
}

.tbs-header-logo:hover img {
    transform: translateY(-1px) !important;
}

/* NAV DESKTOP */
.tbs-header-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;

    gap: 34px !important;

    padding: 0 !important;
    margin: 0 !important;
}

/* LINKS GENERALES */
.tbs-header-link,
.tbs-header-cart {
    min-height: auto !important;
    height: auto !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;

    padding: 0 !important;
    margin: 0 !important;

    position: relative !important;

    color: #3f3339 !important;

    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: .01em !important;

    text-decoration: none !important;
    white-space: nowrap !important;

    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    transition:
        color .2s ease,
        transform .2s ease,
        opacity .2s ease !important;
}

.tbs-header-link::after,
.tbs-header-cart::after {
    content: "" !important;

    position: absolute !important;
    left: 50% !important;
    bottom: -10px !important;

    width: 0 !important;
    height: 2px !important;

    border-radius: 999px !important;

    background:
        linear-gradient(
            90deg,
            #ef4d94 0%,
            #c66bea 50%,
            #74c8ef 100%
        ) !important;

    opacity: 0 !important;
    transform: translateX(-50%) !important;

    transition:
        width .22s ease,
        opacity .22s ease !important;
}

.tbs-header-link:hover,
.tbs-header-cart:hover {
    color: #df347d !important;
    transform: translateY(-1px) !important;
}

.tbs-header-link:hover::after,
.tbs-header-cart:hover::after {
    width: 100% !important;
    opacity: 1 !important;
}

/* MI EVENTO - SOLO USUARIO LOGUEADO */
.tbs-header-link-evento {
    color: #8f2d62 !important;
    font-weight: 900 !important;
}

.tbs-header-link-evento::before {
    content: "♡" !important;

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

    margin-right: 2px !important;

    color: #ef4d94 !important;

    font-size: 14px !important;
    line-height: 1 !important;
}

.tbs-header-link-evento:hover {
    color: #df347d !important;
}

/* CTA PRINCIPAL - INICIA AQUÍ */
.tbs-header-cta {
    min-height: 48px !important;

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

    padding: 0 34px !important;
    margin: 0 !important;

    color: #ffffff !important;

    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: .01em !important;

    text-decoration: none !important;
    white-space: nowrap !important;

    border: 1px solid rgba(255, 255, 255, .42) !important;
    border-radius: 999px !important;

    background:
        radial-gradient(circle at 25% 16%, rgba(255,255,255,.38), transparent 28%),
        linear-gradient(135deg, #ec438d 0%, #df347d 52%, #c92775 100%) !important;

    box-shadow:
        0 14px 30px rgba(223, 52, 125, .25),
        inset 0 1px 0 rgba(255,255,255,.36) !important;

    position: relative !important;
    overflow: hidden !important;

    transition:
        transform .22s ease,
        box-shadow .22s ease,
        filter .22s ease !important;
}

.tbs-header-cta::before {
    content: "" !important;

    position: absolute !important;
    top: 0 !important;
    left: -70% !important;

    width: 50% !important;
    height: 100% !important;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.34),
            transparent
        ) !important;

    transform: skewX(-18deg) !important;
    transition: left .55s ease !important;
}

.tbs-header-cta:hover {
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    filter: saturate(1.04) !important;

    box-shadow:
        0 18px 36px rgba(223, 52, 125, .31),
        inset 0 1px 0 rgba(255,255,255,.42) !important;
}

.tbs-header-cta:hover::before {
    left: 120% !important;
}

/* CARRITO - SOLO USUARIO LOGUEADO */
.tbs-header-cart {
    color: #8f2d62 !important;
    font-weight: 900 !important;
}

.tbs-header-cart-icon {
    font-size: 15px !important;
    line-height: 1 !important;
}

.tbs-header-cart-count {
    position: absolute !important;
    top: -13px !important;
    right: -15px !important;

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

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

    padding: 0 5px !important;

    border-radius: 999px !important;

    background: #df347d !important;
    color: #ffffff !important;

    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1 !important;

    box-shadow:
        0 7px 14px rgba(223, 52, 125, .25) !important;
}

/* BOTÓN HAMBURGUESA */
.tbs-header-toggle {
    width: 44px !important;
    height: 44px !important;

    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 5px !important;

    padding: 0 !important;
    margin: 0 !important;

    cursor: pointer !important;

    border: 1px solid rgba(232, 194, 214, .72) !important;
    border-radius: 999px !important;

    background:
        linear-gradient(180deg, #ffffff 0%, #fff7fb 100%) !important;

    box-shadow:
        0 10px 22px rgba(95, 57, 76, .08) !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease !important;
}

.tbs-header-toggle:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(223, 52, 125, .28) !important;
    box-shadow:
        0 14px 28px rgba(95, 57, 76, .11) !important;
}

.tbs-header-toggle span {
    width: 20px !important;
    height: 2px !important;

    display: block !important;

    border-radius: 999px !important;
    background: #3f3339 !important;

    transition:
        transform .22s ease,
        opacity .22s ease,
        background .22s ease !important;
}

.tbs-site-header.is-open .tbs-header-toggle span:nth-child(1) {
    transform: translateY(7px) rotate(45deg) !important;
}

.tbs-site-header.is-open .tbs-header-toggle span:nth-child(2) {
    opacity: 0 !important;
}

.tbs-site-header.is-open .tbs-header-toggle span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg) !important;
}

/* FUERZA FULL WIDTH CUANDO ESTÁ DENTRO DE ELEMENTOR */
.elementor-widget-shortcode:has(.tbs-site-header),
.elementor-shortcode:has(.tbs-site-header),
.elementor-element:has(.tbs-site-header),
.elementor-container:has(.tbs-site-header),
.e-con:has(.tbs-site-header) {
    width: 100vw !important;
    max-width: 100vw !important;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* =========================================================
   RESPONSIVE TABLET
========================================================= */

@media (max-width: 1180px) {

    .tbs-site-header-inner {
        padding-left: 34px !important;
        padding-right: 34px !important;
        gap: 24px !important;
    }

    .tbs-header-logo img {
        height: 42px !important;
        max-width: 255px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo img {
        height: 38px !important;
    }

    .tbs-header-nav {
        gap: 24px !important;
    }

    .tbs-header-link,
    .tbs-header-cart,
    .tbs-header-cta {
        font-size: 13px !important;
    }

    .tbs-header-cta {
        min-height: 46px !important;
        padding-left: 28px !important;
        padding-right: 28px !important;
    }
}

/* =========================================================
   RESPONSIVE MÓVIL / HAMBURGUESA
========================================================= */

@media (max-width: 980px) {

    .tbs-site-header-inner {
        min-height: 70px !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .tbs-site-header.is-scrolled .tbs-site-header-inner {
        min-height: 64px !important;
    }

    .tbs-header-logo {
        max-width: calc(100vw - 90px) !important;
        overflow: hidden !important;
    }

    .tbs-header-logo img {
        height: 42px !important;
        max-width: 245px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo img {
        height: 38px !important;
    }

    .tbs-header-toggle {
        display: inline-flex !important;
        flex: 0 0 44px !important;
    }

    .tbs-header-nav {
        position: absolute !important;

        top: calc(100% + 8px) !important;
        left: 16px !important;
        right: 16px !important;

        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0 !important;

        padding: 10px !important;

        border: 1px solid rgba(236, 203, 218, .84) !important;
        border-radius: 24px !important;

        background:
            radial-gradient(circle at 0% 0%, rgba(255, 224, 238, .55), transparent 28%),
            radial-gradient(circle at 100% 0%, rgba(211, 237, 255, .45), transparent 26%),
            linear-gradient(180deg, #ffffff 0%, #fff9fc 100%) !important;

        box-shadow:
            0 22px 48px rgba(78, 50, 65, .16) !important;

        opacity: 0 !important;
        visibility: hidden !important;
        transform: translateY(-8px) scale(.98) !important;

        pointer-events: none !important;

        transition:
            opacity .22s ease,
            visibility .22s ease,
            transform .22s ease !important;
    }

    .tbs-site-header.is-open .tbs-header-nav {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) scale(1) !important;
        pointer-events: auto !important;
    }

    .tbs-header-link,
    .tbs-header-cart {
        width: 100% !important;
        min-height: 48px !important;

        justify-content: flex-start !important;

        padding: 0 14px !important;

        border-radius: 15px !important;
        border: none !important;

        color: #3f3339 !important;

        font-size: 14px !important;
        font-weight: 850 !important;

        background: transparent !important;

        transition:
            background .2s ease,
            color .2s ease,
            transform .2s ease !important;
    }

    .tbs-header-link:hover,
    .tbs-header-cart:hover {
        color: #df347d !important;
        background: rgba(255, 235, 244, .75) !important;
        transform: none !important;
    }

    .tbs-header-link::after,
    .tbs-header-cart::after {
        display: none !important;
    }

    .tbs-header-cart-count {
        position: static !important;
        margin-left: 6px !important;
    }

    .tbs-header-cta {
        width: 100% !important;
        min-height: 50px !important;

        margin-top: 8px !important;

        padding-left: 18px !important;
        padding-right: 18px !important;

        font-size: 14px !important;
    }
}

/* =========================================================
   RESPONSIVE MÓVIL PEQUEÑO
========================================================= */

@media (max-width: 560px) {

    .tbs-site-header-inner {
        min-height: 66px !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
        gap: 12px !important;
    }

    .tbs-site-header.is-scrolled .tbs-site-header-inner {
        min-height: 60px !important;
    }

    .tbs-header-logo {
        max-width: calc(100vw - 76px) !important;
    }

    .tbs-header-logo img {
        height: 39px !important;
        max-width: 215px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo img {
        height: 35px !important;
    }

    .tbs-header-toggle {
        width: 40px !important;
        height: 40px !important;
        flex: 0 0 40px !important;
    }

    .tbs-header-nav {
        left: 10px !important;
        right: 10px !important;
        top: calc(100% + 6px) !important;

        border-radius: 22px !important;
    }
}

@media (max-width: 390px) {

    .tbs-header-logo img {
        height: 35px !important;
        max-width: 185px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo img {
        height: 32px !important;
    }

    .tbs-header-link,
    .tbs-header-cart {
        min-height: 46px !important;
        font-size: 13.5px !important;
    }

    .tbs-header-cta {
        min-height: 48px !important;
        font-size: 13.5px !important;
    }
}

/* =========================================================
   TBS - USUARIO LOGUEADO + MI EVENTO PREMIUM
========================================================= */

/* Link de saludo: Hola! Fernando */
.tbs-header-user-link {
    min-height: auto !important;
    height: auto !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;

    padding: 0 !important;
    margin: 0 !important;

    color: #8f2d62 !important;

    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: .01em !important;

    text-decoration: none !important;
    white-space: nowrap !important;

    background: transparent !important;
    border: none !important;
    box-shadow: none !important;

    position: relative !important;

    transition:
        color .2s ease,
        transform .2s ease !important;
}

.tbs-header-user-link::after {
    content: "" !important;

    position: absolute !important;
    left: 50% !important;
    bottom: -10px !important;

    width: 0 !important;
    height: 2px !important;

    border-radius: 999px !important;

    background:
        linear-gradient(
            90deg,
            #ef4d94 0%,
            #c66bea 50%,
            #74c8ef 100%
        ) !important;

    opacity: 0 !important;
    transform: translateX(-50%) !important;

    transition:
        width .22s ease,
        opacity .22s ease !important;
}

.tbs-header-user-link:hover {
    color: #df347d !important;
    transform: translateY(-1px) !important;
}

.tbs-header-user-link:hover::after {
    width: 100% !important;
    opacity: 1 !important;
}

.tbs-header-user-icon {
    color: #ef4d94 !important;
    font-size: 14px !important;
    line-height: 1 !important;
}

/* Mi Evento como botón premium suave */
.tbs-header-evento-btn {
    min-height: 42px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;

    padding: 0 20px !important;
    margin: 0 !important;

    color: #8f2d62 !important;

    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: .01em !important;

    text-decoration: none !important;
    white-space: nowrap !important;

    border: 1px solid rgba(239, 77, 148, .20) !important;
    border-radius: 999px !important;

    background:
        radial-gradient(circle at 25% 18%, rgba(255,255,255,.70), transparent 30%),
        linear-gradient(135deg, rgba(255, 240, 247, .96) 0%, rgba(255, 248, 252, .96) 100%) !important;

    box-shadow:
        0 10px 22px rgba(143, 45, 98, .08),
        inset 0 1px 0 rgba(255,255,255,.80) !important;

    position: relative !important;
    overflow: hidden !important;

    transition:
        transform .22s ease,
        color .22s ease,
        border-color .22s ease,
        box-shadow .22s ease,
        background .22s ease !important;
}

.tbs-header-evento-btn:hover {
    color: #df347d !important;

    border-color: rgba(239, 77, 148, .34) !important;

    transform: translateY(-2px) !important;

    box-shadow:
        0 14px 30px rgba(143, 45, 98, .13),
        inset 0 1px 0 rgba(255,255,255,.90) !important;

    background:
        radial-gradient(circle at 25% 18%, rgba(255,255,255,.78), transparent 30%),
        linear-gradient(135deg, #fff0f7 0%, #fdf7ff 100%) !important;
}

.tbs-header-evento-heart {
    color: #ef4d94 !important;
    font-size: 15px !important;
    line-height: 1 !important;
}

/* Ajuste para que Carrito se vea alineado con Mi Evento */
.tbs-header-cart {
    color: #8f2d62 !important;
    font-weight: 900 !important;
}

/* =========================================================
   RESPONSIVE LOGUEADO
========================================================= */

@media (max-width: 980px) {

    .tbs-header-user-link,
    .tbs-header-evento-btn,
    .tbs-header-cart {
        width: 100% !important;
        min-height: 48px !important;

        justify-content: flex-start !important;

        padding: 0 14px !important;

        border-radius: 15px !important;

        font-size: 14px !important;
    }

    .tbs-header-user-link {
        background: transparent !important;
    }

    .tbs-header-user-link::after {
        display: none !important;
    }

    .tbs-header-user-link:hover {
        transform: none !important;
        background: rgba(255, 235, 244, .75) !important;
    }

    .tbs-header-evento-btn {
        margin-top: 4px !important;

        border: 1px solid rgba(239, 77, 148, .18) !important;

        background:
            linear-gradient(135deg, rgba(255, 240, 247, .94), rgba(248, 250, 255, .96)) !important;

        box-shadow: none !important;
    }

    .tbs-header-evento-btn:hover {
        transform: none !important;
        box-shadow: none !important;
        background: rgba(255, 235, 244, .85) !important;
    }
}

@media (max-width: 560px) {

    .tbs-header-user-link,
    .tbs-header-evento-btn,
    .tbs-header-cart {
        min-height: 46px !important;
        font-size: 13.5px !important;
    }

    .tbs-header-evento-btn {
        padding-left: 13px !important;
        padding-right: 13px !important;
    }
}


/* =========================================================
   TBS - AJUSTE FINAL HEADER
   Lado izquierdo blanco + logo más grande
   Pegar al final del CSS actual del header
========================================================= */

/* Fondo general del header se mantiene suave */
.tbs-site-header {
    background:
        linear-gradient(
            90deg,
            #ffffff 0%,
            #ffffff 18%,
            rgba(255, 248, 252, .96) 38%,
            rgba(255, 240, 248, .96) 100%
        ) !important;
}

/* Elimina glow rosado encima del área izquierda */
.tbs-site-header::before {
    background:
        linear-gradient(
            90deg,
            #ffffff 0%,
            #ffffff 18%,
            transparent 32%
        ),
        radial-gradient(circle at 98% 12%, rgba(255, 220, 242, .42), transparent 22%),
        radial-gradient(circle at 55% 0%, rgba(198, 232, 255, .18), transparent 24%) !important;
}

/* Contenedor interno */
.tbs-site-header-inner {
    min-height: 82px !important;
    padding-left: 58px !important;
    padding-right: 66px !important;
}

/* Bloque del logo con fondo blanco limpio */
.tbs-header-logo {
    min-height: 82px !important;

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

    padding: 0 18px !important;
    margin-left: -18px !important;

    background: #ffffff !important;
    border: none !important;
    box-shadow: none !important;
}

/* Logo más grande */
.tbs-header-logo img {
    height: 120px !important;
    width: auto !important;
    max-width: 255px !important;
    object-fit: contain !important;
}

/* Al hacer scroll */
.tbs-site-header.is-scrolled .tbs-site-header-inner {
    min-height: 72px !important;
}

.tbs-site-header.is-scrolled .tbs-header-logo {
    min-height: 72px !important;
}

.tbs-site-header.is-scrolled .tbs-header-logo img {
    height: 54px !important;
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1180px) {

    .tbs-site-header {
        background:
            linear-gradient(
                90deg,
                #ffffff 0%,
                #ffffff 20%,
                rgba(255, 248, 252, .96) 42%,
                rgba(255, 240, 248, .96) 100%
            ) !important;
    }

    .tbs-site-header-inner {
        min-height: 78px !important;
        padding-left: 34px !important;
        padding-right: 34px !important;
    }

    .tbs-header-logo {
        min-height: 78px !important;
        padding: 0 14px !important;
        margin-left: -14px !important;
    }

    .tbs-header-logo img {
        height: 58px !important;
        max-width: 235px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo img {
        height: 50px !important;
    }
}

/* =========================================================
   MÓVIL / HAMBURGUESA
========================================================= */

@media (max-width: 980px) {

    .tbs-site-header {
        background:
            linear-gradient(
                90deg,
                #ffffff 0%,
                #ffffff 44%,
                rgba(255, 248, 252, .96) 68%,
                rgba(255, 240, 248, .96) 100%
            ) !important;
    }

    .tbs-site-header::before {
        background:
            linear-gradient(
                90deg,
                #ffffff 0%,
                #ffffff 46%,
                transparent 72%
            ),
            radial-gradient(circle at 100% 8%, rgba(255, 220, 242, .32), transparent 24%) !important;
    }

    .tbs-site-header-inner {
        min-height: 74px !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .tbs-header-logo {
        min-height: 74px !important;
        max-width: calc(100vw - 92px) !important;

        padding: 0 12px !important;
        margin-left: -12px !important;

        background: #ffffff !important;
        overflow: visible !important;
    }

    .tbs-header-logo img {
        height: 76px !important;
        max-width: 230px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo {
        min-height: 66px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo img {
        height: 70px !important;
    }
}

/* =========================================================
   MÓVIL PEQUEÑO
========================================================= */

@media (max-width: 560px) {

    .tbs-site-header {
        background:
            linear-gradient(
                90deg,
                #ffffff 0%,
                #ffffff 54%,
                rgba(255, 248, 252, .96) 78%,
                rgba(255, 240, 248, .96) 100%
            ) !important;
    }

    .tbs-site-header-inner {
        min-height: 70px !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .tbs-header-logo {
        min-height: 70px !important;
        max-width: calc(100vw - 76px) !important;

        padding: 0 10px !important;
        margin-left: -10px !important;
    }

    .tbs-header-logo img {
        height: 82px !important;
        max-width: 210px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo {
        min-height: 62px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo img {
        height: 46px !important;
    }
}

@media (max-width: 390px) {

    .tbs-header-logo img {
        height: 48px !important;
        max-width: 190px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo img {
        height: 42px !important;
    }
}

/* =========================================================
   TBS - MI EVENTO MÁS DESTACADO + CERRAR SESIÓN
   Pegar al final del CSS actual del header
========================================================= */

/* Mi Evento más visible */
.tbs-header-evento-destacado {
    min-height: 46px !important;
    padding: 0 24px !important;

    color: #ffffff !important;

    border: 1px solid rgba(255, 255, 255, .46) !important;
    border-radius: 999px !important;

    background:
        radial-gradient(circle at 24% 18%, rgba(255,255,255,.46), transparent 30%),
        linear-gradient(135deg, #ef4d94 0%, #d93682 52%, #b92e72 100%) !important;

    box-shadow:
        0 14px 30px rgba(217, 54, 130, .26),
        inset 0 1px 0 rgba(255,255,255,.42) !important;
}

.tbs-header-evento-destacado .tbs-header-evento-heart {
    color: #ffffff !important;
    font-size: 15px !important;
}

.tbs-header-evento-destacado:hover {
    color: #ffffff !important;
    transform: translateY(-2px) !important;

    border-color: rgba(255, 255, 255, .58) !important;

    background:
        radial-gradient(circle at 24% 18%, rgba(255,255,255,.54), transparent 30%),
        linear-gradient(135deg, #f45ca0 0%, #df347d 52%, #bd2b73 100%) !important;

    box-shadow:
        0 18px 38px rgba(217, 54, 130, .34),
        inset 0 1px 0 rgba(255,255,255,.48) !important;
}

/* Cerrar sesión */
.tbs-header-logout-link {
    min-height: auto !important;
    height: auto !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;

    padding: 0 !important;
    margin: 0 !important;

    color: #7b6f76 !important;

    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: .01em !important;

    text-decoration: none !important;
    white-space: nowrap !important;

    background: transparent !important;
    border: none !important;
    box-shadow: none !important;

    position: relative !important;

    transition:
        color .2s ease,
        transform .2s ease,
        opacity .2s ease !important;
}

.tbs-header-logout-link::after {
    content: "" !important;

    position: absolute !important;
    left: 50% !important;
    bottom: -10px !important;

    width: 0 !important;
    height: 2px !important;

    border-radius: 999px !important;

    background: linear-gradient(90deg, #b9a7b1, #ef4d94) !important;

    opacity: 0 !important;
    transform: translateX(-50%) !important;

    transition:
        width .22s ease,
        opacity .22s ease !important;
}

.tbs-header-logout-link:hover {
    color: #df347d !important;
    transform: translateY(-1px) !important;
}

.tbs-header-logout-link:hover::after {
    width: 100% !important;
    opacity: 1 !important;
}

.tbs-header-logout-icon {
    font-size: 13px !important;
    line-height: 1 !important;
    transform: rotate(90deg) !important;
    opacity: .78 !important;
}

/* Responsive */
@media (max-width: 980px) {

    .tbs-header-evento-destacado,
    .tbs-header-logout-link {
        width: 100% !important;
        min-height: 48px !important;

        justify-content: flex-start !important;

        padding: 0 14px !important;

        border-radius: 15px !important;

        font-size: 14px !important;
    }

    .tbs-header-evento-destacado {
        margin-top: 4px !important;

        color: #ffffff !important;

        background:
            linear-gradient(135deg, #ef4d94 0%, #d93682 58%, #b92e72 100%) !important;

        box-shadow:
            0 10px 22px rgba(217, 54, 130, .18) !important;
    }

    .tbs-header-evento-destacado:hover {
        transform: none !important;
    }

    .tbs-header-logout-link {
        color: #7b6f76 !important;
        background: transparent !important;
    }

    .tbs-header-logout-link::after {
        display: none !important;
    }

    .tbs-header-logout-link:hover {
        transform: none !important;
        color: #df347d !important;
        background: rgba(255, 235, 244, .75) !important;
    }
}

@media (max-width: 560px) {

    .tbs-header-evento-destacado,
    .tbs-header-logout-link {
        min-height: 46px !important;
        font-size: 13.5px !important;
    }
}


/* =========================================================
   TBS - HEADER MÁS ANGOSTO / COMPACTO
   Pegar al final del CSS actual
========================================================= */

/* HEADER DESKTOP MÁS BAJO */
.tbs-site-header-inner {
    min-height: 62px !important;
    padding-left: 54px !important;
    padding-right: 62px !important;
}

/* Bloque del logo más compacto */
.tbs-header-logo {
    min-height: 62px !important;
    padding: 0 14px !important;
    margin-left: -14px !important;
}

/* Logo ajustado para no aumentar la altura */
.tbs-header-logo img {
    height: 78px !important;
    max-width: 250px !important;
    
}

/* Estado al hacer scroll */
.tbs-site-header.is-scrolled .tbs-site-header-inner {
    min-height: 56px !important;
}

.tbs-site-header.is-scrolled .tbs-header-logo {
    min-height: 56px !important;
}

.tbs-site-header.is-scrolled .tbs-header-logo img {
    height: 50px !important;
}

/* Navegación más compacta */
.tbs-header-nav {
    gap: 28px !important;
}

.tbs-header-link,
.tbs-header-cart,
.tbs-header-user-link,
.tbs-header-logout-link {
    font-size: 13.5px !important;
}

/* CTA más bajo */
.tbs-header-cta {
    min-height: 40px !important;
    padding-left: 26px !important;
    padding-right: 26px !important;
    font-size: 13.5px !important;
}

/* Mi Evento más compacto */
.tbs-header-evento-btn,
.tbs-header-evento-destacado {
    min-height: 40px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    font-size: 13.5px !important;
}

/* Carrito contador mejor alineado */
.tbs-header-cart-count {
    top: -11px !important;
    right: -13px !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1180px) {

    .tbs-site-header-inner {
        min-height: 60px !important;
        padding-left: 30px !important;
        padding-right: 30px !important;
    }

    .tbs-header-logo {
        min-height: 60px !important;
        padding: 0 12px !important;
        margin-left: -12px !important;
    }

    .tbs-header-logo img {
        height: 54px !important;
        max-width: 220px !important;
    }

    .tbs-site-header.is-scrolled .tbs-site-header-inner {
        min-height: 54px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo {
        min-height: 54px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo img {
        height: 46px !important;
    }

    .tbs-header-nav {
        gap: 22px !important;
    }

    .tbs-header-cta,
    .tbs-header-evento-btn,
    .tbs-header-evento-destacado {
        min-height: 38px !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
        font-size: 13px !important;
    }
}


/* =========================================================
   MÓVIL / HAMBURGUESA MÁS COMPACTO
========================================================= */

@media (max-width: 980px) {

    .tbs-site-header-inner {
        min-height: 58px !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .tbs-site-header.is-scrolled .tbs-site-header-inner {
        min-height: 54px !important;
    }

    .tbs-header-logo {
        min-height: 58px !important;
        max-width: calc(100vw - 82px) !important;
        padding: 0 10px !important;
        margin-left: -10px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo {
        min-height: 54px !important;
    }

    .tbs-header-logo img {
        height: 58px !important;
        max-width: 210px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo img {
        height: 52px !important;
    }

    .tbs-header-toggle {
        width: 38px !important;
        height: 38px !important;
        flex: 0 0 38px !important;
        gap: 4px !important;
    }

    .tbs-header-toggle span {
        width: 18px !important;
    }

    .tbs-header-nav {
        top: calc(100% + 6px) !important;
    }
}


/* =========================================================
   MÓVIL PEQUEÑO
========================================================= */

@media (max-width: 560px) {

    .tbs-site-header-inner {
        min-height: 54px !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        gap: 10px !important;
    }

    .tbs-site-header.is-scrolled .tbs-site-header-inner {
        min-height: 50px !important;
    }

    .tbs-header-logo {
        min-height: 54px !important;
        max-width: calc(100vw - 70px) !important;
        padding: 0 8px !important;
        margin-left: -8px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo {
        min-height: 50px !important;
    }

    .tbs-header-logo img {
        height: 54px !important;
        max-width: 190px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo img {
        height: 46px !important;
    }

    .tbs-header-toggle {
        width: 36px !important;
        height: 36px !important;
        flex: 0 0 36px !important;
    }
}


/* =========================================================
   MÓVIL MUY PEQUEÑO
========================================================= */

@media (max-width: 390px) {

    .tbs-site-header-inner {
        min-height: 52px !important;
    }

    .tbs-header-logo {
        min-height: 52px !important;
    }

    .tbs-header-logo img {
        height: 48px !important;
        max-width: 175px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo img {
        height: 42px !important;
    }
}





/* =========================================================
   TBS - HEADER COMPACTO + LOGO GRANDE SIN AFECTAR ALTURA
   Inspiración tipográfica tipo Babylist
   Pegar al final del CSS actual
========================================================= */

/* HEADER: altura real controlada */
.tbs-site-header {
    overflow: visible !important;
}

/* Contenedor del header: mantiene altura angosta */
.tbs-site-header-inner {
    min-height: 58px !important;
    height: 58px !important;

    padding-left: 54px !important;
    padding-right: 62px !important;

    overflow: visible !important;
}

/* Estado con scroll aún más compacto */
.tbs-site-header.is-scrolled .tbs-site-header-inner {
    min-height: 52px !important;
    height: 52px !important;
}


/* =========================================================
   LOGO GRANDE SIN EMPUJAR EL HEADER
========================================================= */

/* El contenedor del logo NO define la altura del header */
.tbs-header-logo {
    min-height: 58px !important;
    height: 58px !important;

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

    padding: 0 12px !important;
    margin-left: -12px !important;

    overflow: visible !important;
    position: relative !important;
    z-index: 5 !important;

    background: #ffffff !important;
}

/* El logo puede crecer visualmente sin aumentar el header */
.tbs-header-logo img {
    height: 82px !important;
    max-height: none !important;
    max-width: 260px !important;

    width: auto !important;
    object-fit: contain !important;

    display: block !important;

    position: relative !important;
    z-index: 6 !important;

    transform: translateY(2px) !important;
    transform-origin: center center !important;

    transition:
        height .24s ease,
        transform .24s ease,
        opacity .24s ease !important;
}

/* En scroll baja un poco el logo, pero sigue sin afectar altura */
.tbs-site-header.is-scrolled .tbs-header-logo {
    min-height: 52px !important;
    height: 52px !important;
}

.tbs-site-header.is-scrolled .tbs-header-logo img {
    height: 66px !important;
    transform: translateY(1px) !important;
}


/* =========================================================
   TIPOGRAFÍA NAV INSPIRACIÓN BABYLIST
   Más limpia, amigable, moderna y menos pesada
========================================================= */

.tbs-header-nav {
    gap: 30px !important;
}

/* Enlaces principales */
.tbs-header-link,
.tbs-header-cart,
.tbs-header-user-link,
.tbs-header-logout-link {
    font-family: "Inter", "Nunito Sans", "Roboto", Arial, Helvetica, sans-serif !important;

    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: .005em !important;

    color: #3f3339 !important;
}

/* Hover más limpio y elegante */
.tbs-header-link:hover,
.tbs-header-cart:hover,
.tbs-header-user-link:hover,
.tbs-header-logout-link:hover {
    color: #d93682 !important;
    transform: translateY(-1px) !important;
}

/* Línea inferior más sutil */
.tbs-header-link::after,
.tbs-header-cart::after,
.tbs-header-user-link::after,
.tbs-header-logout-link::after {
    bottom: -8px !important;
    height: 2px !important;

    background:
        linear-gradient(
            90deg,
            #f06aa5 0%,
            #df347d 50%,
            #75c7ef 100%
        ) !important;
}

/* Saludo usuario */
.tbs-header-user-link {
    color: #8f2d62 !important;
    font-weight: 750 !important;
}

/* Cerrar sesión más discreto */
.tbs-header-logout-link {
    color: #8a7a83 !important;
    font-size: 13px !important;
    font-weight: 650 !important;
}


/* =========================================================
   CTA PRINCIPAL MÁS BABYLIST / SAAS LIMPIO
========================================================= */

.tbs-header-cta {
    min-height: 38px !important;

    padding-left: 24px !important;
    padding-right: 24px !important;

    font-family: "Inter", "Nunito Sans", "Roboto", Arial, Helvetica, sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 800 !important;
    letter-spacing: .005em !important;

    border-radius: 999px !important;

    box-shadow:
        0 10px 22px rgba(223, 52, 125, .20),
        inset 0 1px 0 rgba(255,255,255,.38) !important;
}

/* Mi Evento destacado más compacto */
.tbs-header-evento-btn,
.tbs-header-evento-destacado {
    min-height: 38px !important;

    padding-left: 20px !important;
    padding-right: 20px !important;

    font-family: "Inter", "Nunito Sans", "Roboto", Arial, Helvetica, sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 800 !important;
    letter-spacing: .005em !important;
}

/* Contador carrito */
.tbs-header-cart-count {
    top: -10px !important;
    right: -13px !important;

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

    font-size: 9.5px !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1180px) {

    .tbs-site-header-inner {
        min-height: 56px !important;
        height: 56px !important;

        padding-left: 30px !important;
        padding-right: 30px !important;
    }

    .tbs-site-header.is-scrolled .tbs-site-header-inner {
        min-height: 50px !important;
        height: 50px !important;
    }

    .tbs-header-logo {
        min-height: 56px !important;
        height: 56px !important;

        padding: 0 10px !important;
        margin-left: -10px !important;
    }

    .tbs-header-logo img {
        height: 74px !important;
        max-width: 235px !important;
        transform: translateY(2px) !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo {
        min-height: 50px !important;
        height: 50px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo img {
        height: 62px !important;
        transform: translateY(1px) !important;
    }

    .tbs-header-nav {
        gap: 22px !important;
    }

    .tbs-header-link,
    .tbs-header-cart,
    .tbs-header-user-link {
        font-size: 13.5px !important;
    }

    .tbs-header-cta,
    .tbs-header-evento-btn,
    .tbs-header-evento-destacado {
        min-height: 36px !important;

        padding-left: 18px !important;
        padding-right: 18px !important;

        font-size: 13px !important;
    }
}


/* =========================================================
   MÓVIL / HAMBURGUESA
========================================================= */

@media (max-width: 980px) {

    .tbs-site-header {
        overflow: visible !important;
    }

    .tbs-site-header-inner {
        min-height: 54px !important;
        height: 54px !important;

        padding-left: 16px !important;
        padding-right: 16px !important;

        overflow: visible !important;
    }

    .tbs-site-header.is-scrolled .tbs-site-header-inner {
        min-height: 50px !important;
        height: 50px !important;
    }

    .tbs-header-logo {
        min-height: 54px !important;
        height: 54px !important;

        max-width: calc(100vw - 82px) !important;

        padding: 0 8px !important;
        margin-left: -8px !important;

        overflow: visible !important;
    }

    .tbs-header-logo img {
        height: 66px !important;
        max-width: 215px !important;

        transform: translateY(2px) !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo {
        min-height: 50px !important;
        height: 50px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo img {
        height: 58px !important;
        transform: translateY(1px) !important;
    }

    /* Botón hamburguesa más limpio */
    .tbs-header-toggle {
        width: 38px !important;
        height: 38px !important;
        flex: 0 0 38px !important;

        gap: 4px !important;

        border-color: rgba(232, 194, 214, .62) !important;

        box-shadow:
            0 8px 18px rgba(95, 57, 76, .07) !important;
    }

    .tbs-header-toggle span {
        width: 18px !important;
        height: 2px !important;
    }

    /* Menú desplegable */
    .tbs-header-nav {
        top: calc(100% + 7px) !important;

        padding: 10px !important;
        border-radius: 22px !important;
    }

    .tbs-header-link,
    .tbs-header-cart,
    .tbs-header-user-link,
    .tbs-header-logout-link,
    .tbs-header-evento-btn,
    .tbs-header-evento-destacado {
        min-height: 45px !important;

        font-family: "Inter", "Nunito Sans", "Roboto", Arial, Helvetica, sans-serif !important;
        font-size: 14px !important;
        font-weight: 700 !important;

        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .tbs-header-cta {
        min-height: 46px !important;

        font-size: 14px !important;
        font-weight: 800 !important;
    }
}


/* =========================================================
   MÓVIL PEQUEÑO
========================================================= */

@media (max-width: 560px) {

    .tbs-site-header-inner {
        min-height: 52px !important;
        height: 52px !important;

        padding-left: 12px !important;
        padding-right: 12px !important;
        gap: 10px !important;
    }

    .tbs-site-header.is-scrolled .tbs-site-header-inner {
        min-height: 48px !important;
        height: 48px !important;
    }

    .tbs-header-logo {
        min-height: 52px !important;
        height: 52px !important;

        max-width: calc(100vw - 70px) !important;

        padding: 0 6px !important;
        margin-left: -6px !important;
    }

    .tbs-header-logo img {
        height: 62px !important;
        max-width: 195px !important;

        transform: translateY(2px) !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo {
        min-height: 48px !important;
        height: 48px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo img {
        height: 52px !important;
        transform: translateY(1px) !important;
    }

    .tbs-header-toggle {
        width: 36px !important;
        height: 36px !important;
        flex: 0 0 36px !important;
    }

    .tbs-header-link,
    .tbs-header-cart,
    .tbs-header-user-link,
    .tbs-header-logout-link,
    .tbs-header-evento-btn,
    .tbs-header-evento-destacado {
        min-height: 44px !important;
        font-size: 13.5px !important;
    }
}


/* =========================================================
   MÓVIL MUY PEQUEÑO
========================================================= */

@media (max-width: 390px) {

    .tbs-site-header-inner {
        min-height: 50px !important;
        height: 50px !important;
    }

    .tbs-header-logo {
        min-height: 50px !important;
        height: 50px !important;
    }

    .tbs-header-logo img {
        height: 56px !important;
        max-width: 175px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo img {
        height: 48px !important;
    }

    .tbs-header-toggle {
        width: 34px !important;
        height: 34px !important;
        flex: 0 0 34px !important;
    }
}

/* =========================================================
   TBS - AJUSTE PREMIUM FINAL
   Logo más grande + menú más grande, fino y elegante
   Pegar al final del CSS actual
========================================================= */

/* Mantiene el header angosto aunque el logo crezca */
.tbs-site-header {
    overflow: visible !important;
}

/* Altura real del header controlada */
.tbs-site-header-inner {
    min-height: 58px !important;
    height: 58px !important;

    padding-left: 54px !important;
    padding-right: 62px !important;

    overflow: visible !important;
}

/* Header al hacer scroll */
.tbs-site-header.is-scrolled .tbs-site-header-inner {
    min-height: 52px !important;
    height: 52px !important;
}


/* =========================================================
   LOGO MÁS GRANDE SIN AFECTAR ALTURA
========================================================= */

.tbs-header-logo {
    min-height: 58px !important;
    height: 58px !important;

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

    padding: 0 12px !important;
    margin-left: -12px !important;

    overflow: visible !important;
    position: relative !important;
    z-index: 10 !important;

    background: #ffffff !important;
}

/* Logo más grande visualmente */
.tbs-header-logo img {
    height: 94px !important;
    max-height: none !important;
    max-width: 295px !important;

    width: auto !important;
    object-fit: contain !important;

    display: block !important;

    position: relative !important;
    z-index: 12 !important;

    transform: translateY(4px) !important;
    transform-origin: center center !important;

    transition:
        height .24s ease,
        transform .24s ease,
        opacity .24s ease !important;
}

/* Logo en scroll */
.tbs-site-header.is-scrolled .tbs-header-logo {
    min-height: 52px !important;
    height: 52px !important;
}

.tbs-site-header.is-scrolled .tbs-header-logo img {
    height: 76px !important;
    transform: translateY(2px) !important;
}


/* =========================================================
   MENÚ MÁS GRANDE, FINO Y ELEGANTE
========================================================= */

.tbs-header-nav {
    gap: 32px !important;
}

/* Links principales */
.tbs-header-link,
.tbs-header-cart,
.tbs-header-user-link,
.tbs-header-logout-link {
    font-family: "Inter", "Nunito Sans", "Roboto", Arial, Helvetica, sans-serif !important;

    font-size: 15.5px !important;
    font-weight: 520 !important;
    line-height: 1 !important;
    letter-spacing: .012em !important;

    color: #3f3339 !important;

    -webkit-font-smoothing: antialiased !important;
    text-rendering: geometricPrecision !important;
}

/* Hover elegante */
.tbs-header-link:hover,
.tbs-header-cart:hover,
.tbs-header-user-link:hover,
.tbs-header-logout-link:hover {
    color: #d93682 !important;
    transform: translateY(-1px) !important;
}

/* Línea inferior más fina y premium */
.tbs-header-link::after,
.tbs-header-cart::after,
.tbs-header-user-link::after,
.tbs-header-logout-link::after {
    bottom: -9px !important;
    height: 1.5px !important;

    background:
        linear-gradient(
            90deg,
            #f06aa5 0%,
            #df347d 52%,
            #75c7ef 100%
        ) !important;
}

/* Usuario / saludo */
.tbs-header-user-link {
    color: #8f2d62 !important;
    font-weight: 560 !important;
}

/* Cerrar sesión más discreto */
.tbs-header-logout-link {
    color: #7d7278 !important;
    font-size: 14.5px !important;
    font-weight: 480 !important;
}


/* =========================================================
   BOTONES DEL HEADER MÁS ELEGANTES
========================================================= */

.tbs-header-cta {
    min-height: 40px !important;

    padding-left: 26px !important;
    padding-right: 26px !important;

    font-family: "Inter", "Nunito Sans", "Roboto", Arial, Helvetica, sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 650 !important;
    letter-spacing: .01em !important;

    border-radius: 999px !important;

    box-shadow:
        0 10px 22px rgba(223, 52, 125, .20),
        inset 0 1px 0 rgba(255,255,255,.40) !important;
}

/* Mi Evento */
.tbs-header-evento-btn,
.tbs-header-evento-destacado {
    min-height: 40px !important;

    padding-left: 22px !important;
    padding-right: 22px !important;

    font-family: "Inter", "Nunito Sans", "Roboto", Arial, Helvetica, sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 650 !important;
    letter-spacing: .01em !important;
}

/* Íconos del menú un poco más armónicos */
.tbs-header-user-icon,
.tbs-header-evento-heart,
.tbs-header-cart-icon,
.tbs-header-logout-icon {
    font-size: 15px !important;
}

/* Contador carrito */
.tbs-header-cart-count {
    top: -11px !important;
    right: -14px !important;

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

    font-size: 10px !important;
    font-weight: 700 !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1180px) {

    .tbs-site-header-inner {
        min-height: 56px !important;
        height: 56px !important;

        padding-left: 30px !important;
        padding-right: 30px !important;
    }

    .tbs-site-header.is-scrolled .tbs-site-header-inner {
        min-height: 50px !important;
        height: 50px !important;
    }

    .tbs-header-logo {
        min-height: 56px !important;
        height: 56px !important;

        padding: 0 10px !important;
        margin-left: -10px !important;
    }

    .tbs-header-logo img {
        height: 84px !important;
        max-width: 260px !important;
        transform: translateY(3px) !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo {
        min-height: 50px !important;
        height: 50px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo img {
        height: 68px !important;
        transform: translateY(2px) !important;
    }

    .tbs-header-nav {
        gap: 24px !important;
    }

    .tbs-header-link,
    .tbs-header-cart,
    .tbs-header-user-link {
        font-size: 14.5px !important;
        font-weight: 520 !important;
    }

    .tbs-header-cta,
    .tbs-header-evento-btn,
    .tbs-header-evento-destacado {
        min-height: 38px !important;

        padding-left: 20px !important;
        padding-right: 20px !important;

        font-size: 14px !important;
        font-weight: 650 !important;
    }
}


/* =========================================================
   MÓVIL / HAMBURGUESA
========================================================= */

@media (max-width: 980px) {

    .tbs-site-header-inner {
        min-height: 54px !important;
        height: 54px !important;

        padding-left: 16px !important;
        padding-right: 16px !important;

        overflow: visible !important;
    }

    .tbs-site-header.is-scrolled .tbs-site-header-inner {
        min-height: 50px !important;
        height: 50px !important;
    }

    .tbs-header-logo {
        min-height: 54px !important;
        height: 54px !important;

        max-width: calc(100vw - 82px) !important;

        padding: 0 8px !important;
        margin-left: -8px !important;

        overflow: visible !important;
    }

    .tbs-header-logo img {
        height: 76px !important;
        max-width: 235px !important;

        transform: translateY(3px) !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo {
        min-height: 50px !important;
        height: 50px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo img {
        height: 64px !important;
        transform: translateY(2px) !important;
    }

    .tbs-header-toggle {
        width: 38px !important;
        height: 38px !important;
        flex: 0 0 38px !important;
    }

    .tbs-header-nav {
        top: calc(100% + 7px) !important;
        padding: 10px !important;
        border-radius: 22px !important;
    }

    .tbs-header-link,
    .tbs-header-cart,
    .tbs-header-user-link,
    .tbs-header-logout-link,
    .tbs-header-evento-btn,
    .tbs-header-evento-destacado {
        min-height: 46px !important;

        font-family: "Inter", "Nunito Sans", "Roboto", Arial, Helvetica, sans-serif !important;
        font-size: 15px !important;
        font-weight: 520 !important;

        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    .tbs-header-cta {
        min-height: 47px !important;

        font-size: 15px !important;
        font-weight: 650 !important;
    }
}


/* =========================================================
   MÓVIL PEQUEÑO
========================================================= */

@media (max-width: 560px) {

    .tbs-site-header-inner {
        min-height: 52px !important;
        height: 52px !important;

        padding-left: 12px !important;
        padding-right: 12px !important;
        gap: 10px !important;
    }

    .tbs-site-header.is-scrolled .tbs-site-header-inner {
        min-height: 48px !important;
        height: 48px !important;
    }

    .tbs-header-logo {
        min-height: 52px !important;
        height: 52px !important;

        max-width: calc(100vw - 70px) !important;

        padding: 0 6px !important;
        margin-left: -6px !important;
    }

    .tbs-header-logo img {
        height: 72px !important;
        max-width: 215px !important;

        transform: translateY(3px) !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo {
        min-height: 48px !important;
        height: 48px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo img {
        height: 58px !important;
        transform: translateY(2px) !important;
    }

    .tbs-header-toggle {
        width: 36px !important;
        height: 36px !important;
        flex: 0 0 36px !important;
    }

    .tbs-header-link,
    .tbs-header-cart,
    .tbs-header-user-link,
    .tbs-header-logout-link,
    .tbs-header-evento-btn,
    .tbs-header-evento-destacado {
        min-height: 45px !important;
        font-size: 14.5px !important;
        font-weight: 520 !important;
    }
}


/* =========================================================
   MÓVIL MUY PEQUEÑO
========================================================= */

@media (max-width: 390px) {

    .tbs-site-header-inner {
        min-height: 50px !important;
        height: 50px !important;
    }

    .tbs-header-logo {
        min-height: 50px !important;
        height: 50px !important;
    }

    .tbs-header-logo img {
        height: 64px !important;
        max-width: 190px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo img {
        height: 52px !important;
    }

    .tbs-header-toggle {
        width: 34px !important;
        height: 34px !important;
        flex: 0 0 34px !important;
    }
}



/* =========================================================
   TBS - HEADER ESTILO BABYLIST REFINADO
   Logo más grande + tipografía fina, amplia y elegante
   Pegar al final del CSS actual
========================================================= */

/* Header limpio, blanco y estable */
.tbs-site-header {
    overflow: visible !important;

    background: #ffffff !important;

    border-bottom: 1px solid rgba(120, 65, 105, .10) !important;

    box-shadow:
        0 2px 10px rgba(74, 43, 62, .035) !important;

    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
}

/* Elimina brillos para parecerse más a Babylist */
.tbs-site-header::before {
    display: none !important;
}

/* Altura controlada del header */
.tbs-site-header-inner {
    height: 66px !important;
    min-height: 66px !important;

    max-width: 1440px !important;

    padding-left: 34px !important;
    padding-right: 58px !important;

    gap: 48px !important;

    overflow: visible !important;
}

/* Scroll compacto */
.tbs-site-header.is-scrolled .tbs-site-header-inner {
    height: 58px !important;
    min-height: 58px !important;
}


/* =========================================================
   LOGO MÁS GRANDE SIN EMPUJAR EL HEADER
========================================================= */

.tbs-header-logo {
    height: 66px !important;
    min-height: 66px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    padding: 0 !important;
    margin: 0 !important;

    overflow: visible !important;
    position: relative !important;
    z-index: 20 !important;

    background: transparent !important;
}

/* Logo grande tipo presencia de marca */
.tbs-header-logo img {
    height: 112px !important;
    max-height: none !important;
    max-width: 330px !important;

    width: auto !important;
    object-fit: contain !important;

    display: block !important;

    position: relative !important;
    z-index: 22 !important;

    transform: translateY(5px) !important;
    transform-origin: left center !important;

    transition:
        height .24s ease,
        transform .24s ease !important;
}

/* Logo al hacer scroll */
.tbs-site-header.is-scrolled .tbs-header-logo {
    height: 58px !important;
    min-height: 58px !important;
}

.tbs-site-header.is-scrolled .tbs-header-logo img {
    height: 92px !important;
    transform: translateY(4px) !important;
}


/* =========================================================
   MENÚ TIPO BABYLIST
   Letras finas, grandes, espaciadas y elegantes
========================================================= */

.tbs-header-nav {
    gap: 34px !important;

    display: flex !important;
    align-items: center !important;
}

/* Links principales */
.tbs-header-link,
.tbs-header-cart,
.tbs-header-user-link,
.tbs-header-logout-link {
    font-family:
        "Avenir Next",
        "Avenir",
        "Inter",
        "Nunito Sans",
        "Roboto",
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: .055em !important;

    color: #262326 !important;

    text-decoration: none !important;
    text-transform: none !important;
    white-space: nowrap !important;

    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: geometricPrecision !important;
}

/* Hover muy limpio */
.tbs-header-link:hover,
.tbs-header-cart:hover,
.tbs-header-user-link:hover,
.tbs-header-logout-link:hover {
    color: #6f3c67 !important;
    transform: translateY(-1px) !important;
}

/* Quita la línea inferior para estilo más limpio como Babylist */
.tbs-header-link::after,
.tbs-header-cart::after,
.tbs-header-user-link::after,
.tbs-header-logout-link::after {
    display: none !important;
}

/* Carrito / usuario con misma línea visual */
.tbs-header-cart,
.tbs-header-user-link {
    color: #262326 !important;
    font-weight: 400 !important;
}

/* Cerrar sesión más discreto */
.tbs-header-logout-link {
    color: #5f565d !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    letter-spacing: .04em !important;
}


/* =========================================================
   BOTONES DEL HEADER AJUSTADOS AL NUEVO ESTILO
========================================================= */

.tbs-header-cta {
    min-height: 44px !important;

    padding-left: 30px !important;
    padding-right: 30px !important;

    font-family:
        "Avenir Next",
        "Avenir",
        "Inter",
        "Nunito Sans",
        "Roboto",
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 16px !important;
    font-weight: 500 !important;
    letter-spacing: .035em !important;

    border-radius: 999px !important;

    background:
        linear-gradient(135deg, #ef4d94 0%, #dc347f 55%, #c52c76 100%) !important;

    box-shadow:
        0 10px 22px rgba(223, 52, 125, .18),
        inset 0 1px 0 rgba(255,255,255,.36) !important;
}

/* Mi Evento */
.tbs-header-evento-btn,
.tbs-header-evento-destacado {
    min-height: 44px !important;

    padding-left: 28px !important;
    padding-right: 28px !important;

    font-family:
        "Avenir Next",
        "Avenir",
        "Inter",
        "Nunito Sans",
        "Roboto",
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 16px !important;
    font-weight: 500 !important;
    letter-spacing: .035em !important;
}

/* Íconos alineados al tamaño de letra */
.tbs-header-cart-icon,
.tbs-header-user-icon,
.tbs-header-evento-heart,
.tbs-header-logout-icon {
    font-size: 20px !important;
    line-height: 1 !important;
}

/* Contador carrito */
.tbs-header-cart-count {
    top: -12px !important;
    right: -16px !important;

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

    font-size: 10px !important;
    font-weight: 700 !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1180px) {

    .tbs-site-header-inner {
        height: 62px !important;
        min-height: 62px !important;

        padding-left: 28px !important;
        padding-right: 34px !important;

        gap: 32px !important;
    }

    .tbs-site-header.is-scrolled .tbs-site-header-inner {
        height: 56px !important;
        min-height: 56px !important;
    }

    .tbs-header-logo {
        height: 62px !important;
        min-height: 62px !important;
    }

    .tbs-header-logo img {
        height: 100px !important;
        max-width: 295px !important;
        transform: translateY(5px) !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo {
        height: 56px !important;
        min-height: 56px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo img {
        height: 84px !important;
        transform: translateY(4px) !important;
    }

    .tbs-header-nav {
        gap: 34px !important;
    }

    .tbs-header-link,
    .tbs-header-cart,
    .tbs-header-user-link {
        font-size: 21px !important;
        font-weight: 400 !important;
        letter-spacing: .05em !important;
    }

    .tbs-header-logout-link {
        font-size: 18px !important;
    }

    .tbs-header-cta,
    .tbs-header-evento-btn,
    .tbs-header-evento-destacado {
        min-height: 40px !important;
        padding-left: 22px !important;
        padding-right: 22px !important;
        font-size: 15px !important;
    }
}


/* =========================================================
   MÓVIL / HAMBURGUESA
========================================================= */

@media (max-width: 980px) {

    .tbs-site-header-inner {
        height: 58px !important;
        min-height: 58px !important;

        padding-left: 16px !important;
        padding-right: 16px !important;

        gap: 12px !important;
        overflow: visible !important;
    }

    .tbs-site-header.is-scrolled .tbs-site-header-inner {
        height: 52px !important;
        min-height: 52px !important;
    }

    .tbs-header-logo {
        height: 58px !important;
        min-height: 58px !important;

        max-width: calc(100vw - 82px) !important;

        overflow: visible !important;
    }

    .tbs-header-logo img {
        height: 88px !important;
        max-width: 265px !important;
        transform: translateY(4px) !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo {
        height: 52px !important;
        min-height: 52px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo img {
        height: 74px !important;
        transform: translateY(3px) !important;
    }

    /* Hamburguesa más fina */
    .tbs-header-toggle {
        width: 40px !important;
        height: 40px !important;
        flex: 0 0 40px !important;

        border-color: rgba(111, 60, 103, .18) !important;
        box-shadow: none !important;
        background: #ffffff !important;
    }

    .tbs-header-toggle span {
        width: 20px !important;
        height: 1.7px !important;
        background: #262326 !important;
    }

    /* Menú desplegable */
    .tbs-header-nav {
        top: calc(100% + 8px) !important;
        left: 14px !important;
        right: 14px !important;

        gap: 0 !important;

        padding: 12px !important;
        border-radius: 24px !important;

        background: #ffffff !important;

        box-shadow:
            0 22px 48px rgba(70, 42, 60, .14) !important;
    }

    .tbs-header-link,
    .tbs-header-cart,
    .tbs-header-user-link,
    .tbs-header-logout-link,
    .tbs-header-evento-btn,
    .tbs-header-evento-destacado {
        min-height: 50px !important;

        justify-content: flex-start !important;

        padding-left: 16px !important;
        padding-right: 16px !important;

        font-family:
            "Avenir Next",
            "Avenir",
            "Inter",
            "Nunito Sans",
            "Roboto",
            Arial,
            Helvetica,
            sans-serif !important;

        font-size: 20px !important;
        font-weight: 400 !important;
        letter-spacing: .045em !important;

        color: #262326 !important;
    }

    .tbs-header-cta {
        min-height: 50px !important;

        font-size: 17px !important;
        font-weight: 500 !important;
        letter-spacing: .035em !important;
    }
}


/* =========================================================
   MÓVIL PEQUEÑO
========================================================= */

@media (max-width: 560px) {

    .tbs-site-header-inner {
        height: 54px !important;
        min-height: 54px !important;

        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .tbs-site-header.is-scrolled .tbs-site-header-inner {
        height: 50px !important;
        min-height: 50px !important;
    }

    .tbs-header-logo {
        height: 54px !important;
        min-height: 54px !important;

        max-width: calc(100vw - 72px) !important;
    }

    .tbs-header-logo img {
        height: 80px !important;
        max-width: 235px !important;
        transform: translateY(4px) !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo {
        height: 50px !important;
        min-height: 50px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo img {
        height: 66px !important;
        transform: translateY(3px) !important;
    }

    .tbs-header-toggle {
        width: 36px !important;
        height: 36px !important;
        flex: 0 0 36px !important;
    }

    .tbs-header-link,
    .tbs-header-cart,
    .tbs-header-user-link,
    .tbs-header-logout-link,
    .tbs-header-evento-btn,
    .tbs-header-evento-destacado {
        min-height: 48px !important;
        font-size: 18px !important;
        font-weight: 400 !important;
        letter-spacing: .04em !important;
    }
}


/* =========================================================
   MÓVIL MUY PEQUEÑO
========================================================= */

@media (max-width: 390px) {

    .tbs-site-header-inner {
        height: 52px !important;
        min-height: 52px !important;
    }

    .tbs-header-logo {
        height: 52px !important;
        min-height: 52px !important;
    }

    .tbs-header-logo img {
        height: 72px !important;
        max-width: 210px !important;
        transform: translateY(3px) !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo img {
        height: 60px !important;
    }

    .tbs-header-toggle {
        width: 34px !important;
        height: 34px !important;
        flex: 0 0 34px !important;
    }
}

/* =========================================================
   TBS - RECUPERAR DEGRADADO BLANCO HACIA LA IZQUIERDA
   Mantiene logo grande + estilo Babylist
   Pegar al final del CSS actual
========================================================= */

.tbs-site-header {
    background:
        linear-gradient(
            90deg,
            #ffffff 0%,
            #ffffff 22%,
            rgba(255, 250, 253, .98) 42%,
            rgba(255, 244, 250, .96) 72%,
            rgba(248, 252, 255, .96) 100%
        ) !important;

    border-bottom: 1px solid rgba(120, 65, 105, .10) !important;

    box-shadow:
        0 2px 10px rgba(74, 43, 62, .035) !important;

    overflow: visible !important;
}

/* Glow sutil, pero sin manchar el área del logo */
.tbs-site-header::before {
    content: "" !important;
    display: block !important;

    position: absolute !important;
    inset: 0 !important;

    background:
        linear-gradient(
            90deg,
            #ffffff 0%,
            #ffffff 24%,
            transparent 44%
        ),
        radial-gradient(circle at 92% 10%, rgba(255, 220, 242, .34), transparent 24%),
        radial-gradient(circle at 62% 0%, rgba(198, 232, 255, .16), transparent 28%) !important;

    pointer-events: none !important;
    z-index: 0 !important;
}

/* Asegura que el contenido quede encima del degradado */
.tbs-site-header-inner {
    position: relative !important;
    z-index: 2 !important;
}

/* Logo limpio sobre zona blanca */
.tbs-header-logo {
    background: transparent !important;
    position: relative !important;
    z-index: 20 !important;
}

/* Estado al hacer scroll */
.tbs-site-header.is-scrolled {
    background:
        linear-gradient(
            90deg,
            #ffffff 0%,
            #ffffff 26%,
            rgba(255, 250, 253, .98) 52%,
            rgba(255, 246, 251, .97) 100%
        ) !important;

    border-bottom-color: rgba(120, 65, 105, .13) !important;

    box-shadow:
        0 8px 24px rgba(74, 43, 62, .055) !important;
}

.tbs-site-header.is-scrolled::before {
    background:
        linear-gradient(
            90deg,
            #ffffff 0%,
            #ffffff 28%,
            transparent 48%
        ),
        radial-gradient(circle at 96% 8%, rgba(255, 220, 242, .24), transparent 24%) !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1180px) {

    .tbs-site-header {
        background:
            linear-gradient(
                90deg,
                #ffffff 0%,
                #ffffff 28%,
                rgba(255, 250, 253, .98) 52%,
                rgba(255, 244, 250, .96) 100%
            ) !important;
    }

    .tbs-site-header::before {
        background:
            linear-gradient(
                90deg,
                #ffffff 0%,
                #ffffff 30%,
                transparent 54%
            ),
            radial-gradient(circle at 96% 10%, rgba(255, 220, 242, .28), transparent 24%) !important;
    }
}


/* =========================================================
   MÓVIL
========================================================= */

@media (max-width: 980px) {

    .tbs-site-header {
        background:
            linear-gradient(
                90deg,
                #ffffff 0%,
                #ffffff 52%,
                rgba(255, 250, 253, .98) 76%,
                rgba(255, 244, 250, .96) 100%
            ) !important;
    }

    .tbs-site-header::before {
        background:
            linear-gradient(
                90deg,
                #ffffff 0%,
                #ffffff 54%,
                transparent 78%
            ),
            radial-gradient(circle at 100% 8%, rgba(255, 220, 242, .22), transparent 26%) !important;
    }
}


/* =========================================================
   MÓVIL PEQUEÑO
========================================================= */

@media (max-width: 560px) {

    .tbs-site-header {
        background:
            linear-gradient(
                90deg,
                #ffffff 0%,
                #ffffff 58%,
                rgba(255, 250, 253, .98) 82%,
                rgba(255, 244, 250, .96) 100%
            ) !important;
    }

    .tbs-site-header::before {
        background:
            linear-gradient(
                90deg,
                #ffffff 0%,
                #ffffff 60%,
                transparent 84%
            ),
            radial-gradient(circle at 100% 8%, rgba(255, 220, 242, .18), transparent 26%) !important;
    }
}


/* =========================================================
   TBS - AJUSTE FINAL MENÚ RESPONSIVE MÓVIL
   Corrige:
   - Menú abierto se sale del ancho.
   - Links muy grandes en móvil.
   - Logo ocupa demasiado espacio.
   - Botones del menú se ven desordenados.
   - Menú queda encima del hero de forma limpia.
   Pegar al final del CSS actual del header.
========================================================= */


/* =========================================================
   1. HEADER MÓVIL ESTABLE
========================================================= */

@media (max-width: 980px) {

    body {
        overflow-x: hidden !important;
    }

    .tbs-site-header {
        width: 100vw !important;
        max-width: 100vw !important;
        overflow: visible !important;
        z-index: 999999 !important;
    }

    .tbs-site-header-inner {
        width: 100% !important;
        max-width: 100% !important;

        height: 64px !important;
        min-height: 64px !important;

        padding-left: 18px !important;
        padding-right: 18px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;

        overflow: visible !important;
    }

    .tbs-site-header.is-scrolled .tbs-site-header-inner {
        height: 58px !important;
        min-height: 58px !important;
    }
}


/* =========================================================
   2. LOGO MÓVIL CONTROLADO
   Evita que empuje el botón hamburguesa o se desborde
========================================================= */

@media (max-width: 980px) {

    .tbs-header-logo {
        flex: 1 1 auto !important;

        width: auto !important;
        max-width: calc(100vw - 92px) !important;

        height: 64px !important;
        min-height: 64px !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        padding: 0 !important;
        margin: 0 !important;

        overflow: hidden !important;
        background: transparent !important;
    }

    .tbs-header-logo img {
        height: 58px !important;
        max-height: 58px !important;
        max-width: 218px !important;

        width: auto !important;

        object-fit: contain !important;
        object-position: left center !important;

        transform: none !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo {
        height: 58px !important;
        min-height: 58px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo img {
        height: 52px !important;
        max-height: 52px !important;
        transform: none !important;
    }
}


/* =========================================================
   3. BOTÓN HAMBURGUESA
========================================================= */

@media (max-width: 980px) {

    .tbs-header-toggle {
        flex: 0 0 42px !important;

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

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

        margin: 0 !important;
        padding: 0 !important;

        border-radius: 999px !important;
        border: 1px solid rgba(236, 63, 134, .16) !important;

        background:
            radial-gradient(circle at 25% 18%, rgba(255,255,255,.88), transparent 32%),
            linear-gradient(135deg, #ffffff 0%, #fff5fa 100%) !important;

        box-shadow:
            0 10px 22px rgba(95, 57, 76, .08),
            inset 0 1px 0 rgba(255,255,255,.90) !important;

        position: relative !important;
        z-index: 1000001 !important;
    }

    .tbs-header-toggle span {
        width: 19px !important;
        height: 2px !important;
        border-radius: 999px !important;
        background: #3f3339 !important;
    }

    .tbs-site-header.is-open .tbs-header-toggle {
        border-color: rgba(236, 63, 134, .28) !important;

        background:
            radial-gradient(circle at 25% 18%, rgba(255,255,255,.52), transparent 32%),
            linear-gradient(135deg, #ec3f86, #d82d74) !important;
    }

    .tbs-site-header.is-open .tbs-header-toggle span {
        background: #ffffff !important;
    }
}


/* =========================================================
   4. MENÚ DESPLEGABLE MÓVIL
   Corrige ancho, posición y desbordes
========================================================= */

@media (max-width: 980px) {

    .tbs-header-nav {
        position: absolute !important;

        top: calc(100% + 10px) !important;
        left: 14px !important;
        right: 14px !important;

        width: auto !important;
        max-width: calc(100vw - 28px) !important;

        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;

        padding: 12px !important;

        border-radius: 26px !important;
        border: 1px solid rgba(236, 63, 134, .14) !important;

        background:
            radial-gradient(circle at 0% 0%, rgba(255, 224, 238, .44), transparent 30%),
            radial-gradient(circle at 100% 0%, rgba(211, 237, 255, .38), transparent 28%),
            linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,248,252,.98) 100%) !important;

        box-shadow:
            0 24px 54px rgba(78, 50, 65, .18),
            inset 0 1px 0 rgba(255,255,255,.92) !important;

        opacity: 0 !important;
        visibility: hidden !important;
        transform: translateY(-8px) scale(.985) !important;

        pointer-events: none !important;

        overflow: hidden !important;

        z-index: 1000000 !important;

        transition:
            opacity .22s ease,
            visibility .22s ease,
            transform .22s ease !important;
    }

    .tbs-site-header.is-open .tbs-header-nav {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) scale(1) !important;
        pointer-events: auto !important;
    }
}


/* =========================================================
   5. LINKS DEL MENÚ EN MÓVIL
   Evita textos gigantes y cortes laterales
========================================================= */

@media (max-width: 980px) {

    .tbs-header-link,
    .tbs-header-cart,
    .tbs-header-user-link,
    .tbs-header-logout-link,
    .tbs-header-evento-btn,
    .tbs-header-evento-destacado {
        width: 100% !important;
        max-width: 100% !important;

        min-height: 46px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 10px !important;

        padding: 0 15px !important;
        margin: 0 !important;

        border-radius: 16px !important;

        font-family: "Inter", "Nunito Sans", "Roboto", Arial, Helvetica, sans-serif !important;
        font-size: 15px !important;
        font-weight: 650 !important;
        line-height: 1.15 !important;
        letter-spacing: .01em !important;

        color: #342b31 !important;

        white-space: normal !important;
        text-align: left !important;
        text-decoration: none !important;

        background: transparent !important;
        border: 1px solid transparent !important;
        box-shadow: none !important;

        transform: none !important;

        overflow: hidden !important;
    }

    .tbs-header-link:hover,
    .tbs-header-cart:hover,
    .tbs-header-user-link:hover,
    .tbs-header-logout-link:hover,
    .tbs-header-evento-btn:hover,
    .tbs-header-evento-destacado:hover {
        color: #df347d !important;

        background:
            linear-gradient(135deg, rgba(255,235,244,.82), rgba(248,250,255,.92)) !important;

        border-color: rgba(236, 63, 134, .10) !important;

        transform: none !important;
    }

    .tbs-header-link::after,
    .tbs-header-cart::after,
    .tbs-header-user-link::after,
    .tbs-header-logout-link::after {
        display: none !important;
    }
}


/* =========================================================
   6. MI EVENTO DESTACADO EN MÓVIL
========================================================= */

@media (max-width: 980px) {

    .tbs-header-evento-destacado {
        color: #ffffff !important;

        background:
            radial-gradient(circle at 25% 18%, rgba(255,255,255,.34), transparent 32%),
            linear-gradient(135deg, #ec3f86 0%, #d82d74 58%, #b92e72 100%) !important;

        border: 1px solid rgba(255,255,255,.42) !important;

        box-shadow:
            0 12px 24px rgba(236, 63, 134, .22),
            inset 0 1px 0 rgba(255,255,255,.32) !important;
    }

    .tbs-header-evento-destacado:hover {
        color: #ffffff !important;

        background:
            radial-gradient(circle at 25% 18%, rgba(255,255,255,.40), transparent 32%),
            linear-gradient(135deg, #f45ca0 0%, #df347d 58%, #bd2b73 100%) !important;
    }

    .tbs-header-evento-destacado .tbs-header-evento-heart {
        color: #ffffff !important;
    }
}


/* =========================================================
   7. CARRITO Y CONTADOR EN MÓVIL
========================================================= */

@media (max-width: 980px) {

    .tbs-header-cart {
        position: relative !important;
        padding-right: 52px !important;
    }

    .tbs-header-cart-count {
        position: absolute !important;
        top: 50% !important;
        right: 16px !important;

        transform: translateY(-50%) !important;

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

        padding: 0 7px !important;

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

        border-radius: 999px !important;

        background: #df347d !important;
        color: #ffffff !important;

        font-size: 11px !important;
        font-weight: 900 !important;
        line-height: 1 !important;

        box-shadow: 0 8px 16px rgba(223, 52, 125, .22) !important;
    }
}


/* =========================================================
   8. CTA DEL MENÚ MÓVIL
========================================================= */

@media (max-width: 980px) {

    .tbs-header-cta {
        width: 100% !important;
        max-width: 100% !important;

        min-height: 50px !important;

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

        margin: 4px 0 0 !important;
        padding: 0 18px !important;

        border-radius: 999px !important;

        color: #ffffff !important;

        font-family: "Inter", "Nunito Sans", "Roboto", Arial, Helvetica, sans-serif !important;
        font-size: 15px !important;
        font-weight: 850 !important;
        line-height: 1 !important;
        letter-spacing: .01em !important;

        white-space: nowrap !important;

        background:
            radial-gradient(circle at 25% 18%, rgba(255,255,255,.38), transparent 30%),
            linear-gradient(135deg, #ec3f86 0%, #d82d74 58%, #b92e72 100%) !important;

        box-shadow:
            0 14px 30px rgba(223, 52, 125, .24),
            inset 0 1px 0 rgba(255,255,255,.34) !important;
    }

    .tbs-header-cta:hover {
        color: #ffffff !important;
        transform: none !important;
    }
}


/* =========================================================
   9. MÓVIL PEQUEÑO
========================================================= */

@media (max-width: 560px) {

    .tbs-site-header-inner {
        height: 62px !important;
        min-height: 62px !important;

        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .tbs-site-header.is-scrolled .tbs-site-header-inner {
        height: 56px !important;
        min-height: 56px !important;
    }

    .tbs-header-logo {
        height: 62px !important;
        min-height: 62px !important;
        max-width: calc(100vw - 78px) !important;
    }

    .tbs-header-logo img {
        height: 54px !important;
        max-height: 54px !important;
        max-width: 190px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo img {
        height: 48px !important;
        max-height: 48px !important;
    }

    .tbs-header-toggle {
        width: 40px !important;
        min-width: 40px !important;
        height: 40px !important;
        min-height: 40px !important;
        flex: 0 0 40px !important;
    }

    .tbs-header-nav {
        left: 10px !important;
        right: 10px !important;

        width: auto !important;
        max-width: calc(100vw - 20px) !important;

        top: calc(100% + 8px) !important;

        padding: 10px !important;
        border-radius: 22px !important;
    }

    .tbs-header-link,
    .tbs-header-cart,
    .tbs-header-user-link,
    .tbs-header-logout-link,
    .tbs-header-evento-btn,
    .tbs-header-evento-destacado {
        min-height: 45px !important;

        padding-left: 14px !important;
        padding-right: 14px !important;

        font-size: 14.5px !important;
        letter-spacing: .005em !important;

        border-radius: 15px !important;
    }

    .tbs-header-cta {
        min-height: 48px !important;
        font-size: 14.5px !important;
    }
}


/* =========================================================
   10. MÓVIL MUY PEQUEÑO
========================================================= */

@media (max-width: 390px) {

    .tbs-site-header-inner {
        height: 58px !important;
        min-height: 58px !important;

        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .tbs-header-logo {
        height: 58px !important;
        min-height: 58px !important;
        max-width: calc(100vw - 72px) !important;
    }

    .tbs-header-logo img {
        height: 48px !important;
        max-height: 48px !important;
        max-width: 170px !important;
    }

    .tbs-header-toggle {
        width: 38px !important;
        min-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        flex: 0 0 38px !important;
    }

    .tbs-header-nav {
        left: 8px !important;
        right: 8px !important;
        max-width: calc(100vw - 16px) !important;
    }

    .tbs-header-link,
    .tbs-header-cart,
    .tbs-header-user-link,
    .tbs-header-logout-link,
    .tbs-header-evento-btn,
    .tbs-header-evento-destacado {
        min-height: 44px !important;
        font-size: 14px !important;
    }
}


/* =========================================================
   TBS - LOGO MÓVIL +40% SIN AUMENTAR ALTURA DEL HEADER
   Pegar al final del CSS actual del header
========================================================= */

@media (max-width: 980px) {

    .tbs-site-header,
    .tbs-site-header-inner,
    .tbs-header-logo {
        overflow: visible !important;
    }

    /* Mantiene el header del mismo tamaño */
    .tbs-site-header-inner {
        height: 64px !important;
        min-height: 64px !important;
    }

    .tbs-site-header.is-scrolled .tbs-site-header-inner {
        height: 58px !important;
        min-height: 58px !important;
    }

    /* El contenedor NO crece */
    .tbs-header-logo {
        height: 64px !important;
        min-height: 64px !important;

        max-width: calc(100vw - 82px) !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        overflow: visible !important;

        position: relative !important;
        z-index: 20 !important;
    }

    /* Logo +40% visual */
    .tbs-header-logo img {
        height: 76px !important;
        max-height: none !important;
        max-width: 265px !important;

        width: auto !important;
        object-fit: contain !important;

        transform: translateY(3px) scale(1.08) !important;
        transform-origin: left center !important;

        position: relative !important;
        z-index: 25 !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo {
        height: 58px !important;
        min-height: 58px !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo img {
        height: 68px !important;
        max-height: none !important;

        transform: translateY(2px) scale(1.06) !important;
    }
}


/* =========================================================
   MÓVIL PEQUEÑO
========================================================= */

@media (max-width: 560px) {

    /* Header mantiene tamaño */
    .tbs-site-header-inner {
        height: 62px !important;
        min-height: 62px !important;
    }

    .tbs-site-header.is-scrolled .tbs-site-header-inner {
        height: 56px !important;
        min-height: 56px !important;
    }

    .tbs-header-logo {
        height: 62px !important;
        min-height: 62px !important;
        max-width: calc(100vw - 78px) !important;
    }

    /* Antes estaba más pequeño; ahora crece visualmente */
    .tbs-header-logo img {
        height: 72px !important;
        max-height: none !important;
        max-width: 240px !important;

        transform: translateY(3px) scale(1.08) !important;
        transform-origin: left center !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo img {
        height: 62px !important;
        max-height: none !important;

        transform: translateY(2px) scale(1.06) !important;
    }
}


/* =========================================================
   MÓVIL MUY PEQUEÑO
========================================================= */

@media (max-width: 390px) {

    /* Header se mantiene estable */
    .tbs-site-header-inner {
        height: 58px !important;
        min-height: 58px !important;
    }

    .tbs-header-logo {
        height: 58px !important;
        min-height: 58px !important;
        max-width: calc(100vw - 72px) !important;
    }

    .tbs-header-logo img {
        height: 66px !important;
        max-height: none !important;
        max-width: 218px !important;

        transform: translateY(3px) scale(1.08) !important;
        transform-origin: left center !important;
    }

    .tbs-site-header.is-scrolled .tbs-header-logo img {
        height: 58px !important;
        max-height: none !important;

        transform: translateY(2px) scale(1.05) !important;
    }
}/* End custom CSS */