/* NO.EM STORE — mega menu "Negozio", voci del menu, social, menu laterale su smartphone */

/* ---------- voci del menu principale ---------- */
#header .header-nav-main { flex-wrap: nowrap; }
#header .header-nav-main > li { margin: 0 1px; white-space: nowrap; flex-shrink: 0; }
#header .header-nav-main > li > a { white-space: nowrap; flex-wrap: nowrap; }
/* schermi medi: carrello solo icona; sotto 1100 px spariscono le voci con classe noem-nav-xl (Novità, Area riservata = "Accedi") */
@media (max-width: 1279px) { #header .header-cart-title { display: none; } }
@media (max-width: 1099px) { #header .header-nav-main > li.noem-nav-xl { display: none; } }
#header .header-nav-main > li > a.nav-top-link { padding: 0 clamp(7px, .75vw, 12px); border-radius: 999px; }
#header .header-nav-main > li.noem-mega.current-dropdown > a,
#header .header-nav-main > li.noem-mega:hover > a { background: var(--noem-sky); box-shadow: inset 0 -2px 0 var(--noem-champagne); }
#header .header-nav-main .noem-b3x2 { display: inline-block; margin-right: 6px; padding: 2px 7px; border-radius: 6px; background: var(--noem-blue-dark); border: 1px solid var(--noem-champagne); color: #f3dfbf; font-size: 11px; line-height: 1.3; }
#header .header-nav-main > li.noem-nav-3x2 > a { color: #B8844A; }

/* ---------- tendina a tutta larghezza ---------- */
#header .header-nav-main > li.noem-mega { position: static; }
/* come la tendina "full width" di Flatsome: fissa e centrata nella finestra, subito sotto la voce */
#header li.noem-mega > .nav-dropdown {
    position: fixed; left: 50% !important; right: auto; top: var(--noem-mm-top, auto); transform: translateX(-50%);
    width: min(1392px, calc(100vw - 48px)); min-width: 0; max-width: none;
    padding: 0; border: 0; background: transparent; box-shadow: none; display: block;
}
/* ponte invisibile tra la voce e il pannello: il menu non si chiude attraversando l'header */
#header li.noem-mega > .nav-dropdown::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 48px; }
#header li.noem-mega::before, #header li.noem-mega::after { display: none !important; }

.noem-mm {
    display: grid; grid-template-columns: 270px minmax(0, 1fr) 290px;
    background: #fff; border-radius: 0 0 22px 22px; overflow: hidden; text-transform: none; letter-spacing: 0;
    box-shadow: 0 24px 60px rgba(13, 40, 80, .28);
    border-top: 3px solid transparent; border-image: linear-gradient(90deg, #f3dfbf, #D7AE78, #b8844a) 1;
    font: 400 14px/1.45 var(--noem-sans); color: var(--noem-text); text-align: left; white-space: normal;
}
.noem-mm a { text-decoration: none; }
.noem-mm-cats { padding: 22px 0 16px; background: linear-gradient(180deg, #f7fbff, #eef5fc); border-right: 1px solid #E3E8EE; }
.noem-mm .noem-mm-k { margin: 0 22px 6px; font: 700 11px var(--noem-sans); letter-spacing: 1.4px; text-transform: uppercase; color: var(--noem-text-2); }
.noem-mm-c { display: flex; align-items: center; gap: 12px; padding: 7px 18px 7px 22px; font: 700 14px var(--noem-sans); color: var(--noem-text); border-left: 3px solid transparent; }
.noem-mm-ic { display: grid; place-items: center; width: 32px; height: 32px; flex: none; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 1.5px rgba(215, 174, 120, .55); color: var(--noem-blue); }
.noem-mm-ic svg { width: 17px; height: 17px; }
.noem-mm-c em { margin-left: auto; font-style: normal; font-weight: 400; font-size: 12px; color: var(--noem-text-2); }
.noem-mm-c.is-on, .noem-mm-c:focus-visible { background: #fff; border-left-color: var(--noem-champagne); color: var(--noem-blue-dark); }
.noem-mm-c.is-on .noem-mm-ic { background: var(--noem-blue-dark); color: #fff; }
.noem-mm-all { display: block; margin: 10px 22px 0; padding-top: 10px; border-top: 1px dashed #E3E8EE; font: 700 13.5px var(--noem-sans); color: var(--noem-blue); }

.noem-mm-main { padding: 26px 30px 24px; min-width: 0; }
.noem-mm-panel[hidden] { display: none; }
.noem-mm-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.noem-mm .noem-mm-t { margin: 0; font: 700 28px/1.1 var(--noem-serif); color: var(--noem-blue-dark); }
.noem-mm-t small { display: block; margin-bottom: 4px; font: 400 21px/1 var(--noem-script); color: var(--noem-blue); }
.noem-mm-head a { font: 700 13px var(--noem-sans); color: var(--noem-blue); white-space: nowrap; }
.noem-mm-subs { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 20px; }
.noem-mm-subs a { padding: 7px 14px; border-radius: 999px; border: 1px solid #E3E8EE; background: #fff; font-size: 13.5px; color: var(--noem-blue-dark); }
.noem-mm-subs a:hover { border-color: var(--noem-champagne); }
.noem-mm-subs a b { color: #B8844A; }
.noem-mm-subs a.is-3x2 { background: var(--noem-blue-dark); border-color: var(--noem-champagne); color: #f3dfbf; font-weight: 700; }
.noem-mm .noem-mm-lbl { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font: 700 12px var(--noem-sans); letter-spacing: 1.3px; text-transform: uppercase; color: var(--noem-text-2); }
.noem-mm-lbl::after { content: ""; flex: 1; height: 1px; background: #E3E8EE; }
.noem-mm-prods { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.noem-mm-p { position: relative; display: block; padding: 10px; border: 1px solid #E3E8EE; border-radius: 14px; background: #fff; transition: border-color .2s, box-shadow .2s; }
.noem-mm-p:hover { border-color: rgba(215, 174, 120, .8); box-shadow: 0 10px 24px rgba(18, 82, 140, .1); }
.noem-mm-p img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 10px; background: var(--noem-pearl); margin: 0; }
.noem-mm-more { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; text-align: center; background: linear-gradient(160deg, #f7fbff, var(--noem-sky)); border-style: dashed; }
.noem-mm-more .noem-mm-ic { width: 54px; height: 54px; }
.noem-mm-more .noem-mm-ic svg { width: 24px; height: 24px; }
.noem-mm-more .noem-mm-pn { min-height: 0; margin: 0; color: var(--noem-blue-dark); -webkit-line-clamp: 3; }
.noem-mm-more b { font: 700 13px var(--noem-sans); color: var(--noem-blue); }
.noem-mm-p .noem-badge { position: absolute; top: 16px; left: 16px; }
.noem-mm-pn { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 36px; margin: 9px 0 4px; font: 700 13.5px/1.35 var(--noem-sans); color: var(--noem-text); }
.noem-mm-pr { display: flex; align-items: baseline; gap: 6px; font: 700 15px var(--noem-sans); color: var(--noem-blue-dark); }
.noem-mm-pr ins { order: 1; }
.noem-mm-pr del { font-weight: 400; font-size: 12.5px; color: var(--noem-text-2); order: 2; }
.noem-mm-pr ins { text-decoration: none; }
.noem-mm-pr .screen-reader-text { position: absolute; clip: rect(0 0 0 0); width: 1px; height: 1px; overflow: hidden; }

.noem-mm-side { display: grid; gap: 14px; align-content: start; padding: 22px 22px 22px 0; }
.noem-mm-promo { position: relative; display: block; padding: 22px 20px; border-radius: 18px; overflow: hidden; color: #fff;
    background: radial-gradient(circle at 85% 15%, rgba(215, 174, 120, .35), transparent 55%), linear-gradient(135deg, #12528C, #0d3f8f); }
.noem-mm-promo small { font: 700 11px var(--noem-sans); letter-spacing: 1.4px; text-transform: uppercase; color: #f3dfbf; }
.noem-mm-promo strong { display: block; margin: 6px 0 4px; font: 700 46px/1 var(--noem-serif); background: linear-gradient(180deg, #f8e7c8, #D7AE78 60%, #b8844a); -webkit-background-clip: text; background-clip: text; color: transparent; }
.noem-mm-promo span { display: block; margin-bottom: 14px; font-size: 14px; opacity: .92; }
.noem-mm-promo b { display: inline-flex; align-items: center; height: 40px; padding: 0 18px; border-radius: 999px; background: #fff; color: var(--noem-blue-dark); font: 700 12px var(--noem-sans); letter-spacing: .8px; text-transform: uppercase; }
.noem-mm-fid { display: flex; align-items: center; gap: 12px; padding: 14px; border-radius: 16px; background: var(--noem-champagne-light); border: 1px solid rgba(215, 174, 120, .6); font-size: 12.5px; color: var(--noem-text-2); }
.noem-mm-fid img { width: 58px; height: auto; flex: none; margin: 0; }
.noem-mm-fid b { display: block; font: 700 15px var(--noem-serif); color: var(--noem-blue-dark); }
.noem-mm-foot { grid-column: 1 / -1; display: flex; align-items: center; gap: 26px; padding: 12px 26px; background: var(--noem-pearl); border-top: 1px solid #E3E8EE; font-size: 13px; color: var(--noem-text-2); }
.noem-mm-foot span { display: flex; align-items: center; gap: 8px; }
.noem-mm-foot svg { width: 16px; height: 16px; color: #B8844A; }
.noem-mm-foot a { margin-left: auto; font-weight: 700; color: var(--noem-blue); }

@media (max-width: 1279px) {
    .noem-mm { grid-template-columns: 240px minmax(0, 1fr); }
    .noem-mm-side { display: none; }
    .noem-mm-main { padding: 22px 24px 20px; }
}

/* ---------- social ---------- */
.noem-social { display: flex; align-items: center; gap: 8px; }
.noem-social-l { display: flex; align-items: center; gap: 6px; }
.noem-social a { display: grid; place-items: center; border-radius: 50%; transition: background .2s, color .2s, transform .2s; }
.noem-social a:hover { transform: translateY(-1px); }
.noem-social svg { display: block; }
.noem-social--topbar .noem-social-t { font: 700 11px var(--noem-sans); letter-spacing: 1px; text-transform: uppercase; color: #f3dfbf; }
.noem-social--topbar a { width: 24px; height: 24px; background: rgba(255, 255, 255, .14); color: #fff; }
.noem-social--topbar a:hover { background: var(--noem-champagne); color: var(--noem-blue-dark); }
.noem-social--topbar svg { width: 13px; height: 13px; }
.noem-social--footer .noem-social-t { font: 700 13px var(--noem-sans); letter-spacing: 1.6px; text-transform: uppercase; color: var(--noem-champagne); }
.noem-social--footer { flex-wrap: wrap; }
.noem-social--footer a { width: 38px; height: 38px; background: rgba(255, 255, 255, .12); box-shadow: inset 0 0 0 1px rgba(215, 174, 120, .5); color: #fff; }
.noem-social--footer a:hover { background: var(--noem-champagne); color: var(--noem-blue-dark); }
.noem-social--footer svg { width: 17px; height: 17px; }
.noem-social--drawer { flex-direction: column; margin: 6px 16px 26px; padding: 16px; border-radius: 16px; background: linear-gradient(135deg, #12528C, #0d3f8f); }
.noem-social--drawer .noem-social-t { font: 400 28px/1 var(--noem-script); color: #f3dfbf; }
.noem-social--drawer .noem-social-l { gap: 10px; }
.noem-social--drawer a { width: 40px; height: 40px; background: rgba(255, 255, 255, .14); box-shadow: inset 0 0 0 1px rgba(215, 174, 120, .6); color: #fff; }
.noem-social--drawer svg { width: 18px; height: 18px; }
#top-bar .html_topbar_right { padding-left: 14px; }
@media (max-width: 1439px) { #top-bar .noem-social--topbar .noem-social-t { display: none; } }

/* ---------- menu laterale (smartphone) ---------- */
#main-menu.mobile-sidebar { background: #fff; }
#main-menu .sidebar-menu { padding-top: 0; }
#main-menu .nav-sidebar > li.html { display: block; width: 100%; padding: 0; text-align: left; }
#main-menu .nav-sidebar > li.html > * { width: auto; }
#main-menu .nav-sidebar > li.html::after, #main-menu .nav-sidebar > li { border: 0; }
.mfp-close { z-index: 1050; }
.noem-dr-top { display: flex; align-items: center; height: 76px; padding: 0 16px; background: linear-gradient(135deg, #12528C, #0d3f8f); }
.noem-dr-logo { width: 58px; height: 58px; filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .25)); }
.noem-dr-acc { display: flex; align-items: center; gap: 12px; padding: 14px 16px; background: var(--noem-sky); border-bottom: 1px solid #E3E8EE; text-transform: none; letter-spacing: 0; }
.noem-dr-av { display: grid; place-items: center; width: 42px; height: 42px; flex: none; border-radius: 50%; background: linear-gradient(135deg, #D7AE78, #b8844a); color: #fff; font: 700 17px var(--noem-serif); }
.noem-dr-av svg { width: 20px; height: 20px; }
.noem-dr-who { font: 400 12.5px/1.35 var(--noem-sans); color: var(--noem-text-2); }
.noem-dr-who b { display: block; font: 700 15px var(--noem-serif); color: var(--noem-blue-dark); }
.noem-dr-acc a { margin-left: auto; font: 700 12px var(--noem-sans); color: var(--noem-blue); white-space: nowrap; text-transform: none; }
#main-menu .nav-sidebar > li.header-search-form { padding: 14px 16px 4px; }
#main-menu .searchform .flex-row { display: flex; height: 44px; border: 1px solid #E3E8EE; border-radius: 999px; background: var(--noem-pearl); overflow: hidden; }
#main-menu .searchform .search-field { height: 44px; border: 0; box-shadow: none; background: transparent; padding: 0 16px; font-size: 14px; }
#main-menu .searchform .ux-search-submit { height: 44px; min-height: 44px; width: 50px; margin: 0; border-radius: 0; background: var(--noem-blue-dark); }
.noem-dr-q { display: flex; gap: 8px; padding: 10px 16px 6px; overflow-x: auto; scrollbar-width: none; }
.noem-dr-q a { flex: none; padding: 7px 13px; border-radius: 999px; border: 1px solid #E3E8EE; font: 700 12.5px var(--noem-sans); color: var(--noem-blue-dark); text-transform: none; letter-spacing: 0; }
.noem-dr-q a.noem-nav-3x2 { background: var(--noem-blue-dark); border-color: var(--noem-champagne); color: #f3dfbf; }
.noem-dr-q .noem-b3x2 { font-weight: 700; }
#main-menu .noem-dr-k, .noem-dr-k { margin: 16px 16px 6px; font: 700 11px var(--noem-sans); letter-spacing: 1.4px; text-transform: uppercase; color: var(--noem-text-2); }
.noem-dr-cats { text-transform: none; letter-spacing: 0; }
.noem-dr-c { display: block; border-bottom: 1px solid #E3E8EE; }
a.noem-dr-c, .noem-dr-c summary { display: flex; align-items: center; gap: 12px; padding: 10px 16px; font: 700 14.5px var(--noem-sans); color: var(--noem-text); cursor: pointer; list-style: none; }
.noem-dr-c summary::-webkit-details-marker { display: none; }
.noem-dr-c .noem-mm-ic { background: var(--noem-sky); }
.noem-dr-ch { width: 16px; height: 16px; margin-left: auto; color: var(--noem-text-2); transition: transform .2s; }
.noem-dr-c[open] summary { color: var(--noem-blue-dark); background: #fbfdff; }
.noem-dr-c[open] .noem-dr-ch { transform: rotate(180deg); }
.noem-dr-c ul { list-style: none; margin: 0 !important; padding: 0 16px 12px 60px !important; }
.noem-dr-c li { margin: 0 !important; }
.noem-dr-c li a { display: block; padding: 7px 0; border-bottom: 1px dashed #E3E8EE; font-size: 14px; color: var(--noem-blue-dark); }
.noem-dr-c li:last-child a { border: 0; font-weight: 700; color: var(--noem-blue); }
.noem-dr-links { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 14px 16px; text-transform: none; letter-spacing: 0; }
.noem-dr-links a { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border: 1px solid #E3E8EE; border-radius: 12px; font: 700 13px/1.2 var(--noem-sans); color: var(--noem-blue-dark); }
.noem-dr-links svg { width: 17px; height: 17px; flex: none; color: #B8844A; }

/* barra in alto con i social: meno messaggi sugli schermi medi, così le icone restano tutte visibili */
/* desktop: la barra parte sempre dopo il logo (che in home e nelle pagine interne sale sopra la barra) */
@media (min-width: 850px) {
    html body.home #header .header-top > .flex-row { padding-left: calc(var(--noem-logo) + var(--noem-pad) + 16px) !important; }
    html body:not(.home) #header .header-top > .flex-row { padding-left: calc(var(--noem-ilogo, 138px) + clamp(16px, 2.4vw, 36px) + 22px) !important; }
    #top-bar .flex-col.flex-center { flex: 1 1 auto; min-width: 0; }
    #top-bar .noem-topbar { gap: clamp(10px, 1.5vw, 26px); }
    #top-bar .noem-topbar li + li::before { margin-right: clamp(10px, 1.5vw, 26px); }
}
/* messaggi visibili: 4 da 1200 px, 3 tra 1024 e 1199, 2 sotto 1024 */
@media (min-width: 850px) and (max-width: 1023px) { #top-bar .noem-topbar li:nth-child(3) { display: none; } }
.noem-social--drawer .noem-social-p { margin: -4px 0 4px; font-size: 13px; color: rgba(255, 255, 255, .85); }
