/* ============================================
   BOSTON PRODUCTS — HEADER & LAYOUT GLOBALE
   ============================================ */

.boston-products-tonal-shift {
    transition: background-color 0.3s ease;
}

/* Logo header */
.custom-logo-link img,
.custom-logo {
    max-height: 40px;
    width: auto;
}

/* Header transparent state */
#boston-products-main-bar.boston-products-header-transparent .custom-logo-link img {
    filter: brightness(0) invert(1);
}
#boston-products-main-bar.boston-products-header-transparent .boston-products-nav-link {
    color: white !important;
}
#boston-products-main-bar.boston-products-header-transparent .boston-products-globe-icon,
#boston-products-main-bar.boston-products-header-transparent .boston-products-hamburger-icon {
    color: white !important;
}

/* Header scrolled state */
#boston-products-main-bar.boston-products-header-scrolled {
    background-color: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
#boston-products-main-bar.boston-products-header-scrolled .custom-logo-link img {
    filter: none;
}

/* Animazioni reveal */
.boston-products-reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.45s ease, transform 0.45s ease;
}
.boston-products-reveal.active {
    opacity: 1;
    transform: translateY(0);
}
.boston-products-reveal-left {
    opacity: 0;
    transform: translateX(-60px);
    transition: opacity 0.45s ease, transform 0.45s ease;
}
.boston-products-reveal-left.active {
    opacity: 1;
    transform: translateX(0);
}
.boston-products-reveal-right {
    opacity: 0;
    transform: translateX(60px);
    transition: opacity 0.45s ease, transform 0.45s ease;
}
.boston-products-reveal-right.active {
    opacity: 1;
    transform: translateX(0);
}
.boston-products-reveal-scale {
    opacity: 0;
    transform: scale(0.9);
    transition: opacity 0.45s ease, transform 0.45s ease;
}
.boston-products-reveal-scale.active {
    opacity: 1;
    transform: scale(1);
}
.delay-100 { transition-delay: 0.1s; }
.delay-200 { transition-delay: 0.2s; }
.delay-300 { transition-delay: 0.3s; }
.delay-400 { transition-delay: 0.4s; }

/* Hero text fade */
.boston-products-hero-fade {
    opacity: 0;
    transform: translateY(30px);
    animation: heroFadeIn 1s ease forwards;
}
.boston-products-hero-fade-d1 { animation-delay: 0.2s; }
.boston-products-hero-fade-d2 { animation-delay: 0.5s; }
.boston-products-hero-fade-d3 { animation-delay: 0.8s; }
.boston-products-hero-fade-d4 { animation-delay: 1.1s; }
@keyframes heroFadeIn {
    to { opacity: 1; transform: translateY(0); }
}

/* Drawer logo */
#boston-products-mobile-drawer .custom-logo-link,
#boston-products-mobile-drawer .custom-logo-link img {
    display: block;
    max-height: 35px;
    width: auto;
}

/* Menu no bullets */
header ul, header li,
#boston-products-mobile-drawer ul,
#boston-products-mobile-drawer li {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Footer logo bianco */
footer .custom-logo-link img,
footer .custom-logo {
    filter: brightness(0) invert(1);
    max-height: 40px;
    width: auto;
}

/* Radius globale 20px */
main img:not(.boston-products-no-radius),
main i.fa-solid[class*="p-3"],
.bento-card,
main section > .grid > div {
    border-radius: 20px;
}

/* ============================================
   SINGOLO PRODOTTO — header sempre in stato solido (hero chiaro)
   ============================================ */
body.single-product #boston-products-main-bar.boston-products-header-transparent {
    background-color: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
body.single-product #boston-products-main-bar.boston-products-header-transparent .boston-products-nav-link {
    color: #0f172a !important;
}
body.single-product #boston-products-main-bar.boston-products-header-transparent .custom-logo-link img {
    filter: none;
}
body.single-product #boston-products-main-bar.boston-products-header-transparent .boston-products-globe-icon,
body.single-product #boston-products-main-bar.boston-products-header-transparent .boston-products-hamburger-icon {
    color: #000 !important;
}

/* ============================================
   LANGUAGE SWITCHER (globe + tendina lingue)
   ============================================ */
.boston-lang { position: relative; }
.boston-lang__toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: none;
    border: 0;
    padding: 0;
    margin: 0;
    cursor: pointer;
    color: #000;
    font: inherit;
    line-height: 1;
}
.boston-lang--desktop .boston-lang__globe { font-size: 15px; }
.boston-lang__caret { font-size: 10px; transition: transform .2s ease; }
.boston-lang.is-open .boston-lang__caret { transform: rotate(180deg); }

.boston-lang__menu {
    position: absolute;
    z-index: 200;
    min-width: 175px;
    margin: 0;
    padding: 6px;
    list-style: none;
    background: #fff;
    border: 1px solid rgba(20, 56, 82, .1);
    border-radius: 10px;
    box-shadow: 0 12px 34px rgba(0, 0, 0, .14);
}
.boston-lang__menu[hidden] { display: none; }
.boston-lang--desktop .boston-lang__menu { top: calc(100% + 10px); right: 0; }
.boston-lang--mobile  .boston-lang__menu { bottom: calc(100% + 10px); left: 0; right: 0; }

.boston-lang__item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 9px 12px;
    border-radius: 7px;
    text-decoration: none;
    color: #143852;
    font-size: 14px;
    transition: background-color .15s ease, color .15s ease;
}
.boston-lang__item:hover { background: rgba(0, 0, 0, .05); }
.boston-lang__item.is-current { color: #005095; font-weight: 700; }
.boston-lang__code { font-weight: 800; font-size: 12px; min-width: 22px; }
.boston-lang__name { font-size: 14px; }

/* Variante mobile (riga nel drawer: globe + Language + caret) */
.boston-lang--mobile { display: flex; width: 100%; }
.boston-lang--mobile .boston-lang__toggle { width: 100%; justify-content: flex-start; color: #52525b; }
.boston-lang--mobile .boston-lang__globe { font-size: 14px; }
.boston-lang--mobile .boston-lang__label {
    text-transform: uppercase;
    letter-spacing: .1em;
    font-size: 12px;
    font-weight: 700;
}
.boston-lang--mobile .boston-lang__caret { margin-left: auto; font-size: 12px; }
