/* ============================================================
   OAKRA — foglio di stile del sito pubblico
   I colori e i caratteri arrivano dal pannello (Aspetto) come variabili:
   --ok-primary, --ok-secondary, --ok-accent, --ok-bg, --ok-text,
   --ok-header-bg/fg, --ok-footer-bg/fg, --ok-font-head, --ok-font-body
   ============================================================ */

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--ok-bg);color:var(--ok-text);font-family:var(--ok-font-body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video,iframe{max-width:100%;height:auto}
img{display:block}
a{color:var(--ok-primary);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
h1,h2,h3,h4{font-family:var(--ok-font-head);line-height:1.15;letter-spacing:-.015em;color:inherit;margin:0 0 .5em}
h1{font-size:clamp(32px,5vw,52px);font-weight:800}
h2{font-size:clamp(25px,3.4vw,36px);font-weight:700}
h3{font-size:clamp(19px,2.2vw,23px);font-weight:700}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--ok-accent);outline-offset:2px;border-radius:3px}
.ok-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ok-skip{position:absolute;left:-999px;top:8px;z-index:200;background:var(--ok-primary);color:var(--ok-on-primary);padding:10px 16px;border-radius:8px}
.ok-skip:focus{left:8px}
.ok-wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 22px}
.ok-narrow{max-width:780px}
.ok-ico{width:1.15em;height:1.15em;flex-shrink:0}

/* ---------- Pulsanti ---------- */
.ok-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font:600 16px/1.2 var(--ok-font-head);padding:13px 24px;border-radius:10px;border:2px solid transparent;text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s;white-space:nowrap}
.ok-btn--primary{background:var(--ok-primary);color:var(--ok-on-primary)}
.ok-btn--primary:hover{transform:translateY(-1px);box-shadow:0 10px 24px -12px var(--ok-primary)}
.ok-btn--ghost{border-color:currentColor;color:var(--ok-primary);background:transparent}
.ok-btn--ghost:hover{background:color-mix(in srgb,var(--ok-primary) 10%,transparent)}
.ok-btn--wa{background:#25d366;color:#06301a}
.ok-btn--sm{padding:9px 16px;font-size:14.5px}

/* ---------- Testata ---------- */
.ok-header{background:var(--ok-header-bg);color:var(--ok-header-fg);position:relative;z-index:50;border-bottom:1px solid color-mix(in srgb,var(--ok-header-fg) 10%,transparent)}
.ok-header.is-sticky{position:sticky;top:0}
.ok-header-in{display:flex;align-items:center;gap:22px;min-height:76px}
.ok-brand{display:flex;align-items:center;color:inherit;text-decoration:none;flex-shrink:0}
.ok-brand img{height:42px;width:auto;max-width:200px;object-fit:contain}
.ok-brand-text{font:800 23px/1 var(--ok-font-head);letter-spacing:-.02em}
.ok-menu{display:flex;align-items:center;gap:20px;margin-left:auto}
.ok-nav ul{list-style:none;margin:0;padding:0}
.ok-nav .ok-nav-l0{display:flex;align-items:center;gap:4px}
.ok-nav li{position:relative}
.ok-nav a{display:block;padding:10px 13px;color:inherit;text-decoration:none;font-weight:500;font-size:15.5px;border-radius:8px}
.ok-nav a:hover,.ok-nav .is-active>a{background:color-mix(in srgb,var(--ok-header-fg) 9%,transparent)}
.ok-nav .is-active>a{font-weight:650}
.ok-nav .has-sub>a{padding-right:6px}
.ok-sub-toggle{display:none;background:none;border:0;color:inherit;cursor:pointer;padding:8px}
.ok-nav .ok-nav-l1,.ok-nav .ok-nav-l2{position:absolute;top:100%;left:0;min-width:230px;background:var(--ok-header-bg);color:var(--ok-header-fg);border:1px solid color-mix(in srgb,var(--ok-header-fg) 14%,transparent);border-radius:12px;padding:6px;box-shadow:0 20px 40px -18px rgba(0,0,0,.35);opacity:0;visibility:hidden;transform:translateY(6px);transition:.15s}
.ok-nav .ok-nav-l2{top:-6px;left:100%}
.ok-nav li:hover>ul,.ok-nav li:focus-within>ul{opacity:1;visibility:visible;transform:none}
.ok-header-tools{display:flex;align-items:center;gap:12px}
.ok-search-mini{display:flex;align-items:center;border:1px solid color-mix(in srgb,var(--ok-header-fg) 22%,transparent);border-radius:999px;padding:2px 4px 2px 12px}
.ok-search-mini input{background:none;border:0;color:inherit;width:130px;font:inherit;font-size:14px;outline:none}
.ok-search-mini button{background:none;border:0;color:inherit;cursor:pointer;padding:6px;display:grid}
.ok-lang{display:flex;gap:2px}
.ok-lang a{color:inherit;text-decoration:none;font-size:13px;font-weight:600;padding:5px 7px;border-radius:6px;opacity:.7}
.ok-lang a.is-active{opacity:1;background:color-mix(in srgb,var(--ok-header-fg) 12%,transparent)}
.ok-burger{display:none;margin-left:auto;background:none;border:0;color:inherit;padding:8px;cursor:pointer}
.ok-burger .ok-ico{width:28px;height:28px}
.ok-header--logo-center .ok-header-in{flex-wrap:wrap;justify-content:center;padding:14px 0 0}
.ok-header--logo-center .ok-menu{margin:0;width:100%;justify-content:center;padding:6px 0}

@media (max-width:960px){
  .ok-burger{display:block}
  .ok-header-in{flex-wrap:wrap}
  .ok-menu{display:none;width:100%;flex-direction:column;align-items:stretch;gap:10px;padding:8px 0 18px;margin:0}
  .ok-menu.is-open{display:flex}
  .ok-nav .ok-nav-l0{flex-direction:column;align-items:stretch}
  .ok-nav li{display:flex;flex-wrap:wrap;align-items:center}
  .ok-nav li>a{flex:1}
  .ok-sub-toggle{display:block}
  .ok-nav .ok-nav-l1,.ok-nav .ok-nav-l2{position:static;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;width:100%;border:0;padding:0 0 0 14px;background:transparent}
  .ok-nav li.is-open>ul{display:block}
  .ok-header-tools{flex-wrap:wrap}
  .ok-search-mini{flex:1}.ok-search-mini input{width:100%}
  .ok-header--logo-center .ok-header-in{justify-content:space-between;padding:0}
}

/* ---------- Contenuti ---------- */
.ok-main{flex:1 0 auto}
.ok-crumbs{padding:22px 0 0;font-size:14px}
.ok-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;color:color-mix(in srgb,var(--ok-text) 60%,transparent)}
.ok-crumbs li+li::before{content:"/";margin-right:6px;opacity:.5}
.ok-crumbs a{color:inherit;text-decoration:none}
.ok-crumbs a:hover{color:var(--ok-primary)}
.ok-page-head{padding:34px 0 22px;max-width:860px}
.ok-lead{font-size:clamp(18px,2.2vw,21px);color:color-mix(in srgb,var(--ok-text) 75%,transparent);margin:0}
.ok-article{padding-bottom:70px}
.ok-hero-img{margin:0 0 34px}
.ok-hero-img img{width:100%;border-radius:16px;max-height:560px;object-fit:cover}
.ok-prose{max-width:760px}
.ok-tpl-full .ok-prose,.ok-tpl-sidebar .ok-prose{max-width:none}
.ok-prose>*{max-width:100%}
.ok-prose h2{margin-top:1.6em}
.ok-prose h3{margin-top:1.4em}
.ok-prose ul,.ok-prose ol{padding-left:1.3em;margin:0 0 1.2em}
.ok-prose li{margin-bottom:.4em}
.ok-prose img{border-radius:12px;margin:1.4em 0}
.ok-prose blockquote{margin:1.6em 0;padding:4px 0 4px 22px;border-left:4px solid var(--ok-primary);font-size:1.1em}
.ok-prose table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.95em}
.ok-prose th,.ok-prose td{padding:10px 12px;border-bottom:1px solid color-mix(in srgb,var(--ok-text) 12%,transparent);text-align:left}
.ok-prose hr{border:0;border-top:1px solid color-mix(in srgb,var(--ok-text) 12%,transparent);margin:2.4em 0}
.ok-with-sidebar{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start}
@media (max-width:960px){.ok-with-sidebar{grid-template-columns:1fr;gap:20px}}
.ok-chip{display:inline-block;font-size:13px;font-weight:600;padding:4px 11px;border-radius:999px;background:color-mix(in srgb,var(--ok-primary) 12%,transparent);color:var(--ok-primary);text-decoration:none;margin-bottom:14px}
.ok-post-meta{display:flex;flex-wrap:wrap;gap:14px;color:color-mix(in srgb,var(--ok-text) 62%,transparent);font-size:15px}
.ok-empty{padding:40px 0;color:color-mix(in srgb,var(--ok-text) 60%,transparent)}
.ok-intro{margin-bottom:34px}
.ok-facts{display:flex;flex-wrap:wrap;gap:12px 40px;margin:0 0 30px;padding:18px 22px;border-radius:12px;background:color-mix(in srgb,var(--ok-text) 4%,transparent)}
.ok-facts dt{font-size:13px;opacity:.65}.ok-facts dd{margin:0;font-weight:600}

/* ---------- Schede ---------- */
.ok-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:26px;margin:10px 0 40px}
.ok-card{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:color-mix(in srgb,var(--ok-text) 3%,var(--ok-bg));border:1px solid color-mix(in srgb,var(--ok-text) 9%,transparent);transition:transform .2s,box-shadow .2s}
.ok-card:hover{transform:translateY(-3px);box-shadow:0 22px 40px -26px rgba(0,0,0,.4)}
.ok-card-media{display:block;aspect-ratio:16/10;overflow:hidden;background:color-mix(in srgb,var(--ok-primary) 10%,transparent)}
.ok-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.ok-card:hover .ok-card-media img{transform:scale(1.03)}
.ok-card-body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.ok-card-meta{display:flex;gap:8px;font-size:13.5px;color:color-mix(in srgb,var(--ok-text) 60%,transparent);margin-bottom:8px}
.ok-card-title{font-size:20px;margin:0 0 8px}
.ok-card-title a{color:inherit;text-decoration:none}
.ok-card-title a:hover{color:var(--ok-primary)}
.ok-card-text{color:color-mix(in srgb,var(--ok-text) 75%,transparent);font-size:15.5px;flex:1}
.ok-card-link{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:15px;text-decoration:none;margin-top:6px}
.ok-cards--services .ok-card-media{aspect-ratio:2/1}

/* ---------- Barra laterale ---------- */
.ok-sidebar{position:sticky;top:100px;display:flex;flex-direction:column;gap:26px;padding:34px 0 60px}
.ok-widget-title{font-size:15px;text-transform:none;letter-spacing:0;margin-bottom:10px}
.ok-widget ul{list-style:none;margin:0;padding:0}
.ok-widget li{padding:7px 0;border-bottom:1px solid color-mix(in srgb,var(--ok-text) 8%,transparent);font-size:15px}
.ok-widget li a{color:inherit;text-decoration:none}.ok-widget li a:hover{color:var(--ok-primary)}
.ok-widget li span{opacity:.55}
.ok-search-box{display:flex;border:1px solid color-mix(in srgb,var(--ok-text) 18%,transparent);border-radius:10px;overflow:hidden;background:var(--ok-bg)}
.ok-search-box input{flex:1;border:0;padding:11px 14px;font:inherit;font-size:15px;background:none;color:inherit;outline:none;min-width:0}
.ok-search-box button{border:0;background:var(--ok-primary);color:var(--ok-on-primary);padding:0 16px;cursor:pointer;font:600 15px var(--ok-font-head);display:grid;place-items:center}
.ok-search-box--big{margin:10px 0 30px}.ok-search-box--big input{padding:15px 18px;font-size:17px}
.ok-company{display:flex;flex-direction:column;gap:6px;font-size:15px}
.ok-company-line{display:flex;align-items:center;gap:9px}
.ok-company-line a{color:inherit}
.ok-company-vat{font-size:13px;opacity:.7}

/* ---------- FAQ, condivisione, correlati, paginazione ---------- */
.ok-faq{margin:50px 0;max-width:860px}
.ok-faq-item{border-bottom:1px solid color-mix(in srgb,var(--ok-text) 12%,transparent)}
.ok-faq-item summary{cursor:pointer;list-style:none;padding:18px 40px 18px 0;font:650 18px/1.35 var(--ok-font-head);position:relative}
.ok-faq-item summary::-webkit-details-marker{display:none}
.ok-faq-item summary::after{content:"+";position:absolute;right:6px;top:14px;font-size:26px;font-weight:400;color:var(--ok-primary);transition:transform .2s}
.ok-faq-item[open] summary::after{transform:rotate(45deg)}
.ok-faq-a{padding:0 0 20px;color:color-mix(in srgb,var(--ok-text) 82%,transparent)}
.ok-share{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:40px 0;padding-top:24px;border-top:1px solid color-mix(in srgb,var(--ok-text) 10%,transparent)}
.ok-share span{font-weight:600;margin-right:6px}
.ok-share a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:color-mix(in srgb,var(--ok-text) 6%,transparent);color:inherit}
.ok-share a:hover{background:var(--ok-primary);color:var(--ok-on-primary)}
.ok-related{margin-top:40px}
.ok-related h2{font-size:24px}
.ok-pager{display:flex;align-items:center;justify-content:center;gap:24px;padding:10px 0 70px}
.ok-pager a{font-weight:600;text-decoration:none}
.ok-results{list-style:none;padding:0;margin:0 0 70px}
.ok-results li{padding:20px 0;border-bottom:1px solid color-mix(in srgb,var(--ok-text) 10%,transparent)}
.ok-results h2{font-size:21px;margin:6px 0}
.ok-results h2 a{text-decoration:none;color:inherit}.ok-results h2 a:hover{color:var(--ok-primary)}
.ok-results .ok-chip{margin:0}
.ok-404{text-align:center;padding:60px 0 90px}
.ok-404-code{font:800 clamp(80px,16vw,150px)/1 var(--ok-font-head);margin:0;color:var(--ok-primary);opacity:.25}
.ok-map{border-radius:14px;overflow:hidden;aspect-ratio:16/8;margin:1.4em 0}
.ok-map iframe{width:100%;height:100%;border:0}

/* ---------- Moduli di contatto ---------- */
.ok-form{margin:1.4em 0;max-width:760px}
.ok-form--card{padding:30px;border-radius:18px;background:color-mix(in srgb,var(--ok-text) 4%,var(--ok-bg));border:1px solid color-mix(in srgb,var(--ok-text) 9%,transparent)}
.ok-form--dark{padding:30px;border-radius:18px;background:var(--ok-secondary);color:#fff}
.ok-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.ok-field{grid-column:1/-1;display:flex;flex-direction:column;gap:6px;border:0;margin:0;padding:0;min-width:0}
.ok-field--half{grid-column:auto}
@media (max-width:640px){.ok-form-grid{grid-template-columns:1fr}.ok-field--half{grid-column:1/-1}}
.ok-field label,.ok-field legend{font-weight:600;font-size:15px}
.ok-field legend{padding:0;margin-bottom:6px}
.ok-req{color:#d33}
.ok-field input:not([type=checkbox]):not([type=radio]),.ok-field select,.ok-field textarea{width:100%;font:inherit;font-size:16px;color:inherit;background:var(--ok-bg);border:1.5px solid color-mix(in srgb,var(--ok-text) 20%,transparent);border-radius:10px;padding:12px 14px;transition:border-color .15s,box-shadow .15s}
.ok-form--dark .ok-field input:not([type=checkbox]):not([type=radio]),.ok-form--dark .ok-field select,.ok-form--dark .ok-field textarea{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25)}
.ok-field input:focus,.ok-field select:focus,.ok-field textarea:focus{outline:none;border-color:var(--ok-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--ok-primary) 18%,transparent)}
.ok-field.has-error input,.ok-field.has-error select,.ok-field.has-error textarea{border-color:#d33}
.ok-field-err{color:#d33;font-size:13.5px}
.ok-choices{display:flex;flex-wrap:wrap;gap:8px 18px}
.ok-choice{display:flex;align-items:flex-start;gap:9px;font-weight:400!important;font-size:15px!important;cursor:pointer}
.ok-choice input{margin-top:4px;accent-color:var(--ok-primary);width:18px;height:18px}
.ok-field--heading{font:650 19px var(--ok-font-head)}
.ok-field--submit{margin-top:4px}
.ok-hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.ok-form-success{padding:22px 24px;border-radius:12px;background:color-mix(in srgb,#1fb98a 14%,transparent);border:1px solid color-mix(in srgb,#1fb98a 40%,transparent);font-weight:500}
.ok-form-error{padding:14px 18px;border-radius:10px;background:color-mix(in srgb,#d33 10%,transparent);color:#b32222;margin-bottom:14px}
.ok-form.is-sending button[type=submit]{opacity:.6;pointer-events:none}

/* ---------- Piè di pagina ---------- */
.ok-footer{background:var(--ok-footer-bg);color:var(--ok-footer-fg);padding:64px 0 28px;margin-top:auto;font-size:15.5px}
.ok-footer a{color:inherit}
.ok-footer-cols{display:grid;gap:40px;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr))}
.ok-cols-1{--cols:1}.ok-cols-2{--cols:2}.ok-cols-3{--cols:3}.ok-cols-4{--cols:4}
@media (max-width:860px){.ok-footer-cols{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ok-footer-cols{grid-template-columns:1fr}}
.ok-footer-title{font-size:16px;margin-bottom:12px}
.ok-footer-text p{margin:0 0 .6em;opacity:.85}
.ok-footer-logo{height:40px;width:auto;margin-bottom:14px}
.ok-footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:46px;padding-top:22px;border-top:1px solid color-mix(in srgb,var(--ok-footer-fg) 14%,transparent);font-size:14px}
.ok-footer-legal{opacity:.75}
.ok-made-with{margin-top:14px;text-align:center;font-size:12.5px}.ok-made-with a{display:inline-flex;gap:5px;align-items:center;padding:6px 12px;border-radius:999px;border:1px solid currentColor;opacity:.55;color:inherit;text-decoration:none;transition:opacity .2s}.ok-made-with a:hover{opacity:1}
.ok-footer-nav ul{display:flex;flex-wrap:wrap;gap:4px 18px;list-style:none;margin:0;padding:0}
.ok-footer-nav a{text-decoration:none;opacity:.8}.ok-footer-nav a:hover{opacity:1}
.ok-footer-nav ul ul{display:none}
.ok-social{display:flex;gap:8px}
.ok-social a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:color-mix(in srgb,var(--ok-footer-fg) 10%,transparent);transition:background .15s}
.ok-social a:hover{background:var(--ok-primary);color:var(--ok-on-primary)}

/* ---------- WhatsApp, cookie, barra amministratore ---------- */
.ok-wa-float{position:fixed;right:20px;bottom:20px;z-index:90;display:flex;align-items:center;gap:10px;background:#25d366;color:#05351c;text-decoration:none;font-weight:700;font-size:15px;border-radius:999px;padding:13px 18px 13px 14px;box-shadow:0 14px 30px -10px rgba(0,0,0,.45);transition:transform .15s}
.ok-wa-float.is-left{right:auto;left:20px}
.ok-wa-float .ok-ico{width:26px;height:26px}
.ok-wa-float:hover{transform:translateY(-2px)}
@media (max-width:640px){.ok-wa-float span{display:none}.ok-wa-float{padding:14px}}
.ok-cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:100;max-width:640px;margin:0 auto;background:#0d1828;color:#e9eef5;border-radius:16px;padding:18px 20px;display:flex;flex-wrap:wrap;align-items:center;gap:14px;box-shadow:0 20px 50px -18px rgba(0,0,0,.6);font-size:14.5px}
.ok-cookie[hidden]{display:none}
.ok-cookie p{margin:0;flex:1 1 280px}.ok-cookie a{color:#7fdbe8}
.ok-cookie div{display:flex;gap:8px}
.ok-cookie .ok-btn--ghost{color:#e9eef5}
.ok-adminbar{position:fixed;left:14px;bottom:14px;z-index:120;display:flex;gap:4px;background:#0d1828;color:#fff;border-radius:999px;padding:5px;font:600 13px/1 system-ui,sans-serif;box-shadow:0 10px 30px -10px rgba(0,0,0,.5)}
.ok-adminbar a{color:#fff;text-decoration:none;padding:8px 13px;border-radius:999px}
.ok-adminbar a:hover{background:rgba(255,255,255,.12)}
.ok-adminbar-draft{background:#e6b84d;color:#2a1f00;padding:8px 13px;border-radius:999px}

/* ---------- Manutenzione ---------- */
.ok-maint{min-height:100vh;display:grid;place-items:center;text-align:center;padding:30px}
.ok-maint img{height:50px;width:auto;margin:0 auto 30px}
.ok-maint .ok-social{justify-content:center;margin-top:20px}

/* ---------- Mattoni per le pagine (usabili nell'editor) ---------- */
.ok-landing{overflow-x:clip}
.ok-section{padding:clamp(56px,8vw,110px) 0}
.ok-section--alt{background:color-mix(in srgb,var(--ok-text) 4%,var(--ok-bg))}
.ok-section--dark{background:var(--ok-secondary);color:#fff}
.ok-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.ok-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
@media (max-width:860px){.ok-grid-2,.ok-grid-3{grid-template-columns:1fr}}
.ok-center{text-align:center}
.ok-center .ok-lead{margin-left:auto;margin-right:auto;max-width:640px}

/* ---------- Stili del tema (Temi → Stile) ---------- */
.ok-style-corporate h1,.ok-style-corporate h2{font-weight:700;letter-spacing:-.01em}
.ok-style-corporate .ok-card,.ok-style-corporate .ok-btn{border-radius:6px}
.ok-style-corporate .ok-page-head{border-bottom:3px solid var(--ok-primary);margin-bottom:30px}
.ok-style-minimal .ok-card{background:transparent;border:0;border-radius:0;border-top:1px solid color-mix(in srgb,var(--ok-text) 18%,transparent)}
.ok-style-minimal .ok-card-body{padding:18px 0}
.ok-style-minimal .ok-btn{border-radius:0}
.ok-style-minimal .ok-header{border-bottom-color:transparent}
.ok-style-elegante h1,.ok-style-elegante h2,.ok-style-elegante h3{font-weight:500;letter-spacing:0}
.ok-style-elegante .ok-btn{border-radius:999px}
.ok-style-elegante .ok-card{border-radius:4px}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* comparsa morbida degli elementi con data-ok-reveal */
.ok-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.ok-reveal.is-in{opacity:1;transform:none}

/* ---------- Prenotazioni ---------- */
.ok-booking{max-width:640px;margin:1.6em 0;padding:26px;border-radius:18px;border:1px solid color-mix(in srgb,var(--ok-text) 12%,transparent);background:color-mix(in srgb,var(--ok-text) 3%,var(--ok-bg))}
.ok-bk-head{margin-bottom:18px}
.ok-bk-step{font:600 20px/1.3 var(--ok-font-head);text-transform:none}
.ok-bk-svc{margin-top:4px;font-size:14.5px;opacity:.75}
.ok-bk-services{display:grid;gap:10px}
.ok-bk-service{display:flex;gap:14px;align-items:flex-start;text-align:left;width:100%;padding:16px 18px;border-radius:14px;border:1.5px solid color-mix(in srgb,var(--ok-text) 14%,transparent);background:var(--ok-bg);color:inherit;font:inherit;cursor:pointer;transition:border-color .2s,transform .2s}
.ok-bk-service:hover,.ok-bk-service:focus-visible{border-color:var(--ok-primary);transform:translateY(-1px)}
.ok-bk-service strong{display:block;font-size:16.5px}
.ok-bk-service small{display:block;opacity:.7;margin-top:2px}
.ok-bk-service em{display:block;font-style:normal;font-size:14.5px;margin-top:6px;opacity:.85}
.ok-bk-dot{flex:none;width:12px;height:12px;border-radius:50%;margin-top:6px}
.ok-bk-cal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.ok-bk-cal-top strong{text-transform:capitalize;font-size:17px}
.ok-bk-nav{width:38px;height:38px;border-radius:10px;border:1px solid color-mix(in srgb,var(--ok-text) 15%,transparent);background:var(--ok-bg);color:inherit;font-size:20px;cursor:pointer}
.ok-bk-nav:disabled{opacity:.3;cursor:default}
.ok-bk-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.ok-bk-wd{text-align:center;font-size:12.5px;opacity:.6;padding-bottom:4px;text-transform:uppercase;letter-spacing:.04em}
.ok-bk-day{height:44px;border-radius:10px;border:0;background:transparent;color:inherit;font:inherit;opacity:.35}
.ok-bk-day.is-free{opacity:1;cursor:pointer;background:color-mix(in srgb,var(--ok-primary) 12%,transparent);color:var(--ok-primary);font-weight:700}
.ok-bk-day.is-free:hover,.ok-bk-day.is-free:focus-visible{background:var(--ok-primary);color:var(--ok-on-primary)}
.ok-bk-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.ok-bk-slot{padding:12px 6px;border-radius:10px;border:1.5px solid color-mix(in srgb,var(--ok-primary) 45%,transparent);background:var(--ok-bg);color:var(--ok-primary);font:600 15.5px var(--ok-font-body);cursor:pointer}
.ok-bk-slot:hover,.ok-bk-slot:focus-visible{background:var(--ok-primary);color:var(--ok-on-primary)}
.ok-bk-back{margin-top:16px;background:none;border:0;padding:6px 0;color:inherit;opacity:.7;font:inherit;cursor:pointer}
.ok-bk-back:hover{opacity:1}
.ok-bk-none{opacity:.75}
.ok-bk-loading{opacity:.6}
.ok-bk-form{margin:0;max-width:none}
.ok-bk-when{margin:0 0 16px}
.ok-bk-done{text-align:center;padding:10px 0}
.ok-bk-check{width:56px;height:56px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:var(--ok-primary);color:var(--ok-on-primary);font-size:28px}
.ok-bk-summary{padding:18px 22px;border-radius:14px;background:color-mix(in srgb,var(--ok-text) 4%,var(--ok-bg));margin:18px 0}
.ok-bk-summary p{margin:4px 0}

/* ============================================================
   Portfolio — tre stili di presentazione
   ============================================================ */
.pf-head h1{margin-bottom:.25em}
.pf-head .ok-lead{margin-bottom:6px}
.pf-head--center{text-align:center;max-width:820px;margin:0 auto 30px}
.pf-head--center .ok-lead{margin-left:auto;margin-right:auto}
.pf-gal-item{display:block;overflow:hidden;border-radius:12px;background:color-mix(in srgb,var(--ok-text) 6%,transparent);cursor:zoom-in}
.pf-gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.pf-gal-item:hover img{transform:scale(1.035)}
.pf-video{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#0b1320}
.pf-video img,.pf-video iframe,.pf-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.pf-video video{object-fit:contain;background:#000}
.pf-play{position:absolute;inset:0;margin:auto;width:78px;height:78px;border-radius:50%;border:0;background:var(--ok-primary);color:var(--ok-on-primary);cursor:pointer;display:grid;place-items:center;box-shadow:0 18px 40px -12px rgba(0,0,0,.6);transition:transform .2s}
.pf-play svg{width:34px;height:34px;margin-left:4px}
.pf-video:hover .pf-play{transform:scale(1.08)}
.pf-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px 26px;margin:22px 0;padding:18px 0;border-top:1px solid color-mix(in srgb,var(--ok-text) 12%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ok-text) 12%,transparent)}
.pf-facts dt{font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;opacity:.6;margin-bottom:3px}
.pf-facts dd{margin:0;font-weight:600;line-height:1.35}
.pf-facts--inline{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 44px;border:0;padding:0;margin:0}
.pf-facts--inline > div{text-align:center}
.pf-link{margin:-6px 0 24px}
.pf-block{margin:30px 0}
.pf-block h2{font-size:clamp(21px,2.4vw,26px)}
.pf-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin:26px 0}
.pf-result{padding:22px;border-radius:14px;background:color-mix(in srgb,var(--ok-primary) 8%,transparent);border:1px solid color-mix(in srgb,var(--ok-primary) 22%,transparent)}
.pf-result strong{display:block;font:800 clamp(30px,3.6vw,42px)/1 var(--ok-font-head);color:var(--ok-primary);letter-spacing:-.02em;margin-bottom:8px}
.pf-result span{font-size:15px;opacity:.85}
.pf-quote{margin:36px 0;padding:28px 30px;border-radius:16px;background:color-mix(in srgb,var(--ok-text) 4%,transparent);border-left:4px solid var(--ok-primary)}
.pf-quote blockquote{margin:0 0 12px;font:500 clamp(18px,2vw,22px)/1.5 var(--ok-font-head)}
.pf-quote figcaption{font-size:14.5px;opacity:.7}
.pf-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin:36px 0 10px;padding:26px 30px;border-radius:16px;background:linear-gradient(120deg,color-mix(in srgb,var(--ok-primary) 16%,transparent),color-mix(in srgb,var(--ok-accent) 10%,transparent))}
.pf-cta p{margin:0;font:700 clamp(18px,2vw,22px)/1.3 var(--ok-font-head)}

/* 1. Media a lato */
.pf-split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:48px;align-items:start;margin:8px 0 40px}
.pf-split-media{position:sticky;top:96px;display:flex;flex-direction:column;gap:12px}
.pf-stage .pf-gal-item{aspect-ratio:4/3}
.pf-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px}
.pf-thumbs .pf-gal-item{aspect-ratio:1;border-radius:10px}
.pf-split-info .pf-head{margin-bottom:6px}

/* 2. Media al centro */
.pf-show{margin:8px 0 40px}
.pf-show-hero{margin:0 auto 30px;max-width:1100px}
.pf-show-hero .pf-gal-item{aspect-ratio:16/9;border-radius:18px}
.pf-show-hero .pf-video{border-radius:18px}
.pf-show-facts{margin:0 auto 34px;padding:20px 0;border-top:1px solid color-mix(in srgb,var(--ok-text) 12%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ok-text) 12%,transparent)}
.pf-show-facts .pf-link{text-align:center;margin:16px 0 0}
.pf-show-body{max-width:760px;margin:0 auto}
.pf-masonry{columns:3 260px;column-gap:14px;margin:40px 0}
.pf-masonry .pf-gal-item{margin:0 0 14px;break-inside:avoid}
.pf-masonry .pf-gal-item img{height:auto}

/* 3. Caso studio */
.pf-case-hero{position:relative;color:#fff;background:#0b1626 var(--pf-cover,none) center/cover no-repeat;min-height:min(62vh,560px);display:flex;align-items:flex-end;padding:40px 0 48px;isolation:isolate}
.pf-case-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(4,12,24,.25) 0%,rgba(4,12,24,.55) 45%,rgba(4,12,24,.92) 100%)}
.pf-case-hero .ok-wrap{width:100%}
.pf-case-hero .ok-crumbs,.pf-case-hero .ok-crumbs a{color:rgba(255,255,255,.8)}
.pf-case-title{max-width:820px;margin-top:auto}
.pf-case-title h1{color:#fff}
.pf-case-title .ok-lead{color:rgba(255,255,255,.85)}
.pf-case-hero .ok-chip{background:rgba(255,255,255,.16);color:#fff}
.pf-case-facts{margin:-1px 0 0;padding:24px 0;border-bottom:1px solid color-mix(in srgb,var(--ok-text) 12%,transparent)}
.pf-case-facts .pf-link{text-align:center;margin:14px 0 0}
.pf-case-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin:20px 0}
.pf-kicker{display:block;font:800 14px/1 var(--ok-font-head);color:var(--ok-primary);letter-spacing:.1em;margin-bottom:10px}
.pf-case-video{margin:20px 0 36px}
.pf-case-body{max-width:780px;margin:0 auto 20px}
.pf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin:30px 0}
.pf-grid .pf-gal-item{aspect-ratio:4/3}

/* Filtri dell'archivio */
.pf-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.pf-filter button{font:600 14px/1 var(--ok-font-body);padding:10px 16px;border-radius:999px;border:1px solid color-mix(in srgb,var(--ok-text) 18%,transparent);background:transparent;color:inherit;cursor:pointer;transition:.15s}
.pf-filter button:hover{border-color:var(--ok-primary)}
.pf-filter button.is-active{background:var(--ok-primary);border-color:var(--ok-primary);color:var(--ok-on-primary)}
.ok-card[hidden]{display:none}

/* Lightbox */
.ok-lb{position:fixed;inset:0;z-index:300;background:rgba(3,8,16,.94);display:flex;align-items:center;justify-content:center;padding:56px 70px;opacity:0;transition:opacity .2s}
.ok-lb.is-open{opacity:1}
.ok-lb figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:12px}
.ok-lb img{max-width:100%;max-height:calc(100vh - 140px);object-fit:contain;border-radius:8px}
.ok-lb figcaption{color:rgba(255,255,255,.85);font-size:15px;text-align:center}
.ok-lb button{position:absolute;border:0;background:rgba(255,255,255,.1);color:#fff;width:48px;height:48px;border-radius:50%;cursor:pointer;font-size:24px;display:grid;place-items:center}
.ok-lb button:hover{background:rgba(255,255,255,.22)}
.ok-lb-x{top:14px;right:14px}.ok-lb-p{left:14px;top:50%;margin-top:-24px}.ok-lb-n{right:14px;top:50%;margin-top:-24px}
.ok-lb-c{position:absolute;top:24px;left:24px;color:rgba(255,255,255,.7);font-size:14px}

@media (max-width:900px){
  .pf-split{grid-template-columns:1fr;gap:26px}
  .pf-split-media{position:static}
  .pf-case-grid{grid-template-columns:1fr;gap:10px}
  .ok-lb{padding:56px 10px}
  .ok-lb-p,.ok-lb-n{top:auto;bottom:14px;margin:0}
}

/* ============================================================
   Landing guidate (lp-*) — colori e caratteri dal tema
   ============================================================ */
.lp-sec{padding:clamp(56px,7vw,96px) 0}
.lp-sec--alt{background:color-mix(in srgb,var(--ok-text) 3.5%,var(--ok-bg))}
.lp-narrow{max-width:820px}
.lp-head{max-width:720px;margin:0 0 36px}
.lp-head h2{margin:0}
.lp-kicker{display:inline-block;font:700 13px/1 var(--ok-font-head);letter-spacing:.12em;text-transform:uppercase;color:var(--ok-primary);margin-bottom:16px}
.lp-kicker--muted{color:color-mix(in srgb,var(--ok-text) 55%,transparent)}
.lp-hero{position:relative;padding:clamp(56px,8vw,110px) 0;overflow:hidden;isolation:isolate}
.lp-hero::before{content:"";position:absolute;inset:-30% -10% auto auto;width:70%;aspect-ratio:1;z-index:-1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--ok-primary) 22%,transparent),transparent 65%);pointer-events:none}
.lp-hero h1{font-size:clamp(34px,4.6vw,58px);line-height:1.05;letter-spacing:-.025em;margin-bottom:18px}
.lp-sub{font-size:clamp(17px,1.6vw,20px);line-height:1.55;color:color-mix(in srgb,var(--ok-text) 78%,transparent);margin:0 0 24px;max-width:640px}
.lp-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.lp-cta{padding:15px 28px;font-size:17px}
.lp-badges{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px}
.lp-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;font-weight:600;font-size:15px;background:color-mix(in srgb,var(--ok-text) 7%,transparent);border:1px solid color-mix(in srgb,var(--ok-text) 12%,transparent)}
.lp-checks{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:14px}
.lp-checks li{display:flex;gap:12px;align-items:flex-start;line-height:1.5}
.lp-checks svg{width:22px;height:22px;flex-shrink:0;padding:3px;border-radius:50%;color:var(--ok-on-primary);background:var(--ok-primary);margin-top:1px}
.lp-form-card{background:color-mix(in srgb,var(--ok-text) 4%,var(--ok-bg));border:1px solid color-mix(in srgb,var(--ok-text) 12%,transparent);border-radius:20px;padding:clamp(22px,3vw,34px);box-shadow:0 30px 70px -40px rgba(0,0,0,.5)}
.lp-form-title{font-size:clamp(20px,2vw,24px);margin:0 0 18px}
.lp-form-card .ok-form{margin:0}
.lp-form-card .ok-booking{margin:0 0 6px;max-width:none;border:0;padding:0;background:transparent}
.lp-note{font-size:13.5px;color:color-mix(in srgb,var(--ok-text) 60%,transparent);margin:14px 0 0}
.lp-or{display:flex;align-items:center;gap:12px;font-weight:650;margin:22px 0 14px}
.lp-or::before,.lp-or::after{content:"";flex:1;height:1px;background:color-mix(in srgb,var(--ok-text) 14%,transparent)}
.lp-figure{margin:24px 0 0}
.lp-figure img{width:100%;border-radius:16px;object-fit:cover;max-height:520px}
.lp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:900px){.lp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.lp-grid{grid-template-columns:1fr}}
.lp-card{padding:26px;border-radius:16px;background:color-mix(in srgb,var(--ok-text) 3.5%,var(--ok-bg));border:1px solid color-mix(in srgb,var(--ok-text) 10%,transparent);transition:transform .2s,border-color .2s}
.lp-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--ok-primary) 45%,transparent)}
.lp-card h3{font-size:19px;margin:10px 0 6px}
.lp-card p{margin:0;color:color-mix(in srgb,var(--ok-text) 75%,transparent);font-size:16px}
.lp-num{font:800 14px/1 var(--ok-font-head);color:var(--ok-primary);letter-spacing:.08em}
.lp-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;counter-reset:s}
.lp-steps li{position:relative;padding:24px 24px 24px 76px;border-radius:16px;background:var(--ok-bg);border:1px solid color-mix(in srgb,var(--ok-text) 10%,transparent)}
.lp-steps li span{position:absolute;left:22px;top:22px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font:800 16px/1 var(--ok-font-head);background:var(--ok-primary);color:var(--ok-on-primary)}
.lp-steps li p{margin:6px 0 0;font-weight:600;line-height:1.45}
.lp-quote{margin:0 auto;max-width:860px;text-align:center}
.lp-quote blockquote{margin:0 0 16px;font:500 clamp(21px,2.6vw,30px)/1.4 var(--ok-font-head);letter-spacing:-.01em}
.lp-quote blockquote::before{content:"“";display:block;font-size:70px;line-height:.6;color:var(--ok-primary);margin-bottom:10px}
.lp-quote figcaption{opacity:.7}
.lp-sec--faq .ok-faq{margin:0 auto}
.lp-final{text-align:center;background:linear-gradient(135deg,color-mix(in srgb,var(--ok-primary) 16%,var(--ok-bg)),color-mix(in srgb,var(--ok-accent) 10%,var(--ok-bg)))}
.lp-final .lp-narrow{margin:0 auto}
.lp-final p{max-width:620px;margin:0 auto 24px;color:color-mix(in srgb,var(--ok-text) 78%,transparent)}
.lp-form-wrap{max-width:640px}
.lp-sec--form{background:color-mix(in srgb,var(--ok-primary) 6%,var(--ok-bg))}

/* Diviso */
.lp-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(30px,5vw,70px);align-items:start}
.lp-split-form{position:sticky;top:100px}

/* Centrato */
.lp-hero--center{text-align:center;padding:clamp(80px,12vw,150px) 0;background:var(--lp-bg,none) center/cover no-repeat}
.lp-hero--center .lp-narrow{margin:0 auto}
.lp-hero--center .lp-sub{margin-left:auto;margin-right:auto}
.lp-hero--center .lp-badges,.lp-hero--center .lp-actions{justify-content:center}
.lp-hero--center[style*="--lp-bg"]{color:#fff}
.lp-hero--center[style*="--lp-bg"]::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(4,12,24,.78),rgba(4,12,24,.9))}
.lp-hero--center[style*="--lp-bg"]::before{display:none}
.lp-hero--center[style*="--lp-bg"] .lp-kicker{color:#fff;background:rgba(255,255,255,.14);padding:8px 14px;border-radius:999px}
.lp-hero--center[style*="--lp-bg"] .lp-cd-u{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22)}
.lp-hero--center[style*="--lp-bg"] .lp-sub{color:rgba(255,255,255,.88)}
.lp-hero--center[style*="--lp-bg"] .lp-badge{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.25)}
.lp-hero--center .lp-countdown{justify-content:center}

/* Racconto */
.lp-hero--long{text-align:center}
.lp-hero--long .lp-narrow{margin:0 auto}
.lp-hero--long .lp-sub{margin-left:auto;margin-right:auto}
.lp-hero--long .lp-actions,.lp-hero--long .lp-badges,.lp-hero--long .lp-countdown{justify-content:center}
.lp-story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,60px)}
.lp-story > div{padding:30px;border-radius:18px;border:1px solid color-mix(in srgb,var(--ok-text) 10%,transparent)}
.lp-story > div:last-child{background:color-mix(in srgb,var(--ok-primary) 8%,transparent);border-color:color-mix(in srgb,var(--ok-primary) 30%,transparent)}
.lp-story p{margin:0;font-size:18px;line-height:1.6}

/* Essenziale */
.lp-hero--minimal{min-height:calc(100vh - 160px);display:flex;align-items:center}
.lp-min{max-width:640px;margin:0 auto;text-align:center}
.lp-min .lp-sub{margin-left:auto;margin-right:auto}
.lp-min .lp-checks{justify-items:center;text-align:left;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px}
.lp-min .lp-checks li{font-weight:600}
.lp-min .lp-form-card{text-align:left}
.lp-min .lp-badges,.lp-min .lp-countdown{justify-content:center}

/* Conto alla rovescia */
.lp-countdown{display:flex;gap:10px;margin:0 0 24px}
.lp-cd-u{min-width:72px;padding:12px 10px;border-radius:12px;text-align:center;background:color-mix(in srgb,var(--ok-text) 7%,transparent);border:1px solid color-mix(in srgb,var(--ok-text) 12%,transparent)}
.lp-cd-u b{display:block;font:800 clamp(24px,3vw,34px)/1 var(--ok-font-head);font-variant-numeric:tabular-nums}
.lp-cd-u small{font-size:12px;text-transform:uppercase;letter-spacing:.08em;opacity:.7}
.lp-countdown.is-over{font-weight:700;color:var(--ok-primary)}

/* Testata e piè di pagina essenziali */
.ok-header--focus .ok-header-in{justify-content:flex-start;min-height:68px}
.ok-footer--focus{padding:22px 0}
.ok-footer--focus .ok-footer-bottom{margin:0;padding:0;border:0}

@media (max-width:900px){
  .lp-split,.lp-story{grid-template-columns:1fr}
  .lp-split-form{position:static}
  .lp-cd-u{min-width:60px}
}

/* ============================================================
   Negozio (sh-*)
   ============================================================ */
.ok-cart-link{position:relative;display:inline-grid;place-items:center;width:42px;height:42px;border-radius:10px;color:inherit;text-decoration:none}
.ok-cart-link:hover{background:color-mix(in srgb,var(--ok-header-fg) 9%,transparent)}
.ok-cart-link .ok-ico{width:23px;height:23px}
.ok-cart-n{position:absolute;top:2px;right:0;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--ok-primary);color:var(--ok-on-primary);font:700 11.5px/19px var(--ok-font-body);text-align:center}
.ok-cart-n.is-bump{animation:shBump .45s}
@keyframes shBump{40%{transform:scale(1.35)}}
.sh-head{margin:6px 0 22px}
.sh-head h1{margin-bottom:8px}
.sh-intro{max-width:820px}
.sh-alert{padding:13px 16px;border-radius:12px;margin:0 0 20px;background:color-mix(in srgb,var(--ok-primary) 12%,transparent);border:1px solid color-mix(in srgb,var(--ok-primary) 30%,transparent)}
.sh-alert.is-err{background:color-mix(in srgb,#e05a5a 12%,transparent);border-color:color-mix(in srgb,#e05a5a 40%,transparent)}
.sh-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin:0 0 10px}
.sh-cats{display:flex;flex-wrap:wrap;gap:8px}
.sh-cats a{padding:9px 15px;border-radius:999px;border:1px solid color-mix(in srgb,var(--ok-text) 16%,transparent);color:inherit;text-decoration:none;font-weight:600;font-size:14.5px}
.sh-cats a:hover{border-color:var(--ok-primary)}
.sh-cats a.is-active{background:var(--ok-primary);border-color:var(--ok-primary);color:var(--ok-on-primary)}
.sh-tools{display:flex;gap:8px}
.sh-tools input,.sh-tools select{font:inherit;font-size:15px;padding:9px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--ok-text) 18%,transparent);background:var(--ok-bg);color:inherit}
.sh-tools input{width:190px}
.sh-count{font-size:14px;opacity:.65;margin:0 0 16px}
.sh-grid{display:grid;grid-template-columns:repeat(var(--sh-cols,4),minmax(0,1fr));gap:22px;margin:0 0 34px}
.sh-card{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:color-mix(in srgb,var(--ok-text) 3%,var(--ok-bg));border:1px solid color-mix(in srgb,var(--ok-text) 9%,transparent);transition:transform .2s,box-shadow .2s,border-color .2s}
.sh-card:hover{transform:translateY(-3px);box-shadow:0 24px 50px -30px rgba(0,0,0,.45);border-color:color-mix(in srgb,var(--ok-primary) 35%,transparent)}
.sh-card-media{position:relative;display:block;aspect-ratio:1;background:color-mix(in srgb,var(--ok-text) 6%,transparent);overflow:hidden}
.sh-card-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .35s,transform .6s cubic-bezier(.2,.7,.2,1)}
.sh-card-media .sh-alt{opacity:0}
.sh-card:hover .sh-card-media .sh-alt{opacity:1}
.sh-card:hover .sh-card-media img{transform:scale(1.03)}
.sh-noimg{position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--ok-primary) 18%,transparent),color-mix(in srgb,var(--ok-accent) 10%,transparent))}
.sh-badge{position:absolute;top:12px;left:12px;z-index:2;padding:5px 10px;border-radius:999px;font:800 12.5px/1 var(--ok-font-head);background:#e0484d;color:#fff}
.sh-badge--out{background:#2b3442;color:#fff}
.sh-badge--alt{background:var(--ok-primary);color:var(--ok-on-primary)}
.sh-card-body{display:flex;flex-direction:column;gap:6px;padding:16px 16px 18px;flex:1}
.sh-card-cat{font-size:12.5px;text-transform:uppercase;letter-spacing:.07em;opacity:.6;color:inherit;text-decoration:none}
.sh-card-title{font-size:17px;line-height:1.3;margin:0}
.sh-card-title a{color:inherit;text-decoration:none}
.sh-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:8px}
.sh-price{font:800 18px/1.1 var(--ok-font-head);white-space:nowrap}
.sh-price small{font-weight:500;font-size:13px;opacity:.7}
.sh-price del{font-weight:500;font-size:.75em;opacity:.55}
.sh-price .sh-now{color:#e0484d}
.sh-add{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border-radius:10px;border:0;background:var(--ok-primary);color:var(--ok-on-primary);font:600 14px/1 var(--ok-font-body);cursor:pointer;text-decoration:none;white-space:nowrap}
.sh-add .ok-ico{width:18px;height:18px}
.sh-add span{display:none}
.sh-add--ghost{background:transparent;color:var(--ok-primary);border:1.5px solid currentColor}
.sh-add:hover{filter:brightness(1.08)}
.sh-stars{position:relative;display:inline-block;font-size:16px;line-height:1;letter-spacing:1px;vertical-align:middle}
.sh-stars--sm{font-size:13px}
.sh-stars-bg{color:color-mix(in srgb,var(--ok-text) 22%,transparent)}
.sh-stars-fg{position:absolute;left:0;top:0;overflow:hidden;white-space:nowrap;color:#f5b301}
.sh-stars-n{font-size:13px;opacity:.7;margin-left:6px}

/* Scheda prodotto */
.sh-product{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(26px,4vw,56px);align-items:start;margin:10px 0 50px}
.sh-gallery{position:sticky;top:96px}
.sh-stage{position:relative;aspect-ratio:1;border-radius:20px;overflow:hidden;background:color-mix(in srgb,var(--ok-text) 5%,transparent)}
.sh-stage-img{position:absolute;inset:0;opacity:0;transition:opacity .3s;cursor:zoom-in}
.sh-stage-img.is-on{opacity:1;z-index:1}
.sh-stage-img img{width:100%;height:100%;object-fit:cover}
.sh-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:10px;margin-top:12px}
.sh-thumb{padding:0;border:2px solid transparent;border-radius:12px;overflow:hidden;aspect-ratio:1;cursor:pointer;background:none}
.sh-thumb img{width:100%;height:100%;object-fit:cover}
.sh-thumb.is-on{border-color:var(--ok-primary)}
.sh-title{font-size:clamp(28px,3.4vw,40px);margin:6px 0 10px}
.sh-rating{display:inline-block;color:inherit;text-decoration:none;margin-bottom:12px}
.sh-buyprice{display:flex;align-items:baseline;gap:12px;margin:6px 0 16px}
.sh-price--big{font-size:clamp(26px,3vw,34px)}
.sh-vat{font-size:13px;opacity:.6}
.sh-excerpt{font-size:17px;color:color-mix(in srgb,var(--ok-text) 82%,transparent);margin:0 0 20px}
.sh-opt{border:0;padding:0;margin:0 0 16px;display:block}
.sh-opt legend,.sh-opt > span{font-weight:600;margin-bottom:8px;display:block}
.sh-opt select{width:100%;font:inherit;padding:12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--ok-text) 20%,transparent);background:var(--ok-bg);color:inherit}
.sh-opt-vals{display:flex;flex-wrap:wrap;gap:8px}
.sh-chip input{position:absolute;opacity:0}
.sh-chip span{display:inline-block;min-width:46px;text-align:center;padding:10px 14px;border-radius:10px;border:1.5px solid color-mix(in srgb,var(--ok-text) 20%,transparent);cursor:pointer;font-weight:600;transition:.15s}
.sh-chip input:checked + span{border-color:var(--ok-primary);background:color-mix(in srgb,var(--ok-primary) 12%,transparent);color:var(--ok-primary)}
.sh-chip input:focus-visible + span{outline:3px solid var(--ok-accent);outline-offset:2px}
.sh-chip.is-off span{opacity:.4;text-decoration:line-through}
.sh-stock{font-weight:600;font-size:14.5px;margin:4px 0 14px}
.sh-stock--in{color:#2fb37e}.sh-stock--low{color:#e08a1e}.sh-stock--out{color:#e0484d}.sh-stock--back{color:#8a8fff}
.sh-buy-row{display:flex;gap:10px;margin-bottom:10px}
.sh-qty{display:inline-flex;align-items:center;border:1.5px solid color-mix(in srgb,var(--ok-text) 18%,transparent);border-radius:12px;overflow:hidden}
.sh-qty button{width:42px;height:50px;border:0;background:none;color:inherit;cursor:pointer;display:grid;place-items:center}
.sh-qty button:hover{background:color-mix(in srgb,var(--ok-text) 7%,transparent)}
.sh-qty input{width:46px;height:50px;border:0;background:none;color:inherit;text-align:center;font:700 16px var(--ok-font-body);-moz-appearance:textfield}
.sh-qty input::-webkit-inner-spin-button{-webkit-appearance:none}
.sh-qty--sm button{width:34px;height:40px}.sh-qty--sm input{width:38px;height:40px}
.sh-addbig{flex:1;height:54px}
.sh-addbig .ok-ico{width:20px;height:20px}
.sh-buynow{width:100%;height:50px}
.sh-trust{list-style:none;padding:18px 0 0;margin:20px 0 0;border-top:1px solid color-mix(in srgb,var(--ok-text) 10%,transparent);display:grid;gap:10px}
.sh-trust li{display:flex;align-items:center;gap:10px;font-size:15px}
.sh-trust .ok-ico{width:22px;height:22px;color:var(--ok-primary)}
.sh-trust--sm{border:0;padding:12px 0 0;margin:0}
.sh-sku{font-size:13px;opacity:.55;margin:14px 0 0}
.sh-sec{margin:0 0 50px}
.sh-sec > h2{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.sh-rev-avg{font-size:16px;font-weight:500}
.sh-review{padding:18px 0;border-bottom:1px solid color-mix(in srgb,var(--ok-text) 10%,transparent)}
.sh-review header{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px}
.sh-review time{font-size:13px;opacity:.55}
.sh-review p{margin:0}
.sh-verified{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:#2fb37e;font-weight:600}
.sh-verified .ok-ico{width:14px;height:14px}
.sh-reply{margin:10px 0 0 18px;padding:10px 14px;border-left:3px solid var(--ok-primary);background:color-mix(in srgb,var(--ok-text) 4%,transparent);border-radius:0 10px 10px 0;font-size:15px}
.sh-review-form{margin-top:20px}
.sh-review-form summary{list-style:none;display:inline-flex}
.sh-review-form summary::-webkit-details-marker{display:none}
.sh-review-form form{margin-top:16px;max-width:640px;display:grid;gap:12px}
.sh-review-form label{display:grid;gap:6px;font-weight:600;font-size:14.5px}
.sh-review-form input,.sh-review-form textarea,.sh-f input,.sh-f select,.sh-f textarea{font:inherit;font-weight:400;padding:12px 13px;border-radius:11px;border:1px solid color-mix(in srgb,var(--ok-text) 20%,transparent);background:var(--ok-bg);color:inherit;width:100%}
.sh-rate{border:0;padding:0;margin:0;display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px}
.sh-rate legend{font-weight:600;font-size:14.5px;margin-bottom:4px;float:left;width:100%}
.sh-rate input{position:absolute;opacity:0}
.sh-rate label{font-size:30px;color:color-mix(in srgb,var(--ok-text) 22%,transparent);cursor:pointer;display:inline;font-weight:400}
.sh-rate input:checked ~ label,.sh-rate label:hover,.sh-rate label:hover ~ label{color:#f5b301}

/* Carrello */
.sh-empty{text-align:center;padding:60px 20px}
.sh-empty .ok-ico{width:64px;height:64px;opacity:.35}
.sh-cart{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:34px;align-items:start;margin:10px 0 50px}
.sh-line{display:grid;grid-template-columns:86px minmax(0,1fr) auto auto auto;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid color-mix(in srgb,var(--ok-text) 10%,transparent)}
.sh-line.is-warn{background:color-mix(in srgb,#e08a1e 8%,transparent)}
.sh-line-img{position:relative;display:block;width:86px;height:86px;border-radius:12px;overflow:hidden;background:color-mix(in srgb,var(--ok-text) 6%,transparent)}
.sh-line-img img{width:100%;height:100%;object-fit:cover}
.sh-line-info{display:flex;flex-direction:column;gap:2px;min-width:0}
.sh-line-info a{color:inherit;text-decoration:none}
.sh-line-info > span{font-size:14px;opacity:.7}
.sh-line-unit del{opacity:.6}
.sh-line-total{font:800 17px var(--ok-font-head);min-width:84px;text-align:right}
.sh-remove{border:0;background:none;color:inherit;opacity:.5;cursor:pointer;padding:8px}
.sh-remove:hover{opacity:1;color:#e0484d}
.sh-warn{color:#e08a1e;font-weight:600;font-size:14px}
.sh-back{display:inline-block;margin-top:18px;color:inherit;opacity:.8}
.sh-summary{padding:24px;border-radius:18px;background:color-mix(in srgb,var(--ok-text) 4%,var(--ok-bg));border:1px solid color-mix(in srgb,var(--ok-text) 10%,transparent)}
.sh-summary h2{font-size:20px;margin:0 0 14px}
.sh-summary--sticky{position:sticky;top:96px}
.sh-coupon{display:flex;gap:8px;margin:0 0 14px}
.sh-coupon input{flex:1;min-width:0;font:inherit;padding:10px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--ok-text) 20%,transparent);background:var(--ok-bg);color:inherit;text-transform:uppercase}
.sh-coupon button{padding:10px 14px;border-radius:10px;border:1.5px solid var(--ok-primary);background:none;color:var(--ok-primary);font-weight:700;cursor:pointer}
.sh-totals{margin:0}
.sh-totals > div{display:flex;justify-content:space-between;gap:10px;padding:7px 0}
.sh-totals dt{opacity:.8}.sh-totals dd{margin:0;font-weight:600}
.sh-grand{border-top:1px solid color-mix(in srgb,var(--ok-text) 12%,transparent);margin-top:6px;padding-top:12px!important}
.sh-grand dt,.sh-grand dd{font:800 21px var(--ok-font-head);opacity:1}
.sh-vatrow{padding-top:0!important;font-size:13px;opacity:.65}
.sh-freebar{position:relative;font-size:13.5px;margin:12px 0 0;padding-top:12px}
.sh-freebar span{position:absolute;top:0;left:0;height:5px;border-radius:5px;background:var(--ok-primary)}
.sh-freebar::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;border-radius:5px;background:color-mix(in srgb,var(--ok-text) 12%,transparent)}
.sh-go{width:100%;margin-top:16px;height:54px;font-size:17px}
.sh-sum-lines{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:12px}
.sh-sum-lines li{display:grid;grid-template-columns:54px 1fr auto;gap:12px;align-items:center;font-size:14.5px}
.sh-sum-lines small{display:block;opacity:.65}
.sh-sum-img{position:relative;width:54px;height:54px;border-radius:10px;overflow:hidden;background:color-mix(in srgb,var(--ok-text) 7%,transparent)}
.sh-sum-img img{width:100%;height:100%;object-fit:cover}
.sh-sum-img b{position:absolute;top:2px;right:2px;min-width:19px;height:19px;border-radius:999px;background:var(--ok-text);color:var(--ok-bg);font-size:11px;display:grid;place-items:center}
.sh-small{font-size:12.5px;opacity:.6;margin:10px 0 0}

/* Cassa */
.sh-checkout{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:34px;align-items:start;margin:10px 0 50px}
.sh-box{border:1px solid color-mix(in srgb,var(--ok-text) 11%,transparent);border-radius:16px;padding:22px;margin:0 0 18px;background:color-mix(in srgb,var(--ok-text) 2%,var(--ok-bg))}
.sh-box--light{background:transparent}
.sh-box legend{display:flex;align-items:center;gap:10px;font:700 18px var(--ok-font-head);padding:0 6px;margin-left:-6px}
.sh-box legend span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--ok-primary);color:var(--ok-on-primary);font-size:14px}
.sh-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;margin-bottom:12px}
.sh-g1{grid-template-columns:1fr}
.sh-g3{grid-template-columns:140px 1fr 110px}
.sh-f{display:grid;gap:6px;font-size:14px;font-weight:600}
.sh-f i{color:#e0484d;font-style:normal}
.sh-f.has-err input,.sh-f.has-err select{border-color:#e0484d}
.sh-ferr{display:block;color:#e0484d;font-style:normal;font-size:13px;font-weight:600;min-height:0}
.sh-check{display:flex;align-items:flex-start;gap:10px;font-size:15px;margin:10px 0;cursor:pointer}
.sh-check input{width:18px;height:18px;margin-top:3px;accent-color:var(--ok-primary);flex-shrink:0}
.sh-radios{display:grid;gap:10px}
.sh-radio{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:12px;border:1.5px solid color-mix(in srgb,var(--ok-text) 14%,transparent);cursor:pointer;transition:.15s}
.sh-radio:has(input:checked){border-color:var(--ok-primary);background:color-mix(in srgb,var(--ok-primary) 8%,transparent)}
.sh-radio input{accent-color:var(--ok-primary);width:18px;height:18px;flex-shrink:0}
.sh-radio span{flex:1;display:grid;gap:2px}
.sh-radio small{opacity:.7;font-size:13.5px}
.sh-radio[hidden]{display:none}
.sh-err-box{padding:14px 16px;border-radius:12px;margin:0 0 18px;background:color-mix(in srgb,#e05a5a 12%,transparent);border:1px solid color-mix(in srgb,#e05a5a 40%,transparent);font-weight:600}
.sh-checkout [data-sh-submit][disabled]{opacity:.6;cursor:progress}

/* Ordine */
.sh-order{max-width:980px;margin-top:20px}
.sh-hero{text-align:center;padding:36px 20px 26px}
.sh-hero-ico{display:inline-grid;place-items:center;width:70px;height:70px;border-radius:50%;background:#2fb37e;color:#fff;margin-bottom:14px}
.sh-hero-ico .ok-ico{width:36px;height:36px}
.sh-hero--wait h1{color:#e08a1e}.sh-hero--off h1{color:#e0484d}
.sh-steps{list-style:none;display:flex;justify-content:space-between;gap:6px;padding:0;margin:0 0 30px;counter-reset:s}
.sh-steps li{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;font-size:13.5px;opacity:.55;position:relative}
.sh-steps li::before{content:"";position:absolute;top:17px;left:-50%;right:50%;height:3px;background:color-mix(in srgb,var(--ok-text) 15%,transparent);z-index:-1}
.sh-steps li:first-child::before{display:none}
.sh-steps li span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--ok-text) 10%,var(--ok-bg));font-weight:700}
.sh-steps li span .ok-ico{width:18px;height:18px}
.sh-steps li.is-done{opacity:1}
.sh-steps li.is-done span{background:var(--ok-primary);color:var(--ok-on-primary)}
.sh-steps li.is-done::before{background:var(--ok-primary)}
.sh-order-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}
.sh-otable{width:100%;border-collapse:collapse;margin-bottom:10px}
.sh-otable td{padding:8px 0;border-bottom:1px solid color-mix(in srgb,var(--ok-text) 9%,transparent);vertical-align:top}
.sh-otable td:last-child{text-align:right;white-space:nowrap}
.sh-otable small{display:block;opacity:.65}
.sh-kv{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0}
.sh-kv dt{opacity:.65}.sh-kv dd{margin:0}
.sh-dl{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.sh-bank{padding:4px 18px}
.sh-inline-buy{display:inline-block}

/* Avviso «aggiunto al carrello» */
.sh-toast{position:fixed;right:20px;bottom:20px;z-index:400;display:flex;align-items:center;gap:14px;max-width:min(420px,calc(100vw - 40px));padding:14px 16px;border-radius:14px;background:var(--ok-text);color:var(--ok-bg);box-shadow:0 24px 60px -20px rgba(0,0,0,.5);transform:translateY(20px);opacity:0;transition:.25s}
.sh-toast.is-on{transform:none;opacity:1}
.sh-toast a{color:inherit;font-weight:700;white-space:nowrap}
.sh-toast.is-err{background:#c43d42;color:#fff}

@media (max-width:1100px){.sh-grid{--sh-cols:3!important}}
@media (max-width:900px){
  .sh-grid{--sh-cols:2!important;gap:14px}
  .sh-product,.sh-cart,.sh-checkout,.sh-order-grid{grid-template-columns:minmax(0,1fr)}
  .sh-gallery,.sh-summary--sticky{position:static}
  .sh-line{grid-template-columns:70px minmax(0,1fr) auto;grid-template-areas:"img info rm" "img qty tot"}
  .sh-line-img{width:70px;height:70px;grid-area:img}.sh-line-info{grid-area:info}.sh-line .sh-qty{grid-area:qty;justify-self:start}.sh-line-total{grid-area:tot}.sh-line > form:last-child{grid-area:rm}
  .sh-tools{width:100%}.sh-tools input{flex:1;width:auto}
}
@media (max-width:560px){
  .sh-card-foot{flex-direction:column;align-items:stretch}
  .sh-add{justify-content:center}.sh-add span{display:inline}
  .sh-form-grid,.sh-g3{grid-template-columns:1fr}
  .sh-steps li{font-size:11.5px}
}
@media (min-width:561px){.sh-card-foot .sh-add:not(.sh-add--ghost){padding:10px}}
.sh-totals > div[hidden],.sh-radio[hidden],.sh-chip[hidden]{display:none}
/* --- negozio 1.2: preferiti, scaglioni, kit, carte regalo, avvisi, resi, area cliente --- */
.sh-titlerow{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.sh-titlerow form{margin:0;flex:none}
.sh-heart{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:transparent;border:1px solid color-mix(in srgb,var(--ok-text) 16%,transparent);color:var(--ok-text);transition:transform .2s,background .2s,border-color .2s}
.sh-heart svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;transition:fill .2s}
.sh-heart:hover{transform:scale(1.06);border-color:#e0446a;color:#e0446a}
.sh-heart.is-on{color:#e0446a;border-color:color-mix(in srgb,#e0446a 40%,transparent);background:color-mix(in srgb,#e0446a 8%,transparent)}
.sh-heart.is-on svg{fill:currentColor}
.sh-tiers,.sh-bundle{margin:16px 0;padding:16px 18px;border-radius:14px;background:color-mix(in srgb,var(--ok-primary) 7%,var(--ok-bg));border:1px solid color-mix(in srgb,var(--ok-primary) 22%,transparent)}
.sh-tiers strong,.sh-bundle>strong{display:block;font-size:14px;margin-bottom:8px}
.sh-tiers ul,.sh-bundle ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.sh-tiers li{display:flex;justify-content:space-between;font-size:14.5px}
.sh-tiers b{color:var(--ok-primary)}
.sh-bundle li a{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-size:14.5px}
.sh-bundle li img{width:40px;height:40px;object-fit:cover;border-radius:8px}
.sh-bundle p{margin:10px 0 0;font-size:14px}
.sh-giftfields{margin:14px 0;padding:14px 16px;border-radius:14px;border:1px dashed color-mix(in srgb,var(--ok-text) 22%,transparent)}
.sh-giftfields summary{cursor:pointer;font-weight:600;font-size:14.5px}
.sh-giftfields .sh-form-grid{margin-top:12px}
.sh-alertform{margin:14px 0;padding:16px 18px;border-radius:14px;background:color-mix(in srgb,var(--ok-text) 4%,var(--ok-bg))}
.sh-alertform strong{display:flex;align-items:center;gap:8px;font-size:14.5px;margin-bottom:10px}
.sh-alertform strong svg{width:18px;height:18px}
.sh-alertrow{display:flex;gap:8px}
.sh-alertrow input{flex:1;min-width:0;padding:11px 14px;border-radius:10px;border:1px solid color-mix(in srgb,var(--ok-text) 18%,transparent);background:var(--ok-bg);color:var(--ok-text);font:inherit}
.sh-tierbadge{font-style:normal;font-size:11px;font-weight:700;padding:2px 7px;border-radius:20px;background:color-mix(in srgb,var(--ok-primary) 14%,transparent);color:var(--ok-primary);margin-left:4px}
.sh-x{border:0;background:color-mix(in srgb,var(--ok-text) 10%,transparent);color:inherit;width:20px;height:20px;border-radius:50%;cursor:pointer;line-height:1;font-size:14px;padding:0;margin-left:4px}
.sh-x:hover{background:#e0446a;color:#fff}
.sh-returnbox summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.sh-returnbox summary strong{display:inline-flex;gap:8px;align-items:center}
.sh-returnbox summary svg{width:18px;height:18px}
.sh-returnbox[open] summary{margin-bottom:14px}
.sh-retitems{display:grid;gap:8px;margin:0 0 14px}
.sh-retitems label{display:flex;align-items:center;gap:10px;font-size:14.5px}
.sh-retitems input[type=number]{width:70px;padding:6px 8px;border-radius:8px;border:1px solid color-mix(in srgb,var(--ok-text) 18%,transparent);background:var(--ok-bg);color:var(--ok-text)}
.sh-account{padding-bottom:60px}
.sh-acc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:6px 0 26px;flex-wrap:wrap}
.sh-acc-head h1{margin:0 0 6px}
.sh-acc-head p{margin:0;opacity:.75;max-width:620px}
.sh-acc-head form{margin:0}
.sh-account .sh-box h2{font-size:19px;margin:0 0 12px}
.sh-acc-orders td{vertical-align:middle}
.sh-acc-orders small{display:block}
.sh-login{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.sh-login .sh-f{flex:1;min-width:240px;margin:0}
.sh-login p{flex-basis:100%}
.sh-dl{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.sh-sec{margin:34px 0}
.sh-sec h2{font-size:22px;margin:0 0 16px}
[data-sh-row="gift"] dd{white-space:nowrap}
[data-sh-row="gift"] dt{display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-width:0}
[data-sh-row="gift"] dt span{font-family:ui-monospace,monospace;font-size:12px;opacity:.75}
[data-sh-code]::placeholder{text-transform:none}
/* biglietto da visita (senza modulo Sito) */
.ok-card-page{max-width:760px;margin:0 auto;padding:clamp(40px,6vw,80px) 0}
.ok-card-head h1{font-size:clamp(32px,4vw,48px);margin:0 0 10px}
.ok-card-lead{font-size:18px;opacity:.8;margin:0}
.ok-card-sec{margin-top:36px;padding:26px;border-radius:18px;border:1px solid color-mix(in srgb,var(--ok-text) 11%,transparent);background:color-mix(in srgb,var(--ok-text) 3%,var(--ok-bg))}
.ok-card-sec h2{font-size:21px;margin:0 0 16px}
.ok-card-sec .ok-booking{margin:0;border:0;padding:0;background:transparent;max-width:none}
.ok-card-sec .ok-form{margin:0}
.ok-card-links{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ok-card-links a{display:flex;justify-content:space-between;padding:14px 16px;border-radius:12px;background:var(--ok-bg);border:1px solid color-mix(in srgb,var(--ok-text) 10%,transparent);text-decoration:none;color:inherit;font-weight:600}
.ok-card-links a:hover{border-color:var(--ok-primary)}
[data-ok-booking] form>.ok-btn{margin-top:18px}[data-ok-booking] .ok-choice span{line-height:1.45}
.ok-signup{display:grid;gap:14px;margin-top:16px}.ok-signup .ak-slug{display:flex;align-items:stretch}.ok-signup .ak-slug input{flex:1;min-width:0;border-top-right-radius:0!important;border-bottom-right-radius:0!important}.ok-signup .ak-slug span{display:flex;align-items:center;padding:0 12px;border:1.5px solid color-mix(in srgb,var(--ok-text) 20%,transparent);border-left:0;border-radius:0 10px 10px 0;font-size:14px;opacity:.75;white-space:nowrap}.ok-signup .help{font-size:13px;opacity:.7}.ok-signup .ok-btn{width:100%;justify-content:center}.ok-signup .ok-choice a{color:inherit;text-decoration:underline}
