/* ==========================================================
   devoo – stile del SITO DEL CLIENTE
   Ogni opzione dell'editor cambia una variabile CSS (--s-*)
   o un attributo data-* sull'elemento .site: il CSS di ogni
   scelta è già scritto qui, per questo il sito non si rompe.
   ========================================================== */
.site-body{margin:0;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.site{
  --s-bg:#0E1A2E; --s-surface:#16243B; --s-ink:#F5F1EA; --s-muted:#B9C1CC;
  --s-accent:#FF6B57; --s-on-accent:#FFFFFF; --s-alt:#FF7A63; --s-line:rgba(255,255,255,.12);
  --s-radius:14px; --s-btn-radius:999px; --s-border:1px;
  --s-head:'Space Grotesk',system-ui,sans-serif; --s-body:'IBM Plex Sans',system-ui,sans-serif;
  --s-space:56px; --cut-angle:12deg; --split:50%; --wm-size:14cqi; --wm-op:.14;
  background:var(--s-bg); color:var(--s-ink); font-family:var(--s-body); font-size:16px; line-height:1.6;
  container-type:inline-size; position:relative; min-height:100%;
}
.site *,.site *::before,.site *::after{box-sizing:border-box}
.site [hidden]{display:none !important}
.site h1,.site h2,.site h3{font-family:var(--s-head);margin:0;line-height:1.1;color:var(--s-ink);text-wrap:balance}
.site p{margin:0}
.site a{color:inherit;text-decoration:none}
.site img{max-width:100%;display:block}
.site .wrap{max-width:1160px;margin:0 auto;padding:0 24px;position:relative;z-index:2}
.site :focus-visible{outline:3px solid var(--s-accent);outline-offset:2px}
.site[data-btn="pill"]{--s-btn-radius:999px}
.site[data-btn="square"]{--s-btn-radius:2px}
.site[data-btn="soft"]{--s-btn-radius:10px}
.site[data-btn="slant"]{--s-btn-radius:4px}

/* ---------- layout: a box centrato ---------- */
.site[data-layout="boxed"]{background:color-mix(in srgb,var(--s-ink) 10%,var(--s-bg))}
.site[data-layout="boxed"] .s-page{max-width:1240px;margin:28px auto;background:var(--s-bg);border-radius:var(--s-radius);overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.18)}

/* ---------- titoli ---------- */
.site[data-title="serif"] h1,.site[data-title="serif"] h2{font-style:italic;font-weight:600}
.site[data-title="condensed"] h1,.site[data-title="condensed"] h2{text-transform:uppercase;letter-spacing:.5px;font-weight:600}
.site[data-title="block"] .s-hero h1 span{background:var(--s-accent);color:var(--s-on-accent);padding:0 .18em;box-decoration-break:clone;-webkit-box-decoration-break:clone}

/* ---------- pulsanti ---------- */
.s-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;font-weight:600;border-radius:var(--s-btn-radius);border:2px solid var(--s-accent);background:var(--s-accent);color:var(--s-on-accent);font-family:var(--s-body);font-size:15px;cursor:pointer;transition:transform .15s ease,filter .15s ease}
.s-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.s-btn.ghost{background:transparent;color:var(--s-ink);border-color:currentColor}
.site[data-btn="slant"] .s-btn{transform:skewX(-10deg)}
.site[data-btn="slant"] .s-btn > span{display:inline-block;transform:skewX(10deg)}

/* ---------- barra superiore ---------- */
.s-topbar{background:color-mix(in srgb,var(--s-ink) 6%,var(--s-bg));font-size:13px;color:var(--s-muted);position:relative;z-index:6}
.s-topbar .wrap{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.s-open{display:inline-flex;align-items:center;gap:6px}
.s-open i{width:8px;height:8px;border-radius:50%;background:#2FD07A;display:inline-block}

/* ---------- intestazione e menu ---------- */
.s-header{position:relative;z-index:8;background:var(--s-bg)}
.s-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}
.s-brand{font-family:var(--s-head);font-weight:700;font-size:22px;letter-spacing:.5px;display:flex;align-items:center;gap:10px}
.s-brand .mark{width:40px;height:40px;border-radius:50%;background:var(--s-accent);color:var(--s-on-accent);display:inline-flex;align-items:center;justify-content:center;font-size:18px;overflow:hidden;flex:none;position:relative}
.s-brand .mark.has-img{background:transparent}
.s-brand .mark img{width:100%;height:100%;object-fit:contain}
.s-menu{display:flex;flex-wrap:wrap;gap:6px;align-items:center;list-style:none;margin:0;padding:0}
.s-menu > li{position:relative}
.s-menu a{display:inline-flex;align-items:center;min-height:42px;padding:0 14px;border-radius:var(--s-btn-radius);font-weight:500;font-size:15px}
.s-menu a:hover{background:color-mix(in srgb,var(--s-ink) 10%,transparent)}
.s-menu .sub{display:none;position:absolute;inset-inline-start:0;top:100%;background:var(--s-surface);border-radius:var(--s-radius);padding:8px;min-width:210px;list-style:none;margin:0;box-shadow:0 12px 30px rgba(0,0,0,.25);z-index:20}
.s-menu li:hover > .sub,.s-menu li:focus-within > .sub{display:block}
.s-menu .sub a{width:100%;border-radius:8px}
.s-menu .has-sub > a::after{content:"▾";margin-inline-start:6px;font-size:11px;opacity:.7}
.s-burger{display:none;background:none;border:1.5px solid currentColor;color:var(--s-ink);border-radius:10px;width:46px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer}
.s-burger span{width:20px;height:2px;background:currentColor;border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.s-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.s-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.s-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.site[data-menu="capsule"] .s-header{background:transparent;position:absolute;left:0;right:0;top:44px}
.site[data-menu="capsule"] .s-header .wrap{background:color-mix(in srgb,var(--s-bg) 72%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:999px;margin-top:6px;padding-block:8px;padding-inline:20px 10px;max-width:1100px;border:1px solid var(--s-line)}
.site[data-menu="capsule"] .s-menu a{background:var(--s-accent);color:var(--s-on-accent)}
.site[data-menu="center"] .s-header .wrap{flex-direction:column;justify-content:center}
.site[data-menu="center"] .s-brand{font-size:28px}
.site[data-menu="transparent"] .s-header{background:transparent;position:absolute;left:0;right:0;top:44px}

/* menu laterale a sinistra o a destra */
.site[data-menu^="sidebar"] .s-page{display:grid;grid-template-columns:260px minmax(0,1fr);grid-template-areas:"side top" "side main" "side foot";align-items:start}
.site[data-menu="sidebar-right"] .s-page{grid-template-columns:minmax(0,1fr) 260px;grid-template-areas:"top side" "main side" "foot side"}
.site[data-menu^="sidebar"] .s-topbar{grid-area:top}
.site[data-menu^="sidebar"] main{grid-area:main;min-width:0;container-type:inline-size}   /* le sezioni si adattano alla colonna, non a tutta la finestra */
.site[data-menu^="sidebar"] .s-footer{grid-area:foot}
.site[data-menu^="sidebar"] .s-header{grid-area:side;position:sticky;top:0;height:100vh;max-height:100vh;overflow-y:auto;background:var(--s-surface);border-inline-end:1px solid var(--s-line)}
.site[data-menu="sidebar-right"] .s-header{border-inline-end:none;border-inline-start:1px solid var(--s-line)}
.site[data-menu^="sidebar"] .s-header .wrap{flex-direction:column;align-items:stretch;justify-content:flex-start;padding:28px 18px;height:100%;gap:28px}
.site[data-menu^="sidebar"] .s-brand{flex-direction:column;align-items:flex-start;font-size:20px}
.site[data-menu^="sidebar"] .s-menu{flex-direction:column;align-items:stretch;gap:8px}
.site[data-menu^="sidebar"] .s-menu a{width:100%;justify-content:flex-start;border:1.5px solid var(--s-line);background:var(--s-bg)}
.site[data-menu^="sidebar"] .s-menu a:hover{border-color:var(--s-accent)}
.site[data-menu^="sidebar"] .s-menu .sub{position:static;display:block;box-shadow:none;background:transparent;padding-block:6px 0;padding-inline:12px 0;min-width:0}

/* ---------- HERO ---------- */
.s-hero{position:relative;min-height:600px;display:grid;grid-template-columns:var(--split) 1fr;background:var(--s-bg);overflow:hidden;isolation:isolate}
.s-hero .h-slide{display:none}
.s-hero .h-slide.on{display:contents}
.s-hero .h-photo{position:relative;min-height:600px;z-index:1}
.s-hero[data-photobg="theme"] .h-photo{background:var(--s-alt)}
.s-hero[data-photobg="gradient"] .h-photo{background:radial-gradient(120% 90% at 50% 100%,var(--s-accent),color-mix(in srgb,var(--s-alt) 70%,var(--s-bg)))}
.s-hero[data-photobg="effect"] .h-photo{background:color-mix(in srgb,var(--s-bg) 70%,#000)}
.s-hero[data-photobg="none"] .h-photo{background:transparent}
.s-hero .h-text{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:center;gap:18px;padding-block:64px;padding-inline:52px 88px;animation:h-in .6s ease both}
.s-hero[data-photo="right"] .h-text{padding-block:64px;padding-inline:88px 52px}
@keyframes h-in{from{opacity:.001;transform:translateY(12px)}to{opacity:1;transform:none}}
.s-hero h1{font-size:clamp(34px,5.2cqi,68px);letter-spacing:-.5px}
.s-hero .h-sub{font-size:18px;color:var(--s-muted);max-width:540px}
.s-hero .h-btns{display:flex;gap:12px;flex-wrap:wrap}
.s-hero .h-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:5}
.s-hero .h-dots button{width:10px;height:10px;border-radius:5px;border:none;background:rgba(255,255,255,.45);padding:0;cursor:pointer;transition:width .2s ease}
.s-hero .h-dots button[aria-current="true"]{background:#fff;width:28px}
.s-hero .h-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(255,255,255,.55);background:rgba(0,0,0,.28);color:#fff;font-size:22px;cursor:pointer}
.s-hero .h-arrow.prev{inset-inline-start:16px}.s-hero .h-arrow.next{inset-inline-end:16px}
.s-hero[data-photo="right"]{grid-template-columns:1fr var(--split)}
.s-hero[data-photo="right"] .h-photo{order:2}
.s-hero[data-cut="diagonal"] .h-photo{clip-path:polygon(0 0,100% 0,calc(100% - tan(var(--cut-angle)) * 600px) 100%,0 100%);margin-right:calc(-1 * tan(var(--cut-angle)) * 300px)}
.s-hero[data-cut="diagonal"][data-photo="right"] .h-photo{clip-path:polygon(calc(tan(var(--cut-angle)) * 600px) 0,100% 0,100% 100%,0 100%);margin-right:0;margin-left:calc(-1 * tan(var(--cut-angle)) * 300px)}
.s-hero[data-cut="curve"] .h-photo{clip-path:ellipse(100% 78% at 0% 50%)}
.s-hero[data-cut="curve"][data-photo="right"] .h-photo{clip-path:ellipse(100% 78% at 100% 50%)}
.s-hero[data-cut="none"]{grid-template-columns:1fr}
.s-hero[data-cut="none"] .h-photo{position:absolute;inset:0;min-height:0}
.s-hero[data-cut="none"][data-mode="photo"] .h-photo::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.15))}
.s-hero[data-cut="none"] .h-text{max-width:760px}
.s-hero[data-cut="none"][data-mode="photo"] .h-text h1,.s-hero[data-cut="none"][data-mode="photo"] .h-text .h-sub,.s-hero[data-mode="video"] .h-text h1,.s-hero[data-mode="video"] .h-text .h-sub{color:#fff}
.s-hero[data-mode="video"] .s-btn.ghost,.s-hero[data-cut="none"][data-mode="photo"] .s-btn.ghost{color:#fff}
.site[data-menu="capsule"] .s-hero .h-text,.site[data-menu="transparent"] .s-hero .h-text{padding-top:150px}

/* video e sfondo a effetto */
.h-video{position:absolute;inset:0;z-index:0;background:#000}
.h-video video{width:100%;height:100%;object-fit:cover;display:block}
.h-video::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.65),rgba(0,0,0,.2))}
.h-video.empty{background:repeating-linear-gradient(45deg,#1d232b 0 14px,#232a33 14px 28px);display:flex;align-items:flex-end;justify-content:flex-end;padding:18px}
.h-video.empty::after{display:none}
.h-effectbg{position:absolute;inset:0;z-index:0;background:radial-gradient(120% 120% at 80% 0%,color-mix(in srgb,var(--s-accent) 22%,var(--s-bg)),var(--s-bg) 60%)}

/* tela degli effetti animati */
.fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;display:block}
.fx-hero{z-index:2;opacity:.7}
.fx-hero-bg{z-index:1}
.fx-photo{z-index:0}
.h-photo img{z-index:1}
.fx-section{z-index:0;opacity:.8}

/* scritta di sfondo (watermark) */
.h-wm{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;pointer-events:none;overflow:hidden}
.h-wm span{font-family:var(--s-head);font-weight:800;font-size:var(--wm-size);line-height:1;letter-spacing:.04em;white-space:nowrap;text-transform:uppercase;opacity:var(--wm-op);color:transparent;-webkit-text-stroke:2px var(--s-ink)}
.h-wm[data-style="fill"] span{color:var(--s-ink);-webkit-text-stroke:0}

/* ---------- sezioni ---------- */
.s-section{padding:var(--s-space) 0;position:relative;overflow:hidden}
.s-section.bg-alt{background:var(--s-surface)}
.s-section.bg-image{color:#fff}
.s-section.bg-image h2,.s-section.bg-image h3{color:#fff}
.s-bgimg{position:absolute;inset:0;z-index:0;background-size:cover;background-color:var(--s-alt)}
.s-bgimg::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.55)}
.s-bgimg.empty{background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--s-ink) 14%,var(--s-bg)) 0 12px,var(--s-bg) 12px 24px)}
.s-section.bg-effect{background:color-mix(in srgb,var(--s-bg) 80%,#000)}
.s-section h2{font-size:clamp(28px,3.6cqi,44px);margin-bottom:10px}
.s-lead{color:var(--s-muted);max-width:640px;margin-bottom:28px}
.s-section.bg-image .s-lead{color:rgba(255,255,255,.85)}
.s-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.s-card{background:var(--s-surface);border-radius:var(--s-radius);padding:22px;border:var(--s-border) solid var(--s-line);display:flex;flex-direction:column;gap:8px}
.s-section.bg-alt .s-card{background:var(--s-bg)}
.s-card .price{font-family:var(--s-head);font-size:22px;color:var(--s-accent);font-weight:700;margin-top:auto}
.s-muted{color:var(--s-muted)}
.site[data-card="glass"] .s-card{background:color-mix(in srgb,var(--s-ink) 5%,transparent);border:1px solid color-mix(in srgb,var(--s-accent) 55%,transparent);backdrop-filter:blur(6px)}
.site[data-card="offset"] .s-card{border:3px solid var(--s-ink);box-shadow:8px 8px 0 var(--s-accent);border-radius:4px}
.site[data-card="lift"] .s-card{border:none;box-shadow:0 2px 6px rgba(0,0,0,.06),0 14px 34px rgba(0,0,0,.1)}
.s-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px;align-items:center}
.s-about-ph{height:320px;border-radius:var(--s-radius)}
.s-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-top:20px}
.s-stat{background:var(--s-surface);border-radius:var(--s-radius);padding:20px;border:var(--s-border) solid var(--s-line)}
.s-section.bg-alt .s-stat{background:var(--s-bg)}
.s-stat b{display:block;font-family:var(--s-head);font-size:40px;color:var(--s-accent);line-height:1.1}
.s-quote small{display:block;color:var(--s-muted);margin-top:8px;font-size:14px}
.s-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:20px}
.s-gallery .ph{height:230px;border-radius:var(--s-radius)}
.s-food{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:4px 32px}
.s-dish{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px dashed var(--s-line)}
.s-dish small{display:block;color:var(--s-muted);font-size:14px}
.s-dish .price{font-weight:700;color:var(--s-accent);white-space:nowrap}
.s-contact{align-items:start;margin-top:20px}
.s-contact dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 16px}
.s-contact dt{color:var(--s-muted)}
.s-contact dd{margin:0;font-weight:500}
.s-map{min-height:240px;border-radius:var(--s-radius);background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--s-ink) 8%,transparent) 0 12px,transparent 12px 24px);display:flex;align-items:center;justify-content:center;font-weight:600;border:1px solid var(--s-line)}
.s-cta{background:var(--s-accent);color:var(--s-on-accent);text-align:center}
.s-cta h2{color:var(--s-on-accent)}
.s-cta-in{display:flex;flex-direction:column;align-items:center;gap:14px}
.s-cta .s-btn{background:var(--s-on-accent);color:var(--s-accent);border-color:var(--s-on-accent)}
.s-footer{padding:26px 0;font-size:14px;color:var(--s-muted);border-top:1px solid var(--s-line)}

/* carosello che scorre da sinistra a destra */
.s-carousel .wrap h2{margin-bottom:22px}
.c-viewport{overflow:hidden;position:relative;z-index:2;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.c-track{display:flex;gap:18px;width:max-content;padding:4px 0 8px;animation:c-scroll var(--c-dur,40s) linear infinite}
.c-viewport:hover .c-track{animation-play-state:paused}
@keyframes c-scroll{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.c-card{width:300px;flex:none;background:var(--s-surface);border-radius:var(--s-radius);overflow:hidden;border:var(--s-border) solid var(--s-line)}
.c-card .c-ph{height:200px}
.c-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:2px}
.c-body strong{font-family:var(--s-head);font-size:18px}
.c-body span{color:var(--s-muted);font-size:14px}
.c-body b{color:var(--s-accent);margin-top:6px}
.editing .c-track,.c-still .c-track{animation:none}
.editing .c-card[aria-hidden="true"],.c-still .c-card[aria-hidden="true"]{display:none}
.editing .c-viewport,.c-still .c-viewport{overflow-x:auto;mask-image:none;-webkit-mask-image:none;padding:0 24px}
@media (prefers-reduced-motion:reduce){
  .c-track{animation:none}
  .c-card[aria-hidden="true"]{display:none}
  .c-viewport{overflow-x:auto;mask-image:none;-webkit-mask-image:none}
  .s-hero .h-text{animation:none}
}

/* decorazioni */
.site[data-deco="numbered"] main{counter-reset:sez}
.site[data-deco="numbered"] .s-section h2::before{counter-increment:sez;content:"0" counter(sez) " · ";color:var(--s-accent);font-size:.6em;vertical-align:middle}
.site[data-deco="pole"] .s-card,.site[data-deco="pole"] .s-stat{border:4px solid transparent;border-image:repeating-linear-gradient(45deg,#C8102E 0 10px,#fff 10px 20px,#1D3F8F 20px 30px,#fff 30px 40px) 4}

/* immagini segnaposto */
.ph{position:relative;background:linear-gradient(135deg,color-mix(in srgb,var(--s-accent) 60%,#333),color-mix(in srgb,var(--s-alt) 45%,#111));overflow:hidden;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.9);font-size:13px;font-weight:600;text-align:center}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph .ph-label{position:relative;z-index:1;padding:6px 12px;border-radius:999px;background:rgba(0,0,0,.4)}
.ph:has(img) .ph-label{display:none}
.s-hero .h-photo.ph{background-image:none}
.s-hero .h-photo .ph-label{position:absolute;bottom:20px;inset-inline-start:20px;z-index:2}
.s-hero[data-photobg="theme"] .h-photo.ph:not(:has(img)){background:linear-gradient(135deg,color-mix(in srgb,var(--s-accent) 60%,#333),color-mix(in srgb,var(--s-alt) 45%,#111))}

/* ---------- telefono e finestre strette ---------- */
@container (max-width:760px){
  .site[data-menu^="sidebar"] .s-page{display:block}
  .site[data-menu^="sidebar"] .s-header{position:relative;height:auto;max-height:none;overflow:visible;border:none;border-bottom:1px solid var(--s-line)}
  .site[data-menu^="sidebar"] .s-header .wrap{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:14px 18px;height:auto;gap:12px}
  .site[data-menu^="sidebar"] .s-brand{flex-direction:row;align-items:center}
  .site[data-menu^="sidebar"] .s-menu a{border:none;background:transparent}
  .site[data-layout="boxed"] .s-page{margin:0;border-radius:0}
  .s-hero,.s-hero[data-photo="right"]{grid-template-columns:1fr;min-height:0}
  .s-hero .h-photo{min-height:320px;order:0 !important;margin:0 !important}
  .s-hero[data-cut="diagonal"] .h-photo,.s-hero[data-cut="diagonal"][data-photo="right"] .h-photo{clip-path:polygon(0 0,100% 0,100% 84%,0 100%)}
  .s-hero[data-cut="curve"] .h-photo,.s-hero[data-cut="curve"][data-photo="right"] .h-photo{clip-path:ellipse(95% 100% at 50% 0%)}
  .s-hero[data-cut="none"]{min-height:520px}
  .s-hero[data-cut="none"] .h-photo{position:absolute;min-height:0}
  .s-hero .h-text,.s-hero[data-photo="right"] .h-text{padding:36px 20px 56px}
  .site[data-menu="capsule"] .s-hero .h-text,.site[data-menu="transparent"] .s-hero .h-text{padding-top:36px}
  .site[data-menu="capsule"] .s-header,.site[data-menu="transparent"] .s-header{position:relative;top:0;background:var(--s-bg)}
  .site[data-menu="capsule"] .s-header .wrap{border-radius:18px;margin:8px 12px}
  .s-header nav{width:100%}
  .s-menu{display:none;width:100%;flex-direction:column;align-items:stretch;padding-bottom:6px}
  .s-menu.open{display:flex}
  .s-menu a{width:100%}
  .s-menu .sub{position:static;display:block;box-shadow:none;background:transparent;padding:0;padding-inline-start:14px}
  .site[data-menu="center"] .s-header .wrap{flex-direction:row;justify-content:space-between}
  .s-burger{display:inline-flex}
  .s-section{padding:40px 0}
  .s-hero .h-arrow{display:none}
  .c-card{width:250px}
  .hide-mobile{display:none !important}
  .site .wrap{padding:0 18px}
}

/* ==========================================================
   Modalità modifica (solo nel live editor)
   ========================================================== */
.editing [data-edit]{outline:1.5px dashed transparent;outline-offset:3px;border-radius:4px;cursor:text}
.editing [data-edit]:hover{outline-color:rgba(43,168,142,.85)}
.editing [data-edit]:focus{outline:2px solid #2BA88E;background:rgba(43,168,142,.1)}
.editing [data-img],.editing [data-video]{cursor:copy}
.editing [data-img]:hover::after,.editing [data-video]:hover::before{content:var(--hint-img,"Doppio clic: cambia");position:absolute;inset-inline-end:12px;top:12px;z-index:6;background:#0B7A66;color:#fff;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px}
.editing .mark[data-img]:hover::after{content:"";display:none}
.editing .blk{position:relative}
.editing .blk:hover{box-shadow:inset 0 0 0 2px rgba(43,168,142,.5)}
.editing .blk.selected{box-shadow:inset 0 0 0 3px #2BA88E}
.editing .blk.flag-mobile::before{content:"Nascosto su telefono";position:absolute;right:10px;top:10px;z-index:9;background:#8A4300;color:#fff;font-size:12px;padding:3px 10px;border-radius:999px}
.editing .s-header[data-sel="1"]{box-shadow:inset 0 0 0 3px #2BA88E}
.editing a{cursor:default}

/* il riquadro del testo non copre la foto: si può sempre cliccare (o fare doppio clic) sulla foto */
.s-hero .h-text,.s-hero .h-text h1,.s-hero .h-btns{pointer-events:none}
.s-hero .h-text h1 span,.s-hero .h-sub,.s-hero .h-btns > *{pointer-events:auto}
.s-hero .h-sub{width:fit-content}


/* ==========================================================
   EFFETTI v1.1 – menu, pulsanti, titoli, slider, telefono
   (tutto si sceglie nell'editor; "auto" = come lo stile)
   ========================================================== */

/* ---------- telefono e orari nella barra in alto ---------- */
.s-tel{display:inline-flex;align-items:center;gap:6px;color:inherit;transition:color .18s ease}
a.s-tel:hover{color:var(--s-accent)}
.s-tel-ic{flex:none}

/* ---------- pulsanti: base comune ---------- */
.s-btn{--b-skew:skewX(0deg);--b-y:0px;--b-fill:color-mix(in srgb,var(--s-accent) 72%,#000);
  position:relative;overflow:hidden;isolation:isolate;transform:var(--b-skew) translateY(var(--b-y));filter:none;
  transition:transform .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .25s ease,outline-offset .25s ease,outline-color .25s ease}
.s-btn:hover{filter:none}
.site[data-btn="slant"] .s-btn{--b-skew:skewX(-10deg);transform:var(--b-skew) translateY(var(--b-y))}
.s-btn.ghost{--b-fill:var(--s-accent)}
.s-cta .s-btn{--b-fill:var(--s-ink)}
.s-btn:focus-visible,.s-menu a:focus-visible,.s-tel:focus-visible{outline:3px solid var(--s-accent);outline-offset:3px}

/* si alza con ombra */
.site[data-btnfx="lift"] .s-btn:hover{--b-y:-3px;box-shadow:0 12px 26px color-mix(in srgb,var(--s-accent) 40%,transparent)}
.site[data-btnfx="lift"] .s-btn:not(.ghost):hover{background:var(--b-fill);border-color:var(--b-fill)}
.site[data-btnfx="lift"] .s-btn.ghost:hover{background:var(--s-accent);border-color:var(--s-accent);color:var(--s-on-accent)}
.site[data-btnfx="lift"] .s-cta .s-btn:hover{background:var(--s-ink);border-color:var(--s-ink);color:var(--s-bg)}

/* riempimento che scorre da sinistra */
.site[data-btnfx="sweep"] .s-btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--b-fill);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.6,.1,.2,1)}
.site[data-btnfx="sweep"] .s-btn:hover::before{transform:scaleX(1)}
.site[data-btnfx="sweep"] .s-btn:hover{border-color:var(--b-fill)}
.site[data-btnfx="sweep"] .s-btn.ghost:hover{color:var(--s-on-accent)}
.site[data-btnfx="sweep"] .s-cta .s-btn:hover{color:var(--s-bg)}

/* luce che passa */
.site[data-btnfx="shine"] .s-btn::after{content:"";position:absolute;top:-20%;bottom:-20%;left:0;width:40%;z-index:1;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:translateX(-160%) skewX(-18deg);transition:transform .7s ease}
.site[data-btnfx="shine"] .s-btn:hover::after{transform:translateX(330%) skewX(-18deg)}
.site[data-btnfx="shine"] .s-btn:hover{--b-y:-1px}

/* bagliore colorato */
.site[data-btnfx="glow"] .s-btn:hover{box-shadow:0 0 0 4px color-mix(in srgb,var(--s-accent) 22%,transparent),0 0 28px color-mix(in srgb,var(--s-accent) 70%,transparent)}
.site[data-btnfx="glow"] .s-btn.ghost:hover{color:var(--s-accent);border-color:var(--s-accent)}

/* compare una freccia */
.site[data-btnfx="arrow"] .s-btn::after{content:"→";display:inline-block;width:0;opacity:0;margin-inline-start:0;transition:width .25s ease,opacity .25s ease,margin .25s ease}
.site[data-btnfx="arrow"] .s-btn:hover::after{width:1em;opacity:1;margin-inline-start:8px}
.site[data-btnfx="arrow"] .s-btn.ghost:hover{background:var(--s-accent);border-color:var(--s-accent);color:var(--s-on-accent)}

/* pulsante 3D */
.site[data-btnfx="press"] .s-btn{box-shadow:0 5px 0 var(--b-fill);margin-bottom:5px}
.site[data-btnfx="press"] .s-btn.ghost{box-shadow:0 5px 0 currentColor}
.site[data-btnfx="press"] .s-btn:hover{--b-y:2px;box-shadow:0 3px 0 var(--b-fill)}
.site[data-btnfx="press"] .s-btn.ghost:hover{box-shadow:0 3px 0 currentColor}
.site[data-btnfx="press"] .s-btn:active{--b-y:5px;box-shadow:0 0 0 var(--b-fill)}

/* pulsa per attirare l'attenzione (solo il pulsante principale) */
.site[data-btnfx="pulse"] .s-btn:not(.ghost){animation:b-pulse 2.4s ease-out infinite}
.site[data-btnfx="pulse"] .s-btn:hover{animation:none;--b-y:-2px;background:var(--b-fill);border-color:var(--b-fill)}
.site[data-btnfx="pulse"] .s-btn.ghost:hover{background:var(--s-accent);border-color:var(--s-accent);color:var(--s-on-accent)}
@keyframes b-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--s-accent) 60%,transparent)}70%,100%{box-shadow:0 0 0 16px transparent}}

/* cornice che si stringe */
.site[data-btnfx="border"] .s-btn{outline:2px solid transparent;outline-offset:10px}
.site[data-btnfx="border"] .s-btn:hover{outline-color:var(--s-accent);outline-offset:4px}
.site[data-btnfx="border"] .s-cta .s-btn:hover{outline-color:var(--s-on-accent)}

/* nessun effetto */
.site[data-btnfx="none"] .s-btn:hover{--b-y:0px;box-shadow:none}

/* ---------- menu: stili delle voci ---------- */
.site:not([data-nav="auto"]) .s-menu > li > a{background:transparent;border:0;box-shadow:none;color:inherit;position:relative;border-radius:0;isolation:isolate;
  transition:color .2s ease,background-color .2s ease,box-shadow .2s ease,text-shadow .2s ease}
.site[data-nav="plain"] .s-menu > li > a:hover{color:var(--s-accent);background:transparent}

.site[data-nav="underline"] .s-menu > li > a::after,.site[data-nav="center"] .s-menu > li > a::after,
.site[data-nav="overline"] .s-menu > li > a::after,.site[data-nav="double"] .s-menu > li > a::after,.site[data-nav="double"] .s-menu > li > a::before{
  content:"";position:absolute;left:14px;right:14px;height:2px;background:var(--s-accent);transform:scaleX(0);transition:transform .3s cubic-bezier(.6,.1,.2,1)}
.site[data-nav="underline"] .s-menu > li > a::after{bottom:6px;transform-origin:left}
.site[data-nav="center"] .s-menu > li > a::after{bottom:6px;transform-origin:center}
.site[data-nav="overline"] .s-menu > li > a::after{top:6px;transform-origin:left}
.site[data-nav="double"] .s-menu > li > a::before{top:6px;transform-origin:right}
.site[data-nav="double"] .s-menu > li > a::after{bottom:6px;transform-origin:left}
.site[data-nav="underline"] .s-menu > li > a:hover,.site[data-nav="center"] .s-menu > li > a:hover,
.site[data-nav="overline"] .s-menu > li > a:hover,.site[data-nav="double"] .s-menu > li > a:hover{background:transparent;color:var(--s-accent)}
.site[data-nav="underline"] .s-menu > li > a:hover::after,.site[data-nav="center"] .s-menu > li > a:hover::after,
.site[data-nav="overline"] .s-menu > li > a:hover::after,.site[data-nav="double"] .s-menu > li > a:hover::after,.site[data-nav="double"] .s-menu > li > a:hover::before{transform:scaleX(1)}

.site[data-nav="highlight"] .s-menu > li > a::before{content:"";position:absolute;left:8px;right:8px;bottom:9px;height:0;z-index:-1;background:color-mix(in srgb,var(--s-accent) 45%,transparent);transition:height .25s ease}
.site[data-nav="highlight"] .s-menu > li > a:hover{background:transparent}
.site[data-nav="highlight"] .s-menu > li > a:hover::before{height:45%}

.site[data-nav="bracket"] .s-menu > li > a::before,.site[data-nav="bracket"] .s-menu > li > a::after{color:var(--s-accent);font-weight:700;opacity:0;transition:opacity .2s ease,transform .25s ease}
.site[data-nav="bracket"] .s-menu > li > a::before{content:"[";margin-inline-end:4px;transform:translateX(8px)}
.site[data-nav="bracket"] .s-menu > li > a::after{content:"]";margin-inline-start:4px;transform:translateX(-8px)}
.site[data-nav="bracket"] .s-menu > li.has-sub > a::after{content:"]"}
.site[data-nav="bracket"] .s-menu > li > a:hover{background:transparent}
.site[data-nav="bracket"] .s-menu > li > a:hover::before,.site[data-nav="bracket"] .s-menu > li > a:hover::after{opacity:1;transform:none}

.site[data-nav="dot"] .s-menu > li > a::before{content:"";position:absolute;left:50%;bottom:3px;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:var(--s-accent);transform:scale(0);transition:transform .25s cubic-bezier(.3,1.6,.5,1)}
.site[data-nav="dot"] .s-menu > li > a:hover{background:transparent;color:var(--s-accent)}
.site[data-nav="dot"] .s-menu > li > a:hover::before{transform:scale(1)}

.site[data-nav="outline"] .s-menu > li > a{border-radius:var(--s-btn-radius)}
.site[data-nav="outline"] .s-menu > li > a:hover{background:transparent;box-shadow:inset 0 0 0 2px var(--s-accent);color:var(--s-accent)}

.site[data-nav="pill"] .s-menu > li > a{background:var(--s-accent);color:var(--s-on-accent);border-radius:var(--s-btn-radius)}
.site[data-nav="pill"] .s-menu > li > a:hover{background:transparent;color:var(--s-accent);box-shadow:inset 0 0 0 2px var(--s-accent)}

.site[data-nav="glow"] .s-menu > li > a:hover{background:transparent;color:var(--s-accent);text-shadow:0 0 10px var(--s-accent),0 0 22px color-mix(in srgb,var(--s-accent) 60%,transparent)}

/* menu "come lo stile": hover più visibile sulla capsula */
.site[data-nav="auto"][data-menu="capsule"] .s-menu > li > a{transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}
.site[data-nav="auto"][data-menu="capsule"] .s-menu > li > a:hover{background:transparent;color:var(--s-accent);box-shadow:inset 0 0 0 2px var(--s-accent)}

/* ---------- linee sotto i titoli delle sezioni ---------- */
.s-section h2{position:relative}
.site:where(:not([data-titlefx="none"]):not([data-titlefx="brush"])) .s-section h2::after{content:"";display:block;margin-top:14px;width:64px;height:4px;border-radius:2px;
  background:var(--t-c);transform-origin:left;transition:transform .9s cubic-bezier(.2,.7,.2,1) .15s}
.s-section{--t-c:var(--s-accent)}
.s-cta{--t-c:var(--s-on-accent)}
.s-cta h2::after{margin-inline:auto}
.site[data-titlefx="center"] .s-section h2,.site[data-titlefx="center"] .s-section h2 + .s-lead{text-align:center;margin-inline:auto}
.site[data-titlefx="center"] .s-section h2::after{margin-inline:auto;transform-origin:center}
.site[data-titlefx="grad"] .s-section h2::after{width:140px;background:linear-gradient(90deg,var(--t-c),transparent)}
.site[data-titlefx="double"] .s-section h2::after{height:10px;width:70px;border-radius:0;
  background:linear-gradient(var(--t-c),var(--t-c)) 0 0/100% 3px no-repeat,linear-gradient(var(--t-c),var(--t-c)) 0 100%/60% 3px no-repeat}
.site[data-titlefx="dots"] .s-section h2::after{width:46px;height:8px;border-radius:0;background:radial-gradient(circle,var(--t-c) 3.5px,transparent 4px) 0 0/16px 8px repeat-x}
.site[data-titlefx="wave"] .s-section h2::after{width:100px;height:14px;border-radius:0;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='14'%3E%3Cpath d='M0 7 Q5 2 10 7 T20 7' fill='none' stroke='black' stroke-width='2.5'/%3E%3C/svg%3E") 0 0/20px 14px repeat-x;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='14'%3E%3Cpath d='M0 7 Q5 2 10 7 T20 7' fill='none' stroke='black' stroke-width='2.5'/%3E%3C/svg%3E") 0 0/20px 14px repeat-x}
.site[data-titlefx="side"] .s-section h2{padding-inline-start:20px}
.site[data-titlefx="side"] .s-section h2::after{position:absolute;inset-inline-start:0;top:.08em;bottom:.08em;width:5px;height:auto;margin:0;transform-origin:top}
.site[data-titlefx="brush"] .s-section h2{display:inline-block;padding:0 .12em;
  background:linear-gradient(transparent 58%,color-mix(in srgb,var(--t-c) 42%,transparent) 58% 92%,transparent 92%) 0 0/100% 100% no-repeat;
  transition:background-size 1s cubic-bezier(.2,.7,.2,1) .15s}
.site[data-titlefx="brush"] .s-cta h2{display:block;background:none}
/* la linea si disegna quando la sezione entra nello schermo */
.site[data-titleanim="1"]:not(.editing) .s-section:not(.in) h2::after{transform:scaleX(0)}
.site[data-titleanim="1"][data-titlefx="side"]:not(.editing) .s-section:not(.in) h2::after{transform:scaleY(0)}
.site[data-titleanim="1"][data-titlefx="brush"]:not(.editing) .s-section:not(.in) h2{background-size:0 100%}

/* ---------- transizioni dello slider ---------- */
@keyframes sf-fade{from{opacity:0}to{opacity:1}}
@keyframes sf-side{from{opacity:0;transform:translateX(8%)}to{opacity:1;transform:none}}
@keyframes sf-text-side{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:none}}
@keyframes sf-zoom{from{transform:scale(1.14)}to{transform:scale(1)}}
@keyframes sf-up{from{opacity:0;transform:translateY(46px)}to{opacity:1;transform:none}}
.site[data-slidefx="fade"] .h-slide.on > .h-photo{animation:sf-fade .9s ease both}
.site[data-slidefx="slide"] .h-slide.on > .h-photo{animation:sf-side .8s cubic-bezier(.2,.7,.2,1) both}
.site[data-slidefx="slide"] .h-slide.on > .h-text{animation:sf-text-side .8s cubic-bezier(.2,.7,.2,1) .1s both}
.site[data-slidefx="zoom"] .h-slide.on > .h-photo{animation:sf-fade .9s ease both}
.site[data-slidefx="zoom"] .h-slide.on > .h-photo img{animation:sf-zoom 8s ease-out both}
.site[data-slidefx="up"] .h-slide.on > .h-photo{animation:sf-fade .9s ease both}
.site[data-slidefx="up"] .h-slide.on > .h-text > *{animation:sf-up .7s cubic-bezier(.2,.7,.2,1) both}
.site[data-slidefx="up"] .h-slide.on > .h-text > :nth-child(2){animation-delay:.12s}
.site[data-slidefx="up"] .h-slide.on > .h-text > :nth-child(3){animation-delay:.24s}
.site.editing .h-slide.on > .h-photo img{animation:none !important}

/* ---------- sezioni spente (si vedono solo nell'editor) ---------- */
.site.editing .blk.is-hidden{opacity:.38;filter:grayscale(.6)}
.site.editing .blk.is-hidden::before{content:"Sezione nascosta · i visitatori non la vedono";position:absolute;left:50%;top:14px;transform:translateX(-50%);z-index:9;
  background:#3D4450;color:#fff;font:600 12px/1 system-ui,sans-serif;padding:7px 12px;border-radius:999px;white-space:nowrap}

@media (prefers-reduced-motion:reduce){
  .s-btn,.s-btn::before,.s-btn::after,.s-menu a,.s-menu a::before,.s-menu a::after,.s-section h2,.s-section h2::after{transition:none !important}
  .site[data-btnfx] .s-btn{animation:none !important;--b-y:0px !important}
  .h-slide.on > *,.h-slide.on > * > *,.h-slide.on img{animation:none !important}
}

/* le scritte "doppio clic per caricare" si vedono solo nell'editor */
.site:not(.editing) .ph-label{display:none}

/* ==========================================================
   v1.4 – pulsante nel menu, footer, social, stile dei blocchi,
   nuovi blocchi (testo, titolo pagina, mappa, social, modulo)
   ========================================================== */
.s-menu a[aria-current="page"]{color:var(--s-accent)}
.s-menu .s-head-btn-li{margin-inline-start:6px}
.s-menu a.s-head-btn{min-height:42px;padding:0 18px;background:var(--s-accent);color:var(--s-on-accent);border-radius:var(--s-btn-radius)}
.site:not([data-nav="auto"]) .s-menu > li > a.s-head-btn{background:var(--s-accent);color:var(--s-on-accent);border-radius:var(--s-btn-radius)}
.site:not([data-nav="auto"]) .s-menu > li > a.s-head-btn::before,.site:not([data-nav="auto"]) .s-menu > li > a.s-head-btn::after{display:none}
.s-top-r{display:inline-flex;align-items:center;gap:14px}

/* social */
.s-socials{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.s-soc{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:inherit;transition:transform .18s ease,color .18s ease,background-color .18s ease}
.s-soc:hover{color:var(--s-accent);transform:translateY(-2px)}
.s-soc-top .s-soc svg{width:16px;height:16px}
.s-soc-foot .s-soc,.s-soc-big .s-soc{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--s-line)}
.s-soc-big{justify-content:inherit;margin-top:18px}
.s-soc-big .s-soc{width:auto;height:48px;padding-block:0;padding-inline:14px 18px;border-radius:999px;background:var(--s-surface);font-weight:600;font-size:15px}
.s-soc-big .s-soc:hover{background:var(--s-accent);color:var(--s-on-accent);border-color:var(--s-accent)}

/* footer */
.s-footer{padding:36px 0 28px;border-top:1px solid var(--s-line)}
.s-foot-in{display:grid;grid-template-columns:1.2fr 1fr auto;gap:18px 28px;align-items:start}
.s-foot-brand{display:flex;flex-direction:column;gap:6px;color:var(--s-muted);font-size:14px}
.s-foot-brand strong{color:var(--s-ink);font-family:var(--s-head);font-size:18px}
.s-foot-menu{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px}
.s-foot-menu a:hover{color:var(--s-accent)}
.s-foot-copy{grid-column:1/-1;font-size:13px;color:var(--s-muted);border-top:1px solid var(--s-line);padding-top:14px}
@container (max-width:760px){.s-foot-in{grid-template-columns:1fr}}

/* stile del singolo blocco */
.s-section.has-bgc{background:var(--b-bg)}
.s-section.has-inkc{color:var(--b-ink);--s-ink:var(--b-ink);--s-muted:color-mix(in srgb,var(--b-ink) 75%,transparent)}
.s-section.has-inkc h2,.s-section.has-inkc h3,.s-section.has-inkc h1{color:var(--b-ink)}
.s-section.ts-S h2{font-size:clamp(22px,2.6cqi,30px)}
.s-section.ts-L h2{font-size:clamp(34px,4.6cqi,58px)}
.s-section.ts-XL h2{font-size:clamp(40px,6cqi,78px);letter-spacing:-.5px}
.s-section.al-center .wrap{text-align:center}
.s-section.al-center .s-lead,.s-section.al-center h2{margin-inline:auto}
.s-section.al-center h2::after{margin-inline:auto !important}
.s-section.al-center .s-socials,.s-section.al-center .s-cta-in{justify-content:center}
/* animazione quando la sezione appare (non nell'editor) */
.site:not(.editing) [data-anim]:not([data-anim="stagger"]):not(.in) > .wrap{opacity:0}
.site:not(.editing) [data-anim="up"]:not(.in) > .wrap{transform:translateY(40px)}
.site:not(.editing) [data-anim="zoom"]:not(.in) > .wrap{transform:scale(.94)}
.site:not(.editing) [data-anim="left"]:not(.in) > .wrap{transform:translateX(-50px)}
[data-anim] > .wrap{transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
@media (prefers-reduced-motion:reduce){.site [data-anim] > .wrap{opacity:1 !important;transform:none !important;transition:none}}

/* testo */
.s-text{max-width:820px}
.s-section.al-center .s-text{margin-inline:auto}
.s-long{white-space:pre-line;max-width:none}
/* titolo della pagina */
.s-pagehead{background:color-mix(in srgb,var(--s-accent) 12%,var(--s-bg))}
.s-pagehead h1{font-size:clamp(34px,5cqi,60px);margin-bottom:10px}
.s-pagehead .s-lead{margin-bottom:0}
/* mappa */
.s-map-frame{width:100%;border:0;border-radius:var(--s-radius);display:block;background:var(--s-surface)}
.s-map-ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:var(--s-radius);color:var(--s-muted);
  background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--s-ink) 6%,var(--s-surface)) 0 14px,var(--s-surface) 14px 28px);border:1.5px dashed var(--s-line);font-weight:600}
.s-map-link{display:inline-block;margin-top:12px;font-weight:600;color:var(--s-accent)}
/* modulo contatti */
.s-form-wrap{max-width:760px}
.s-section.al-center .s-form-wrap{margin-inline:auto}
.s-form{display:flex;flex-direction:column;gap:14px;margin-top:8px;text-align:start}
.s-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.s-field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;min-width:0}
.s-field.wide{grid-column:1/-1}
.s-field input,.s-field select,.s-field textarea{width:100%;min-height:48px;border-radius:calc(var(--s-radius) * .6);border:1.5px solid var(--s-line);background:var(--s-surface);color:var(--s-ink);padding:10px 14px;font:inherit;font-weight:400;font-size:16px}
.s-field textarea{min-height:120px;resize:vertical}
.s-field input:focus,.s-field select:focus,.s-field textarea:focus{outline:none;border-color:var(--s-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--s-accent) 25%,transparent)}
.s-field.bad input,.s-field.bad select,.s-field.bad textarea{border-color:#D64545}
.s-field .err{color:#D64545;font-weight:500;font-size:13px}
.s-check{grid-column:1/-1;display:flex;gap:10px;align-items:center;font-size:15px}
.s-check input{width:20px;height:20px;accent-color:var(--s-accent)}
.req{color:var(--s-accent)}
.s-hp{position:absolute;inset-inline-start:0;width:1px;height:1px;opacity:0;overflow:hidden;clip-path:inset(50%);pointer-events:none}
.s-form .s-btn{align-self:flex-start}
.s-form-msg:empty{display:none}
.s-form-msg{color:#D64545;font-weight:600}
.s-form-ok{padding:16px 18px;border-radius:var(--s-radius);background:color-mix(in srgb,var(--s-accent) 15%,var(--s-surface));font-weight:600}
@container (max-width:600px){.s-form-grid{grid-template-columns:1fr}}

/* editor: barra sopra ogni sezione e linea dove rilasciare */
.site.editing .blk{position:relative}
.blk-tools{position:absolute;top:10px;right:10px;z-index:20;display:none;gap:4px;background:#14191F;border-radius:12px;padding:4px;box-shadow:0 8px 20px rgba(0,0,0,.3)}
.site.editing .blk:hover > .blk-tools,.site.editing .blk.selected > .blk-tools{display:flex}
.blk-tools button{width:34px;height:34px;border:none;border-radius:8px;background:transparent;color:#fff;font-size:15px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.blk-tools button:hover,.blk-tools button:focus-visible{background:#2BA88E;outline:none}
.blk-tools .drag{cursor:grab;touch-action:none}
.blk-tools .lbl{color:#fff;font:600 12px/34px system-ui,sans-serif;padding:0 8px 0 10px;white-space:nowrap}
.blk-add{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);z-index:21;display:none;height:34px;padding:0 14px;border-radius:999px;border:2px solid #fff;background:#0B7A66;color:#fff;font:700 13px system-ui,sans-serif;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.25)}
.site.editing .blk:hover > .blk-add,.site.editing .blk.selected > .blk-add{display:block}
.drop-line{position:absolute;left:0;right:0;height:6px;margin-top:-3px;background:#2BA88E;border-radius:3px;box-shadow:0 0 0 3px rgba(43,168,142,.3);z-index:30;pointer-events:none}
.drop-line::after{content:attr(data-label);position:absolute;left:50%;top:-30px;transform:translateX(-50%);background:#2BA88E;color:#fff;font:700 12px system-ui,sans-serif;padding:5px 12px;border-radius:999px;white-space:nowrap}
.site.editing .blk.dragging{opacity:.35}
.site.editing .s-footer{cursor:pointer}
.site.editing .s-footer[data-sel]{outline:3px solid #2BA88E;outline-offset:-3px}

.s-hero > .blk-tools{top:auto;bottom:64px}
.site.editing .blk.dragging > .blk-tools{display:flex}
/* con il menu sopra la foto, la prima sezione (se non è lo slider) scende sotto il menu */
.site[data-menu="capsule"] main > .blk:first-child:not(.s-hero),.site[data-menu="transparent"] main > .blk:first-child:not(.s-hero){padding-top:calc(var(--s-space) + 96px)}
@container (max-width:760px){.site[data-menu="capsule"] main > .blk:first-child:not(.s-hero),.site[data-menu="transparent"] main > .blk:first-child:not(.s-hero){padding-top:calc(var(--s-space) + 70px)}}
.site .h-wm,.site .h-wm *{pointer-events:none}
/* mappa vera nel blocco contatti */
.s-map-box{display:flex;flex-direction:column;gap:8px;min-width:0}
.s-map-box .s-map-frame{height:320px}
/* nell'editor la mappa non "ruba" i clic: si seleziona la sezione */
.site.editing .s-map-frame{pointer-events:none}

/* ==========================================================
   v1.8 – telefono come un'app + lingue da destra a sinistra
   ========================================================== */
/* pallini dello slider: area da toccare più grande */
.s-hero .h-dots button{position:relative}
.s-hero .h-dots button::after{content:"";position:absolute;inset:-14px -5px}
.s-contact dd,.s-foot-brand,.s-text{overflow-wrap:anywhere}
.site input,.site select,.site textarea{font-size:max(16px,1em)}   /* niente zoom automatico su iPhone */
@container (max-width:760px){
  .s-topbar .s-tel,.s-topbar .s-soc{min-height:36px;min-width:36px}
  .s-foot-menu{gap:0 4px;margin-inline:-8px}
  .s-foot-menu a{display:inline-flex;align-items:center;min-height:44px;padding-inline:8px}
  .s-menu a{min-height:48px;font-size:16px}
  .s-menu.open{border-top:1px solid var(--s-line);margin-top:6px;padding-top:6px;max-height:calc(100vh - 140px);overflow-y:auto;overscroll-behavior:contain}
  .s-form .s-btn{align-self:stretch}
  .s-map-box .s-map-frame{height:260px}
  .s-contact dl{grid-template-columns:1fr;gap:2px}
  .s-contact dd{margin-bottom:10px}
  .s-hero .h-btns .s-btn{flex:1 1 auto}
  .s-stat b{font-size:34px}
}

/* pulsanti fissi "Chiama / Ordina" in basso (solo telefono, negozi) */
.s-fab{display:none}
@media (max-width:760px){
  .s-fab{position:fixed;z-index:50;inset-inline:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));display:flex;gap:8px;padding:8px;border-radius:20px;
    background:color-mix(in srgb,var(--s-bg) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--s-line);
    box-shadow:0 10px 30px rgba(0,0,0,.3);font-family:var(--s-body)}
  .s-fab-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border-radius:14px;background:var(--s-accent);color:var(--s-on-accent);
    font-weight:700;font-size:16px;text-decoration:none;-webkit-tap-highlight-color:transparent}
  .s-fab-btn.ghost{background:transparent;color:var(--s-ink);border:1.5px solid var(--s-line)}
  .s-fab-btn:active{transform:scale(.97)}
  body.has-fab .site{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
}

/* ---------- arabo e altre lingue da destra a sinistra ---------- */
[dir="rtl"] .site[data-btnfx="sweep"] .s-btn::before,
[dir="rtl"] .site[data-nav="underline"] .s-menu > li > a::after,[dir="rtl"] .site[data-nav="overline"] .s-menu > li > a::after,
[dir="rtl"] .site[data-nav="double"] .s-menu > li > a::after,[dir="rtl"] .s-section h2::after{transform-origin:right}
[dir="rtl"] .site[data-nav="double"] .s-menu > li > a::before{transform-origin:left}
[dir="rtl"] .site[data-titlefx="center"] .s-section h2::after{transform-origin:center}
[dir="rtl"] .site[data-titlefx="side"] .s-section h2::after{transform-origin:top}
[dir="rtl"] .site[data-titlefx="grad"] .s-section h2::after{background:linear-gradient(270deg,var(--t-c),transparent)}
[dir="rtl"] .site[data-titlefx="double"] .s-section h2::after{background-position:100% 0,100% 100%}
[dir="rtl"] .site[data-titlefx="dots"] .s-section h2::after,[dir="rtl"] .site[data-titlefx="wave"] .s-section h2::after{transform-origin:right}
[dir="rtl"] .site[data-titlefx="brush"] .s-section h2{background-position:100% 0}
[dir="rtl"] .s-hero[data-cut="none"][data-mode="photo"] .h-photo::after{background:linear-gradient(270deg,rgba(0,0,0,.7),rgba(0,0,0,.15))}
[dir="rtl"] .h-video::after{background:linear-gradient(270deg,rgba(0,0,0,.65),rgba(0,0,0,.2))}
[dir="rtl"] .c-track{animation-name:c-scroll-rtl}
@keyframes c-scroll-rtl{from{transform:translateX(50%)}to{transform:translateX(0)}}
@keyframes sf-side-rtl{from{opacity:0;transform:translateX(-8%)}to{opacity:1;transform:none}}
@keyframes sf-text-side-rtl{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}
[dir="rtl"] .site[data-slidefx="slide"] .h-slide.on > .h-photo{animation-name:sf-side-rtl}
[dir="rtl"] .site[data-slidefx="slide"] .h-slide.on > .h-text{animation-name:sf-text-side-rtl}
[dir="rtl"] .site:not(.editing) [data-anim="left"]:not(.in) > .wrap{transform:translateX(50px)}
/* taglio della foto nello slider: specchiato (solo schermi larghi; sul telefono la foto sta sopra) */
@container (min-width:761px){
  [dir="rtl"] .s-hero[data-cut="diagonal"] .h-photo{clip-path:polygon(calc(tan(var(--cut-angle)) * 600px) 0,100% 0,100% 100%,0 100%);margin-right:0;margin-left:calc(-1 * tan(var(--cut-angle)) * 300px)}
  [dir="rtl"] .s-hero[data-cut="diagonal"][data-photo="right"] .h-photo{clip-path:polygon(0 0,100% 0,calc(100% - tan(var(--cut-angle)) * 600px) 100%,0 100%);margin-left:0;margin-right:calc(-1 * tan(var(--cut-angle)) * 300px)}
  [dir="rtl"] .s-hero[data-cut="curve"] .h-photo{clip-path:ellipse(100% 78% at 100% 50%)}
  [dir="rtl"] .s-hero[data-cut="curve"][data-photo="right"] .h-photo{clip-path:ellipse(100% 78% at 0% 50%)}
}
/* numeri di telefono ed email restano scritti da sinistra a destra anche in arabo */
[dir="rtl"] .s-tel > span,[dir="rtl"] .s-contact dd[data-edit$=":phone"],[dir="rtl"] .s-contact dd[data-edit$=":email"]{direction:ltr;unicode-bidi:isolate;text-align:right}
/* menu che non sta in una riga (tablet, tanti link): si apre con il pulsante, come sul telefono */
.s-header.compact .s-burger{display:inline-flex}
.s-header.compact nav{width:100%}
.s-header.compact .s-menu{display:none;width:100%;flex-direction:column;align-items:stretch;padding-bottom:6px}
.s-header.compact .s-menu.open{display:flex;border-top:1px solid var(--s-line);margin-top:6px;padding-top:6px}
.s-header.compact .s-menu a{width:100%;min-height:48px}
.s-header.compact .s-menu .sub{position:static;display:block;box-shadow:none;background:transparent;padding:0;padding-inline-start:14px}
.s-header.compact .s-head-btn-li{margin-inline-start:0}
.site[data-menu="capsule"] .s-header.compact .wrap{border-radius:22px;margin-inline:12px}
.site[data-menu="center"] .s-header.compact .wrap{flex-direction:row;justify-content:space-between}
/* pulsante "Modifica il sito" del titolare: sopra la barra Chiama/Ordina sui telefoni */
@media (max-width: 760px) { body.has-fab .owner-edit { bottom: calc(96px + env(safe-area-inset-bottom, 0px)) !important; padding: 11px 16px !important; font-size: 14px !important; } }

/* ---------- la cornice si adatta alla foto ----------
   ph-portrait / ph-square / ph-landscape: forma della foto (--ar = larghezza/altezza)
   ph-cut: foto senza sfondo, sempre intera e centrata, senza riquadro colorato */
.ph.ph-cut{background:transparent}
.ph.ph-cut img{object-fit:contain;object-position:50% 50%;filter:drop-shadow(0 16px 28px rgba(0,0,0,.28))}
.ph.ph-cut .ph-label{display:none}
/* "Chi siamo": il riquadro prende la forma della foto, centrato nella sua colonna */
.s-about-ph.ph-portrait,.s-about-ph.ph-square,.s-about-ph.ph-landscape{height:auto;aspect-ratio:var(--ar,1.5);width:100%;max-height:560px;justify-self:center;margin-inline:auto}
.s-about-ph.ph-portrait{width:auto;height:min(560px,78vh);max-width:100%}
.s-about-ph.ph-square{width:min(100%,460px)}
.s-about-ph.ph-cut{height:min(520px,70vh);width:100%;aspect-ratio:auto}
/* galleria e carosello: stessa altezza per tutte, la foto verticale guarda in alto, quella senza sfondo resta intera */
.s-gallery .ph.ph-cut,.c-card .c-ph.ph-cut{background:color-mix(in srgb,var(--s-accent) 10%,var(--s-surface))}
.s-gallery .ph.ph-cut img,.c-card .c-ph.ph-cut img{inset:8%;width:84%;height:84%}
/* slider: foto senza sfondo centrata nella sua metà */
.s-hero .h-photo.ph-cut img{inset:6% 4%;width:92%;height:88%}
@media (max-width:760px){
  .s-about-ph.ph-portrait{height:auto;width:min(100%,380px);aspect-ratio:var(--ar,.75)}
  .s-about-ph.ph-cut{height:auto;aspect-ratio:var(--ar,1);max-height:70vh}
}


/* ---------- barra nera della sezione: effetti e rifiniture ---------- */
/* metalli: oro, argento, inox/platino, bronzo, rame, oro rosa */
.site{--m-gold:linear-gradient(135deg,#7a5a12 0%,#f6e27a 22%,#b8862b 45%,#fff3b0 62%,#9a7020 85%,#e9c86a 100%);
  --m-silver:linear-gradient(135deg,#7d8288 0%,#f5f7f8 22%,#b9bec4 45%,#ffffff 62%,#8c9196 85%,#d9dde1 100%);
  --m-platinum:linear-gradient(135deg,#5f6a74 0%,#e9eef2 25%,#a7b1ba 48%,#ffffff 64%,#6f7a85 86%,#cfd6dc 100%);
  --m-bronze:linear-gradient(135deg,#5c3415 0%,#e2a36b 24%,#8c5a2b 47%,#f0c08a 64%,#6b3f1d 86%,#c98b52 100%);
  --m-copper:linear-gradient(135deg,#6e2d12 0%,#f0a07c 24%,#b4532a 47%,#ffd0b5 64%,#7a3418 86%,#d9784d 100%);
  --m-rose:linear-gradient(135deg,#8a4b48 0%,#f7c9c0 24%,#c98a7f 47%,#fff0ea 64%,#9c5a5a 86%,#e3a99e 100%)}
.s-section.bw-1{--bw:1px}.s-section.bw-2{--bw:2px}.s-section.bw-3{--bw:3px}
.s-section.bc-accent{--bcol:linear-gradient(var(--s-accent),var(--s-accent))}
.s-section.bc-ink{--bcol:linear-gradient(var(--s-ink),var(--s-ink))}
.s-section.bc-gold{--bcol:var(--m-gold)}.s-section.bc-silver{--bcol:var(--m-silver)}.s-section.bc-platinum{--bcol:var(--m-platinum)}
.s-section.bc-bronze{--bcol:var(--m-bronze)}.s-section.bc-copper{--bcol:var(--m-copper)}.s-section.bc-rose{--bcol:var(--m-rose)}
/* cornice su foto, schede e riquadri della sezione (funziona anche con gli angoli arrotondati) */
.s-section[class*=" bw-"] :is(.ph,.s-card,.c-card,.s-stat,.s-quote,.s-dish){border:var(--bw) solid transparent !important;
  background:linear-gradient(var(--s-surface),var(--s-surface)) padding-box,var(--bcol) border-box !important}
.s-section[class*=" bw-"] .ph.ph-cut{background:linear-gradient(color-mix(in srgb,var(--s-accent) 10%,var(--s-surface)),color-mix(in srgb,var(--s-accent) 10%,var(--s-surface))) padding-box,var(--bcol) border-box !important}
/* titoli metallici */
.s-section[class*=" tm-"] h2,.s-section[class*=" tm-"] h2 *{-webkit-background-clip:text !important;background-clip:text !important;-webkit-text-fill-color:transparent;color:transparent;background-size:200% 100% !important;background-repeat:no-repeat !important;animation:metalShine 6s ease-in-out infinite}
.s-section.tm-gold h2,.s-section.tm-gold h2 *{background-image:var(--m-gold) !important}.s-section.tm-silver h2,.s-section.tm-silver h2 *{background-image:var(--m-silver) !important}.s-section.tm-platinum h2,.s-section.tm-platinum h2 *{background-image:var(--m-platinum) !important}
.s-section.tm-bronze h2,.s-section.tm-bronze h2 *{background-image:var(--m-bronze) !important}.s-section.tm-copper h2,.s-section.tm-copper h2 *{background-image:var(--m-copper) !important}.s-section.tm-rose h2,.s-section.tm-rose h2 *{background-image:var(--m-rose) !important}
@keyframes metalShine{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.editing .s-section[class*=" tm-"] h2:focus{-webkit-text-fill-color:currentColor;color:var(--s-ink)}
/* galleria: foto che scorrono da sole a sinistra o a destra, oppure da far scorrere col dito */
.s-gallery.g-mq{display:block;overflow:hidden;margin-top:20px;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.g-track{display:flex;gap:14px;width:max-content;padding:4px 0 8px;animation:g-scroll var(--g-dur,40s) linear infinite}
.g-track .ph{flex:none;width:clamp(200px,24vw,300px);height:230px;border-radius:var(--s-radius)}
.lay-mq-right .g-track{animation-direction:reverse}
.g-mq:hover .g-track{animation-play-state:paused}
@keyframes g-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
[dir="rtl"] .g-track{animation-direction:reverse}[dir="rtl"] .lay-mq-right .g-track{animation-direction:normal}
.lay-swipe .s-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;scrollbar-width:thin}
.lay-swipe .s-gallery .ph{flex:0 0 min(78%,320px);scroll-snap-align:start}
/* carosello: direzione */
.lay-mq-left .c-track{animation-direction:reverse}
@media (prefers-reduced-motion:reduce){.g-track,.s-section[class*=" tm-"] h2{animation:none}}
/* sfondo con foto fermo mentre la pagina scorre (parallasse) */
.s-section.parallax .s-bgimg{background-attachment:fixed}
@media (hover:none){.s-section.parallax .s-bgimg{background-attachment:scroll}}
/* nuove animazioni quando la sezione entra nello schermo */
.site:not(.editing) [data-anim="right"]:not(.in) > .wrap{transform:translateX(50px)}
.site:not(.editing) [data-anim="blur"]:not(.in) > .wrap{filter:blur(10px);transform:scale(1.02)}
.site:not(.editing) [data-anim="flip"]:not(.in) > .wrap{transform:perspective(900px) rotateX(18deg) translateY(30px);transform-origin:50% 0}
[data-anim="blur"] > .wrap{transition:opacity .9s ease,transform .9s ease,filter .9s ease}
[dir="rtl"] .site:not(.editing) [data-anim="right"]:not(.in) > .wrap{transform:translateX(-50px)}
.site:not(.editing) [data-anim="stagger"]:not(.in) :is(.ph,.s-card,.c-card,.s-dish,.s-stat,.s-quote,h2,.s-lead){opacity:0;transform:translateY(28px)}
[data-anim="stagger"] :is(.ph,.s-card,.c-card,.s-dish,.s-stat,.s-quote,h2,.s-lead){transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
[data-anim="stagger"] :is(.ph,.s-card,.s-dish,.s-stat):nth-child(2){transition-delay:.1s}[data-anim="stagger"] :is(.ph,.s-card,.s-dish,.s-stat):nth-child(3){transition-delay:.2s}
[data-anim="stagger"] :is(.ph,.s-card,.s-dish,.s-stat):nth-child(4){transition-delay:.3s}[data-anim="stagger"] :is(.ph,.s-card,.s-dish,.s-stat):nth-child(5){transition-delay:.4s}
[data-anim="stagger"] :is(.ph,.s-card,.s-dish,.s-stat):nth-child(n+6){transition-delay:.5s}
@media (prefers-reduced-motion:reduce){.site [data-anim] *{opacity:1 !important;transform:none !important;filter:none !important}}
