:root{--navy:#164a72;--blue:#166ba7;--aqua:#6cbdc6;--ice:#e9f5fa;--ink:#14334f;--muted:#54768e;--line:#dceaf1}*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Arial;color:var(--ink);background:#f3f8fb}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #58b8d5;outline-offset:2px}.app{max-width:1100px;min-height:100vh;margin:auto;background:#fff;box-shadow:0 8px 60px #164a7210;padding-bottom:88px}.top{height:96px;display:flex;align-items:center;justify-content:space-between;padding:10px 25px;background:white;position:relative;z-index:5}.brand img{height:87px;width:min(320px,62vw);object-fit:contain}.iconbtn{border:0;background:#eaf6fc;color:var(--navy);border-radius:50%;height:43px;width:43px;font-size:24px}.drawer{position:fixed;z-index:20;top:0;bottom:0;width:min(330px,88vw);background:white;box-shadow:5px 0 35px #102f5144;padding:20px;display:flex;flex-direction:column;gap:8px}.drawer button:not(.iconbtn){background:#f0f8fc;text-align:left;border:0;border-radius:13px;padding:13px;color:var(--navy)}.drawerhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.shade{position:fixed;inset:0;background:#102f5166;z-index:15}.hidden{display:none!important}main{padding:0 25px 30px}.hero{background:linear-gradient(125deg,#dff3fb,#f5fbff 60%,#c6edf4);border-radius:30px;padding:34px;position:relative;overflow:hidden;min-height:285px}.hero:after{content:'◉';position:absolute;right:5%;top:5%;font-size:210px;color:#76bed023;line-height:1}.eyebrow{font-size:13px;font-weight:800;letter-spacing:2px;color:var(--blue)}h1{font-size:clamp(30px,4vw,50px);line-height:1.12;margin:14px 0;color:#102f51;letter-spacing:-1px}h2{font-size:26px;line-height:1.2;margin:10px 0 20px}h3{margin:0 0 8px}p{margin:8px 0;color:var(--muted)}.hero p{max-width:540px;font-size:18px}.btn{background:linear-gradient(100deg,#0c76b9,#164a72);border:0;border-radius:15px;color:white;padding:13px 20px;font-weight:750;display:inline-block;text-decoration:none}.btn.secondary{background:#e8f5fb;color:var(--navy)}.btn:disabled{opacity:.5;cursor:not-allowed}.hero .btn{margin-top:14px}.section{margin:24px 0}.promo{background:linear-gradient(135deg,#eaf7fc,#fff);border:1px solid var(--line);border-radius:25px;padding:24px;box-shadow:0 5px 20px #164a720a}.promotitle{font-size:13px;color:var(--blue);font-weight:800;letter-spacing:1px}.discounts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0}.discount{border-radius:17px;padding:16px 10px;color:white;text-align:center;background:linear-gradient(135deg,#1c95bd,#164a72)}.discount b{display:block;font-size:clamp(30px,5vw,53px);line-height:1.2}.discount small{display:block;font-size:12px;font-weight:700}.birthday{background:linear-gradient(120deg,#fff0f3,#fffafd);border:1px solid #ffd7e2;border-radius:22px;padding:23px;display:flex;align-items:center;justify-content:space-between;gap:16px}.birthday strong{font-size:36px;color:#d13b6a}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.tile{border:1px solid var(--line);border-radius:19px;background:#fff;text-align:left;padding:20px;min-height:140px;color:var(--ink)}.tile .emoji{font-size:27px;display:block;margin-bottom:12px}.tile strong{display:block}.tile small{color:var(--muted)}.contacts{background:var(--ice);border-radius:18px;padding:17px;display:flex;gap:18px;flex-wrap:wrap;justify-content:space-between}.contacts a{color:var(--navy);font-size:14px;text-decoration:none;font-weight:650}.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;margin:15px 0}.field{display:flex;flex-direction:column;gap:6px;margin:14px 0}.field label{font-size:13px;font-weight:750}.field input,.field select,.field textarea{border:1px solid #c9dfe9;border-radius:12px;padding:12px;width:100%;background:white;color:var(--ink)}.steps{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.steps span{padding:7px 11px;border-radius:100px;background:var(--ice);color:var(--navy);font-size:12px}.steps .active{background:var(--navy);color:white}.choice{display:block;text-align:left;border:1px solid var(--line);border-radius:13px;padding:14px;background:#fff;color:var(--ink);width:100%;margin:8px 0}.choice.active{border:2px solid #1689bd;background:#eaf8fc}.row{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.tag{display:inline-block;background:#e6f6ef;color:#18794e;padding:5px 10px;border-radius:30px;font-size:12px;font-weight:750}.note{font-size:12px;color:#6a8294}.bottom{position:fixed;z-index:8;bottom:0;left:50%;transform:translateX(-50%);max-width:1100px;width:100%;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:space-around;padding:8px}.bottom button{background:none;border:0;color:var(--navy);font-size:24px;display:flex;flex-direction:column;align-items:center}.bottom small{font-size:11px}.back{border:0;background:none;color:var(--blue);font-weight:700;margin:10px 0}.alert{background:#eaf7fc;border-radius:15px;padding:15px;margin:12px 0}.coupon{border:2px dashed #d13b6a;border-radius:17px;text-align:center;padding:25px;background:#fff7fa}.coupon b{font-size:56px;color:#d13b6a}.empty{background:#f3f8fb;border-radius:16px;padding:22px;color:var(--muted)}@media(max-width:650px){.top{height:78px;padding:6px 12px}.brand img{height:70px;width:220px}main{padding:0 14px 25px}.hero{padding:25px 20px;min-height:260px}.hero:after{font-size:135px;top:35%}.hero p{font-size:15px}.tiles{grid-template-columns:repeat(2,1fr)}.tile{padding:14px;min-height:125px}.contacts{flex-direction:column;gap:10px}.promo{padding:18px}.birthday{padding:17px}.discount b{font-size:36px}.panel{padding:17px}}@media(max-width:350px){.brand img{width:175px}.discount b{font-size:28px}}

/* V4: home fedele alla schermata di riferimento */
:root{--navy:#164a72;--blue:#147cb4;--aqua:#6cbdc6;--ice:#e9f5fa}body{background:#fff}.app{max-width:1100px;box-shadow:none}.top{height:160px;padding:12px 4.5%}.brand img{height:140px;width:min(520px,65vw)}.top .iconbtn:first-child{background:transparent;font-size:29px}.top .iconbtn:last-child{width:64px;height:64px;font-size:32px}main{padding:0 0 30px}.hero-v4{position:relative;min-height:700px;overflow:hidden;border-radius:40px;background:linear-gradient(140deg,#d7f0fd 0%,#e9f8ff 43%,#a7e0fa 100%);padding:45px 5% 25px}.hero-photo{position:absolute;top:0;right:0;width:49%;height:100%;background-image:linear-gradient(90deg,#d7f0fd 0%,transparent 26%),url('hero-modella.png');background-size:cover;background-position: center top;opacity:.98}.hero-intro{position:relative;z-index:1;max-width:650px}.hero-intro .eyebrow{font-size:16px;color:#133d5e;letter-spacing:4px}.hero-intro h1{font-size:clamp(38px,5.3vw,66px);line-height:1.05;margin:18px 0 10px;color:#0b2948}.hero-intro h1 em{font-style:normal;color:#0986c4}.hero-intro p{font-size:21px;max-width:500px;color:#53718a}.hero-intro .btn{margin-top:12px;font-size:19px;padding:17px 24px;border-radius:16px;background:#1085be}.hero-offers{display:flex;align-items:end;gap:25px;position:relative;z-index:2;margin-top:115px}.hero-promo{width:min(590px,65%);background:#f7fbffeb;border:3px solid white;border-radius:28px;padding:19px 26px;text-align:center;box-shadow:0 8px 30px #245f8420}.hero-promo>span{font-weight:800;color:#086ba7;font-size:18px}.hero-promo h2{font-size:37px;margin:0 0 10px;color:#0a2747}.hero-promo .discounts{margin:10px 0 16px;gap:8px}.hero-promo .discount{background:linear-gradient(135deg,#119bd3,#00599c);padding:14px 6px}.hero-promo .discount.pink{background:linear-gradient(135deg,#ff7894,#f74b73)}.hero-promo .discount b{font-size:clamp(35px,5vw,65px)}.hero-promo .discount small{font-size:12px}.hero-promo .btn{border-radius:30px;background:#0579b9;padding:12px 24px}.hero-gift{margin-left:auto;width:260px;background:#fff9fd;border-radius:24px;text-align:center;padding:22px 12px;box-shadow:0 8px 24px #4a61742a;display:flex;flex-direction:column;align-items:center;gap:3px}.gift-icon{font-size:35px}.hero-gift b{font-size:19px;color:#ef3668}.hero-gift span{font-size:16px}.hero-gift strong{font-size:64px;line-height:1.1;color:#ef3668}.hero-gift small{background:#ffe4ec;color:#d32b59;padding:5px 14px;border-radius:30px}.hero-gift button{border:0;background:none;color:#d32b59;font-weight:700;margin-top:8px}.contacts{margin:24px 3%;padding:24px;background:#e8f6fd;border-radius:26px;justify-content:space-around}.contacts span,.contacts a{font-size:16px}.tiles{margin:24px 3%;grid-template-columns:repeat(3,1fr);gap:20px}.tile{position:relative;min-height:190px;border-radius:25px;padding:26px}.tile .emoji{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:#e2f4ff;font-size:32px}.tile:nth-child(2) .emoji,.tile:nth-child(4) .emoji{background:#fff0f4}.tile strong{font-size:20px}.tile small{font-size:15px}.tile-arrow{position:absolute;right:20px;bottom:20px;background:#e2f4ff;color:#006b9c;border-radius:50%;width:35px;height:35px;text-align:center;font-size:28px;line-height:31px}.panel,.birthday,.promo{margin-left:4%;margin-right:4%}@media(max-width:700px){.top{height:95px;padding:8px 12px}.brand img{height:85px;width:65vw}.top .iconbtn:last-child{width:45px;height:45px;font-size:24px}.hero-v4{border-radius:25px;min-height:670px;padding:25px 18px}.hero-photo{width:70%;height:370px;right:-10%;opacity:.55;background-position:center top}.hero-intro .eyebrow{font-size:11px;letter-spacing:2px}.hero-intro h1{font-size:37px;max-width:320px}.hero-intro p{font-size:16px;max-width:270px}.hero-intro .btn{font-size:14px;padding:12px}.hero-offers{margin-top:150px;flex-direction:column;align-items:stretch;gap:12px}.hero-promo{width:100%;padding:15px}.hero-promo>span{font-size:14px}.hero-promo h2{font-size:27px}.hero-promo .discount b{font-size:42px}.hero-promo .discount small{font-size:10px}.hero-gift{width:100%;padding:12px}.hero-gift strong{font-size:48px}.contacts{gap:14px;flex-direction:column;padding:16px}.tiles{grid-template-columns:repeat(2,1fr);gap:10px}.tile{padding:14px;min-height:155px}.tile .emoji{width:48px;height:48px;font-size:25px}.tile strong{font-size:15px}.tile small{font-size:12px}.tile-arrow{right:9px;bottom:10px;width:24px;height:24px;font-size:20px;line-height:22px}}

/* V5: rimosso fiocco decorativo; il regalo è comunicato solo tramite testo */
.hero-gift{justify-content:center;min-height:230px}
.hero-uploaded{display:block;width:100%;height:auto;max-height:380px;object-fit:contain;border-radius:15px;margin:12px auto;background:white}
.promo-uploaded{display:block;width:100%;height:auto;max-height:850px;object-fit:contain;margin:14px auto;border-radius:15px}
.order-timeline{display:grid;gap:8px;margin:18px 0}
.order-step{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid #dceaf1;border-radius:13px;color:#8295a4}
.order-step.done{background:#ecf8fc;border-color:#a6dce9;color:#164a72}
.order-dot{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#e8eff4;flex-shrink:0}
.order-step.done .order-dot{background:#167da9;color:white}
.order-step b{font-size:12px;margin-left:auto;color:#167da9}

/* V6: cropped photo contains no baked-in gift; do not zoom into lower edge */
.hero-photo{background-position:center top;background-size:cover}
@media(min-width:701px){.hero-photo{background-size:cover}}
.order-step.done .order-dot{background:#087fbb;color:#fff;font-weight:800}

.checkline{display:flex;gap:10px;align-items:flex-start;margin:12px 0;color:#254a66;font-size:14px}.checkline input{margin-top:5px;accent-color:#087eb8}.checkline a{color:#067cba}.birthday-surprise{position:relative;overflow:hidden;margin:16px auto;border-radius:28px;padding:38px 25px 34px;max-width:700px;text-align:center;background:radial-gradient(circle at 15% 12%,#ffe4ee,transparent 45%),radial-gradient(circle at 90% 95%,#e7f8ff,transparent 48%),linear-gradient(135deg,#fff,#fff3f8);border:1px solid #f8cfdf;box-shadow:0 15px 45px #e976991c}.birthday-kicker{font-size:12px;letter-spacing:3px;color:#af5d80;font-weight:800}.birthday-confetti{color:#e65e91;font-size:30px;letter-spacing:22px;margin:14px 0}.birthday-surprise h2{font-size:clamp(29px,5vw,45px);color:#bf3566;margin:12px 0}.birthday-surprise p{color:#78566b}.birthday-number{font-size:clamp(100px,18vw,165px);font-weight:900;line-height:1;color:#ef3d79;letter-spacing:-10px;text-shadow:0 8px 25px #f28cb533}.birthday-number span{font-size:.58em}.birthday-surprise h3{font-size:25px;color:#bd3566;letter-spacing:4px}.birthday-surprise .birthday-detail{font-size:18px;line-height:1.6;color:#14334f}.birthday-dates{display:inline-block;border-radius:30px;background:#ffdfeb;padding:12px 25px;color:#af2c61;font-weight:750;margin:16px 0}.birthday-surprise .birthday-terms{font-size:12px}.birthday-code{font-size:12px;letter-spacing:1px;color:#9e6d84;margin:16px 0}.birthday-surprise .btn{background:linear-gradient(100deg,#ef3d79,#b72e67)}

/* Demo V8 - accesso e recupero password simulati */
.auth-panel{max-width:650px;margin-left:auto;margin-right:auto}
.auth-helper{margin:14px 0 4px;font-size:14px}
.text-link{background:none;border:0;padding:0;color:#126c9a;text-decoration:underline;cursor:pointer;font:inherit;font-weight:650}
.text-link:hover{color:#084c78}

/* V9: solo pagine prenotazione e agenda, grafica V8 preservata */
.v9-panel{max-width:920px}.v9-warning{padding:13px 16px;background:#fff5df;border:1px solid #f0d8a2;border-radius:14px;color:#74542b;font-size:13px}.v9-grow{flex:1;min-width:190px}.v9-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:9px;margin:15px 0 24px}.v9-slot{background:#edf8fd;border:1px solid #b5ddea;color:#164a72;border-radius:12px;padding:12px;font-weight:750}.v9-slot.on{background:#147cb4;color:white;border-color:#147cb4}.v9-panel h3{margin-top:24px}.v9-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}.v9-tabs button{background:#eaf6fc;border:0;border-radius:12px;padding:10px 15px;color:#164a72}.v9-tabs button.on{background:#164a72;color:white}.v9-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.v9-stats>div{display:flex;flex-direction:column;align-items:center;background:#eaf6fc;padding:13px;border-radius:13px}.v9-stats b{font-size:28px}.v9-stats small{font-size:12px;color:#54768e}.v9-agenda{margin:18px 0}.v9-line{display:flex;gap:9px;align-items:center;border-bottom:1px solid #dceaf1;padding:10px 0;flex-wrap:wrap}.v9-line>b{width:52px}.v9-line>div{flex:1;min-width:145px;display:flex;flex-direction:column}.v9-line small{color:#54768e;font-size:12px}.v9-mini{background:#eaf6fc;border:1px solid #c4e4f2;color:#164a72;border-radius:9px;padding:7px;font-size:12px}.v9-history{display:flex;flex-direction:column;gap:3px;border-bottom:1px solid #dceaf1;padding:12px 0}.v9-history small{color:#54768e}@media(max-width:600px){.v9-line{gap:5px}.v9-mini{font-size:11px}.v9-panel h3{margin-top:20px}}

/* V10 area riservata, grafica coerente con V8/V9 */
.v10-wrap{padding:20px 16px 85px;max-width:820px;margin:auto}.v10-heading{display:flex;align-items:center;gap:14px;padding:14px 0 20px;color:#174d70;font-size:12px;font-weight:800;letter-spacing:.09em}.v10-heading img{width:130px;max-height:54px;object-fit:contain}.v10-notice{background:#eaf4fa;border:1px solid #c5e0ee;border-radius:14px;padding:12px 15px;font-size:13px;line-height:1.5;color:#164c6b;margin-bottom:20px}.v10-wrap h2{font-size:27px;color:#123f60;margin:10px 0 22px}.v10-password{display:flex;gap:8px}.v10-password input{flex:1;min-width:0}.v10-password button{width:auto;flex-shrink:0}.v10-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:18px}.v10-toolbar span{margin-right:auto;font-size:14px}.v10-toolbar button{width:auto}.v10-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:20px}.v10-tile{border:1px solid #dceaf1;border-radius:17px;background:#fff;box-shadow:0 3px 12px #164a720d;padding:18px;text-align:left;display:flex;flex-direction:column;gap:9px;min-height:174px;cursor:pointer;color:#174665}.v10-tile:hover{border-color:#5ca5c8;background:#f4fbff}.v10-icon{font-size:25px;color:#277ca8}.v10-tile strong{font-size:16px}.v10-tile small{font-size:12px;line-height:1.4;color:#617889}.v10-arrow{font-size:12px;font-weight:800;margin-top:auto;color:#187eb2}@media(max-width:450px){.v10-tiles{gap:9px}.v10-tile{padding:13px;min-height:170px}.v10-tile strong{font-size:14px}.v10-wrap h2{font-size:23px}}
