:root{--bg:#101211;--card:#171a18;--card2:#1d211e;--text:#f2f0e9;--muted:#a7afa8;--line:#303732;--sage:#9fb9a8;--sage2:#bed0c3;--danger:#d8a5a5;--shadow:0 24px 70px #00000047}*{box-sizing:border-box}html{background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:radial-gradient(circle at 50% -20%,#253028 0,transparent 42%),var(--bg);color:var(--text);min-height:100vh;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit}.shell{max-width:980px;margin:0 auto;padding:36px 22px 64px}.brand{justify-content:space-between;align-items:center;margin-bottom:38px;display:flex}.brandmark{letter-spacing:-.03em;font-size:20px;font-weight:800}.brandmark span{color:var(--sage)}.smalllink{color:var(--muted);font-size:13px;text-decoration:none}.hero{max-width:700px;margin:0 0 30px}.eyebrow{color:var(--sage2);text-transform:uppercase;letter-spacing:.12em;font-size:13px;font-weight:700}.hero h1{letter-spacing:-.065em;margin:12px 0 18px;font-size:clamp(44px,7vw,78px);line-height:.95}.hero h1 em{color:#d6d7d0;font-family:Georgia,serif;font-weight:400}.lead{color:var(--muted);max-width:580px;font-size:18px;line-height:1.55}.panel{border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#171a18e0;border-radius:24px;padding:22px}.grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 14px;font-size:14px}.dates{gap:9px;padding-bottom:4px;display:flex;overflow:auto}.datebtn,.slotbtn,.secondary,.primary,.choice{border:1px solid var(--line);color:var(--text);cursor:pointer;font:inherit;background:#171a18;border-radius:14px;padding:12px 14px}.datebtn.active,.slotbtn.active,.choice.active{border-color:var(--sage);box-shadow:0 0 0 1px var(--sage) inset}.datebtn{text-align:left;min-width:82px}.datebtn strong{font-size:16px;display:block}.datebtn span{color:var(--muted);font-size:12px}.slots{flex-wrap:wrap;gap:9px;display:flex}.slotbtn{min-width:78px}.primary{background:var(--sage);border-color:var(--sage);color:#111713;font-weight:800}.primary:hover{background:var(--sage2)}.secondary{background:0 0}.actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.helpbox{border-top:1px solid var(--line);margin-top:22px}.helpblock{padding:20px 0}.helpblock+.helpblock{border-top:1px solid var(--line)}.helpblock h3{margin:0 0 7px;font-size:20px}.helpblock p{color:var(--muted);margin:0 0 13px;line-height:1.45}.waitcta{background:var(--sage);color:#111713;border-radius:12px;padding:11px 15px;font-weight:800;text-decoration:none;display:inline-flex}.whatsapp{border:1px solid var(--line);border-radius:12px;padding:10px 14px;text-decoration:none;display:inline-flex}.formgrid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.field{flex-direction:column;gap:7px;display:flex}.field.full{grid-column:1/-1}label{color:var(--muted);font-size:13px}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--text);font:inherit;background:#111412;border-radius:12px;outline:none;padding:12px 13px}input:focus,select:focus,textarea:focus{border-color:var(--sage)}.checkrow{color:var(--muted);align-items:flex-start;gap:9px;margin-top:12px;font-size:13px;line-height:1.4;display:flex}.checkrow input{width:auto;margin-top:3px}.checkrow a{text-decoration:underline}.choices{grid-template-columns:1fr 1fr;gap:10px;display:grid}.choice{text-align:left}.choice strong,.choice span{display:block}.choice span{color:var(--muted);margin-top:4px;font-size:12px}.badge{color:var(--sage2);background:#243027;border-radius:999px;margin-left:7px;padding:4px 8px;font-size:11px;font-weight:800;display:inline-block}.notice{border:1px solid var(--line);color:var(--muted);background:#121613;border-radius:12px;padding:13px 14px;font-size:13px;line-height:1.4}.error{color:#f1b3b3;margin-top:12px}.success{color:var(--sage2)}.footer{color:#758078;justify-content:center;gap:14px;margin-top:32px;font-size:12px;display:flex}.admin-shell{max-width:1180px;margin:0 auto;padding:28px}.admin-top{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.admin-grid{grid-template-columns:2fr 1fr;gap:18px;display:grid}.list{flex-direction:column;gap:9px;display:flex}.item{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:14px}.itemhead{justify-content:space-between;gap:12px;display:flex}.item strong{font-size:15px}.meta{color:var(--muted);margin-top:4px;font-size:12px}.pill{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:5px 8px;font-size:11px}.btnrow{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.mini{border:1px solid var(--line);color:var(--text);font:inherit;cursor:pointer;background:#111412;border-radius:9px;padding:7px 9px;font-size:12px}.tabs{gap:7px;margin-bottom:16px;display:flex;overflow:auto}.tab{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:8px 12px}.tab.active{background:var(--sage);color:#111713;border-color:var(--sage)}.login{max-width:420px;margin:100px auto;padding:24px}.legal{max-width:760px;margin:0 auto;padding:42px 22px 70px}.legal h1{letter-spacing:-.04em;font-size:42px}.legal h2{margin-top:28px;font-size:19px}.legal p,.legal li{color:#c2c7c3;line-height:1.65}.legal .back{color:var(--sage2)}@media (max-width:720px){.shell{padding:24px 16px 48px}.brand{margin-bottom:28px}.grid,.admin-grid,.formgrid,.choices{grid-template-columns:1fr}.field.full{grid-column:auto}.hero h1{font-size:52px}.panel{border-radius:20px;padding:17px}.admin-shell{padding:18px 12px}.admin-top{align-items:flex-start;gap:12px}.actions>.primary,.actions>.secondary{width:100%}}.shell.embed{max-width:900px;padding-top:12px}.shell.embed .panel{box-shadow:none}.booking-shell{color:#f6f5ef;background:radial-gradient(circle at 37% 20%,#183020 0,#0000 35%),#07100b;min-height:100vh;padding:0 4vw}.site-header,.booking-footer{border-bottom:1px solid #203128;justify-content:space-between;align-items:center;height:82px;display:flex}.studio-brand{font-size:15px;font-weight:800}.studio-brand small{color:#8dbb70;letter-spacing:.2em;margin-top:3px;font-size:10px;display:block}.header-actions{color:#9aa59e;align-items:center;gap:24px;font-size:12px;display:flex}.header-actions span{color:#a5cc83}.header-actions a{color:#f6f5ef;border:1px solid #3a4a40;border-radius:999px;padding:11px 15px;text-decoration:none}.booking-layout{grid-template-columns:.82fr 1.18fr;align-items:center;gap:90px;max-width:1180px;min-height:calc(100vh - 164px);margin:0 auto;padding:74px 0;display:grid}.booking-hero{padding:25px 0}.section-kicker{color:#91c36f;letter-spacing:.19em;margin-bottom:17px;font-size:10px;font-weight:800}.booking-hero h1{letter-spacing:-.085em;margin:0;font-size:clamp(58px,7.8vw,112px);line-height:.92}.booking-hero h1 em{font-family:Georgia,serif;font-weight:400}.booking-hero p{color:#a7aea8;max-width:315px;margin-top:30px;font-size:16px;line-height:1.55}.booking-card{background:linear-gradient(135deg,#152419fa,#0a140efa);border:1px solid #293b2e;border-radius:27px;overflow:hidden;box-shadow:0 32px 90px #0000004d}.booking-protected{color:#b0d69a;letter-spacing:.15em;background:#89bd681a;padding:13px 33px;font-size:9px;font-weight:800}.progress{color:#77827b;border-bottom:1px solid #203128;grid-template-columns:repeat(3,1fr);gap:14px;padding:14px 34px;font-size:10px;font-weight:700;display:grid}.progress div{align-items:center;gap:7px;display:flex}.progress b{border:1px solid #405045;border-radius:50%;place-items:center;width:19px;height:19px;font-size:10px;display:grid}.progress .done{color:#f4f3ed}.progress .done b{color:#102013;background:#93c66f;border-color:#93c66f}.booking-step{padding:35px 34px 31px}.booking-step h2{letter-spacing:-.06em;margin:0 0 28px;font-size:clamp(27px,3vw,42px);line-height:1}.step-heading{justify-content:space-between;align-items:flex-start;display:flex}.calendar-toggle,.back-button{color:#aeb8b0;cursor:pointer;font:inherit;background:0 0;border:0;font-size:11px}.calendar-toggle{border:1px solid #405646;border-radius:999px;padding:9px 12px}.calendar-box{padding:9px 0 17px}.day-strip{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.day-strip button,.time-grid button,.visit-types button,.channel-types button,.payment-types button{font:inherit;color:#e9ede8;cursor:pointer;background:#101a13;border:1px solid #263a2c}.day-strip button{border-radius:12px;padding:11px 5px}.day-strip small,.day-strip b{display:block}.day-strip small{color:#88928a;text-transform:uppercase;font-size:9px}.day-strip b{margin-top:3px;font-size:14px}.day-strip .selected,.time-grid .selected,.visit-types .selected,.channel-types .selected,.payment-types .selected{background:#16261a;border-color:#78aa59;box-shadow:inset 0 0 0 1px #78aa59}.availability-title{justify-content:space-between;margin:24px 0 11px;font-size:11px;display:flex}.availability-title span{color:#748078}.time-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.time-grid button{border-radius:10px;padding:12px;font-weight:700}.wide-cta{color:#142116;cursor:pointer;background:#f6f3ed;border:0;border-radius:999px;justify-content:space-between;align-items:center;width:100%;margin-top:23px;padding:15px 20px;font-weight:800;display:flex}.wide-cta:disabled{opacity:.38;cursor:not-allowed}.booking-help{border-top:1px solid #26362b;margin-top:25px}.booking-help>div{padding:19px 0}.booking-help>div+div{border-top:1px solid #26362b}.booking-help h3{margin:0 0 7px;font-size:16px}.booking-help p{color:#909a92;margin:0 0 13px;font-size:12px;line-height:1.5}.sage-button,.outline-button{border-radius:9px;padding:10px 13px;font-size:11px;font-weight:800;text-decoration:none;display:inline-block}.sage-button{color:#102112;background:#95c36f}.outline-button{color:#eef0e9;border:1px solid #415146}.field-label{letter-spacing:.14em;color:#809080;margin:23px 0 10px;font-size:9px;font-weight:800}.visit-types,.payment-types{grid-template-columns:1fr 1fr;gap:10px;display:grid}.visit-types button,.payment-types button{text-align:left;border-radius:12px;padding:13px}.visit-types b,.visit-types span,.payment-types b,.payment-types span{display:block}.visit-types b,.payment-types b{font-size:13px}.visit-types span,.payment-types span{color:#879288;margin-top:3px;font-size:10px}.booking-form{grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;display:grid}.booking-form label{color:#a4ada5;font-size:10px}.booking-form input{background:#0d160f;border-color:#283a2d;border-radius:9px;margin-top:6px;padding:12px;display:block}.channel-types{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.channel-types button{border-radius:10px;padding:12px;font-size:11px}.large-check{color:#9fa9a1;align-items:flex-start;gap:9px;margin-top:18px;font-size:11px;line-height:1.4;display:flex}.large-check input{width:auto;margin:1px 0 0}.large-check a{color:#f0f0ea}.policy{border:1px solid #263a2c;border-radius:10px;padding:14px}.booking-summary{border:1px solid #2a3b2e;border-radius:12px;margin:-10px 0 20px;padding:14px}.booking-summary>*{display:block}.booking-summary span{color:#91c36f;font-size:10px}.booking-summary strong{margin:4px 0;font-size:14px}.booking-summary small{color:#7b867d;font-size:10px}.payment-types{grid-template-columns:1fr}.payment-types em{color:#dbe9d3;float:right;background:#526d49;border-radius:999px;padding:4px 6px;font-size:8px;font-style:normal}.payment-note{border-top:1px solid #263a2c;margin-top:18px;padding-top:17px;font-size:11px}.payment-note small{color:#89948b}.confirmation p{color:#a8b1a9;line-height:1.55}.booking-footer{color:#758078;border-top:1px solid #203128;border-bottom:0;height:58px;font-size:10px}.booking-footer a{color:#abb4ac}.booking-shell.embed{background:#08110b;padding:0}.booking-shell.embed .booking-layout{max-width:none;min-height:0;padding:0;display:block}.booking-shell.embed .booking-card{border-left:0;border-right:0;border-radius:0}.admin-shell{background:#08110b;max-width:none;min-height:100vh;padding:0}.admin-top{border-bottom:1px solid #203128;height:82px;margin:0;padding:0 4vw}.admin-top h1{letter-spacing:.14em;text-transform:uppercase;color:#91c36f;font-size:12px}.admin-top .eyebrow{letter-spacing:-.04em;text-transform:none;color:#f6f5ef;font-size:16px}.admin-body{grid-template-columns:210px 1fr;min-height:calc(100vh - 82px);display:grid}.admin-nav{border-right:1px solid #203128;padding:30px 20px}.admin-nav small{color:#718076;letter-spacing:.15em;margin:0 10px 16px;font-size:9px;display:block}.admin-nav button{color:#829087;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;width:100%;padding:13px 10px;font-size:12px}.admin-nav button.active{color:#ecf0e9;background:#132218}.admin-main{padding:52px max(32px,5vw)}.admin-heading{justify-content:space-between;align-items:start;margin-bottom:25px;display:flex}.admin-heading h2{letter-spacing:-.07em;margin:5px 0;font-size:clamp(34px,4vw,56px)}.admin-stats{border:1px solid #263a2c;border-radius:16px;grid-template-columns:repeat(4,1fr);margin-bottom:32px;display:grid;overflow:hidden}.admin-stats div{border-right:1px solid #263a2c;padding:20px}.admin-stats div:last-child{border:0}.admin-stats small{color:#839087;font-size:10px;display:block}.admin-stats strong{font-size:27px}.admin-blocker{background:#0d170f;border:1px solid #395038;border-radius:15px;margin-bottom:28px;padding:19px}.admin-blocker h3{margin:0 0 5px;font-size:14px}.admin-blocker p{color:#879288;margin:0 0 14px;font-size:11px}.admin-blocker .actions{justify-content:flex-end;margin:0}.admin-blocker input{max-width:250px;padding:10px}.admin-section-title{margin:0 0 14px;font-size:18px}.item{background:#101a13;border-color:#273b2d;border-radius:14px;padding:17px}.itemhead{align-items:center}.tabs{display:none}.pill{background:#162419;border-color:#3c543e}.admin-shell .notice{background:#111c13;border-color:#2f4633}.mini{color:#e4ebe2;background:#111c13;border-color:#314734}.danger{color:#edaaaa}@media (max-width:850px){.booking-layout{grid-template-columns:1fr;gap:20px;padding:34px 0}.booking-hero{padding:0}.booking-hero h1{font-size:65px}.admin-body{grid-template-columns:1fr}.admin-nav{border-bottom:1px solid #203128;border-right:0;padding:12px;display:flex;overflow:auto}.admin-nav small{display:none}.admin-nav button{min-width:max-content}.admin-main{padding:28px 16px}.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-stats div:nth-child(2){border-right:0}.admin-stats div:nth-child(-n+2){border-bottom:1px solid #263a2c}}@media (max-width:580px){.booking-shell{padding:0 16px}.site-header{height:66px}.header-actions span{display:none}.booking-layout{padding-top:28px}.booking-step{padding:26px 18px}.day-strip{grid-template-columns:repeat(3,1fr)}.day-strip button:nth-child(n+4){display:none}.booking-form,.visit-types{grid-template-columns:1fr}.booking-footer{justify-content:center;gap:8px}.booking-footer span:nth-child(2){display:none}.admin-heading{display:block}.admin-blocker .actions>*{width:100%;max-width:none}}.legal,.login{background:0 0;max-width:760px;min-height:100vh;margin:0 auto;padding:clamp(34px,7vw,84px) 28px}.legal:before,.login:before{content:"STUDIO FISICAMENTE · GALLARATE";color:#91c36f;letter-spacing:.18em;margin-bottom:24px;font-size:10px;font-weight:800;display:block}.legal h1,.login h1{letter-spacing:-.065em;margin:0 0 24px;font-size:clamp(38px,6vw,68px);line-height:.95}.legal h2{color:#dfe9dd;border-top:1px solid #263a2c;margin-top:28px;padding-top:22px}.legal>p,.legal li{color:#a9b3ab;max-width:680px;line-height:1.7}.legal .back{color:#eef3eb;border:1px solid #405646;border-radius:999px;margin-bottom:32px;padding:10px 14px;text-decoration:none;display:inline-flex}.legal .notice{background:#101a13;border-color:#304633;margin-top:22px}.login{background:linear-gradient(135deg,#152419f5,#0a140ef5);border:1px solid #293b2e;border-radius:27px;max-width:490px;min-height:0;margin-top:8vh;box-shadow:0 32px 90px #0000004d}.login .actions .primary{border-radius:999px;padding:13px 22px}.legal .formgrid{margin-top:28px}.legal .actions .primary,.legal .actions .secondary{border-radius:999px;padding:13px 18px}.calendar-picker{color:#f1f5ed;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#102014;border:1px solid #405646;border-radius:999px;align-items:center;gap:8px;height:38px;padding:0 12px;font-size:12px;display:inline-flex}.calendar-picker input{min-width:118px;font:inherit;outline:0;color:inherit!important;background:0 0!important;border:0!important;padding:0!important}.calendar-picker input::-webkit-calendar-picker-indicator{filter:invert();opacity:.8;cursor:pointer}@media (max-width:580px){.step-heading{flex-direction:column;gap:14px}.calendar-picker{justify-content:space-between;width:100%}}.calendar-picker{display:none}.step-heading{align-items:center}.calendar-toggle{color:#e9f2e4;border-color:#5f9b46;align-items:center;gap:8px;padding:11px 16px;font-size:12px;display:inline-flex}.calendar-box{background:#0b140e;border:1px solid #2e4935;border-radius:18px;margin:2px 0 18px;padding:20px}.calendar-head{text-align:center;grid-template-columns:40px 1fr 40px;align-items:center;margin-bottom:20px;display:grid}.calendar-head strong{text-transform:capitalize;font-size:16px}.calendar-head button{color:#e8eee6;cursor:pointer;background:0 0;border:1px solid #314938;border-radius:50%;width:38px;height:38px;font-size:18px}.calendar-weekdays,.calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:7px;display:grid}.calendar-weekdays{color:#738078;text-transform:uppercase;letter-spacing:.08em;margin-bottom:9px;font-size:9px;font-weight:800}.calendar-grid button,.calendar-grid>span{color:#68746c;min-height:42px;font:inherit;background:0 0;border:1px solid #0000;border-radius:10px;position:relative}.calendar-grid button:not(:disabled){color:#e2e8df;cursor:pointer;border-color:#273e2e}.calendar-grid button.selected{color:#102112;background:#95c36f;border-color:#95c36f;font-weight:800}.calendar-grid button i{background:#8fc56d;border-radius:50%;width:4px;height:4px;display:block;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.calendar-grid button.selected i{background:#193120}.calendar-legend{color:#79857d;border-top:1px solid #263a2c;justify-content:space-between;margin-top:18px;padding-top:14px;font-size:10px;display:flex}.calendar-legend span:first-child{color:#8fc56d}@media (max-width:580px){.step-heading{flex-direction:row;align-items:flex-start;gap:8px}.calendar-toggle{white-space:nowrap;padding:10px 12px}.calendar-box{padding:16px 12px}.calendar-grid button,.calendar-grid>span{min-height:39px}.calendar-legend{font-size:9px}}
