*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--y:#FFE135;--b:#1A1A1A;--w:#FAFAF5;--r:#FF3D3D;--g:#22c55e;--border:3px solid #1A1A1A;--shadow:5px 5px 0 #1A1A1A;--shadow-lg:8px 8px 0 #1A1A1A}
html{scroll-behavior:smooth}
body{font-family:'Nunito',sans-serif;background:var(--w);color:var(--b);overflow-x:hidden}
/* PROGRESS */
#progress-bar{position:fixed;top:0;left:0;height:3px;background:var(--y);z-index:200;width:0;transition:width .1s linear}
/* NAV */
nav{background:var(--b);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;border-bottom:3px solid var(--y)}
.nav-logo{font-family:'Bangers',cursive;font-size:2rem;color:var(--y);letter-spacing:2px}
.nav-links{display:flex;gap:1.5rem;align-items:center}
.nav-links a{color:var(--w);text-decoration:none;font-weight:700;font-size:.9rem;letter-spacing:.05em;text-transform:uppercase;transition:color .2s}
.nav-links a:hover{color:var(--y)}
.nav-cta{background:var(--y);color:var(--b);font-family:'Bangers',cursive;font-size:1.1rem;letter-spacing:1px;padding:.4rem 1.2rem;border:2px solid var(--b);text-decoration:none;transition:transform .15s,box-shadow .15s;box-shadow:3px 3px 0 rgba(255,225,53,.3)}
.nav-cta:hover{transform:translate(-2px,-2px)}
.lang-btns{display:flex;gap:.3rem}
.lang-btn{background:transparent;border:2px solid #555;color:#aaa;font-family:'Bangers',cursive;font-size:.9rem;letter-spacing:1px;padding:.2rem .55rem;cursor:pointer;transition:all .2s}
.lang-btn:hover,.lang-btn.active{border-color:var(--y);color:var(--y)}
/* BACK TOP */
#back-top{position:fixed;bottom:5.5rem;right:1.5rem;width:44px;height:44px;background:var(--b);color:var(--y);border:2px solid var(--y);font-size:1.2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:90;opacity:0;pointer-events:none;transition:opacity .3s,transform .2s;box-shadow:var(--shadow)}
#back-top.visible{opacity:1;pointer-events:auto}
#back-top:hover{transform:translate(-2px,-2px)}
/* WHATSAPP FAB */
.wa-fab{position:fixed;bottom:1.5rem;right:1.5rem;width:56px;height:56px;background:#25D366;border:3px solid var(--b);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:90;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;text-decoration:none}
.wa-fab[hidden]{display:none}
.wa-fab:hover{transform:translate(-3px,-3px);box-shadow:var(--shadow-lg)}
/* HERO */
.hero{min-height:90vh;background:var(--y);display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:4rem 5rem;gap:3rem;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:-60px;right:-60px;width:300px;height:300px;background:var(--b);border-radius:50%;opacity:.08}
.hero::after{content:'';position:absolute;bottom:-80px;left:20%;width:200px;height:200px;background:var(--r);border-radius:50%;opacity:.15}
.hero-text{position:relative;z-index:1}
.hero-tag{display:inline-block;background:var(--b);color:var(--y);font-family:'Bangers',cursive;font-size:1rem;letter-spacing:3px;padding:.25rem .8rem;margin-bottom:1.5rem}
.hero h1{font-family:'Bangers',cursive;font-size:clamp(3.5rem,7vw,6rem);line-height:.95;letter-spacing:2px;margin-bottom:1.5rem}
.hero h1 span{color:var(--r);-webkit-text-stroke:2px var(--b)}
.hero p{font-size:1.15rem;line-height:1.7;max-width:440px;font-weight:700;margin-bottom:2rem;opacity:.85}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap}
.btn-primary{display:inline-block;background:var(--b);color:var(--y);font-family:'Bangers',cursive;font-size:1.4rem;letter-spacing:2px;padding:.7rem 2rem;border:var(--border);text-decoration:none;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}
.btn-primary:hover{transform:translate(-3px,-3px);box-shadow:var(--shadow-lg)}
.btn-secondary{display:inline-block;background:transparent;color:var(--b);font-family:'Bangers',cursive;font-size:1.4rem;letter-spacing:2px;padding:.7rem 2rem;border:var(--border);text-decoration:none;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}
.btn-secondary:hover{transform:translate(-3px,-3px);box-shadow:var(--shadow-lg)}
.hero-visual{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.hero-img-card{aspect-ratio:1;border:var(--border);box-shadow:var(--shadow-lg);overflow:hidden;background:var(--w);display:flex;align-items:center;justify-content:center;cursor:zoom-in}
.hero-img-card:nth-child(1){transform:rotate(-2deg)}
.hero-img-card:nth-child(2){transform:rotate(1.5deg);margin-top:2rem}
.hero-img-card:nth-child(3){transform:rotate(1deg)}
.hero-img-card:nth-child(4){transform:rotate(-1.5deg);margin-top:-1rem}
.hero-img-card img{width:100%;height:100%;object-fit:cover}
.img-placeholder{color:#bbb;font-size:.85rem;text-align:center;padding:1rem}
/* STATS */
.stats-bar{background:var(--b);padding:1.5rem 5rem;display:flex;justify-content:space-around;align-items:center;gap:2rem;flex-wrap:wrap}
.stat{text-align:center}
.stat-num{font-family:'Bangers',cursive;font-size:2.5rem;color:var(--y);letter-spacing:1px}
.stat-label{color:#aaa;font-size:.85rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.stat-live{display:inline-flex;align-items:center;gap:.4rem}
.stat-dot{width:8px;height:8px;background:var(--g);border-radius:50%;animation:blink 2s infinite;display:inline-block}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
/* SECTIONS */
.section{padding:5rem}
.section-tag{font-family:'Bangers',cursive;font-size:.9rem;letter-spacing:4px;color:var(--r);margin-bottom:.5rem;text-transform:uppercase}
.section h2{font-family:'Bangers',cursive;font-size:clamp(2.5rem,5vw,3.5rem);letter-spacing:2px;line-height:1;margin-bottom:3rem}
/* STILI */
.stili-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}
.stile-card{border:var(--border);box-shadow:var(--shadow);overflow:hidden;cursor:zoom-in;transition:transform .2s,box-shadow .2s;background:var(--w)}
.stile-card:hover{transform:translate(-4px,-4px);box-shadow:var(--shadow-lg)}
.stile-thumb{aspect-ratio:4/3;background:#f0ede0;display:flex;align-items:center;justify-content:center;border-bottom:var(--border);overflow:hidden;position:relative}
.stile-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.stile-card:hover .stile-thumb img{transform:scale(1.05)}
.stile-thumb-ph{font-size:2.5rem}
.stile-zoom{position:absolute;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;color:#fff;font-weight:900;font-size:.85rem;letter-spacing:1px}
.stile-card:hover .stile-zoom{opacity:1}
.stile-info{padding:1rem}
.stile-nome{font-family:'Bangers',cursive;font-size:1.4rem;letter-spacing:1px}
.stile-desc{font-size:.85rem;opacity:.7;margin-top:.25rem}
.stile-prezzo{display:inline-block;background:var(--y);color:var(--b);font-weight:900;font-size:.9rem;padding:.2rem .6rem;border:2px solid var(--b);margin-top:.5rem}
/* COME FUNZIONA */
.come-funziona{background:var(--b);padding:5rem;color:var(--w)}
.come-funziona .section-tag{color:var(--y)}
.come-funziona h2{color:var(--w)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;margin-top:2rem}
.step{position:relative;padding:2rem;border:2px solid #444;transition:border-color .2s}
.step:hover{border-color:var(--y)}
.step-num{font-family:'Bangers',cursive;font-size:5rem;color:var(--y);line-height:1;margin-bottom:.5rem}
.step h3{font-family:'Bangers',cursive;font-size:1.5rem;letter-spacing:1px;margin-bottom:.5rem}
.step p{font-size:.9rem;opacity:.7;line-height:1.6}
.step-arrow{position:absolute;right:-2rem;top:50%;transform:translateY(-50%);font-size:2rem;color:var(--y);font-weight:900}
.step:last-child .step-arrow{display:none}
/* GARANZIA */
.garanzia{background:var(--y);padding:3rem 5rem}
.garanzia-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}
.garanzia-item{background:var(--b);color:var(--w);padding:1.5rem;box-shadow:var(--shadow)}
.garanzia-icon{font-size:2rem;margin-bottom:.75rem}
.garanzia-title{font-family:'Bangers',cursive;font-size:1.3rem;letter-spacing:1px;margin-bottom:.4rem;color:var(--y)}
.garanzia-text{font-size:.85rem;opacity:.7;line-height:1.5}
/* PREZZI */
.prezzi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}
.prezzo-card{border:var(--border);box-shadow:var(--shadow);padding:2rem;background:var(--w);transition:transform .2s,box-shadow .2s}
.prezzo-card:hover{transform:translate(-4px,-4px);box-shadow:var(--shadow-lg)}
.prezzo-card.featured{background:var(--b);color:var(--w)}
.prezzo-card.featured .prezzo-badge{background:var(--y);color:var(--b)}
.prezzo-badge{display:inline-block;background:var(--r);color:#fff;font-family:'Bangers',cursive;font-size:.85rem;letter-spacing:2px;padding:.2rem .7rem;border:2px solid var(--b);margin-bottom:1rem}
.prezzo-card h3{font-family:'Bangers',cursive;font-size:2rem;letter-spacing:1px;margin-bottom:.5rem}
.prezzo-num{font-family:'Bangers',cursive;font-size:3.5rem;letter-spacing:1px;line-height:1}
.prezzo-num span{font-family:'Nunito',sans-serif;font-size:1rem;opacity:.6;font-weight:700}
.prezzo-features{list-style:none;margin:1.5rem 0;display:flex;flex-direction:column;gap:.5rem}
.prezzo-features li{font-size:.9rem;display:flex;align-items:center;gap:.5rem}
.prezzo-features li::before{content:'✓';font-weight:900;color:var(--r)}
.prezzo-card.featured .prezzo-features li::before{color:var(--y)}
.btn-card{display:block;text-align:center;background:var(--y);color:var(--b);font-family:'Bangers',cursive;font-size:1.2rem;letter-spacing:2px;padding:.6rem;border:2px solid var(--b);text-decoration:none;box-shadow:3px 3px 0 #1A1A1A;transition:transform .15s,box-shadow .15s}
.btn-card:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 #1A1A1A}
/* FORM */
.ordine-section{background:var(--y);padding:5rem}
.ordine-section .section-tag{color:var(--r)}
.form-container{background:var(--w);border:var(--border);box-shadow:var(--shadow-lg);padding:3rem;margin-top:2rem;max-width:800px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.form-group{display:flex;flex-direction:column;gap:.5rem;position:relative}
.form-group.full{grid-column:1/-1}
.form-group label{font-weight:900;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}
.form-group select,.form-group input,.form-group textarea{border:2px solid var(--b);padding:.7rem 1rem;font-family:'Nunito',sans-serif;font-size:1rem;background:var(--w);outline:none;transition:box-shadow .15s,border-color .15s}
.form-group select:focus,.form-group input:focus,.form-group textarea:focus{box-shadow:4px 4px 0 var(--b)}
.form-group.has-error select,.form-group.has-error input,.form-group.has-error textarea,.form-group.has-error .upload-area{border-color:var(--r)!important}
.form-group.has-success input,.form-group.has-success select{border-color:var(--g)}
.field-error{color:var(--r);font-size:.78rem;font-weight:700;display:none}
.form-group.has-error .field-error{display:block}
.form-group textarea{resize:vertical;min-height:100px}
.upload-area{border:3px dashed var(--b);padding:2rem;text-align:center;cursor:pointer;background:#fafaf0;transition:background .2s,border-color .2s}
.upload-area:hover,.upload-area.drag-over{background:#fff5c0;border-color:#aaa}
.upload-area.upload-ok{border-color:var(--g)!important;background:#f0fff4}
.upload-icon{font-size:2.5rem;margin-bottom:.5rem}
.upload-msg{font-weight:700;font-size:.9rem;opacity:.7}
.upload-err-txt{color:var(--r);font-size:.8rem;font-weight:700;margin-top:.5rem;min-height:1.2em}
.upload-preview{max-width:200px;max-height:200px;border:2px solid var(--b);margin:.5rem auto 0;display:none;object-fit:cover}
.form-submit{width:100%;background:var(--b);color:var(--y);font-family:'Bangers',cursive;font-size:1.8rem;letter-spacing:3px;padding:1rem;border:var(--border);cursor:pointer;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s;margin-top:1rem}
.form-submit:hover:not(:disabled){transform:translate(-3px,-3px);box-shadow:var(--shadow-lg)}
.form-submit:disabled{opacity:.6;cursor:not-allowed}
/* TESTIMONIANZE */
.testimonianze{padding:5rem;background:var(--w)}
.testi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:2rem}
.testi-card{border:var(--border);box-shadow:var(--shadow);padding:1.5rem;background:var(--w)}
.testi-stars{color:#FFD700;font-size:1.1rem;margin-bottom:.75rem;letter-spacing:3px}
.testi-text{font-size:.95rem;line-height:1.7;font-style:italic;margin-bottom:1rem;opacity:.8}
.testi-author{font-weight:900;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}
.testi-author span{color:var(--r)}
/* FAQ */
.faq{background:#f5f2e3;padding:5rem}
.faq-list{max-width:700px;margin-top:2rem}
.faq-item{border:var(--border);margin-bottom:1rem;overflow:hidden}
.faq-q{background:var(--w);padding:1.2rem 1.5rem;font-weight:900;cursor:pointer;display:flex;justify-content:space-between;align-items:center;user-select:none;transition:background .2s}
.faq-q:hover{background:var(--y)}
.faq-icon{font-size:1.5rem;transition:transform .3s}
.faq-q.open .faq-icon{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;background:#fffef7}
.faq-a p{padding:1rem 1.5rem;font-size:.95rem;line-height:1.7;opacity:.8}
/* LIGHTBOX */
.lightbox-overlay{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:500;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s}
.lightbox-overlay.open{opacity:1;pointer-events:auto}
#lightbox-img{max-width:90vw;max-height:85vh;object-fit:contain;border:3px solid var(--y)}
.lightbox-close{position:absolute;top:1.5rem;right:1.5rem;background:var(--y);border:3px solid var(--b);font-size:1.5rem;width:48px;height:48px;cursor:pointer;font-weight:900;display:flex;align-items:center;justify-content:center;z-index:1}
.lightbox-ph{width:70vw;max-width:600px;aspect-ratio:4/3;background:#f0ede0;border:3px solid var(--y);display:flex;align-items:center;justify-content:center;font-size:5rem}
/* MODALI */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:600;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s;padding:1rem}
.modal-overlay.open{opacity:1;pointer-events:auto}
.modal-box{background:var(--w);border:var(--border);box-shadow:var(--shadow-lg);max-width:700px;width:100%;max-height:82vh;overflow-y:auto;padding:2.5rem;position:relative}
.modal-close{position:absolute;top:1rem;right:1rem;background:var(--b);color:var(--y);border:none;font-size:1.2rem;width:36px;height:36px;cursor:pointer;font-weight:900;display:flex;align-items:center;justify-content:center}
.modal-box h2{font-family:'Bangers',cursive;font-size:2rem;letter-spacing:1px;margin-bottom:1.5rem}
.modal-box h3{font-family:'Bangers',cursive;font-size:1.3rem;letter-spacing:1px;margin:1.5rem 0 .5rem}
.modal-box p{font-size:.9rem;line-height:1.7;opacity:.8;margin-bottom:.75rem}
.modal-box ul{margin-left:1.2rem;margin-bottom:.75rem}
.modal-box li{font-size:.9rem;line-height:1.7;opacity:.8}
/* FOOTER */
footer{background:var(--b);color:var(--w);padding:3rem 5rem}
.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;flex-wrap:wrap;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #2a2a2a}
.footer-logo{font-family:'Bangers',cursive;font-size:2rem;color:var(--y);letter-spacing:3px}
.footer-sub{opacity:.4;font-size:.8rem;margin-top:.25rem}
.footer-pay-label{color:#555;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;text-align:right}
.payment-badges{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.pay-badge{background:#fff;border:2px solid #2a2a2a;padding:.3rem .7rem;display:flex;align-items:center;justify-content:center;min-width:52px;height:30px}
.footer-links{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;margin-bottom:1.5rem}
.footer-links a{color:#aaa;text-decoration:none;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;transition:color .2s}
.footer-links a:hover{color:var(--y)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.footer-legal{display:flex;gap:1.5rem}
.footer-legal button{color:#555;font-size:.75rem;text-decoration:underline;cursor:pointer;background:none;border:none;font-family:'Nunito',sans-serif;transition:color .2s}
.footer-legal button:hover{color:#aaa}
.footer-copy{color:#333;font-size:.75rem}
/* NAV BACKDROP */
#nav-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:98}
#nav-backdrop.open{display:block}
/* HAMBURGER */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:.4rem;z-index:110}
.hamburger span{display:block;width:24px;height:2px;background:var(--y);transition:all .3s}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* RESPONSIVE */
@media(max-width:768px){
  .hero{grid-template-columns:1fr;padding:3rem 1.5rem;text-align:center}
  .hero-visual{grid-template-columns:1fr 1fr;max-width:300px;margin:0 auto}
  .hero h1{font-size:3.5rem}
  .hero-btns{justify-content:center}
  .section,.come-funziona,.ordine-section,.testimonianze,.faq,.stats-bar,.garanzia{padding:3rem 1.5rem}
  .steps{grid-template-columns:1fr}
  .step-arrow{display:none}
  .form-grid{grid-template-columns:1fr}
  footer{padding:2rem 1.5rem}
  .hamburger{display:flex}
  .nav-links{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--b);flex-direction:column;align-items:center;justify-content:center;gap:2.5rem;z-index:99}
  .nav-links.open{display:flex}
  .nav-links a{font-size:1.6rem}
  .nav-cta{display:none}
  .footer-top,.footer-bottom{flex-direction:column}
  .footer-pay-label,.payment-badges{text-align:left;justify-content:flex-start}
}
/* REVEAL */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:none}
/* SKIP LINK */
.skip-link{position:absolute;top:-100px;left:1rem;background:var(--y);color:var(--b);font-family:'Bangers',cursive;font-size:1rem;letter-spacing:1px;padding:.4rem 1rem;border:2px solid var(--b);z-index:999;transition:top .2s}
.skip-link:focus{top:1rem}
/* STICKY BAR */
#sticky-bar{position:fixed;top:0;left:0;right:0;background:var(--r);color:#fff;z-index:150;display:flex;align-items:center;justify-content:center;gap:1.5rem;padding:.55rem 2rem;font-size:.9rem;font-weight:700;transform:translateY(-100%);transition:transform .35s ease;border-bottom:2px solid var(--b)}
#sticky-bar.show{transform:translateY(0)}
#sticky-bar a{color:#fff;font-family:'Bangers',cursive;font-size:1rem;letter-spacing:1px;background:var(--b);padding:.2rem .8rem;text-decoration:none;border:2px solid #fff;transition:opacity .2s}
#sticky-bar a:hover{opacity:.8}
#sticky-bar-close{background:none;border:none;color:#fff;font-size:1.2rem;cursor:pointer;margin-left:.5rem;line-height:1;opacity:.7}
#sticky-bar-close:hover{opacity:1}
/* EXIT INTENT */
#exit-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:700;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s;padding:1rem}
#exit-overlay.open{opacity:1;pointer-events:auto}
.exit-box{background:var(--y);border:var(--border);box-shadow:var(--shadow-lg);max-width:480px;width:100%;padding:2.5rem;text-align:center;position:relative}
.exit-box h2{font-family:'Bangers',cursive;font-size:2.5rem;letter-spacing:2px;margin-bottom:.75rem}
.exit-box p{font-size:1rem;font-weight:700;opacity:.8;margin-bottom:1.5rem;line-height:1.5}
.exit-box .btn-primary{font-size:1.2rem;padding:.6rem 1.8rem}
.exit-dismiss{display:block;margin-top:1rem;font-size:.8rem;opacity:.5;cursor:pointer;background:none;border:none;font-family:'Nunito',sans-serif;text-decoration:underline}
.exit-dismiss:hover{opacity:.8}
.exit-close{position:absolute;top:.75rem;right:.75rem;background:var(--b);color:var(--y);border:none;font-size:1rem;width:30px;height:30px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:900}
/* ORDER SUMMARY */
.order-summary{background:var(--b);color:var(--w);padding:1rem 1.5rem;margin-top:1rem;display:none;border:2px solid var(--b)}
.order-summary.visible{display:block}
.order-summary-title{font-family:'Bangers',cursive;font-size:1rem;letter-spacing:2px;color:var(--y);margin-bottom:.5rem;text-transform:uppercase}
.order-summary-row{display:flex;justify-content:space-between;font-size:.9rem;padding:.2rem 0;border-bottom:1px solid #2a2a2a}
.order-summary-row:last-child{border:none;font-weight:900;font-size:1rem;color:var(--y);margin-top:.25rem}
/* COOKIE BANNER */
#cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--b);color:var(--w);z-index:800;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;border-top:3px solid var(--y);transform:translateY(100%);transition:transform .4s ease}
#cookie-banner.show{transform:translateY(0)}
#cookie-banner p{font-size:.85rem;opacity:.8;max-width:700px;line-height:1.5}
#cookie-banner p a{color:var(--y);text-decoration:underline;cursor:pointer}
.cookie-btns{display:flex;gap:.75rem;flex-shrink:0}
.cookie-accept{background:var(--y);color:var(--b);font-family:'Bangers',cursive;font-size:1rem;letter-spacing:1px;padding:.35rem 1.2rem;border:2px solid var(--y);cursor:pointer;transition:opacity .2s}
.cookie-accept:hover{opacity:.85}
.cookie-reject{background:transparent;color:#888;font-size:.8rem;padding:.35rem .8rem;border:2px solid #444;cursor:pointer;font-family:'Nunito',sans-serif;transition:border-color .2s}
.cookie-reject:hover{border-color:#888;color:#ccc}

/* HERO TRUST BADGE */
.hero-trust{margin-top:1rem}
.hero-trust-badge{display:inline-flex;align-items:center;gap:.4rem;background:rgba(0,0,0,.12);border:2px solid rgba(0,0,0,.25);padding:.35rem .9rem;font-size:.85rem;font-weight:900;letter-spacing:.03em}
/* MOBILE STICKY CTA */
.mobile-cta-bar{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--b);color:var(--y);font-family:'Bangers',cursive;font-size:1.5rem;letter-spacing:2px;text-align:center;padding:1rem;text-decoration:none;z-index:85;border-top:3px solid var(--y);box-shadow:0 -4px 12px rgba(0,0,0,.3)}
@media(max-width:768px){
  .mobile-cta-bar{display:block}
  body{padding-bottom:60px}
}
/* SOCIAL PROOF BAR */
.social-proof-bar{display:flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:.8rem;font-weight:700;opacity:.7}
.sp-dot{width:8px;height:8px;border-radius:50%;background:var(--g);animation:blink 2s infinite;flex-shrink:0}
/* GUIDE SEO GRID */
.guide-seo-section{background:#f5f2e3;padding:5rem}
.guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-top:2rem}
.guide-card{display:block;text-decoration:none;color:var(--b);border:var(--border);box-shadow:var(--shadow);background:var(--w);padding:1.5rem;transition:transform .2s,box-shadow .2s}
.guide-card:hover{transform:translate(-3px,-3px);box-shadow:var(--shadow-lg)}
.guide-icon{font-size:2rem;margin-bottom:.6rem}
.guide-title{font-family:'Bangers',cursive;font-size:1.3rem;letter-spacing:1px;margin-bottom:.3rem}
.guide-desc{font-size:.85rem;opacity:.65;line-height:1.5}
@media(max-width:768px){.guide-seo-section{padding:3rem 1.5rem}}
/* ── v8 ADDITIONS ─────────────────────────────────────── */

/* Focus visible — keyboard navigation indicator */
:focus-visible{outline:3px solid var(--y);outline-offset:2px}
a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}

/* Safe-area insets — iPhone notch / home bar */
.wa-fab{bottom:calc(1.5rem + env(safe-area-inset-bottom,0px))}
#back-top{bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}
#cookie-banner{padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px))}

/* Privacy consent checkbox */
.privacy-wrap{margin-top:.75rem}
.form-group .privacy-label{font-size:.85rem;text-transform:none;letter-spacing:0;font-weight:700;display:flex;align-items:flex-start;gap:.6rem;cursor:pointer;line-height:1.5}
.privacy-label input[type="checkbox"]{width:18px;height:18px;min-width:18px;accent-color:var(--b);cursor:pointer;margin-top:.15rem;flex-shrink:0}
.link-btn{background:none;border:none;padding:0;font-size:inherit;font-family:inherit;font-weight:900;text-decoration:underline;cursor:pointer;color:inherit;display:inline}

/* Cookie banner inline policy link (replaces inline style) */
.cookie-policy-btn{color:var(--y);text-decoration:underline;background:none;border:none;cursor:pointer;font-size:inherit;padding:0;font-family:inherit}

/* Testimonial avatar */
.testi-avatar{width:44px;height:44px;border-radius:50%;background:var(--av-color,var(--y));color:var(--b);font-family:'Bangers',cursive;font-size:1.4rem;letter-spacing:1px;display:flex;align-items:center;justify-content:center;margin-bottom:.75rem;border:3px solid var(--b);box-shadow:3px 3px 0 var(--b)}
/* Social footer */
.footer-social{display:flex;gap:1.2rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap}
.social-link{display:inline-flex;align-items:center;gap:.4rem;color:#777;font-size:.8rem;font-weight:700;text-decoration:none;letter-spacing:.05em;text-transform:uppercase;transition:color .2s}
.social-link:hover{color:var(--y)}
/* Confetti */
.confetti-piece{position:fixed;z-index:9999;pointer-events:none;animation:confetti-fly 1.4s cubic-bezier(.25,.46,.45,.94) forwards}
@keyframes confetti-fly{0%{transform:translate(0,0) rotate(0deg);opacity:1}80%{opacity:.9}100%{transform:translate(var(--dx),var(--dy)) rotate(var(--rot));opacity:0}}
/* Submit success panel */
.submit-success-panel{margin-top:1rem;padding:1rem 1.5rem;background:#f0fff4;border:2px solid var(--g);font-size:.9rem;line-height:1.6;text-align:center}
.submit-success-panel a{color:var(--b);font-weight:900}
/* Stesso pannello, colori d'allarme: un errore d'invio non deve sembrare un successo. */
.submit-error-panel{background:#fff5f5;border-color:var(--r)}
.ssp-alt{display:block;margin-top:.4rem;opacity:.7;font-size:.82rem}
/* Generated SEO pages */
.seo-page{max-width:920px;margin:0 auto;padding:2rem 1rem 4rem}
.seo-back{margin-bottom:.75rem}
.seo-lang-switch{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1rem}
.seo-lang-link{display:inline-block;padding:.2rem .55rem;border:2px solid var(--b);background:#fff;color:var(--b);text-decoration:none;font-size:.82rem;font-weight:800}
.seo-lang-link.seo-lang-active{background:var(--y)}
.seo-block{margin-top:1.25rem}
.seo-faq-item{margin-bottom:.9rem}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
  .confetti-piece { display: none !important; }
}
.seo-cta{margin-top:2rem}
.seo-inner-nav{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:2rem;padding-top:1.5rem;border-top:2px solid #eee}
.seo-inner-nav a{display:inline-block;padding:.3rem .8rem;border:2px solid var(--b);background:#fff;color:var(--b);text-decoration:none;font-size:.82rem;font-weight:800;transition:background .15s}
.seo-inner-nav a:hover{background:var(--y)}
