/* =====================================================================
   LMF Bridge 2.0.37 — pacchi di Natale in preordine (pagina Prodotti).
   Luci: views/js/natale.js disegna filo e lampadine attorno a ogni pacco.
   Colori del sito (verde notte, oro, crema) + rosso e verde delle luci.
===================================================================== */
.xmas{position:relative;padding-block:clamp(3.5rem,8vw,6rem);background:
  radial-gradient(1200px 500px at 50% -10%,rgba(201,161,74,.13),transparent 60%),
  radial-gradient(800px 400px at 0% 100%,rgba(23,36,15,.9),transparent 70%),
  #0B0E0B;overflow:hidden;isolation:isolate}
.xmas::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;pointer-events:none;background-image:
  radial-gradient(1px 1px at 12% 18%,#E3C47E,transparent),radial-gradient(1px 1px at 78% 12%,#F1EBD8,transparent),
  radial-gradient(1.5px 1.5px at 34% 72%,#E3C47E,transparent),radial-gradient(1px 1px at 88% 64%,#F1EBD8,transparent),
  radial-gradient(1px 1px at 56% 30%,#C9A14A,transparent),radial-gradient(1.5px 1.5px at 6% 86%,#F1EBD8,transparent),
  radial-gradient(1px 1px at 64% 92%,#E3C47E,transparent),radial-gradient(1px 1px at 46% 6%,#F1EBD8,transparent)}
.xmas-head{max-width:46rem;margin-inline:auto;text-align:center;display:grid;gap:1rem}
.xmas-kicker{font:500 .78rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:#C9A14A;display:inline-flex;gap:.7rem;align-items:center;justify-content:center}
.xmas-kicker::before,.xmas-kicker::after{content:"";width:2.2rem;height:1px;background:linear-gradient(90deg,transparent,#C9A14A)}
.xmas-kicker::after{transform:scaleX(-1)}
.xmas-head h2{font:400 clamp(2rem,5vw,3.3rem)/1.08 var(--serif);color:#F1EBD8;margin:0;text-wrap:balance}
.xmas-head h2 em{color:#E3C47E;font-style:italic}
.xmas-head p{color:#cfc8b4;margin:0 auto;max-width:38rem;font-size:1.05rem;line-height:1.65}
.xmas-threads{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:.4rem}
.xmas-threads span{font:500 .8rem/1 var(--sans);color:#E3C47E;border:1px solid rgba(201,161,74,.4);border-radius:999px;padding:.5rem .85rem}

.xmas-grid{display:grid;gap:clamp(2.6rem,5vw,3.2rem) clamp(1.6rem,3vw,2.4rem);margin-top:clamp(3rem,6vw,4.4rem);grid-template-columns:1fr;max-width:72rem;margin-inline:auto}
@media (min-width:980px){.xmas-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}}
@media (min-width:640px) and (max-width:979px){.xmas-grid{max-width:34rem}}

/* scheda del pacco, con le luci tutt'intorno */
.xmas-card{position:relative;border-radius:14px;background:linear-gradient(180deg,#17240F 0%,#111a0c 55%,#0f150c 100%);border:1px solid rgba(201,161,74,.28);box-shadow:0 30px 60px -30px rgba(0,0,0,.8),inset 0 1px 0 rgba(227,196,126,.12);display:flex;flex-direction:column;min-width:0;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.xmas-card:hover{transform:translateY(-4px);box-shadow:0 40px 70px -30px rgba(0,0,0,.9),0 0 50px -12px rgba(227,196,126,.25),inset 0 1px 0 rgba(227,196,126,.18)}
.xmas-lights{position:absolute;inset:-11px;pointer-events:none;z-index:2}
.xmas-lights svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.xmas-lights path{fill:none;stroke:#2c3a20;stroke-width:1.6}
.xmas-bulb{position:absolute;left:0;top:0;width:8px;height:12px;margin:-2px 0 0 -4px;transform-origin:4px 2px}
.xmas-bulb::before{content:"";position:absolute;left:2px;top:0;width:4px;height:3px;border-radius:1px;background:#3b4a2c}
.xmas-bulb i{position:absolute;left:0;top:2.5px;width:8px;height:9.5px;border-radius:50% 50% 50% 50%/40% 40% 60% 60%;background:var(--c);
  box-shadow:0 0 4px 1px var(--c),0 0 14px 3px var(--g);animation:xmas-twinkle var(--d,2.4s) ease-in-out var(--w,0s) infinite}
@keyframes xmas-twinkle{0%,100%{opacity:1;filter:brightness(1.15)}45%{opacity:.35;filter:brightness(.6);box-shadow:0 0 2px 0 var(--c)}60%{opacity:.95}}
.xmas-card:hover .xmas-bulb i{animation-duration:calc(var(--d,2.4s) * .45)}

.xmas-box{position:relative;display:grid;place-items:center;aspect-ratio:16/10;max-width:100%;border-radius:13px 13px 0 0;overflow:hidden;
  background:radial-gradient(60% 70% at 50% 62%,rgba(227,196,126,.2),transparent 70%),linear-gradient(180deg,#0f150c,#17240F)}
.xmas-box svg{width:auto;height:76%;filter:drop-shadow(0 18px 18px rgba(0,0,0,.55))}
.xmas-box .xmas-no{position:absolute;top:1rem;left:1.1rem;font:400 2.6rem/1 var(--serif);color:rgba(227,196,126,.28)}
.xmas-body{padding:1.5rem 1.5rem 1.6rem;display:flex;flex-direction:column;gap:.9rem;min-width:0;flex:1}
.xmas-tag{font:500 .72rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#C9A14A}
.xmas-body h3{font:400 clamp(1.55rem,2.6vw,1.85rem)/1.12 var(--serif);color:#F1EBD8;margin:0;text-wrap:balance}
.xmas-body>p{color:#cfc8b4;margin:0;line-height:1.6}
.xmas-count{display:flex;flex-direction:column;gap:.35rem;flex-wrap:wrap;padding-block:.9rem;border-block:1px solid rgba(201,161,74,.18)}
.xmas-count strong{font:500 1.15rem/1.2 var(--sans);color:#E3C47E;font-variant-numeric:tabular-nums}
.xmas-count span{font-size:.85rem;color:#a9a28f}

.xmas-menu{border-radius:10px;background:rgba(11,14,11,.45);border:1px solid rgba(201,161,74,.14)}
.xmas-menu summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;font:500 .92rem/1.2 var(--sans);color:#F1EBD8}
.xmas-menu summary::-webkit-details-marker{display:none}
.xmas-menu summary::after{content:"";width:.5rem;height:.5rem;border-right:1.5px solid #C9A14A;border-bottom:1.5px solid #C9A14A;transform:rotate(45deg) translateY(-2px);transition:transform .25s}
.xmas-menu[open] summary::after{transform:rotate(-135deg) translateX(-2px)}
.xmas-menu summary:focus-visible{outline:2px solid #E3C47E;outline-offset:2px;border-radius:10px}
.xmas-menu ol{list-style:none;margin:0;padding:0 1rem 1rem;display:grid;gap:.15rem}
.xmas-menu li{display:grid;grid-template-columns:5.6rem minmax(0,1fr);gap:.8rem;padding:.55rem 0;border-top:1px dashed rgba(201,161,74,.14)}
.xmas-menu li b{font:500 .68rem/1.6 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#C9A14A}
.xmas-menu li.same b{visibility:hidden}
.xmas-menu li span{color:#F1EBD8;font-size:.93rem;line-height:1.4}
.xmas-menu li small{display:block;color:#958f7d;font-size:.8rem;margin-top:.15rem}
.xmas-menu li.wine>span>span::before{content:"";display:inline-block;width:.42rem;height:.42rem;border-radius:50%;background:#8E2B2B;box-shadow:0 0 0 2px rgba(142,43,43,.25);margin-right:.45rem;vertical-align:.1em}

.xmas-actions{display:flex;flex-direction:column;gap:.6rem;margin-top:auto;padding-top:.3rem}
.xmas-actions .xmas-buy{appearance:none;border:0;cursor:pointer;border-radius:999px;padding:.95rem 1.4rem;font:500 1rem/1 var(--sans);color:#0B0E0B;background:linear-gradient(180deg,#E3C47E,#C9A14A);box-shadow:0 10px 24px -12px rgba(227,196,126,.7);transition:filter .2s,transform .2s}
.xmas-actions .xmas-buy:hover{filter:brightness(1.07);transform:translateY(-1px)}
.xmas-actions .xmas-buy:focus-visible,.xmas-actions a:focus-visible{outline:2px solid #F1EBD8;outline-offset:3px}
.xmas-actions a{color:#cfc8b4;font-size:.88rem;text-align:center;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(201,161,74,.5)}

.xmas-ship{max-width:58rem;margin:clamp(3rem,6vw,4rem) auto 0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.4rem 1.8rem;align-items:center;padding:1.6rem 1.8rem;border-radius:14px;border:1px solid rgba(201,161,74,.32);background:linear-gradient(90deg,rgba(201,161,74,.1),rgba(201,161,74,.03))}
.xmas-date{display:grid;justify-items:center;width:5.6rem;padding:.7rem .4rem .8rem;border-radius:10px;background:#F1EBD8;color:#0B0E0B;box-shadow:0 10px 26px -14px rgba(0,0,0,.8)}
.xmas-date small{font:600 .66rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#8E2B2B}
.xmas-date strong{font:400 2.6rem/1 var(--serif);margin-top:.25rem}
.xmas-ship p{margin:0;color:#F1EBD8;font-size:1.08rem;line-height:1.5}
.xmas-ship p sup{color:#E3C47E}
.xmas-ship .xmas-note{grid-column:1/-1;font-size:.84rem;color:#a9a28f;line-height:1.55;border-top:1px solid rgba(201,161,74,.18);padding-top:1rem}
@media (max-width:520px){.xmas-ship{grid-template-columns:1fr;justify-items:start;padding:1.4rem 1.2rem}.xmas-body{padding:1.3rem 1.2rem 1.4rem}.xmas-menu li{grid-template-columns:1fr;gap:.1rem}.xmas-menu li.same b{display:none}}

@media (prefers-reduced-motion:reduce){.xmas-bulb i{animation:none}.xmas-card,.xmas-card:hover{transition:none;transform:none}}

/* preordine */
.xmas-pre{position:absolute;top:1rem;right:1rem;z-index:1;font:600 .68rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#0B0E0B;background:#F1EBD8;border-radius:999px;padding:.45rem .7rem}
.xmas-actions .xmas-ask{appearance:none;background:none;border:0;cursor:pointer;color:#cfc8b4;font:inherit;font-size:.88rem;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(201,161,74,.5)}
.xmas-actions .xmas-ask:focus-visible{outline:2px solid #F1EBD8;outline-offset:3px}

/* finestra di prenotazione */
.xmas-dlg{width:min(40rem,100vw - 1.5rem);max-height:min(92vh,100dvh - 1.5rem);padding:0;border:1px solid rgba(201,161,74,.35);border-radius:16px;background:#111a0c;color:#F1EBD8;box-shadow:0 40px 90px -20px rgba(0,0,0,.9)}
.xmas-dlg::backdrop{background:rgba(5,7,5,.72);backdrop-filter:blur(3px)}
.xmas-dlg form{display:grid;gap:1.1rem;padding:1.6rem clamp(1.1rem,4vw,2rem) 1.8rem}
.xmas-dlg-top{display:flex;justify-content:space-between;align-items:start;gap:1rem}
.xmas-dlg h2{font:400 clamp(1.5rem,4vw,1.9rem)/1.15 var(--serif);margin:.35rem 0 0}
.xmas-x{appearance:none;flex:none;width:44px;height:44px;border-radius:50%;border:1px solid rgba(201,161,74,.35);background:none;color:#F1EBD8;cursor:pointer;font-size:1.3rem;line-height:1}
.xmas-x:focus-visible{outline:2px solid #E3C47E;outline-offset:2px}
.xmas-dlg .xmas-intro{margin:0;color:#cfc8b4;font-size:.95rem;line-height:1.55}
.xmas-row{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}
.xmas-f{display:grid;gap:.4rem;min-width:0}
.xmas-f>span{font:500 .78rem/1.2 var(--sans);letter-spacing:.06em;color:#cfc8b4}
.xmas-f>span em{font-style:normal;color:#958f7d;letter-spacing:0}
.xmas-dlg input:not([type=checkbox]):not([type=radio]),.xmas-dlg select,.xmas-dlg textarea{width:100%;box-sizing:border-box;border-radius:9px;border:1px solid rgba(201,161,74,.28);background:#0B0E0B;color:#F1EBD8;padding:.75rem .85rem;font:16px/1.3 var(--sans)}
.xmas-dlg textarea{min-height:5.5rem;resize:vertical}
.xmas-dlg input:focus,.xmas-dlg select:focus,.xmas-dlg textarea:focus{outline:2px solid #C9A14A;outline-offset:1px;border-color:transparent}
.xmas-dlg [aria-invalid=true]{border-color:#d0683f!important}
.xmas-seg{display:flex;gap:.5rem;flex-wrap:wrap}
.xmas-seg label{flex:1 1 9rem;display:flex;align-items:center;gap:.55rem;padding:.75rem .9rem;border-radius:9px;border:1px solid rgba(201,161,74,.28);cursor:pointer;font-size:.95rem}
.xmas-seg label:has(input:checked){border-color:#E3C47E;background:rgba(201,161,74,.12)}
.xmas-seg input,.xmas-check input{accent-color:#C9A14A;width:1.05rem;height:1.05rem;flex:none}
.xmas-check{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem;color:#cfc8b4;line-height:1.45;cursor:pointer}
.xmas-check a{color:#E3C47E}
.xmas-sum{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;padding:.9rem 1rem;border-radius:10px;background:rgba(201,161,74,.1);border:1px solid rgba(201,161,74,.22)}
.xmas-sum span{color:#cfc8b4;font-size:.9rem}
.xmas-sum strong{font:500 1.35rem/1 var(--sans);color:#E3C47E;font-variant-numeric:tabular-nums}
.xmas-fine{font-size:.8rem;color:#958f7d;line-height:1.5;margin:0}
.xmas-send{appearance:none;border:0;cursor:pointer;border-radius:999px;padding:1rem 1.4rem;font:500 1rem/1 var(--sans);color:#0B0E0B;background:linear-gradient(180deg,#E3C47E,#C9A14A)}
.xmas-send:disabled{opacity:.6;cursor:wait}
.xmas-send:focus-visible{outline:2px solid #F1EBD8;outline-offset:3px}
.xmas-done{display:grid;gap:.9rem;padding:2.2rem clamp(1.1rem,4vw,2rem);text-align:center;justify-items:center}
.xmas-done h2{margin:0}
.xmas-done p{margin:0;color:#cfc8b4;max-width:30rem;line-height:1.6}
.xmas-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.xmas-dlg [hidden],.xmas [hidden]{display:none!important}

/* integrazione nel modulo */
.xmas{scroll-margin-top:80px}
/* 2.0.41: dalla home si arriva alla scheda del pacco (…/prodotti#pacco-N), non al modulo */
.xmas-card{scroll-margin-top:96px}
.xmas-card:target{border-color:rgba(227,196,126,.75);box-shadow:0 0 0 2px rgba(227,196,126,.35),0 30px 60px -30px rgba(0,0,0,.8)}
.xmas .container{position:relative}
.xmas-body>p{font-weight:300}
.xmas-count{display:flex;flex-direction:column;gap:.35rem}
.xmas-menu li>span>span{display:inline}
.xmas-fs{border:0;padding:0;margin:0;min-width:0}
.xmas-fs legend{font:500 .78rem/1.2 var(--sans);letter-spacing:.06em;color:#cfc8b4;padding:0;margin-bottom:.4rem}
.xmas-f-qty{max-width:9rem}
.xmas-err{margin:0;font-size:.88rem;color:#f0a37f;line-height:1.5}
.xmas-check span{flex:1;min-width:0}
.xmas-note-2{border-top:0!important;padding-top:0!important}
.xmas-dlg{margin:auto}
.xmas-dlg .xmas-tag{display:block}
body.xmas-open{overflow:hidden}

/* home: fascia dei pacchi di Natale (2.0.37), con le stesse luci dei pacchi */
.home-xmas{padding-block:clamp(3rem,6vw,4.5rem) 0}
.home-xmas-card{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding:clamp(1.6rem,4vw,3rem)}
.home-xmas-card:hover{transform:none}
.home-xmas-text{display:grid;gap:1rem;min-width:0}
.home-xmas-text .xmas-kicker{justify-content:flex-start}
.home-xmas-text .xmas-kicker::before,.home-xmas-text .xmas-kicker::after{display:none}
.home-xmas-text h2{font:400 clamp(2rem,4.4vw,3.2rem)/1.06 var(--serif);color:#F1EBD8;margin:0;text-wrap:balance}
.home-xmas-text h2 em{font-style:italic;color:#E3C47E}
.home-xmas-text>p{margin:0;color:#cfc8b4;max-width:52ch}
.home-xmas-text .hero-cta{margin-top:.6rem}
.home-xmas-note{font-size:.84rem!important;color:#a9a28f!important}
.home-xmas-list{list-style:none;margin:0;padding:0;display:grid;gap:.7rem;min-width:0}
.home-xmas-list a{display:flex;gap:1rem;align-items:center;padding:1rem 1.1rem;border-radius:10px;border:1px solid rgba(201,161,74,.25);background:rgba(11,14,11,.45);transition:border-color .2s,background .2s}
.home-xmas-list a:hover{border-color:#E3C47E;background:rgba(201,161,74,.08)}
.hx-n{flex:none;font:400 2rem/1 var(--serif);color:rgba(227,196,126,.55);width:1.6rem;text-align:center}
.hx-t{display:grid;min-width:0}
.hx-t strong{font:400 1.2rem/1.2 var(--serif);color:#F1EBD8}
.hx-t small{font-size:.82rem;color:#a9a28f;margin-top:.2rem}
@media(max-width:860px){.home-xmas-card{grid-template-columns:1fr}}

/* foto dei pacchi (2.0.40) */
.xmas-box.has-photo{aspect-ratio:3/2;background:#0f150c}
.xmas-box.has-photo picture,.xmas-box.has-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:none}
.xmas-box.has-photo .xmas-no{z-index:1;color:#F1EBD8;text-shadow:0 2px 12px rgba(0,0,0,.7)}
.xmas-box.has-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,14,11,.35),transparent 30%,transparent 75%,rgba(17,26,12,.55));pointer-events:none}
.xmas-ind{position:absolute;left:.8rem;bottom:.6rem;z-index:1;font:500 .66rem/1 var(--sans);letter-spacing:.06em;color:rgba(241,235,216,.85);text-shadow:0 1px 6px rgba(0,0,0,.8)}
.home-xmas-list .hx-img{flex:none;width:84px;aspect-ratio:3/2;border-radius:6px;overflow:hidden;border:1px solid rgba(201,161,74,.25)}
.home-xmas-list .hx-img img{width:100%;height:100%;object-fit:cover;display:block}
