:root{--o:#ea580c;--o7:#c2410c;--o1:#ffedd5;--o5:#fff7ed;--i:#4f46e5;--i7:#4338ca;--i1:#eef2ff;--ink:#241a12;--mut:#7c6a59;--line:#efe7dc;}
*{box-sizing:border-box;}
body.ws{margin:0;font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;line-height:1.6;}
body.ws h1,body.ws h2,body.ws h3{margin:0;line-height:1.2;}
body.ws a{color:inherit;}

/* Nav */
.ws-nav{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line);}
.ws-nav-in{max-width:1100px;margin:0 auto;padding:12px 18px;display:flex;align-items:center;gap:16px;}
.ws-brand{font-weight:700;font-size:16px;text-decoration:none;display:flex;align-items:center;gap:8px;color:var(--ink);}
.ws-brand i{color:var(--o);font-size:20px;}
.ws-links{margin-left:auto;display:flex;align-items:center;gap:6px;}
.ws-links>a,.ws-has-sub>a{text-decoration:none;color:#4b3b2c;font-weight:500;font-size:14px;padding:8px 12px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;}
.ws-links>a:hover,.ws-has-sub>a:hover{background:var(--o5);color:var(--o7);}
.ws-links>a.on{color:var(--o7);background:var(--o1);}
.ws-new{font-size:10px;font-weight:700;color:#fff;background:var(--o);padding:2px 7px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em;}
.ws-has-sub{position:relative;}
.ws-sub{position:absolute;top:calc(100% + 6px);left:0;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px rgba(16,24,40,.12);padding:8px;min-width:200px;display:none;flex-direction:column;}
.ws-has-sub:hover .ws-sub,.ws-has-sub.open .ws-sub{display:flex;}
.ws-sub a{text-decoration:none;color:#4b3b2c;font-size:14px;padding:9px 12px;border-radius:9px;}
.ws-sub a:hover{background:var(--i1);color:var(--i7);}
.ws-burger{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:10px;padding:7px 10px;font-size:18px;cursor:pointer;color:var(--ink);}

/* Hero */
.ws-hero{padding:54px 18px;}
.ws-hero--wok{background:linear-gradient(180deg,var(--o5),#fff);}
.ws-hero-in{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;}
.ws-eyebrow{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--o7);display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.ws-hero h1{font-size:42px;font-weight:700;margin:16px 0 14px;letter-spacing:-.02em;line-height:1.12;}
.ws-lead{font-size:17px;color:var(--mut);max-width:560px;line-height:1.7;margin:0;}
.ws-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px;}
.ws-btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:600;font-size:15px;padding:12px 20px;border-radius:999px;border:2px solid transparent;}
.ws-btn--wok{background:var(--o);color:#fff;}
.ws-btn--wok:hover{background:var(--o7);}
.ws-btn--aok{background:var(--i);color:#fff;}
.ws-btn--aok:hover{background:var(--i7);}
.ws-btn--ghost{background:#fff;color:var(--o7);border-color:var(--o1);}
.ws-btn--ghost:hover{background:var(--o5);}

/* Phone mockup (telefono con icone dentro) */
.ws-phone{justify-self:center;position:relative;width:264px;background:#1c1917;border-radius:42px;padding:13px;box-shadow:0 24px 52px rgba(28,25,23,.30);}
.ws-phone::before{content:"";position:absolute;top:25px;left:50%;transform:translateX(-50%);width:98px;height:7px;background:#2f2a26;border-radius:99px;z-index:2;}
.ws-phone-screen{background:var(--o5);border-radius:31px;padding:28px 14px 16px;overflow:hidden;}
.ws-phone-bar{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #f3e9dd;border-radius:14px;padding:9px 12px;font-weight:600;font-size:13px;}
.ws-phone-bar>i{color:var(--o);font-size:16px;}
.ws-phone-lang{margin-left:auto;color:var(--mut)!important;}
.ws-phone-welcome{text-align:center;padding:14px 0 12px;}
.ws-phone-ic{width:50px;height:50px;border-radius:15px;background:var(--o1);color:var(--o7);display:flex;align-items:center;justify-content:center;font-size:25px;margin:0 auto 8px;}
.ws-phone-eye{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--o7);}
.ws-phone-h{font-weight:600;font-size:16px;margin-top:2px;}
.ws-phone-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.ws-tile{background:#fff;border:1px solid #f3e7d8;border-radius:14px;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;}
.ws-tile i{font-size:20px;color:var(--o);}
.ws-tile span{font-size:10px;font-weight:500;color:#5b4632;text-align:center;line-height:1.15;}

/* Sezioni */
.ws-sec{max-width:1100px;margin:0 auto;padding:54px 18px;}
.ws-sec--alt{background:var(--o5);max-width:none;}
.ws-sec--alt>*{max-width:1100px;margin-left:auto;margin-right:auto;}
.ws-sec h2{font-size:30px;font-weight:700;text-align:center;margin-bottom:30px;letter-spacing:-.02em;}
.ws-feats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.ws-feat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;}
.ws-feat-ic{width:46px;height:46px;border-radius:13px;background:var(--o1);color:var(--o7);display:flex;align-items:center;justify-content:center;font-size:23px;margin-bottom:12px;}
.ws-feat h3{font-size:17px;font-weight:600;margin-bottom:6px;}
.ws-feat p{margin:0;color:var(--mut);font-size:14.5px;}
.ws-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.ws-step{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;}
.ws-step-n{width:38px;height:38px;border-radius:50%;background:var(--o);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
.ws-step h3{font-size:17px;margin-bottom:6px;}
.ws-step p{margin:0;color:var(--mut);font-size:14.5px;}

/* CTA band */
.ws-cta-band{background:var(--ink);color:#fff;text-align:center;padding:48px 18px;}
.ws-cta-band h2{font-size:28px;font-weight:700;}
.ws-cta-band p{color:#d9ccbf;margin:8px 0 0;}
.ws-cta-band .ws-cta{justify-content:center;}
.ws-btn--ghost-d{background:transparent;color:#fff;border-color:rgba(255,255,255,.45);}
.ws-btn--ghost-d:hover{background:rgba(255,255,255,.12);}

/* Sottotitolo sezione + h2 a sinistra */
body.ws .ws-sec>h2{margin:0 0 14px;}
.ws-sec-sub{text-align:center;color:var(--mut);font-size:16px;line-height:1.6;max-width:640px;margin:4px auto 34px;}
.ws-h2-left{font-size:30px;font-weight:700;text-align:left;margin:0 0 14px;letter-spacing:-.02em;}

/* Pannello host (impostazioni · per appartamento) */
.ws-panel{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center;}
.ws-panel-tx .ws-lead{max-width:none;}
.ws-checks{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-direction:column;gap:12px;}
.ws-checks li{display:flex;align-items:flex-start;gap:10px;font-size:15.5px;line-height:1.55;}
.ws-checks li i{color:#1d9e75;font-size:19px;flex:none;margin-top:2px;}
.ws-panelcard{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 16px 38px rgba(16,24,40,.09);overflow:hidden;}
.ws-pc-bar{background:#faf7f2;border-bottom:1px solid var(--line);padding:12px 16px;display:flex;align-items:center;gap:7px;}
.ws-pc-bar span{width:10px;height:10px;border-radius:50%;background:#e3dccf;}
.ws-pc-bar em{margin-left:12px;font-style:normal;font-size:12.5px;font-weight:600;color:var(--mut);}
.ws-pc-body{padding:18px;display:flex;flex-direction:column;gap:14px;}
.ws-pc-row{display:flex;align-items:center;gap:13px;}
.ws-pc-ic{width:36px;height:36px;border-radius:11px;background:var(--o5);color:var(--o7);display:flex;align-items:center;justify-content:center;font-size:18px;flex:none;}
.ws-pc-line{flex:1;height:11px;border-radius:99px;background:#ece6db;}
.ws-pc-toggle{width:38px;height:21px;border-radius:99px;background:#ddd5c8;position:relative;flex:none;}
.ws-pc-toggle::after{content:"";position:absolute;width:15px;height:15px;border-radius:50%;background:#fff;top:3px;left:3px;}
.ws-pc-toggle.on{background:var(--o);}
.ws-pc-toggle.on::after{left:20px;}

/* Prezzi */
.ws-plans{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;max-width:860px;margin:0 auto;}
.ws-plan{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;display:flex;flex-direction:column;}
.ws-plan--aok{border-top:4px solid var(--i);}
.ws-plan--wok{border-top:4px solid var(--o);}
.ws-ribbon{position:absolute;top:16px;right:16px;background:var(--o);color:#fff;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 9px;border-radius:999px;}
.ws-plan-h{display:flex;align-items:center;gap:10px;}
.ws-plan-h i{font-size:24px;}
.ws-plan--aok .ws-plan-h i{color:var(--i);}
.ws-plan--wok .ws-plan-h i{color:var(--o);}
.ws-plan-h h3{font-size:20px;font-weight:700;}
.ws-plan-sub{color:var(--mut);font-size:14.5px;margin:8px 0 16px;}
.ws-price{font-size:34px;font-weight:700;letter-spacing:-.02em;}
.ws-price span{font-size:15px;font-weight:500;color:var(--mut);}
.ws-price-note{color:var(--mut);font-size:13px;margin-bottom:14px;}
.ws-list{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:9px;}
.ws-list li{display:flex;align-items:flex-start;gap:9px;font-size:14.5px;}
.ws-list li i{color:#1d9e75;font-size:18px;flex:none;margin-top:1px;}
.ws-plan .ws-btn{margin-top:auto;justify-content:center;}

/* Footer */
.ws-foot{border-top:1px solid var(--line);margin-top:20px;}
.ws-foot-in{max-width:1100px;margin:0 auto;padding:22px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--mut);font-size:13px;flex-wrap:wrap;}
.ws-foot nav{display:flex;gap:16px;flex-wrap:wrap;}
.ws-foot nav a{text-decoration:none;color:var(--mut);}
.ws-foot nav a:hover{color:var(--o7);}

@media(max-width:860px){
  .ws-burger{display:inline-flex;}
  .ws-links{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:8px;}
  .ws-links.open{display:flex;}
  .ws-nav-in{position:relative;flex-wrap:wrap;}
  .ws-sub{position:static;box-shadow:none;border:none;padding-left:14px;}
  .ws-hero-in{grid-template-columns:1fr;}
  .ws-hero h1{font-size:32px;}
  .ws-feats,.ws-steps,.ws-plans,.ws-panel{grid-template-columns:1fr;}
  .ws-h2-left{text-align:center;}
}

/* ===== Sotto-menu orizzontale + popup richieste ===== */
.ws-sub--row{flex-direction:row !important;min-width:0;gap:4px;padding:8px;}
.ws-btn--nav{padding:8px 16px;font-size:14px;}
.ws-linkbtn{background:none;border:none;cursor:pointer;font:inherit;color:var(--mut);text-decoration:none;padding:0;}
.ws-linkbtn:hover{color:var(--o7);}
.ws-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.ws-modal{position:fixed;inset:0;z-index:1000;background:rgba(36,26,18,.5);display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;overflow-y:auto;}
.ws-modal[hidden]{display:none;}
.ws-modal-box{background:#fff;border-radius:18px;width:100%;max-width:480px;padding:24px;box-shadow:0 24px 60px rgba(36,26,18,.3);position:relative;}
.ws-modal-box h3{font-size:21px;font-weight:700;margin:0 0 4px;}
.ws-modal-sub{color:var(--mut);font-size:14px;margin:0 0 16px;}
.ws-modal-x{position:absolute;top:12px;right:14px;background:none;border:none;font-size:26px;line-height:1;cursor:pointer;color:var(--mut);}
.ws-prod{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap;}
.ws-prodflag{flex:1;min-width:140px;display:flex;align-items:center;gap:8px;border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;font-weight:600;font-size:14px;}
.ws-prodflag input{width:18px;height:18px;accent-color:var(--o);}
.ws-prodflag span{display:flex;align-items:center;gap:6px;}
.ws-prodflag span i{color:var(--o);}
.ws-f{margin-bottom:12px;}
.ws-f label{display:block;font-size:13px;font-weight:600;margin-bottom:5px;}
.ws-f input,.ws-f textarea{width:100%;box-sizing:border-box;border:1.5px solid var(--line);border-radius:11px;padding:10px 12px;font:inherit;font-size:14px;}
.ws-f input:focus,.ws-f textarea:focus{outline:none;border-color:var(--o);box-shadow:0 0 0 3px rgba(234,88,12,.12);}
.ws-f2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.ws-demo-msg{margin-top:10px;font-size:14px;font-weight:600;text-align:center;}
.ws-demo-msg.ok{color:#1d9e75;}
.ws-demo-msg.err{color:#c0392b;}
@media(max-width:860px){.ws-sub--row{flex-direction:column !important;}.ws-f2{grid-template-columns:1fr;}}
