/* html,
body {
	margin: 0px !important;
	padding: 0px !important;
	height: 100%;
	width: 100%;
} */

/* HARDCODED: sfondo scuro di default per tutte le pagine.
   Il colore dinamico (JS/ColorThief) sovrascrive via inline style dopo il caricamento.
   Transizione da scuro → colore pagina più elegante che da bianco.
   RIMUOVERE QUESTO BLOCCO se causa problemi. */
html {
    background-color: #111;
}
/* Hero: nessun fade, il loader gestisce la transizione */
#adv {
    opacity: 1;
}
.hero-fade-overlay {
    opacity: 1;
    height: 550px !important;
}
/* Screen-reader only: invisibile ma indicizzabile da Google */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

:root {
    --primary-color: #000000;
    --secondary-color: #C0C0C0;
    --bs-body-bg: 'transparent';
    --accent-bg-color: #FFFFFF;
    --extra4: #FFFFFF;
    --extra5: #FFFFFF;
}

.hero-description {
    line-height: 1;
}

/* Nascondi ticker su pagine serie e prodotto (solo home) */
body.tax-serie .ticker-container,
body.single-product .ticker-container {
    display: none;
}

/* Decimali prezzi in superscript */
.price-decimals {
    font-size: 0.59em;
    vertical-align: baseline;
    font-weight: inherit;
    display: inline;
    line-height: 1;
}

.primary-color,
#menu-item-965 > a,
#menu-item-1009 > a,
.editions-trigger.primary-color {
    color: var(--text-primary) !important;
    fill: var(--text-primary) !important;
    stroke: var(--text-primary) !important;
}

.primary-color-hover {
    color: var(--accent-dark-color) !important;
    fill: var(--accent-dark-color) !important;
    stroke: var(--accent-dark-color) !important;
}

.prod-accent {
    color: var(--text-primary) !important;
    fill: var(--text-primary) !important;
    stroke: var(--text-primary) !important;
}

.nav-color {
    color: var(--nav-color) !important;
}

.extra2-bg {
    background-color: var(--extra2) !important;
}

.noova-el-8 {
    font-weight: 400;
}

.hero-main-heading {
    font-size: clamp(70px, 8vw, 90px);
}

/* Solo pagina prodotto + desktop */
@media (min-width: 769px) {
    body.single-product .hero-main-heading {
        font-size: clamp(70px, 8vw, 110px);
        line-height: 0.8;
    }
}

.woocommerce-Price-amount.amount.hero-price {
    color: var(--extra3) !important;
    font-size: clamp(26px, 2.5vw, 30px);
}

.hero-description {
    font-size: clamp(32px, 3.5vw, 34px);
    line-height: 1.2;
    letter-spacing: 0.4px;
}

@media (max-width: 768px) {
    .hero-description {
        line-height: 1;
    }

    .product-itemE-full > div {
        align-items: flex-start !important;
    }
}

/* Titolo card serie nel masonry: ridotto solo in 2 colonne (421-768px). */
@media (min-width: 421px) and (max-width: 768px) {
    .st-seriesM .product-title-ser {
        font-size: 32px;
        line-height: 14px;
    }
}

/* Masonry 1 colonna (≤420px): ripristina proporzioni desktop.
   Anticipa da 393px a 420px il cambio font che style.css fa solo a 393px. */
@media (max-width: 480px) {
    .product-title,
    .product-title-recent {
        font-size: 40px;
        line-height: 30px;
        margin-top: 8px;
    }

    .st-seriesM .product-title-ser {
        font-size: 50px;
        line-height: 30px;
    }
}

.hero-description-product_d {
    color: var(--extra1) !important;
    font-size: clamp(36px, 3.7vw, 88px);
}

/* #menu-item-91 e #menu-item-90: colore gestito da autoContrastMenuItems() in JS */
/* Header icons SVG fill color */
.sidebar-opener.icon.user svg,
.sidebar-opener.icon.user svg path,
.sidebar-opener.icon.bag svg,
.sidebar-opener.icon.bag svg path {
    fill: var(--extra6, var(--accent-color)) !important;
}

/* Controller fixed positioning */
.controller {
    position: fixed !important;
    right: var(--page-padding);
    top: calc(var(--page-padding) + 3px);
    padding: 15px;
    border-radius: 40px;
    transition: background-color 0.3s ease;
}

.controller.scrolled {
    background-color: #ffffff26;
}

/* Main header layout spacing fix for fixed controller */
.main-header-layout {
    margin-bottom: 10px;
}

/* Controller position on pages without ticker (product + series) */
body.single-product .controller,
body.page-template-template-prodotti .controller {
    top: calc(var(--page-padding) - 20px);
}

/* Editions dropdown position */
.editions-dropdown {
    left: 40px;
}

/* Product features grid layout */
.product-features-grid .grid-item {
    justify-content: flex-start !important;
}

.product-features-grid .grid-item.grid-item-info {
    justify-content: space-between !important;
}

/* ≤1200px: grid-item-info adatta al contenuto */
@media (max-width: 1200px) {
    .product-features-grid .grid-item.grid-item-info {
        aspect-ratio: auto !important;
        height: fit-content !important;
        min-height: 0 !important;
        align-self: start !important;
    }
}

.product-features-grid .grid-item-info .main_descr {
    width: 100%;
    font-size: clamp(11.05px, 1.275vw, 15.3px);
    margin-top: 5px;
    margin-bottom: 15px;
}

.grid-item-info-content {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
}

.product-features-grid .grid-item-info .shoe-characteristics-container {
    width: 100%;
    margin-top: 10px !important;
    padding-top: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 5px 20px !important;
}

.product-features-grid .grid-item-info .shoe-characteristics-container .characteristic-item {
    margin-top: 10px;
    margin-bottom: 0;
}

.product-features-grid .grid-item-info .hero-description-product_d {
    font-size: clamp(26px, 8vw, 55px);
    line-height: 1;
    margin-bottom: 4px;
}

/* Mobile ≤600px: grid-item-info si adatta al contenuto (regola base già lo fa) */
.popular-tags-product {
    display: none !important;
}

.noova-el-668.bb_section.primary-color.prod-accent {
    font-weight: 400;
    margin-bottom: 0px;
    color: var(--extra1) !important;
}

.progress-bar-fill.primary-color.prod-accent {
    background-color: var(--extra1) !important;
}

.hero-description-product_b {
    color: var(--extra1) !important;
    font-size: 40px !important;
    line-height: 40px !important;
}

.unit-product_b {
    justify-content: start !important;
    margin-bottom: 25px !important;
}

.tag3-product-size_c.gradient-back {
    background: var(--extra1) !important;
}

.noova-el-825 {
    font-weight: 400 !important;
}

#proto-btn {
    color: var(--extra7) !important;
}

#proto-info {
    overflow: visible;
    padding: 0px 8px;
}

#proto-info > div:nth-child(2) {
    font-size: 28px;
    color: var(--extra1);
}

.product-serie-badge {
    font-family: 'Lato';
    position: relative;
    left: 0;
    top: -20px;
    padding: 4px 8px;
    font-size: clamp(10px, 1.2vw, 14px);
    text-transform: capitalize;
    white-space: nowrap;
    border-radius: 8px;
    line-height: 1;
    width: auto;
    background-color: white;
    font-weight: 400;
    margin-bottom: -5px;
    color: #252525 !important;
}

/* Glassmorphism effect - temporaneamente disabilitato */
.popular-tags-product-size_b {
    margin-bottom: 30px !important;
}

.buy-button-cart.accent-bg-product {
    background: var(--extra1) !important;
}

/* ========================================
   FEATURE CAROUSEL - Nuovo design
   ======================================== */
/* Thumb cell carousel container */
.thumb-cell-carousel {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff !important;
    padding: 0 !important;
    overflow: hidden;
}

/* Thumb cell video */
.thumb-cell-video {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
}

.thumb-cell-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.thumb-cell-video .video-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    pointer-events: none;
    text-align: center;
}

/* GLOBAL Container - adatta al contenuto */
.global {
    width: 100%;
    background: #ffffff;
    padding: 0;
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    box-sizing: border-box;
}

/* Carousel */
.carousel {
    display: flex;
    flex-direction: column;
    font-family: 'Lato', -apple-system, sans-serif;
    margin-top: 20px;
    width: 100%;
}

/* Track - contiene le card */
.carousel-track {
    position: relative;
    overflow: hidden;
}

/* Ogni Card - Slide completo da destra a sinistra */
.feature-card {
    position: relative;
    width: 100%;
    height: 0;
    overflow: hidden;
    transform: translateX(100%);
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
}

.feature-card.active {
    height: auto;
    overflow: visible;
    transform: translateX(0);
    pointer-events: auto;
}

.feature-card.prev {
    position: absolute;
    top: 0;
    left: 0;
    height: auto;
    overflow: visible;
    transform: translateX(-100%);
}

/* Card Inner - Box grigio più piccolo e arrotondato */
.feature-card-inner {
    width: 100%;
    height: auto;
    background: #fefefe;
    border-radius: 20px;
    padding: 0;
    text-align: left;
    box-sizing: border-box;
    position: relative;
}

.feature-icon,
.feature-iconb {
    font-size: 28px;
    margin-bottom: 12px;
    background-color: #ffffff;
    position: absolute;
    top: 10px;
    right: 10px;
}

.feature-icon .material-icons {
    font-size: 28px;
    color: var(--text-primary) !important;
}

.feature-title {
    font-family: 'Juana Alt', sans-serif;
    font-size: clamp(19.55px, 6.12vw, 42.5px);
    font-weight: 400;
    color: var(--extra1, #111);
    margin-bottom: 8px;
    line-height: 1;
}

.feature-desc {
    font-family: 'Lato', sans-serif;
    font-size: clamp(9.35px, 1.275vw, 15px);
    color: #424448;
    line-height: 1.2;
    max-width: 90%;
    margin-bottom: 10px;
    text-transform: uppercase;
}

/* Morphing Dots */
.carousel-dots {
    display: flex;
    justify-content: left;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.carousel-dot {
    height: 4px;
    width: 4px;
    border-radius: 2px;
    background: #d1d5db;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.carousel-dot:hover {
    background: #9ca3af;
}

.carousel-dot.active {
    width: 20px;
    background: var(--extra1, #111);
}

/* Progress bar height */
.progress-bar-container {
    height: 3px !important;
}

.recently-viewed-title,
.details-title-product {
    padding-left: var(--page-padding);
    padding-top: var(--page-padding);
}
.details-title-product.secondary-color {
    color: var(--extra3) !important;
    margin-top: var(--page-padding);
    padding-left: 0 !important;
}

.footer-qr-section svg .qr-pattern {
    fill: #000 !important;
}

.editions-trigger.primary-color {
    color: var(--text-primary) !important;
}

#menu-key-picks,
#menu-key-picks * {
    color: var(--text-secondary) !important;
}

#menu-key-picks a {
    transition: all 0.3s ease;
}

#menu-key-picks a:hover {
    color: var(--accent-dark-color) !important;
}

.hero-top-badge,
.hero-cta-link.nav-color.accent-bg,
.ticker-content {
    color: var(--extra5) !important;
}
.hero-top-badge {
    font-weight: 600;
}

/* CTA button: dimensione fissa desktop (override del clamp scaling di style.css) */
.hero-cta-link {
    font-size: 16px !important;
    padding: 18px 28px !important;
}

/* CTA button: dimensione ridotta su mobile */
@media (max-width: 799px) {
    .hero-cta-link {
        font-size: 14px !important;
        padding: 14px 24px !important;
    }
}

/* Product page: sfondo bianco esteso sotto il grid "All series shoes" */
body.single-product .make-it-large.alpha1 {
    padding-bottom: var(--page-padding);
}

/* Series page: spazio sotto il grid prodotti prima del footer */
body.page-template-template-prodotti #container {
    margin-bottom: var(--page-padding);
}

.accent-bg-color {
    background-color: var(--accent-bg-color);
}

.primary-background {
    background-color: var(--primary-color) !important;
}

.secondary-color {
    color: var(--secondary-color) !important;
    fill: var(--secondary-color) !important;
    stroke: var(--secondary-color) !important;
}

.secondary-background {
    background-color: var(--secondary-color) !important;
}

body.noscrollbar {
    overflow: hidden;
}

/* Solo mobile: html overflow hidden necessario per iOS scroll lock */
@media (max-width: 799px) {
    html.noscrollbar {
        overflow: hidden;
    }
}

/* Fix 73: iOS mobile — buy-bar, close button, overlay tinting fixes */
@media (max-width: 799px) {
    /* Fix 45: iOS 26 Liquid Glass — overlay position:absolute.
       Safari ignora completamente gli elementi absolute per il tinting UI.
       height:100000px garantisce copertura di qualsiasi pagina + area dietro le barre.
       viewport-fit=cover (nei meta tag) fa sì che top:0 parta dal bordo dello schermo,
       coprendo anche l'area dietro le barre trasparenti di iOS 26. */
    #global-overlay.mm_overlay {
        position: absolute !important;
        height: 100000px !important;
    }

    /* Fix 45b: Menu mobile — position absolute per Safari Liquid Glass.
       Stessa soluzione dell'overlay (Fix 45): Safari ignora absolute per tinting.
       JS in footer.php posiziona il menu al viewport (top: scrollY + 10px).
       body.style.overflow='hidden' (da openMobileMenu) impedisce lo scroll.
       bottom:auto sovrascrive bottom:10px di menu-responsive-transform.css,
       perché con absolute il bottom calcola dalla fine della pagina (non viewport). */
    .navigation-wrapper.menu-open {
        position: absolute !important;
        bottom: auto !important;
    }

    /* Fix 45b: Close button — position absolute (non fixed).
       Con il menu absolute, il close button absolute resta relativo al menu.
       Nessun "jump" visivo tra animazione (transform) e stato finale. */
    .navigation-wrapper.menu-open .noova-el-rm {
        position: absolute !important;
        top: 20px;
        right: 20px;
    }

    /* Fix 45b: Controller — position static quando menu è aperto.
       Il controller è position:fixed globalmente (style.dccustom.css:162),
       ma quando il menu è aperto i suoi contenuti sono display:none.
       Renderlo static rimuove un elemento fixed inutile che Safari potrebbe leggere. */
    .navigation-wrapper.menu-open .controller {
        position: static !important;
        padding: 0 !important;
    }

    /* Buy bar sotto sidebar (9999) e menu hamburger: z-index basso su mobile */
    #buy-bar {
        z-index: 999 !important;
    }

    /* Menu Sort/Filter su mobile: titolo "Ordina per" stesso dimensione dei titoli sidebar */
    .fs-menu-sort-desktop .fs-menu-mobile-header-title {
        font-size: 40px !important;
        color: var(--primary-color) !important;
        font-weight: 800 !important;
    }

    /* Nasconde logo decorativo nel menu sort su mobile */
    .mini-logo-sort {
        display: none !important;
    }

    /* Sidebar profilo/carrello su mobile:
       - overflow-x hidden: impedisce scroll orizzontale da animazioni translateX() dei pannelli
       - overflow-y auto: mantiene scroll verticale del contenuto
       - overscroll-behavior: impedisce propagazione scroll al body */
    .sidebar-main > .content-wrapper {
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
    }
}

/* Nascondi grid thumbnail vuote nella pagina prodotto */
.grid-item-thumbs-group:not(:has(.thumb-cell)) {
    display: none;
}


/* Nascondi hero-description su mobile (600px, non 799px per mantenere su iPad)
   Commentato per riattivazione futura
@media (max-width: 600px) {
    .hero-description {
        display: none !important;
    }
}
*/

/* Recent items: aspect-ratio 1:1 (override del 175/150 di style.css) */
.recent-item-optimized {
    aspect-ratio: 1 / 1;
}

/* Homepage recent items: border-radius ridotto e tag nascosto su mobile */
@media (max-width: 600px) {
    #recent_items .recent-item-optimized {
        border-radius: 24px;
    }

    #recent_items .tag_home-recent {
        display: none !important;
    }

    /* Testi hero: 90% del valore originale clamp(70px, 8vw, 90px) */
    .hero-main-heading {
        font-size: clamp(63px, 7.2vw, 81px) !important;
    }

    .hero-description {
        font-size: clamp(28.8px, 3.15vw, 30.6px) !important;
    }

    /* Sfumatura hero più alta su mobile per leggibilità headline */
    .hero-fade-overlay {
        height: 550px !important;
    }

}

a {
    text-decoration: none;
}

a.accent-bg:hover {
    background-color: var(--hover-color);
}

.text-right {
    text-align: right;
}

.text-left {
    text-align: left;
}

.text-center {
    text-align: center;
}

.ticker-content {
    color: #FFFFFF;
}

.masonry-item {
    display: block;
}

.logo-img svg {
    height: 27px;
    width: auto;
}

.series-tag {
    text-decoration: none;
    transform: scale(80%);
    transform-origin: left top;
}

.main_menu {
    ul {
        list-style: none;
        margin: 0;
    }

    .menu-item {
        a {
            border-radius: 18px;
            padding: 8px 16px;
            font-size: 14px;
            cursor: pointer;
            color: var(--nav-color) !important;
            margin: 0 8px 0 0;
            font-family: 'Lato', sans-serif;
            font-weight: 400;
            line-height: 12px;
            transition: all 0.3s ease;
            text-decoration: none;
            display: inline-block;
        }

        &.current-menu-item a {
            background: var(--accent-color) !important;
            color: var(--text-secondary) !important;
            cursor: default;
        }

        &.menu-category-promo {
            background: transparent;

            a {
                //background-color: rgba(255, 255, 255, 0.09);
                background-color: rgb(from var(--nav-color) r g b / 0.09);
            }
        }

        &:not(.current-menu-item) a:hover {
            color: var(--nav-color) !important;
            background-color: rgb(from var(--nav-color) r g b / 0.2);
            //background: rgba(255, 255, 255, 0.2);
        }
    }
}

.submenu-gender {
    ul {
        list-style: none;
        margin: 0;
        padding: 0;
        font-family: 'Lato';
        position: relative;
        left: 0;
        font-size: 14px;
        font-weight: 400;
        --nav-spacing: 10px;

        .menu-item {
            a {
                font-family: 'Lato';
                transition: all 0.3s ease;
                display: inline-block;
                margin-right: var(--nav-spacing, 10px);
                text-decoration: none;
                text-transform: uppercase;
                color: var(--nav-color) !important;
                font-size: 16px;
                font-weight: 400;
            }

            a:hover {
                color: var(--accent-dark-color) !important;
            }

            .sub-menu {
                display: none;
            }
        }

        .editions-dropdown a:hover,
        		.editions-trigger:hover {
            color: var(--accent-dark-color) !important;
        }
    }
}

@media (max-width: 799px) {
    .submenu-gender {
        ul {
            display: block !important;

            .menu-item {
                display: block;
                padding: 3px 0;
                margin: 0;
                color: #131313;
                text-decoration: none;
                font-size: 16px;
                font-weight: 400;
                font-family: 'Lato', sans-serif;

                a {
                    color: var(--primary-color) !important;
                }
            }
        }
    }

    .menu-serie-mobile {
        .series-link {
            display: block;
            width: 100%;
            padding: 12px 0;
            position: relative;
            color: #131313;
            text-decoration: none;
            font-size: 16px;
            font-weight: 400;
            font-family: 'Lato', sans-serif;
            line-height: 18px;

            .rm-series-subtitle {
                margin-top: 4px;
            }
        }
    }
}

.series-content-badge {
    text-decoration: none;
}

.fs-item-filter-wrapper {
    display: inline-block;
    position: relative;
    width: auto;
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    font-size: inherit;
    line-height: inherit;
    font-size: 100%;
    line-height: 1;

    a {
        display: inline-block;
        position: relative;
        margin: 0;
        margin-bottom: 0px;
        margin-left: 0px;
        margin-bottom: 5px;
        margin-left: -12px;
        padding: 8px 8px 8px 12px;
        background-color: transparent;
        border: 0;
        border-radius: 16px;
        font: inherit;
        font-weight: inherit;
        font-size: inherit;
        line-height: inherit;
        font-family: inherit;
        font-family: 'Lato', sans-serif;
        font-size: 16px;
        font-weight: 400;
        line-height: 1.1;
        color: #000;
        text-decoration: none;
        white-space: normal;
        transition: background 0.2s;
        flex-direction: column;

        .fs-item-description {
            padding-right: 22px;
        }

        .cancel-icon {
            margin-left: 8px;
            opacity: 0;
            position: absolute;
            top: 9px;
            right: 10px;
        }
    }

    a.selected {
        background-color: rgb(245, 245, 245);
        pointer-events: all !important;

        .cancel-icon {
            opacity: 1;
        }
    }
}

#pf-products {
    &.rendering {
        height: 100vh;
    }
}

.fs-menu-sort-list {
    .sort-menu-item {
        font-weight: 400;
        font-color: #000000;
    }

    .sort-menu-item.selected {
        font-weight: 700;
        color: var(--primary-color) !important;
    }

    .sort-menu-item:not(.selected):hover {
        color: var(--primary-color) !important;
    }
}

.itemE-allshoes {
    .hero-content-block {
        margin: 70px 0 0 0;
    }
}

.footer-main__column {
    ul {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: 12px;

        li {
            list-style: none;

            a {
                font-family: 'Lato', sans-serif;
                font-size: 14px;
                font-weight: 400;
                color: #d6d6d6;
                text-decoration: none;
                transition: color 0.3s ease;
                display: inline;
                padding: 0;
            }

            &.wpml-ls-current-language a {
                color: #288ee2;
            }
        }
    }
}

.popular-tags {
    margin: 0;

    li {
        a {
            text-decoration: none;
            color: #FFFFFF;
        }
    }
}

.homepage {
    background: #8c8c8c;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 0;
    box-sizing: border-box;

    .wrapper {
        display: flex;
        flex-direction: row;
        width: 100%;
        height: 100%;
        gap: 0;
    }

    .section {
        position: relative;
        background-size: cover;
        background-position: center;
        padding: 0;
        width: 100%;
        height: 100%;
        border-radius: 0;
        overflow: hidden;

        .inner-box {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            height: 100%;

            .button {
                background-color: #b5372a;
                color: white;
                margin: 0;
                border-radius: 50px;
                padding: 12px 24px 12px 24px;
                text-align: center;
                font-size: 16px;
                line-height: 16px;
                display: inline-block;
                vertical-align: middle;
                opacity: 0;
                animation: button-fade-in 0.7s cubic-bezier(0.645, 0.045, 0.355, 1) 2s forwards;
            }

            .button-man {
                background-color: #ffffff;
                color: #222222;
                transition: all 0.3s ease;
            }

            .button-man:hover {
                background-color: #222222;
                color: #ffffff;
            }

            .button-woman {
                background-color: #ffffff;
                color: #222222;
                transition: all 0.3s ease;
            }

            .button-woman:hover {
                background-color: #222222;
                color: #ffffff;
            }
        }
    }

    .ticker-content-footer {
        position: absolute;
        bottom: 30px;
        width: 100%;
        text-align: center;
        color: rgb(190, 190, 190);
        white-space: normal;
        font-size: 10px;
        line-height: 1.4;
        padding: 0 20px;
        box-sizing: border-box;
    }
}

.homepage .center-blue {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    pointer-events: none;

    .noova-logo {
        height: 80px;
        width: auto;
    }
}

/* Nav SEO wrapper: trasparente al layout flex */
.homepage .wrapper nav {
    display: contents;
}

/* Homepage responsive - stack verticale su mobile */
@media (max-width: 1024px) {
    .homepage .wrapper {
        flex-direction: column;
    }
}

/* ========================================
   SVG LOGO ANIMATION - Homepage
   Generated by SVG Artista
   ======================================== */
@-webkit-keyframes animate-svg-fill-1 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

@keyframes animate-svg-fill-1 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

.svg-elem-1 {
    -webkit-animation: animate-svg-fill-1 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.4s both;
    animation: animate-svg-fill-1 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.4s both;
}

@-webkit-keyframes animate-svg-fill-2 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

@keyframes animate-svg-fill-2 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

.svg-elem-2 {
    -webkit-animation: animate-svg-fill-2 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.45s both;
    animation: animate-svg-fill-2 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.45s both;
}

@-webkit-keyframes animate-svg-fill-3 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

@keyframes animate-svg-fill-3 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

.svg-elem-3 {
    -webkit-animation: animate-svg-fill-3 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.5s both;
    animation: animate-svg-fill-3 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.5s both;
}

@-webkit-keyframes animate-svg-fill-4 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

@keyframes animate-svg-fill-4 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

.svg-elem-4 {
    -webkit-animation: animate-svg-fill-4 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.55s both;
    animation: animate-svg-fill-4 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.55s both;
}

@-webkit-keyframes animate-svg-fill-5 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

@keyframes animate-svg-fill-5 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

.svg-elem-5 {
    -webkit-animation: animate-svg-fill-5 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.6s both;
    animation: animate-svg-fill-5 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.6s both;
}

@-webkit-keyframes animate-svg-fill-6 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

@keyframes animate-svg-fill-6 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

.svg-elem-6 {
    -webkit-animation: animate-svg-fill-6 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.65s both;
    animation: animate-svg-fill-6 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.65s both;
}

@-webkit-keyframes animate-svg-fill-7 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

@keyframes animate-svg-fill-7 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

.svg-elem-7 {
    -webkit-animation: animate-svg-fill-7 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.7s both;
    animation: animate-svg-fill-7 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.7s both;
}

@-webkit-keyframes animate-svg-fill-8 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

@keyframes animate-svg-fill-8 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

.svg-elem-8 {
    -webkit-animation: animate-svg-fill-8 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.75s both;
    animation: animate-svg-fill-8 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.75s both;
}

@-webkit-keyframes animate-svg-fill-9 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

@keyframes animate-svg-fill-9 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

.svg-elem-9 {
    -webkit-animation: animate-svg-fill-9 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.8s both;
    animation: animate-svg-fill-9 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.8s both;
}

@-webkit-keyframes animate-svg-fill-10 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

@keyframes animate-svg-fill-10 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

.svg-elem-10 {
    -webkit-animation: animate-svg-fill-10 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.85s both;
    animation: animate-svg-fill-10 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.85s both;
}

@-webkit-keyframes animate-svg-fill-11 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

@keyframes animate-svg-fill-11 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

.svg-elem-11 {
    -webkit-animation: animate-svg-fill-11 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.9s both;
    animation: animate-svg-fill-11 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.9s both;
}

@-webkit-keyframes animate-svg-fill-12 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

@keyframes animate-svg-fill-12 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

.svg-elem-12 {
    -webkit-animation: animate-svg-fill-12 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.95s both;
    animation: animate-svg-fill-12 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.95s both;
}

@-webkit-keyframes animate-svg-fill-13 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

@keyframes animate-svg-fill-13 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

.svg-elem-13 {
    -webkit-animation: animate-svg-fill-13 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 1s both;
    animation: animate-svg-fill-13 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 1s both;
}

@-webkit-keyframes animate-svg-fill-14 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

@keyframes animate-svg-fill-14 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

.svg-elem-14 {
    -webkit-animation: animate-svg-fill-14 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 1.05s both;
    animation: animate-svg-fill-14 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 1.05s both;
}

@-webkit-keyframes animate-svg-fill-15 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

@keyframes animate-svg-fill-15 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

.svg-elem-15 {
    -webkit-animation: animate-svg-fill-15 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 1.1s both;
    animation: animate-svg-fill-15 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 1.1s both;
}

@-webkit-keyframes animate-svg-fill-16 {
    0% { fill: transparent; }
    100% { fill: rgb(255, 255, 255); }
}

@keyframes animate-svg-fill-16 {
    0% { fill: transparent; }
    100% { fill: rgb(255, 255, 255); }
}

.svg-elem-16 {
    -webkit-animation: animate-svg-fill-16 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 1.15s both;
    animation: animate-svg-fill-16 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 1.15s both;
}

@-webkit-keyframes animate-svg-fill-17 {
    0% { fill: transparent; }
    100% { fill: rgb(255, 255, 255); }
}

@keyframes animate-svg-fill-17 {
    0% { fill: transparent; }
    100% { fill: rgb(255, 255, 255); }
}

.svg-elem-17 {
    -webkit-animation: animate-svg-fill-17 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 1.2s both;
    animation: animate-svg-fill-17 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 1.2s both;
}

@-webkit-keyframes animate-svg-fill-18 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

@keyframes animate-svg-fill-18 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

.svg-elem-18 {
    -webkit-animation: animate-svg-fill-18 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 1.25s both;
    animation: animate-svg-fill-18 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 1.25s both;
}

@-webkit-keyframes animate-svg-fill-19 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

@keyframes animate-svg-fill-19 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

.svg-elem-19 {
    -webkit-animation: animate-svg-fill-19 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 1.3s both;
    animation: animate-svg-fill-19 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 1.3s both;
}

@-webkit-keyframes animate-svg-fill-20 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

@keyframes animate-svg-fill-20 {
    0% {
        fill: transparent;
    }

    100% {
        fill: rgb(255, 255, 255);
    }
}

.svg-elem-20 {
    -webkit-animation: animate-svg-fill-20 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 1.35s both;
    animation: animate-svg-fill-20 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 1.35s both;
}

/* Button fade-in after SVG animation completes */
@-webkit-keyframes button-fade-in {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes button-fade-in {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.single-product {
    .buy-button {
        color: var(--secondary-color);
    }
}

.hero-content-block-product {
    .product-price-product {
        quack {
            color: var(--text-quaternary);
        }
    }
}

.product-details-container {
    margin-bottom: var(--page-padding);

    .product-column-left_b {
        align-items: start;

        .main_descr {
            color: var(--text-tertiary);
        }
    }

    .product-column-left_c {
        .feature-content {
            .feature-title {
                color: var(--text-tertiary);
            }

            .feature-desc {
                color: var(--text-quaternary);
            }
        }
    }

    .fs-menu-colors-section_b {
        .p-fs-menu-colors-header {
            color: var(--text-tertiary);
        }
    }
}

#newsizer {
    .size-guide-link {
        color: var(--text-tertiary);
    }

    .confirm {
        color: var(--text-quaternary);
    }

    .hero-description-product_b {
        font-size: 50px !important;
        line-height: 56px !important;
    }
}

/* Newsizer responsive - larghezza container su mobile */
@media (max-width: 768px) {
    #newsizer {
        width: calc(100vw - var(--page-padding-mobile, 30px) * 2) !important;
    }
}

/* ========== MOBILE BUTTON SCALING (768px) ========== */
/* Riduzione ~10% per tutti i bottoni su mobile - modifica qui per cambiare globalmente */
@media (max-width: 768px) {
    /* Buy bar button (bottom right) */
    #buy-bar-btn {
        padding: 12px 18px !important;
        font-size: 16px !important;
    }

    /* Newsizer: hero title — 5 corpi in meno su mobile */
    #newsizer .hero-description-product_b,
    #newsizer_b .hero-description-product_b {
        font-size: 40px !important;
        line-height: 46px !important;
    }

    /* Newsizer: tutto il sizer bandierato a sinistra su mobile */
    #newsizer #sizer {
        text-align: left !important;
    }

    /* Newsizer: nasconde "Conferma la tua taglia" su mobile */
    #newsizer .confirm {
        display: none !important;
    }

    /* Newsizer: Add to Bag button — full width */
    #newsizer .buy-button-cart,
    #newsizer_b .buy-button-cart {
        float: none !important;
        width: 100% !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }

    /* Newsizer: Apple Pay button — full width */
    #btn-apple-pay-newsizer,
    #btn-apple-pay-newsizer_b {
        float: none !important;
        width: 100% !important;
        margin-right: 0 !important;
        margin-top: 10px !important;
        box-sizing: border-box !important;
    }

    /* Newsizer: Size buttons */
    #newsizer .tag3-product-size_c,
    #newsizer_b .tag3-product-size_c {
        padding: 9px 15px;
        font-size: 15px;
    }
}
/* ========== FINE MOBILE BUTTON SCALING ========== */

.favorite-icon.active {
    color: #F37E8C !important;

    svg path {
        fill: #F37E8C !important;
    }
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt {
    display: inline-block;
    position: relative;
    right: 0;
    bottom: 0;
    margin: 15px 0 0 0;
    margin-top: 15px;
    margin-top: 10px;
    padding: 12px 24px 12px 24px;
    background-color: var(--primary-color);
    border: 0;
    border-radius: 20px;
    font: inherit;
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
    font-family: inherit;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 16px;
    color: #ffffff;
    vertical-align: middle;
    cursor: pointer;
    -moz-osx-font-smoothing: grayscale;
    -ms-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -webkit-tap-highlight-color: transparent;
    -webkit-text-size-adjust: 100%;
    box-sizing: border-box;
    font-synthesis: none;
}

.checkout-button:hover {
    transform: scale(0.98);
    transition-delay: 0s;
    transition-duration: 0.3s;
}

.woocommerce table.shop_table {
    border: none;
}

.woocommerce table.shop_table td,
.woocommerce table.shop_table tbody th,
.woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tfoot th {
    border: none;
    padding: 0 0 2px 0;
}

.woocommerce table.shop_table .woocommerce-shipping-methods li {
    margin: 0 !important;
    padding: 0 !important;
}

.product-price-product {
    ins {
        text-decoration: none;
    }

    del {
        display: none;
    }
}

.product-price {
    ins {
        text-decoration: none;
    }

    del {
        display: none;
    }
}

#coming-soon-footer-banner {
    display: none;
}

.fs-menu-materials-section .fs-item-filter-wrapper a .cancel-icon {
    position: initial;
}

body:not(.rtl) .xoo-aff-input-group .xoo-aff-input-icon {
    display: none;
}

.xoo-aff-group {
    margin-bottom: 15px;
}

.wc-block-components-checkout-return-to-cart-button {
    display: none !important;
}

body:not(.woocommerce-block-theme-has-button-styles) .wc-block-components-button:not(.is-link) {
    width: 100%;
}

/* Hero allshoes - altezza ridotta rispetto a itemE-full */
.itemE-full.hero-shorter {
    height: 55vh;
}

/* Background hero allshoes - ridotto di 7vh per combaciare */
.hero-bg.hero-bg-shorter {
    height: calc(100% - 7vh);
}

/* Nasconde riga "Totale imposte" nel carrello (duplica info già in includes_tax) */
.cart-total-imposte {
    display: none;
}

/* Font ridotto per testo imposte incluse */
.includes_tax {
    font-size: 14px;
}

/* ==========================================================================
   BODY WIDTH - Solo per pagina prodotto (single-product)
   Riabilita la gestione del body width con breakpoint responsive
   ========================================================================== */
/* Base: sopra 1600px - DISABILITATO per full-width come homepage */
/* body.single-product {
	margin: 0 auto;
	width: calc(1600px - (var(--page-padding) * 2));
} */
/* Desktop 1600px */
/* @media (max-width: 1600px) {
	body.single-product {
		width: calc(1440px - (var(--page-padding) * 2));
	}
} */
/* Desktop 1440px */
/* @media (max-width: 1440px) {
	body.single-product {
		width: calc(1200px - (var(--page-padding) * 2));
	}
} */
/* Desktop 1200px */
/* @media (max-width: 1200px) {
	body.single-product {
		width: calc(1024px - (var(--page-padding) * 2));
	}
} */
/* Tablet landscape 1024px */
/* @media (max-width: 1024px) {
	body.single-product {
		width: calc(940px - (var(--page-padding) * 2));
	}
} */
/* Tablet 940px */
/* @media (max-width: 940px) {
	body.single-product {
		width: calc(100% - (var(--page-padding) * 2));
	}
} */
/* Tablet portrait 800px */
/* @media (max-width: 800px) {
	body.single-product {
		width: calc(768px - (var(--page-padding) * 2));
	}
} */
/* Mobile landscape 768px */
/* @media (max-width: 768px) {
	body.single-product {
		width: calc(100% - (var(--page-padding) * 2));
	}
} */
/* Mobile 600px */
/* @media (max-width: 600px) {
	body.single-product {
		width: calc(100% - (var(--page-padding) * 2));
	}
} */
/* Mobile small 480px */
/* @media (max-width: 480px) {
	body.single-product {
		width: calc(100% - (var(--page-padding) * 2));
	}
} */
/* Mobile mini 393px */
/* @media (max-width: 393px) {
	body.single-product {
		width: calc(100% - (var(--page-padding) * 2));
	}
} */
/* Mobile tiny 320px */
/* @media (max-width: 320px) {
	body.single-product {
		width: calc(100% - (var(--page-padding) * 2));
	}
} */
.popular-tags-product {
    .tag3-product {
        background-color: var(--secondary-color);
        color: var(--text-tertiary);
    }
}

.feature-item {
    .material-icons.md-18 {
        color: var(--secondary-color);
    }
}

.product-spec-item-size {
    .spec-value-size {
        .unit-item {
            color: #666;
        }

        .unit-item.active {
            color: var(--text-tertiary) !important;
        }

        .unit-slider {
            background: var(--extra1) !important;
        }
    }
}

.b_Solid {
    border-bottom: 1px solid #e6e6e6;
}

.fs-control-filter-button.tag111,
.fs-control-sort-label.tag111 {
    background: var(--accent-color) !important;

    /* color gestito da autoContrastMenuItems() in JS */
}

.fs-control-filter-button.tag111:hover,
.fs-control-sort-label.tag111:hover {
    color: var(--accent-dark-color) !important;
}

/* Icone ereditano colore dal parent button (override .primary-color) */
.fs-control-filter-button.tag111 .fs-icon-filter-hdr-weak.material-icons.md-18.primary-color,
.fs-control-sort-label.tag111 .fs-icon-sort-tune.material-icons.md-18.primary-color {
    color: inherit !important;
}

.fs-control-filter-button.tag111:hover .fs-icon-filter-hdr-weak.material-icons.md-18,
.fs-control-sort-label.tag111:hover .fs-icon-sort-tune.material-icons.md-18 {
    color: var(--accent-dark-color) !important;
}

/* Footer fix: nascondi colonne widget vuote (senza h3 = nessun contenuto visibile) */
.footer-main__links > .footer-main__column:not(:has(h3)) {
    display: none;
}

/* Footer responsive: colonne auto-size centrate */
@media (max-width: 1024px) {
    .footer-main__links {
        justify-content: center;
    }
    .footer-main__column {
        flex: 0 0 auto !important;
        min-width: 120px;
    }
}

/* ==========================================================================
   PRODUCT PRICE ROW - Allineamento prezzo e badge (Best, New)
   ========================================================================== */
.product-price-row {
    display: flex;
    align-items: flex-end;
    gap: 4px;
    flex-wrap: wrap;
}

.product-price-row .product-price {
    margin-right: 8px;
}

.product-price-row .fav,
.product-price-row .tag_home_new {
    display: flex;
    align-items: flex-end;
    align-self: flex-end;
    position: static;
    top: auto;
    left: auto;
    right: auto;
    padding: 0 0 3px 0;
    background: transparent !important;
    background-color: transparent !important;
    color: inherit;
}

.product-price-row .fav svg,
.product-price-row .tag_home_new svg {
    width: 16px;
    height: 16px;
    fill: rgb(191, 190, 190);
}

/* Sidebar cart address info margin */
#sidebar-cart .cart-recap .address-info {
    margin: 8px 0 30px 0 !important;
}

#sidebar-cart .address-summary .address-label-badge {
    top: 0px !important;
}

/* Sidebar addresses default card */
#sidebar-addresses .address-card.is-default {
    background: color-mix(in srgb, var(--primary-color) 2%, transparent);
}

/* Stili per hero-content-block-product_b in buy-panel-container */
/* Button SEMPRE ancorato a destra - si muove automaticamente con heroBlockB */
#buy-panel-container .hero-content-block-product_b .buy-button {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    flex-shrink: 0 !important;
}

#buy-panel-container .hero-content-block-product_b {
    padding: 0 !important;
    margin-bottom: 0 !important;
    bottom: 0 !important;
    position: absolute !important;
    overflow: visible !important;
    background-color: transparent !important;
    border-radius: 65px !important;

    /* Flex per tenere button a destra, width/height gestiti da JS */
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    box-sizing: border-box !important;

    /* width e height impostati da JS */
}

#buy-panel-container .series-content-badge-product,
#buy-panel-container .hero-main-heading-product {
    opacity: 0;
}

#buy-panel-container .series-tag-product {
    transform: scale(0.95);
}

#buy-panel-container .hero-main-heading-product {
    font-size: 32px !important;
}

/* Wrapper div centrato verticalmente - max-width per non forzare larghezza parent */
#buy-panel-container .hero-content-block-product_b > div:not(.buy-button) {
    position: absolute !important;
    pointer-events: none;
    top: 50% !important;
    transform: translateY(-50%) !important;
    left: 30px !important;
    bottom: auto !important;
    max-width: calc(100% - 35px) !important;
    overflow: hidden !important;
}

/* Contenuto interno segue la larghezza del parent */
#buy-panel-container .series-content-badge-product,
#buy-panel-container .hero-main-heading-product {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* Rimuovi ombra dal buy-button */
#buy-panel-container .buy-button,
#buy-panel-container .buy-button:hover,
#buy-panel-container .buy-button:active,
#buy-panel-container .buy-button:focus {
    box-shadow: none !important;
}

/* ========================================
   NAVIGATION HOVER GRADIENT
   ======================================== */
.navigation-wrapper {
    position: relative;
}

.navigation-wrapper::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: radial-gradient(ellipse at 0% 0%, rgba(0, 0, 0, 0.15) 0%, transparent 50%);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    z-index: -1;
}

.navigation-wrapper:hover::before {
    opacity: 1;
}

/* ========================================
   SEARCH OVERLAY
   ======================================== */
/* Search icon in header */
.icon.search {
    cursor: pointer;
}

.icon.search svg,
.icon.search svg path {
    fill: var(--extra6, var(--accent-color)) !important;
}

/* Full-screen overlay backdrop */
.search-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10001;
    display: flex;
    align-items: center;

    /* Centrato verticalmente */
    justify-content: center;
    pointer-events: none;

    /* Click passa attraverso all'overlay sotto */
}

/* Search container - centered */
.search-overlay-container {
    position: relative;
    width: 90%;
    max-width: 600px;
    z-index: 10002;
    opacity: 0;
    transform: translateY(-20px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    pointer-events: auto;

    /* Solo il container riceve click */
}

.search-overlay.active .search-overlay-container {
    opacity: 1;
    transform: translateY(0);
}

/* Search content area */
.search-content {
    position: relative;
    background: #363636;
    border-radius: 16px;
    padding: 20px;
    padding-top: 50px;

    /* Spazio per il close button */
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

/* Close button - stesso stile di .close-button sidebar */
.search-close-button {
    position: absolute;
    top: 10px;
    right: 20px;
    background: none;
    border: none;
    font-size: 25px;
    color: gray;
    cursor: pointer;
    z-index: 10000;
}

.search-close-button:hover {
    color: #ffffff;
}

/* Search title - stesso stile modal-title ma per sfondo scuro */
.search-title {
    color: #e4e4e4;
    margin-bottom: 15px;
}

/* Input wrapper */
.search-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.search-input {
    width: 100%;
    padding: 16px 20px 16px 50px;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-weight: 400;
    border: none;
    border-radius: 10px;
    background-color: #f9f9f9;
    color: #000000;
    outline: none;
    line-height: 16px;
    box-sizing: border-box;
    transition: background-color 0.2s ease, background-image 0.2s ease;
}

.search-input:focus {
    background-color: #f9f9f9 !important;
    background-image: linear-gradient(to right, color-mix(in srgb, var(--primary-color) 15%, transparent), color-mix(in srgb, var(--primary-color) 5%, transparent)) !important;
    outline: none !important;
    border: none !important;
}

.search-input::placeholder {
    color: #c0c0c0;
    font-weight: 400;
}

.search-input-icon {
    position: absolute;
    left: 16px;
    color: #999;
    font-size: 22px;
    pointer-events: none;
    z-index: 1;
}

/* Loading spinner */
.search-loading {
    text-align: center;
    padding: 20px;
}

/* Search results container */
.search-results {
    max-height: 450px;
    overflow-y: auto;
    margin-top: 15px;
    scrollbar-width: none;
}

.search-results:empty {
    display: none;
}

.search-results::-webkit-scrollbar {
    display: none;
}

/* Result item - stile product-preview */
.search-result-item {
    display: flex;
    height: 90px;
    background-position: left center;
    background-repeat: no-repeat;
    background-size: contain;
    background-color: #f7f7f7;
    border-radius: 10px;
    align-items: center;
    justify-content: flex-end;
    padding-right: 20px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    text-decoration: none;
    color: inherit;
}

.search-result-item:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* Proto-info SOLO nei risultati ricerca */
.search-result-item #proto-info > div:nth-child(2) {
    font-size: 34px !important;
    line-height: 32px !important;
}

/* Product info (a destra) */
.search-result-info {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
    gap: 3px;
}

.search-result-name {
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #333;
}

.search-result-serie {
    font-family: 'Lato', sans-serif;
    font-size: 11px;
    font-weight: 400;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.search-result-price {
    font-family: 'Lato', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: var(--primary-color);
}

/* No results */
.search-no-results {
    text-align: center;
    padding: 30px 20px;
    font-family: 'Lato', sans-serif;
    font-size: 14px;
    color: #888;
}

/* View all link */
.search-view-all {
    display: block;
    text-align: center;
    padding: 15px;
    margin-top: 5px;
    font-family: 'Lato', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--primary-color);
    text-decoration: none;
    border-top: 1px solid #eee;
    transition: opacity 0.2s ease;
}

.search-view-all:hover {
    opacity: 0.7;
}

/* Responsive */
@media (max-width: 768px) {
    .search-overlay {
        padding-top: 10vh;
    }

    .search-overlay-container {
        width: 95%;
    }

    .search-input {
        font-size: 16px;
        padding: 14px 16px 14px 45px;
    }

    .search-result-item {
        height: 80px;
        background-size: 180px;
    }

    .search-result-name {
        font-size: 14px;
    }

    .search-results {
        max-height: 380px;
    }
}

@media (max-width: 600px) {
    #buy-bar {
        right: auto;
        left: var(--page-padding, 30px);
    }
}

@media (max-width: 480px) {
    .search-close-button {
        top: -40px;
        font-size: 28px;
    }

    .search-content {
        padding: 15px;
    }

    .search-result-item {
        height: 75px;
        background-size: contain;
        padding-right: 15px;
    }

    .search-result-name {
        font-size: 13px;
    }

    .search-result-serie {
        font-size: 10px;
    }
}

/* ========================================
   PROMO MODAL OVERRIDES
   ======================================== */
.modal-content {
    background-color: #212121;
    transition: height 0.4s ease;
}

.modal-title {
    color: #e4e4e4;
    line-height: 1;
    padding-top: 10px;
    font-size: 60px;
}

/* Solo per search overlay */
.search-title {
    text-align: left;
}

#promo-modal .hero-cta-link {
    background-color: #ffffff;
    color: #000000;
}

#promo-modal .hero-cta-link:hover {
    background-color: #e0e0e0;
}

.modal_section {
    color: #838383;
}

#promo-modal > div > form > svg {
    background-color: rgb(55, 55, 55);
}

.modal-close {
    color: #ffffff;
}

/* Input promo-modal - stesso stile di cart-ship-postcode */
#promo-modal > div > form > input,
#promo-modal .promo-form input,
.promo-modal-input {
    width: 100%;
    padding: 16px 20px;
    background-color: #f9f9f9 !important;
    background-image: none !important;
    border: none !important;
    border-radius: 10px;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 16px;
    color: #000000;
    box-sizing: border-box;
    transition: background-color 0.2s ease, background-image 0.2s ease;
}

#promo-modal > div > form > input::placeholder,
#promo-modal .promo-form input::placeholder,
.promo-modal-input::placeholder {
    color: #c0c0c0;
    font-weight: 400;
}

#promo-modal > div > form > input:focus,
#promo-modal .promo-form input:focus,
.promo-modal-input:focus {
    background-color: #f9f9f9 !important;
    background-image: linear-gradient(to right, color-mix(in srgb, var(--primary-color) 15%, transparent), color-mix(in srgb, var(--primary-color) 5%, transparent)) !important;
    outline: none;
    border: none !important;
}

/* Global overlay - primary color al 6% luminosità, mantiene opacity originale */
#global-overlay {
    background: hsl(0, 0%, 6%) !important;
}

/* Controller sopra i menu donna/uomo */
.controller {
    position: relative;
    z-index: 100;
}

.unit-item.active {
    color: white;
}

.size-guide-link {
    display: none;
}

#sizer > div:nth-child(2) > quack.confirm {
    font-size: 16px;
    margin-bottom: 10px;
}

.popular-tags-product-size_b {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
    gap: 4px;
    margin-bottom: 40px !important;
}

/* Decimali prezzo nel sidebar-cart - override Bootstrap top: -.5em */
.sidebar-cart .price sup,
.cart_totals .price sup,
.cart-products .price-decimals,
.cart_totals .price-decimals {
    top: 0;
}

.fs-control-filter-button.tag111 {
    display: none;
}

/* Sfumatura radiale per titoli in .item.st-seriesM (escluso #space-item) */
#space-item {
    display: none;
    pointer-events: none;
    cursor: default;
}
.item.st-seriesM:not(#space-item) .product-image {
    background-color: transparent !important;
}
.item.st-seriesM:not(#space-item) .product-info-ser {
    position: relative;
}

.item.st-seriesM:not(#space-item) .product-info-ser::before {
    display: none;
}

.item.st-seriesM:not(#space-item) .product-title-ser,
.item.st-seriesM:not(#space-item) .product-price {
    position: relative;
    z-index: 2;
}
.item.st-seriesM:not(#space-item) .product-title-ser {
    text-transform: uppercase;
}

/* Accent su product-price e tag_home-discover nelle card series
   filter brightness porta il colore alla massima luminosità su sfondo nero */
.item.st-seriesM:not(#space-item) .product-price {
    color: var(--text-primary) !important;
    filter: brightness(1.2) saturate(2.5);
}
.item.st-seriesM:not(#space-item) .tag_home-discover {
    color: var(--text-primary) !important;
    border-color: var(--text-primary) !important;
    filter: brightness(1.2) saturate(2.5);
}

.item.st-seriesM .tag_home-discover {
    background-color: transparent;
    border: solid 1px white;
    color: white;
}

/* Badge hero posizionato dopo il testo del titolo serie */
.badge-container {
    position: relative;
}

/* Rimuovi border da logo SVG in hero series page */
#pf-hero h1 .hero-top-badge-min-logo {
    border: none;
}

.hero-top-badge-min-logo {
    top: -5px !important;
}

/* Series banner text - uguale a .txhLarge (solo in #top-tier) */
#top-tier .series-banner-text {
    font-size: 58px !important;
    line-height: 1 !important;
}

/* Product price uniforme in tutti i banner (solo in #top-tier) */
#top-tier .product-price {
    font-size: 15px !important;
}

/* Hover scale - anima l'elemento stesso (non figli) con transizione morbida enter/exit */
.hover-scale-self {
    transition: transform 0.3s ease;
    cursor: pointer;
}
.hover-scale-self:hover {
    transform: scale(0.98);
}

/* Rimuovi scalatura dinamica per series-content nei banner */
#top-tier .series-content,
#top-tier .zimhb-largecenter {
    transform: none !important;
}

/* Inter Font - Google Fonts */
.inter-black {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-weight: 900;
    font-kerning: normal;
    text-rendering: optimizeLegibility;
    letter-spacing: -0.02em;  /* leggera compressione per titoli */
}

/* Mobile menu: override accent-dark-color e text-primary con primary-color */
@media (max-width: 799px) {
    .navigation-wrapper.menu-open .primary-color,
    .navigation-wrapper.menu-open .primary-color svg,
    .navigation-wrapper.menu-open .editions-trigger.primary-color {
        color: var(--primary-color) !important;
        fill: var(--primary-color) !important;
        stroke: var(--primary-color) !important;
    }

    .navigation-wrapper.menu-open .primary-color-hover {
        color: var(--primary-color) !important;
        fill: var(--primary-color) !important;
        stroke: var(--primary-color) !important;
    }

    .navigation-wrapper.menu-open .prod-accent {
        color: var(--primary-color) !important;
        fill: var(--primary-color) !important;
        stroke: var(--primary-color) !important;
    }

    .navigation-wrapper.menu-open #menu-key-picks a:hover {
        color: var(--primary-color) !important;
    }

    .navigation-wrapper.menu-open .controller {
        cursor: pointer;
    }

    /* Logo: colore primario nel menu mobile */
    .navigation-wrapper.menu-open #logo-container,
    .navigation-wrapper.menu-open .logo-img {
        fill: var(--primary-color) !important;
    }

    .navigation-wrapper.menu-open #logo-container svg,
    .navigation-wrapper.menu-open #logo-container svg path {
        fill: var(--primary-color) !important;
    }

    /* Main menu (#menu-main-noova): testo con colore primario */
    .navigation-wrapper.menu-open .main_menu .menu-item a {
        color: var(--primary-color) !important;
    }

    /* Active button: sfondo colorato + testo bianco */
    .navigation-wrapper.menu-open .main_menu .menu-category-active {
        background-color: var(--primary-color) !important;
        color: #ffffff !important;
    }

    .navigation-wrapper.menu-open .main_menu .menu-category-active a,
    .navigation-wrapper.menu-open .main_menu .current-menu-item a {
        background: var(--primary-color) !important;
        color: #ffffff !important;
    }

    /* Logo SVG ridotto su mobile */
    .logo-img svg {
        height: 22px !important;
    }

    /* Controller su mobile: allineato con logo (pagine senza ticker) */
    .controller,
    body.single-product .controller,
    body.page-template-template-prodotti .controller {
        top: var(--page-padding);
        padding: 0 5px;
    }

    /* Pagine Uomo/Donna: ticker visibile (24px) → controller spostato più giù */
    body.page-template-template-gender .controller {
        top: calc(var(--page-padding) + 24px);
    }
}

/* ========================================
   FILM GRAIN OVERLAY — centralizzato
   Tutte le pagine: homepage, prodotto, serie
   Per modificare l'effetto cambiare SOLO qui.
   ======================================== */
.noova-noise-overlay {
    display: none !important; /* Disabled: heavy GPU animation causes Safari performance issues */
    position: fixed;
    top: -100%;
    left: -50%;
    width: 300%;
    height: 300%;
    z-index: -2;
    pointer-events: none;
    opacity: 0.12;
    mix-blend-mode: overlay;
    background-repeat: repeat;
    background-size: 256px 256px;
    animation: noova-grain-shift 5s steps(10) infinite;
}

/* Homepage: struttura diversa (no #adv), serve z-index positivo */
.homepage .noova-noise-overlay {
    z-index: 5;
}

@keyframes noova-grain-shift {
    0%, 100% { transform: translate(0, 0); }
    10% { transform: translate(-5%, -10%); }
    20% { transform: translate(-15%, 5%); }
    30% { transform: translate(7%, -25%); }
    40% { transform: translate(-5%, 25%); }
    50% { transform: translate(-15%, 10%); }
    60% { transform: translate(15%, 0%); }
    70% { transform: translate(0%, 15%); }
    80% { transform: translate(3%, 35%); }
    90% { transform: translate(-10%, 10%); }
}

/* ===== Cookie Consent Banner ===== */
.noova-cookie-banner {
    position: fixed;
    bottom: var(--page-padding, 30px);
    left: var(--page-padding, 30px);
    right: var(--page-padding, 30px);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 5px 5px 5px 20px;
    border-radius: 46px;
    background: var(--accent-color, rgba(20, 20, 20, 0.92));
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: rgba(0, 0, 0, 0.15) 0px 8px 40px;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.4s ease, transform 0.4s ease;
}
.noova-cookie-banner.visible {
    opacity: 1;
    transform: translateY(0);
}
.noova-cookie-text {
    font-family: 'Lato', sans-serif;
    font-size: 13px;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.7);
    letter-spacing: 0.3px;
}
.noova-cookie-link {
    color: #ffffff;
    text-decoration: underline;
    text-underline-offset: 2px;
    font-weight: 400;
}
.noova-cookie-link:hover {
    opacity: 0.7;
}
.noova-cookie-accept {
    font-family: 'Lato', sans-serif;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: var(--accent-color, #222222);
    background: #ffffff;
    border: none;
    border-radius: 50px;
    padding: 6px 14px;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
    flex-shrink: 0;
}
.noova-cookie-accept:hover {
    background: rgba(255, 255, 255, 0.8);
}
@media (max-width: 600px) {
    .noova-cookie-banner {
        flex-direction: column;
        gap: 10px;
        padding: 14px 14px 8px;
        border-radius: 24px;
        text-align: center;
    }
    .noova-cookie-accept {
        width: 100%;
        margin-bottom: 6px;
    }
}

/* ===== Saldi/Sale: nascosto finché non ci sono offerte attive ===== */
.menu-item-965,
.menu-item-1009,
.menu-item-87,
.menu-item-1014 {
    display: none !important;
}

/* ===== Cookie Consent Modal (replica #promo-modal) ===== */
#cookie-modal {
    z-index: 9998; /* Fix 45: below sidebar (9999) so Privacy link sidebar opens on top */
}
#cookie-modal .hero-cta-link {
    background-color: #ffffff;
    color: #000000;
    cursor: pointer;
}
#cookie-modal .hero-cta-link:hover {
    background-color: #e0e0e0;
}
#cookie-modal .quick {
    background-color: rgb(55, 55, 55);
}
#cookie-modal .mini-logo-modal {
    fill: #e4e4e4;
}
#cookie-modal .noova-cookie-link {
    color: #ffffff;
    text-decoration: underline;
    text-underline-offset: 2px;
    font-weight: 400;
}
#cookie-modal .noova-cookie-link:hover {
    opacity: 0.7;
}

/* ===== Modal mobile: ancorato in basso (tutti i modal) ===== */
@media (max-width: 600px) {
    .modal-container {
        top: auto;
        bottom: var(--page-padding, 30px);
        left: var(--page-padding, 30px);
        transform: none;
        width: calc(100% - var(--page-padding, 30px) * 2);
    }
    .modal-container .modal-content {
        max-width: none;
        width: 100%;
        animation: modalSlideUp 0.3s ease-out;
    }
    .modal-container .padder {
        padding: 30px;
    }
}
@keyframes modalSlideUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Immagine card: ancorata al bottom — sempre (escluse card serie) */
.item:not(.st-seriesM) .product-image {
    background-position: center calc(100% + 50px) !important;
    background-size: 100% !important;
}
.itemQ:not(.st-seriesM) .product-image {
    background-position: left calc(100% + 100px) !important;
    background-size: 75% auto !important;
}
/* Sotto 480px (1 colonna): itemQ identico a item ma bandiera a sinistra, entrambi più bassi */
@media (max-width: 480px) {
    .item:not(.st-seriesM) .product-image {
        background-position: center calc(100% + 80px) !important;
        background-size: 100% !important;
    }
    .itemQ:not(.st-seriesM) .product-image {
        background-position: left calc(100% + 80px) !important;
        background-size: 100% !important;
    }
}

/* Order confirm: hide "Buy Again" button — overlaps product image */
#sidebar-order-confirm .size-box.mrgR {
    display: none !important;
}

/* Navigation menu spacing — desktop only */
@media screen and (min-width: 800px) {
    .navigation-wrapper .material-icons.nav-color {
        margin: 0 4px 0 -4px !important;
    }
}

/* Menu: spacing after first item (Novità/New) */
.menu-item-963,
.menu-item-85,
.menu-item-1007,
.menu-item-1012 {
    margin-right: 4px;
}

/* Hide "Tutte/All Shoes" from menu — redundant with Bestsellers */
.menu-item-966,
.menu-item-1010,
.menu-item-88,
.menu-item-1015 {
    display: none !important;
}

/* Fix 70: hide "Ottieni -10%" / "Get -10%" button in mobile menu only */
@media (max-width: 799px) {
    .menu-item-92 {
        display: none !important;
    }
}

/* Apple Pay: nascosto di default, mostrato via JS solo se disponibile */
.btn-apple-pay,
.btn-apple-pay-bottom,
.btn-apple-pay-action,
#btn-apple-pay-newsizer,
#btn-apple-pay-newsizer_b {
    display: none !important;
}
.btn-apple-pay.apple-pay-ready,
.btn-apple-pay-bottom.apple-pay-ready,
.btn-apple-pay-action.apple-pay-ready,
#btn-apple-pay-newsizer.apple-pay-ready,
#btn-apple-pay-newsizer_b.apple-pay-ready {
    display: inline-flex !important;
}

/* Easy Login: disabilita popup mode e notice popup — usiamo solo sidebar inline */
.xoo-el-modal,
body.xoo-el-popup-active .xoo-el-modal,
.xoo-el-popup-notice,
body.xoo-el-popup-notice-active .xoo-el-popup-notice {
    display: none !important;
}
body.xoo-el-popup-notice-active {
    overflow: auto !important;
}

/* Login notice spacing */
.xoo-el-notice-success {
    margin-bottom: 30px;
}

/* Utente migrato: nasconde tutto il form single quando appare il messaggio */
.xoo-el-notice:has(.noova-migrated-msg) + .xoo-el-form-single {
    display: none !important;
}

/* Footer column spacing */
.footer-main__column ul {
    line-height: 10px;
    margin: 10px 0;
}

/* ── Page Transition Loader ── */

/* View Transitions API: progressive enhancement for Safari 18.2+, Chrome 126+ */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: none; }
::view-transition-new(root) { animation: none; }

/* Simbolo valuta nel prezzo hero prodotto: light, superscript per CHF */
.product-price-product .woocommerce-Price-currencySymbol {
    font-weight: 300;
    font-size: 0.65em;
    vertical-align: 0.3em;
    letter-spacing: 0.5px;
}
.product-price-product .price-chf-sup {
    font-size: 0.55em;
    vertical-align: super;
    font-weight: 300;
    letter-spacing: 0.5px;
}

/* Hero badge serie - posizione sopra il titolo */
.hero-top-badge-min {
    top: -15px !important;
    left: -14px !important;
    right: auto !important;
    margin-left: 0 !important;
}

/* === GENDER PAGE: test layout (reversibile — rimuovere questo blocco per tornare indietro) === */
#top-tier {
    gap: 0 !important;
    margin-left: calc(var(--page-padding) * -1) !important;
    margin-right: calc(var(--page-padding) * -1) !important;
    width: calc(100% + var(--page-padding) * 2) !important;
}
#top-tier .itemM {
    border-radius: 0 !important;
    overflow: hidden !important;
}
/* Hover disabilitato su #top-tier */
#top-tier .itemM.hover-scale-self,
#top-tier .itemM.hover-scale-self:hover {
    transform: none !important;
}
.recently-viewed-title,
.details-title-product {
    padding-left: 0 !important;
}
/* === FINE TEST GENDER LAYOUT === */
