/* Stili globali custom del child theme. */
:root {
    --as-bg-overlay: rgba(244, 182, 159, .4); /* #f4b69f, velo leggero per mantenere leggibili i testi */
    --as-neon-pulse-duration: 20s;
    --as-neon-frame-bg:
        linear-gradient(90deg,
            rgba(255, 0, 180, 0.88) 0%,
            rgba(255, 0, 180, 0.54) 10%,
            rgba(255, 0, 180, 0.16) 18%,
            rgba(255, 0, 180, 0.00) 30%,
            rgba(255, 0, 180, 0.00) 70%,
            rgba(255, 0, 180, 0.16) 82%,
            rgba(255, 0, 180, 0.54) 90%,
            rgba(255, 0, 180, 0.88) 100%),
        radial-gradient(circle at 0% 0%, rgba(255, 0, 195, 0.95) 0%, rgba(255, 0, 195, 0) 30%),
        radial-gradient(circle at 100% 0%, rgba(255, 0, 195, 0.95) 0%, rgba(255, 0, 195, 0) 30%),
        radial-gradient(circle at 0% 100%, rgba(255, 0, 195, 0.95) 0%, rgba(255, 0, 195, 0) 30%),
        radial-gradient(circle at 100% 100%, rgba(255, 0, 195, 0.95) 0%, rgba(255, 0, 195, 0) 30%);
}

.website-wrapper {
    position: relative;
    isolation: isolate;
}

.website-wrapper::before {
    content: none !important;
}

/* Neon fuchsia frame: above background/pattern, below all site content. */
.website-wrapper::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background: var(--as-neon-frame-bg);
    opacity: 0;
    filter: blur(7px) saturate(1.35);
    mix-blend-mode: screen;
    animation: as-neon-frame-pulse var(--as-neon-pulse-duration) ease-in-out infinite;
}

.website-wrapper > * {
    position: relative;
    z-index: 1;
}

/* Neon frame also on header/menu background, below menu text/icons. */
header.whb-header {
    position: relative;
    isolation: isolate;
}

header.whb-header::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background: var(--as-neon-frame-bg);
    opacity: 0;
    filter: blur(7px) saturate(1.35);
    mix-blend-mode: screen;
    animation: as-neon-frame-pulse var(--as-neon-pulse-duration) ease-in-out infinite;
}

.wd-page-content.main-page-wrapper {
    position: relative;
    isolation: isolate;
    display: flow-root;
    background-color: var(--as-bg-overlay);
    background-image: none;
}

.wd-page-content.main-page-wrapper::before {
    content: none;
}

@keyframes as-neon-frame-pulse {
    0%,
    100% {
        opacity: 0;
        filter: blur(5px) saturate(1.05);
    }
    50% {
        opacity: 0.90;
        filter: blur(8px) saturate(1.6);
    }
}

@media (prefers-reduced-motion: reduce) {
    .website-wrapper::after {
        animation: none;
        opacity: 0.35;
    }
}

/* Menu (statico, sticky e clone): nessuna regola custom, resta lo stile
 * nativo del tema Woodmart sia a riposo che sticky. */

/* Badge "Ultimo disponibile": stessa famiglia visiva del badge nativo Woodmart
 * "Esaurito" (.product-label), solo con colore proprio. Compare ovunque Woodmart
 * mostra le sue etichette (archivio shop, correlati, pagina prodotto). */
.product-label.as-last-available {
    background: linear-gradient(135deg, #b07c45, #8b5e34);
    color: #fff;
}

/* Pulsante "Visualizza descrizione" subito dopo la descrizione breve, che
 * porta alla scheda "Descrizione" più in basso nella pagina prodotto. */
.as-view-description-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 4px 0 22px;
    padding: 11px 20px;
    border-radius: 999px;
    border: 1px solid rgba(139, 94, 52, 0.3);
    background: linear-gradient(180deg, #fffaf5, #fbf1e6);
    color: #6f5438;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none;
    box-shadow: 0 3px 10px rgba(111, 84, 58, 0.1);
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.as-view-description-btn:hover,
.as-view-description-btn:focus-visible {
    color: #4a3520;
    background: linear-gradient(180deg, #fff, #f6e9d8);
    box-shadow: 0 6px 16px rgba(111, 84, 58, 0.18);
    transform: translateY(-1px);
}

.as-view-description-btn__arrow {
    display: inline-flex;
    align-items: center;
    transition: transform .2s ease;
}

.as-view-description-btn:hover .as-view-description-btn__arrow {
    transform: translateY(2px);
}

/* Avviso "su ordinazione" sopra il pulsante Aggiungi al carrello, con il tempo
 * di produzione. Stesso colore oro usato per lo stato "su ordinazione" nella
 * tabella disponibilità del prodotto. */
.as-backorder-notice {
    display: none;
    margin: 0 0 14px;
    padding: 10px 14px;
    border-radius: 10px;
    background: rgba(139, 94, 52, 0.12);
    color: #6a4a26;
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.4;
}

.as-backorder-notice.as-backorder-notice--visible {
    display: block;
}

/* Varianti colore nella scheda prodotto: pallino colore + nome del colore sempre
 * visibile (di base il tema nasconde il nome e lo mostra solo al passaggio del
 * mouse). Tutte le varianti sono mostrate per intero (il limite "+N" del tema è
 * stato disattivato dalle impostazioni). */
.wd-swatches-single.wd-swatches-product {
    gap: 10px;
}

.wd-swatches-single .wd-swatch.wd-bg {
    width: auto;
    height: auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px 6px 6px;
    border-radius: 999px;
    background-color: var(--bgcolor-white, #fff);
    box-shadow: 0 0 0 1px var(--wd-swatch-brd-color, rgba(0, 0, 0, .15)) inset;
}

.wd-swatches-single .wd-swatch.wd-bg .wd-swatch-bg {
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
    border-radius: 50%;
}

.wd-swatches-single .wd-swatch.wd-bg .wd-swatch-text {
    display: inline-block !important;
    padding: 0 !important;
    font-size: 13px;
    font-weight: 600;
    color: var(--color-gray-900, #292828);
    white-space: nowrap;
}

.wd-swatches-single .wd-swatch.wd-bg.wd-active,
.wd-swatches-single .wd-swatch-wrap.wd-active .wd-swatch.wd-bg {
    box-shadow: 0 0 0 2px var(--color-gray-900, #292828) inset;
}

/* Footer requested solid pink. */
footer,
.wd-footer,
.footer-container,
.copyrights-wrapper {
    background-color: #F9C9B7 !important;
    background-image: none !important;
}

/* Product pages/lists: remove gray layers and keep pattern visible underneath. */
.woocommerce,
.woocommerce-page,
.woocommerce .site-content,
.woocommerce-page .site-content,
.wd-content-layout,
.wd-products,
.wd-products-element,
.shop-loop-head,
.shop-loop-footer,
.wd-shop-tools,
.wd-sidebar,
.woocommerce-breadcrumb,
.woocommerce-notices-wrapper {
    background-color: transparent !important;
}

/* Product card background must be pink in normal and hover states. */
.wd-loop-builder-off :is(.wd-product, .wd-product-wrapper),
.wd-loop-builder-on :is(.wd-product, .wd-product-wrapper),
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
:is(.products-bordered-grid-ins,
.wd-products-with-bg:not(.products-bordered-grid),
.wd-products-with-shadow:not(.products-bordered-grid)) .wd-product,
.wd-product-card-bg,
.wd-product-card-hover {
    background-color: #F9C9B780 !important;
}

.wd-product:hover,
.wd-product-wrapper:hover,
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover,
.wd-product:hover .wd-product-card-bg,
.wd-product:hover .wd-product-card-hover {
    background-color: #F9C9B780 !important;
}

/* Keep hover image layer opaque enough to avoid image overlap artifacts. */
.wd-product-img-hover.hover-img,
.wd-product:hover .wd-product-img-hover.hover-img {
    background-color: #F9C9B7F2 !important;
}

.wd-product-img-hover.hover-img img,
.wd-product:hover .wd-product-img-hover.hover-img img {
    background-color: #F9C9B7F2 !important;
}

/* Single product gallery zoom: normal transparent, pink only on hover. */
.single-product .woocommerce-product-gallery,
.single-product .woocommerce-product-gallery__wrapper,
.single-product .wd-carousel-item,
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image > a,
.single-product .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery__image .zoomImg {
    background-color: transparent !important;
}

.single-product .woocommerce-product-gallery__image:hover,
.single-product .woocommerce-product-gallery__image:hover > a,
.single-product .woocommerce-product-gallery__image:hover img,
.single-product .woocommerce-product-gallery__image:hover .zoomImg,
.single-product .wd-carousel-item:hover,
.single-product .wd-carousel-item:hover .woocommerce-product-gallery__image,
.single-product .wd-carousel-item:hover .woocommerce-product-gallery__image > a,
.single-product .wd-carousel-item:hover .woocommerce-product-gallery__image img,
.single-product .wd-carousel-item:hover .woocommerce-product-gallery__image .zoomImg {
    background-color: #F9C9B780 !important;
}

/* ========================================================================== 
