/* Farmacia Saroglia · foglio di stile
   Colori e caratteri del marchio: salvia, verde bosco, avorio, cipria, rosa antico; Outfit e Figtree. */

@font-face{font-family:"Outfit";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/outfit-400.woff2) format("woff2")}
@font-face{font-family:"Outfit";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/outfit-500.woff2) format("woff2")}
@font-face{font-family:"Outfit";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/outfit-600.woff2) format("woff2")}
@font-face{font-family:"Outfit";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/outfit-700.woff2) format("woff2")}
@font-face{font-family:"Outfit";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/outfit-800.woff2) format("woff2")}
@font-face{font-family:"Rubik";font-style:normal;font-weight:300 900;font-display:swap;src:url(../fonts/rubik.woff2) format("woff2")}
@font-face{font-family:"Figtree";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/figtree-400.woff2) format("woff2")}
@font-face{font-family:"Figtree";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/figtree-500.woff2) format("woff2")}
@font-face{font-family:"Figtree";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/figtree-600.woff2) format("woff2")}
@font-face{font-family:"Figtree";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/figtree-700.woff2) format("woff2")}
@font-face{font-family:"Figtree";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/figtree-800.woff2) format("woff2")}

:root{
  --paper:#F7D0DA; --card:#FFFFFF; --ink:#14231A; --ink-2:#3E4C44; --sage:#285C36; --sage-soft:#E1EEE3;
  --primary:#2D6A3E; --on-primary:#FFFFFF; --blush:#F7D0DA; --rose:#9E1F4A; --on-rose:#FFFFFF; --heart:#C2185B; --line:rgba(20,35,26,.13);
  --ic-fill:#F5B2C3;
  --t-mint:var(--card); --t-peach:var(--card); --t-sky:var(--card); --t-butter:var(--card);
  --ok:#3F7A57; --warn:#8A5F17; --bad:#A04646;
  --f-display:"Outfit","Avenir Next","Segoe UI",system-ui,sans-serif;
  --f-logo:"Outfit","Avenir Next","Segoe UI",system-ui,sans-serif; --wa:#285C36; --on-wa:#FFFFFF;
  --f-body:"Figtree","Segoe UI",system-ui,-apple-system,sans-serif;
  --r:18px; --wrap:1120px; color-scheme:light;
}
@media (prefers-color-scheme:dark){:root{
  --paper:#1E1418; --card:#2A1E23; --ink:#F6EEF1; --ink-2:#CDBFC5; --sage:#8FD3A0; --sage-soft:#22352A;
  --primary:#7CC98F; --on-primary:#0E2014; --blush:#3A1E27; --rose:#F59AB2; --on-rose:#2A0B12; --heart:#F59AB2; --line:rgba(246,238,241,.14);
  --ic-fill:#7A3A4A;
  --t-mint:var(--card); --t-peach:var(--card); --t-sky:var(--card); --t-butter:var(--card);
  --ok:#86C59C; --warn:#E0B464; --bad:#E68C8C; --wa:#7CC98F; --on-wa:#0E2014; color-scheme:dark}}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:19px;font-weight:500;line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
[hidden]{display:none!important}
a{color:var(--sage);text-underline-offset:3px}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--heart);outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--paper);padding:10px 14px;border-radius:8px;z-index:50}
.skip:focus{left:12px;color:var(--paper)}
h1,h2,h3{font-family:var(--f-display);font-weight:800;letter-spacing:-.03em;line-height:1.02;text-wrap:balance;margin:0}
h1{font-size:clamp(2.4rem,6vw,4.2rem)}
h1.display{font-size:clamp(2.9rem,7.4vw,5.4rem);font-weight:800;letter-spacing:-.045em;line-height:.94}
h1 .accent{color:var(--rose)}
h1.page{font-size:clamp(2.2rem,5vw,3.6rem)}
h2{font-size:clamp(1.8rem,3.6vw,2.6rem)}
h3{font-size:1.3rem;font-weight:700;letter-spacing:-.015em}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.narrow{max-width:780px}
.eyebrow{font-family:var(--f-body);font-size:.8rem;font-weight:700;display:inline-flex;align-items:center;gap:6px;letter-spacing:.22em;text-transform:uppercase;color:var(--sage)}
.muted{color:var(--ink-2)}
.small{font-size:.9rem}
.stack{display:flex;flex-direction:column;gap:16px}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.num{font-variant-numeric:tabular-nums}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* intestazione */
header.site{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:12px;position:relative}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--sage)}
.brand svg{width:40px;height:40px;flex:none}
.brand .w{font-family:var(--f-logo);line-height:1}
.brand .w small{display:block;font-size:.55rem;letter-spacing:.3em;font-weight:500}
.brand .w b{display:block;font-size:1.45rem;font-weight:500;letter-spacing:-.02em}
nav.main{display:flex;gap:4px;align-items:center}
nav.main a{text-decoration:none;color:var(--ink);font-size:1rem;font-weight:600;padding:10px 14px;border-radius:999px;display:inline-flex;align-items:center;gap:6px}
nav.main a .icon{width:18px;height:18px}
nav.main a[aria-current="page"]{color:var(--sage);background:var(--sage-soft)}
nav.main a:hover{background:var(--sage-soft)}
.btn.menu-btn{display:none}
@media (max-width:860px){
  nav.main{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);flex-direction:column;align-items:stretch;padding:8px max(16px,env(safe-area-inset-right,0px)) 16px max(16px,env(safe-area-inset-left,0px));border-bottom:1px solid var(--line)}
  nav.main.open{display:flex}
  nav.main a{padding:14px 8px;font-size:1.1rem}
  .btn.menu-btn{display:inline-flex}
  .hide-sm{display:none!important}
}

/* pulsanti */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 22px;border-radius:999px;font:700 1rem/1 var(--f-body);text-decoration:none;cursor:pointer;border:1.5px solid transparent;background:none;color:var(--ink)}
.btn-primary{background:var(--primary);color:var(--on-primary)}
.btn-primary:hover{color:var(--on-primary);filter:brightness(.93)}
.btn-ghost{color:var(--sage);border-color:var(--sage)}
.btn-ghost:hover{background:var(--sage-soft);color:var(--ink)}
.btn-quiet{border-color:var(--line)}
.btn-quiet:hover{background:var(--sage-soft)}
.btn-sm{min-height:40px;padding:0 14px;font-size:.92rem}
.btn-lg{min-height:56px;padding:0 24px;font-size:1.08rem}
.btn-wa{background:var(--wa);color:var(--on-wa)}
.btn-wa:hover{color:var(--on-wa);filter:brightness(.95)}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.icon{width:20px;height:20px;flex:none}

/* sezioni */
section.band{padding-block:clamp(48px,7vw,88px);border-top:1px solid var(--line)}
section.band.first{border-top:0}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:32px}
.sec-head .stack{gap:10px;max-width:660px}
.crumbs{font-size:.95rem;margin-bottom:20px}

/* apertura */
.hero{padding-block:clamp(40px,7vw,96px) clamp(40px,6vw,72px);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:40px;align-items:center}
.hero .lead{font-size:1.2rem;max-width:36ch;color:var(--ink-2)}
.status{display:inline-flex;align-items:center;gap:8px;font-size:.95rem}
.status .dot{width:8px;height:8px;border-radius:50%;background:var(--ok);display:inline-block}
.status.closed .dot{background:var(--bad)}
.hero-mark{justify-self:end;width:min(100%,340px);aspect-ratio:1;color:var(--sage)}
.hero-tel{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ink);text-decoration:none;font-size:1.05rem;width:fit-content}
.hero-tel:hover{color:var(--sage)}
.hero-mark svg{width:100%;height:100%}
@media (max-width:760px){.hero{grid-template-columns:1fr}.hero-mark{display:none}}

/* cosa ti serve */
.tasks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.task{display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);text-decoration:none;color:var(--ink);min-height:150px}
.task:hover{border-color:var(--sage);color:var(--ink)}
.task .t{font-family:var(--f-display);font-size:1.25rem;font-weight:700;letter-spacing:-.01em}
.task .ti-ic{width:40px;height:40px;border-radius:10px;background:var(--sage-soft);color:var(--sage);display:grid;place-items:center}
.task .go{margin-top:auto;color:var(--sage);font-size:.95rem;font-weight:500}
@media (max-width:900px){.tasks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:460px){.tasks{grid-template-columns:1fr}.task{min-height:0}}

/* giornata in evidenza */
.badge{display:inline-flex;align-items:center;font-size:.82rem;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--card);border:1px solid var(--line)}
.badge.aperto{color:var(--ok)} .badge.esaurito,.badge.chiuso{color:var(--bad)} .badge.in-arrivo{color:var(--warn)} .badge.concluso,.badge.bozza{color:var(--ink-2)}

/* servizi */
.svc-group{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;padding-block:28px;border-top:1px solid var(--line)}
.svc-group:first-of-type{border-top:0}
.svc-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.svc{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:8px}
.svc .access{font-size:.82rem;font-weight:600;color:var(--sage)}
.svc h3 a{color:var(--ink);text-decoration:none}
.svc h3 a:hover{text-decoration:underline}
.svc .acts{margin-top:auto;padding-top:6px;display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:760px){.svc-group{grid-template-columns:1fr;gap:12px}.svc-list{grid-template-columns:1fr}}
.facts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 16px;margin:0}
.facts dt{color:var(--ink-2)} .facts dd{margin:0;font-weight:500}

/* famiglia */
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.timeline{border-left:2px solid var(--sage-soft);padding-left:20px}
.timeline div{position:relative;padding-block:10px}
.timeline div::before{content:"";position:absolute;left:-27px;top:20px;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--sage)}
.timeline b{font-family:var(--f-display);font-weight:500;color:var(--sage);display:block}
@media (max-width:760px){.two{grid-template-columns:1fr}}

/* orari e mappa */
table.hours{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
table.hours td{padding:10px 0;border-bottom:1px solid var(--line)}
table.hours td:last-child{text-align:right}
table.hours tr.today td{font-weight:600;color:var(--sage)}
.nowrap{white-space:nowrap}
.mapcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.mapcard > svg{display:block;width:100%;height:auto}
.mapcard .body{padding:18px;display:flex;flex-direction:column;gap:12px}
.bigval{font-family:var(--f-display);font-size:1.4rem;font-weight:700}

/* giornate */
.ev-list{display:grid;gap:12px}
.ev{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:20px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);text-decoration:none;color:var(--ink)}
.ev:hover{border-color:var(--sage);color:var(--ink)}
.ev .date{font-family:var(--f-display);line-height:1.05}
.ev .date b{display:block;font-size:2.4rem;font-weight:800;letter-spacing:-.03em}
.ev .date span{font-size:.85rem;color:var(--ink-2)}
.ev.past{opacity:.7}
@media (max-width:600px){.ev{grid-template-columns:72px minmax(0,1fr)}.ev .side{grid-column:1/-1}}
.ev-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px;align-items:start}
@media (max-width:860px){.ev-page{grid-template-columns:minmax(0,1fr)}}
.steps{counter-reset:s;display:grid;gap:10px;padding:0;margin:0;list-style:none}
.steps li{counter-increment:s;display:flex;gap:12px;align-items:baseline}
.steps li::before{content:counter(s);font-family:var(--f-display);font-weight:500;color:var(--sage);border:1.5px solid var(--sage);border-radius:50%;width:28px;height:28px;display:inline-grid;place-items:center;flex:none;font-size:.9rem}
.panel{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:clamp(18px,3vw,28px)}
.slots-title{font-family:var(--f-display);font-size:1rem;font-weight:700;color:var(--ink-2);margin:14px 0 8px}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}
.slot{min-height:56px;border-radius:14px;border:1.5px solid var(--line);background:transparent;color:var(--ink);font:700 1.05rem var(--f-body);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.15;font-variant-numeric:tabular-nums}
.slot small{font-size:.72rem;font-weight:500;color:var(--ink-2)}
.slot:hover:not([disabled]){border-color:var(--sage)}
.slot[aria-pressed="true"]{background:var(--sage);border-color:var(--sage);color:var(--paper)}
.slot[aria-pressed="true"] small{color:var(--paper)}
.slot[disabled]{cursor:not-allowed;color:var(--ink-2);text-decoration:line-through;opacity:.55}

/* moduli */
fieldset{border:0;padding:0;margin:0}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:520px){.fields{grid-template-columns:1fr}}
label.f{display:flex;flex-direction:column;gap:6px;font-size:.95rem;font-weight:600}
label.f.full{grid-column:1/-1}
input[type=text],input[type=tel],input[type=email],input[type=password],input[type=date],input[type=number],select,textarea{font:inherit;font-size:1rem;color:var(--ink);background:var(--paper);border:1.5px solid var(--line);border-radius:12px;min-height:50px;padding:8px 14px;width:100%}
textarea{min-height:90px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--sage);outline:none;box-shadow:0 0 0 3px var(--sage-soft)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.95rem}
.check input{width:22px;height:22px;margin-top:2px;accent-color:var(--sage);flex:none}
.hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.err{color:var(--bad);font-size:.92rem;font-weight:500}
.okbox{border:1.5px solid var(--ok);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:12px;background:var(--card)}
.code{font-family:var(--f-display);font-size:2.2rem;letter-spacing:.12em;font-weight:800;color:var(--sage)}
.note{font-size:.9rem;color:var(--ink-2);border-left:3px solid var(--heart);padding-left:12px}

/* area farmacia */
.admin-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:start}
@media (max-width:900px){.admin-grid{grid-template-columns:1fr}}
.admin-ev{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);cursor:pointer;font:inherit}
.admin-ev[aria-pressed="true"]{border-color:var(--sage);outline:2px solid var(--sage)}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px}
table.bk{width:100%;border-collapse:collapse;font-size:.95rem;min-width:640px}
table.bk th,table.bk td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
table.bk th{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-weight:600;background:var(--sage-soft)}
table.bk tr.off td{color:var(--ink-2);text-decoration:line-through}
.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:14px}
.kpi b{display:block;font-family:var(--f-display);font-size:1.8rem;font-weight:700;font-variant-numeric:tabular-nums}
details.box{border:1px solid var(--line);border-radius:8px;background:var(--card)}
details.box summary{cursor:pointer;padding:14px 16px;font-weight:600}
details.box > div{padding:0 16px 16px}
.qr{background:#fff;padding:12px;border-radius:8px;width:200px;height:200px}
.tabs{display:flex;gap:6px;flex-wrap:wrap}
.tab{font:600 .98rem var(--f-body);padding:10px 16px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;min-height:44px}
.tab[aria-selected="true"]{background:var(--sage);border-color:var(--sage);color:#fff}
.day-head{display:flex;flex-direction:column;gap:10px}
.day-head h2{font-size:clamp(1.6rem,3.5vw,2.2rem);text-transform:capitalize}
.sintesi{font-size:1.1rem}
table.agenda td.ora,table.bk td.ora{font-weight:700;width:72px}
table.agenda tr.busy td{background:var(--sage-soft)}
table.agenda tr.free td{color:var(--ink-2)}
.inline-book{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.inline-book input,.inline-book select{min-height:40px;padding:6px 10px;border:1.5px solid var(--line);border-radius:8px;font:inherit;background:var(--paper);color:var(--ink);max-width:170px}
@media print{.tabs{display:none}table.bk{min-width:0;font-size:11pt}table.agenda tr.busy td{background:#eee!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}table.agenda tr.free{display:none}}

/* piè di pagina e barra mobile */
footer.site{background:var(--ink);color:var(--paper);margin-top:40px}
footer.site a{color:var(--paper)}
footer.site .wrap{padding-block:48px 120px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
footer.site .muted{color:var(--paper);opacity:.75}
footer.site .brand{color:var(--paper)}
@media (max-width:760px){footer.site .wrap{grid-template-columns:1fr}}
.dock{display:none}
.wa-float{position:fixed;right:max(20px,env(safe-area-inset-right,0px));bottom:max(20px,env(safe-area-inset-bottom,0px));z-index:24;display:inline-flex;align-items:center;gap:8px;background:var(--wa);color:var(--on-wa);text-decoration:none;font-weight:600;padding:14px 18px;border-radius:999px;box-shadow:0 6px 20px rgba(0,0,0,.18)}
.wa-float:hover{color:var(--on-wa);filter:brightness(.95)}
@media (max-width:860px){
  .wa-float{display:none}
  .dock{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:25;background:var(--card);border-top:1px solid var(--line);padding:8px max(8px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px))}
  .dock a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.74rem;font-weight:600;color:var(--ink);text-decoration:none;padding:6px 2px}
  .dock a.w{color:var(--sage)}
  .dock a.p{color:var(--sage)}
}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(90px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:8px;font-size:.95rem;z-index:40}
@media print{header.site,footer.site,.dock,.no-print,.admin-grid > div:first-child{display:none!important}body{background:#fff;color:#000}}

/* storia */
.story{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:none;border-top:2px solid var(--sage-soft)}
.story li{position:relative;padding:28px 20px 0 0;display:flex;flex-direction:column;gap:8px}
.story li::before{content:"";position:absolute;top:-8px;left:0;width:14px;height:14px;border-radius:50%;background:var(--paper);border:2px solid var(--sage)}
.story li:last-child::before{background:var(--heart);border-color:var(--heart)}
.story .anno{font-family:var(--f-display);font-size:1.7rem;font-weight:800;color:var(--sage);line-height:1;letter-spacing:-.03em}
@media (max-width:860px){.story{grid-template-columns:1fr;border-top:0;border-left:2px solid var(--sage-soft);padding-left:22px}.story li{padding:0 0 26px}.story li::before{top:4px;left:-31px}}
.lead-p{font-size:1.2rem}

/* fascia finale di contatto */
.cta-band{padding-block:clamp(36px,5vw,56px)}
.cta-box{background:var(--sage-soft);border-radius:14px;padding:clamp(24px,4vw,40px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}
.cta-box .stack{max-width:560px}
@media (max-width:860px){.cta-box{grid-template-columns:1fr}}

/* domande frequenti */
.faq{display:grid;gap:8px}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
.faq summary{cursor:pointer;padding:16px 18px;font-weight:600;list-style-position:outside}
.faq details p{padding:0 18px 16px;color:var(--ink-2)}
.badge.ultimi{color:var(--rose)}

/* intro, ricetta, come raggiungerci, prenota */
.intro-band{background:var(--card)}
.intro{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;align-items:start}
.facts-row{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.facts-row li{border-top:2px solid var(--sage);padding-top:10px;display:flex;flex-direction:column;gap:2px}
.facts-row b{font-family:var(--f-display);font-size:1.25rem;font-weight:800;letter-spacing:-.02em}
.facts-row span{color:var(--ink-2);font-size:.95rem}
@media (max-width:760px){.intro{grid-template-columns:1fr;gap:16px}.facts-row{grid-template-columns:1fr}}
.ricetta{background:var(--blush);border-radius:14px;padding:clamp(24px,4vw,40px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}
@media (max-width:760px){.ricetta{grid-template-columns:1fr}}
.reach{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px;align-items:start}
@media (max-width:860px){.reach{grid-template-columns:1fr}}
.addr{font-size:1.2rem;font-weight:600}
.map-holder{aspect-ratio:2/1;width:100%;max-width:100%}
.map-holder svg,.map-holder iframe{display:block;width:100%;height:100%;border:0}
.map-holder.live{aspect-ratio:4/3}
.hours-wrap{margin-top:40px;max-width:640px;display:flex;flex-direction:column;gap:12px}
.hub-group{display:flex;flex-direction:column;gap:14px;margin-bottom:36px}
.hub-svc{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:12px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:8px;border:1.5px solid var(--sage);text-decoration:none;color:var(--ink);min-width:120px}
.chip:hover{background:var(--sage-soft);color:var(--ink)}
.chip b{font-family:var(--f-display);font-weight:700}
.chip span{font-size:.82rem;color:var(--ink-2)}

/* prenotazione a passi */
.two-book{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:28px;align-items:start}
@media (max-width:960px){.two-book{grid-template-columns:minmax(0,1fr)}}
.step{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;min-width:0}
.step[disabled]{opacity:.45}
.step legend{font-family:var(--f-display);font-weight:700;font-size:1.15rem;display:flex;align-items:center;gap:10px;margin-bottom:10px;padding:0}
.step .n{width:28px;height:28px;border-radius:50%;background:var(--sage);color:var(--paper);display:inline-grid;place-items:center;font-size:.9rem;flex:none}
.pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.pick-btn{min-height:54px;border-radius:14px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);font:600 1rem var(--f-body);cursor:pointer;padding:8px 12px;text-align:left}
.pick-btn:hover{border-color:var(--sage)}
.pick-btn[aria-pressed="true"]{background:var(--sage);border-color:var(--sage);color:var(--paper)}
.days{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory}
.day{flex:0 0 auto;width:78px;min-height:92px;border-radius:16px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font:500 .82rem var(--f-body);scroll-snap-align:start}
.day b{font-family:var(--f-display);font-size:1.6rem;font-weight:800;line-height:1.05}
.day small{font-size:.72rem;color:var(--ink-2);margin-top:2px}
.day:hover:not([disabled]){border-color:var(--sage)}
.day[aria-pressed="true"]{background:var(--sage);border-color:var(--sage);color:var(--paper)}
.day[aria-pressed="true"] small{color:var(--paper)}
.day[disabled]{opacity:.45;cursor:not-allowed}
.prima{background:var(--blush);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.prima ul{margin:0;padding-left:20px}


/* ---------- Home pronta all'uso ---------- */
@media (max-width:1100px){.hide-md{display:none!important}}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:.9rem;font-weight:600;padding:6px 12px;border-radius:999px;background:var(--card);border:1px solid var(--line)}
.pill .icon{width:16px;height:16px;color:var(--rose)}
.status{padding:6px 12px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-weight:700}
.act{--bg:var(--card);--fg:var(--ink);position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;align-items:center;padding:20px 48px 20px 18px;border-radius:24px;background:var(--bg);color:var(--fg);text-decoration:none;min-height:104px;transition:transform .15s ease,box-shadow .15s ease}
.act:hover{color:var(--fg);transform:translateY(-2px);box-shadow:0 10px 24px rgba(44,59,49,.16)}
.act .act-ic{grid-row:1/3;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:color-mix(in srgb,var(--fg) 16%,transparent)}
.act .act-ic .icon{width:26px;height:26px}
.act-t{font-family:var(--f-display);font-weight:800;font-size:clamp(1.15rem,2vw,1.4rem);letter-spacing:-.02em;line-height:1.1}
.act-s{font-size:.92rem;font-weight:600;opacity:.88}
.act-go{position:absolute;right:20px;top:50%;transform:translateY(-50%);font-family:var(--f-display);font-weight:800;font-size:1.4rem}
.feature{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 18px;border-radius:20px;background:var(--blush);color:var(--ink);text-decoration:none;border:1.5px dashed color-mix(in srgb,var(--rose) 55%,transparent)}
.feature:hover{color:var(--ink);border-style:solid}
.feature-tag{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;background:var(--rose);color:var(--on-rose);padding:5px 10px;border-radius:999px}
.feature-body{display:flex;flex-direction:column;gap:2px;flex:1 1 220px;min-width:0}
.feature-t{font-family:var(--f-display);font-size:1.2rem;font-weight:800;letter-spacing:-.02em}
.feature-t span{font-weight:600;color:var(--ink-2);font-size:1rem}
.feature-m{font-size:.92rem;font-weight:600;color:var(--ink-2)}
.feature-go{font-weight:800;color:var(--rose)}
.book-band{background:var(--sage-soft)}
.book-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:36px;align-items:start}
@media (max-width:900px){.book-grid{grid-template-columns:minmax(0,1fr)}}
.book-panel{box-shadow:0 18px 40px rgba(44,59,49,.10)}
.how{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:10px;counter-reset:h}
.how li{counter-increment:h;display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:12px;align-items:center}
.how li::before{content:counter(h);grid-row:1/3;width:40px;height:40px;border-radius:12px;background:var(--card);color:var(--rose);display:grid;place-items:center;font-family:var(--f-display);font-weight:800;font-size:1.15rem}
.how b{font-family:var(--f-display);font-weight:800;font-size:1.1rem}
.how span{font-size:.92rem;color:var(--ink-2)}
.wa-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:900px){.wa-cards{grid-template-columns:1fr}}
.wa-card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:22px;display:flex;flex-direction:column;gap:12px}
.wa-card .act-ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--wa) 14%,transparent);color:var(--wa)}
.wa-card .btn{margin-top:auto;align-self:flex-start}
.mini-steps{margin:0;padding-left:20px;display:grid;gap:4px;color:var(--ink-2);font-size:.98rem}
.svc-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
@media (max-width:900px){.svc-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
.svc-tile{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:18px;background:var(--card);border:1px solid var(--line);color:var(--ink);text-decoration:none;min-height:88px}
.svc-tile:hover{border-color:var(--rose);color:var(--ink)}
.svc-tile b{font-family:var(--f-display);font-weight:800;font-size:1.08rem;letter-spacing:-.01em;line-height:1.15}
.svc-tile span{font-size:.85rem;font-weight:600;color:var(--sage)}
.about-strip{padding-block:28px}
.about-link{display:flex;align-items:center;justify-content:space-between;gap:16px;text-decoration:none;color:var(--ink)}
.about-link > span:first-child{display:flex;flex-direction:column;gap:4px}
.about-link b{font-family:var(--f-display);font-size:clamp(1.2rem,2.4vw,1.6rem);font-weight:800;letter-spacing:-.02em}
.about-link .act-go{position:static;transform:none;color:var(--rose)}
.about-link:hover{color:var(--sage)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.gallery figure{margin:0;display:flex;flex-direction:column;gap:8px}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px;display:block}
.gallery figcaption{font-size:.9rem;color:var(--ink-2)}
@media (max-width:860px){.dock a.p{font-weight:800;background:var(--primary);color:var(--on-primary);border-radius:16px}}

/* ---------- Home pulita ---------- */
.hero3{padding-block:clamp(48px,8vw,112px) clamp(32px,5vw,56px)}
.hero3-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:40px;align-items:center}
.hero3-main{gap:22px}
.hero3 h1.display{font-size:clamp(2.8rem,7vw,5.2rem);letter-spacing:-.035em;line-height:.98;color:var(--ink)}
.hero3 .lead{font-size:clamp(1.12rem,2vw,1.32rem);max-width:38ch;color:var(--ink-2);font-weight:500;line-height:1.5}
.hero3-cta{margin-top:6px}
.hero3-meta{gap:18px}
.hero3-meta .status{padding:0;background:none;border:0;font-weight:600}
.hero-tel{font-weight:700}
.hero3-mark{justify-self:center;width:min(100%,300px);aspect-ratio:1;border-radius:50%;background:var(--sage-soft);display:grid;place-items:center;color:var(--sage)}
.hero3-mark svg{width:62%;height:62%}
@media (max-width:820px){.hero3-grid{grid-template-columns:1fr}.hero3-mark{display:none}.hero3-cta .btn{flex:1 1 220px}}
.quick{padding-bottom:clamp(40px,6vw,72px)}
.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media (max-width:980px){.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.quick-grid{grid-template-columns:1fr}}
.act.q{--bg:var(--card);--fg:var(--ink);border:1px solid var(--line);min-height:96px;padding:18px 44px 18px 16px}
.act.q:hover{border-color:var(--sage);box-shadow:0 8px 22px rgba(44,59,49,.08)}
.act.q .act-ic{background:var(--sage-soft);color:var(--sage);width:48px;height:48px;border-radius:14px}
.act.q .act-t{font-size:1.12rem}
.act.q .act-s{color:var(--ink-2);opacity:1;font-weight:500}
.act.q .act-go{color:var(--sage);font-size:1.2rem;right:16px}
@media (max-width:560px){.act.q{grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;min-height:0;padding:14px 40px 14px 14px;row-gap:0}.act.q .act-ic{grid-row:1/3}.act.q .act-go{top:50%;transform:translateY(-50%)}}
.feature{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--rose);border-radius:18px}
.feature:hover{border-style:solid;border-color:var(--sage);border-left-color:var(--rose)}
.feature-tag{background:var(--blush);color:var(--rose)}

@media (min-width:981px){.act.q{grid-template-columns:1fr;grid-template-rows:auto;row-gap:6px;align-content:start;padding:20px;min-height:170px}.act.q .act-ic{grid-row:auto;margin-bottom:10px}.act.q .act-go{top:22px;transform:none;right:20px}}

/* ---------- Tema bianco (stile pulito) ---------- */
section.band{border-top:0}
.panel,.svc,.ev,.mapcard,.wa-card,.svc-tile,.act.q,.task,.kpi,details.box,.admin-ev,.oggi-card{border-color:transparent}
.panel{border-radius:28px}
.svc,.ev,.mapcard,.wa-card,.svc-tile{border-radius:24px}
.svc:hover,.ev:hover,.svc-tile:hover{border-color:transparent;background:color-mix(in srgb,var(--card) 70%,var(--sage-soft))}
.cta-box,.ricetta{border-radius:28px;background:var(--card)}
.book-band{background:transparent}
.book-panel{box-shadow:none}
.how li::before{background:var(--sage-soft)}
.wa-card .act-ic{background:color-mix(in srgb,var(--wa) 12%,var(--paper))}
.feature{background:var(--card);border:0;border-radius:24px;margin-top:8px}
.feature:hover{background:color-mix(in srgb,var(--card) 70%,var(--sage-soft))}
.feature-tag{background:var(--rose);color:var(--on-rose)}
.hero4{padding-block:clamp(36px,6vw,88px) clamp(24px,4vw,48px)}
.hero4-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:center}
.hero4-main{gap:20px;align-self:start;padding-top:clamp(0px,1.5vw,16px)}
.kicker{font-size:1.05rem;font-weight:600;color:var(--ink-2)}
.hero4 h1.display{font-size:clamp(2.8rem,6.4vw,5rem);letter-spacing:-.035em;line-height:.98}
.hero4 .lead{font-size:clamp(1.1rem,1.8vw,1.25rem);max-width:34ch;color:var(--ink);font-weight:500;line-height:1.5}
.hero-status .status{padding:0;border:0;background:none;font-weight:600}
.hero-cta{gap:20px;margin-top:4px}
.btn-xl{min-height:60px;padding:0 30px;font-size:1.12rem}
.hero-or{color:var(--ink);text-decoration:none;font-weight:500}
.hero-or b{font-weight:800}
.hero-or:hover{color:var(--sage)}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;min-height:132px;padding:22px 22px 20px;border-radius:24px;background:var(--card);color:var(--ink);text-decoration:none;transition:background .15s ease,transform .15s ease}
.tile:hover{color:var(--ink);background:color-mix(in srgb,var(--card) 65%,var(--sage-soft));transform:translateY(-2px)}
.tile b{font-family:var(--f-display);font-size:clamp(1.25rem,2vw,1.55rem);font-weight:800;letter-spacing:-.02em;line-height:1.1;padding-right:44px}
.tile span:not(.tile-go){font-size:.95rem;color:var(--ink-2);font-weight:500}
.tile-go{position:absolute;top:16px;right:16px;width:38px;height:38px;border-radius:50%;background:var(--paper);display:grid;place-items:center;color:var(--ink)}
.tile-go .icon{width:18px;height:18px}
.tile-main{grid-column:1/-1;min-height:118px;background:var(--primary);color:var(--on-primary)}
.tile-main:hover{background:var(--primary);color:var(--on-primary);filter:brightness(.94)}
.tile-main span:not(.tile-go){color:var(--on-primary);opacity:.92}
@media (max-width:900px){.hero4-grid{grid-template-columns:1fr}}
@media (max-width:520px){.tile{min-height:116px;padding:16px}.tile b{font-size:1.12rem;padding-right:34px}.tile-go{width:32px;height:32px;top:12px;right:12px}.hero-cta .btn-xl{width:100%}.hero-cta{gap:12px}}

/* ---------- Colori vivi, leggibili ---------- */
.tile.t-peach{background:var(--t-peach)} .tile.t-mint{background:var(--t-mint)} .tile.t-sky{background:var(--t-sky)} .tile.t-butter{background:var(--t-butter)}
.tile.t-peach:hover,.tile.t-mint:hover,.tile.t-sky:hover,.tile.t-butter:hover{filter:brightness(.97);background-blend-mode:normal}
.tile.t-peach:hover{background:var(--t-peach)} .tile.t-mint:hover{background:var(--t-mint)} .tile.t-sky:hover{background:var(--t-sky)} .tile.t-butter:hover{background:var(--t-butter)}
.tile{justify-content:flex-start;gap:6px;min-height:150px}
.tile-ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--paper);color:var(--ink);margin-bottom:8px}
.tile-ic .icon{width:26px;height:26px}
.tile-main .tile-ic{background:rgba(255,255,255,.18);color:var(--on-primary)}
.tile-main{min-height:140px}
.tile span:not(.tile-go):not(.tile-ic){color:var(--ink-2)}
.tile-main span:not(.tile-go):not(.tile-ic){color:var(--on-primary)}
.kicker{color:var(--sage);font-weight:700}
.hero4 h1.display{color:var(--ink)}
.status .dot{width:10px;height:10px;box-shadow:0 0 0 4px color-mix(in srgb,var(--ok) 25%,transparent)}
.feature{background:var(--t-butter)}
.feature:hover{background:var(--card);filter:brightness(.98)}
.wa-card{background:var(--t-mint)}
.wa-card .act-ic{background:var(--paper);color:var(--wa)}
.svc-tile:nth-child(4n+1){background:var(--t-mint)} .svc-tile:nth-child(4n+2){background:var(--t-sky)} .svc-tile:nth-child(4n+3){background:var(--t-peach)} .svc-tile:nth-child(4n+4){background:var(--t-butter)}
.svc-tile:hover{filter:brightness(.97)}
.svc-tile span{color:var(--sage)}
.book-panel{background:var(--card)}
.how li::before{background:var(--sage-soft);color:var(--sage)}
.cta-box{background:var(--t-sky)}
.ricetta{background:var(--t-peach)}
.pick-btn[aria-pressed="true"],.day[aria-pressed="true"],.slot[aria-pressed="true"]{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
.day[aria-pressed="true"] small,.slot[aria-pressed="true"] small{color:var(--on-primary)}
.step .n{background:var(--primary);color:var(--on-primary)}
.btn{min-height:54px}
.btn-sm{min-height:44px}
nav.main a{font-size:1.02rem}
footer.site{background:#173A2A}
.tile:not(.tile-main) .tile-ic{color:var(--sage)}

/* ---------- Palette definitiva: verde farmacia + cuore rosa del logo ---------- */
.feature{border-left:4px solid var(--rose)}
.feature-tag{background:var(--blush);color:var(--rose)}
.tile-go{color:var(--sage)}
.tile-main .tile-go{color:var(--sage)}
footer.site{background:#1E3B28}

/* mappa */
.mapcard{margin:0;display:flex;flex-direction:column}
.map-top{display:flex;align-items:center;gap:12px;padding:16px 18px;line-height:1.3}
.map-top svg{width:36px;height:36px;color:var(--sage);flex:none}
.map-top b{font-family:var(--f-display);font-size:1.15rem;font-weight:800}
iframe.osm{display:block;width:100%;height:340px;border:0;background:var(--sage-soft)}
.mapcard .body{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}
@media (max-width:520px){iframe.osm{height:280px}.mapcard .body .btn{width:100%}}

/* allegato ricetta */
.file-f{display:flex;flex-direction:column;gap:8px;font-size:.95rem;font-weight:600}
.file-drop{position:relative;display:block;cursor:pointer}
.file-drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.file-btn{display:flex;align-items:center;gap:10px;min-height:56px;padding:10px 16px;border:2px dashed color-mix(in srgb,var(--primary) 45%,var(--line));border-radius:14px;background:var(--paper);color:var(--sage);font-weight:700}
.file-drop:hover .file-btn,.file-drop input:focus-visible + .file-btn{border-style:solid;background:var(--sage-soft)}
.ha-file .file-btn{border-style:solid;background:var(--sage-soft)}
#r-file-nome{overflow-wrap:anywhere;color:var(--ink)}

/* simboli dei servizi e prezzi */
.svc-ic{width:44px;height:44px;border-radius:14px;display:inline-grid;place-items:center;background:var(--sage-soft);color:var(--sage);flex:none}
.svc-ic .icon{width:24px;height:24px}
.svc-ic-lg{width:56px;height:56px;border-radius:18px}.svc-ic-lg .icon{width:30px;height:30px}
.svc-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.svc-head .prezzo{margin-left:auto}
.prezzo{font-family:var(--f-display);font-weight:800;font-size:1.1rem;color:var(--ink);white-space:nowrap}
.svc-tile{flex-direction:column;align-items:flex-start}
.svc-tile .svc-ic{margin-bottom:6px;background:var(--paper)}
.svc-tile em{font-style:normal;font-weight:800;color:var(--ink)}
.pick{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.pick-btn{display:flex;align-items:center;gap:12px;text-align:left;min-height:64px;padding:8px 12px}
.pick-btn .svc-ic{width:40px;height:40px;border-radius:12px}
.pick-btn .svc-ic .icon{width:22px;height:22px}
.pick-t{display:flex;flex-direction:column;line-height:1.2}
.pick-t b{font-weight:700}
.pick-t small{font-weight:600;color:var(--ink-2);font-size:.85rem;margin-top:2px}
.pick-btn[aria-pressed="true"] .svc-ic{background:rgba(255,255,255,.18);color:var(--on-primary)}
.pick-btn[aria-pressed="true"] .pick-t small{color:var(--on-primary)}

/* ---------- Tema rosa (D) con verdi bottiglia ---------- */
header.site{background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:saturate(1.2) blur(8px)}
nav.main a[aria-current="page"],nav.main a:hover{background:var(--card)}
.btn-quiet{background:var(--card);border-color:var(--line)}
.btn-ghost{background:var(--card)}
input[type=text],input[type=tel],input[type=email],input[type=password],input[type=date],input[type=number],select,textarea{background:var(--card);border-color:rgba(15,34,25,.2)}
.panel input,.panel select,.panel textarea,.book-panel input{background:#FBF7F8}
.tile-ic,.tile-go,.svc-tile .svc-ic,.wa-card .act-ic{background:var(--paper)}
.tile-main .tile-ic{background:rgba(255,255,255,.16)}
.tile-main .tile-go{background:var(--card)}
.svc-ic{background:var(--paper);color:var(--sage)}
.svc-ic .pitto{width:34px;height:34px}
.svc-ic{width:52px;height:52px;border-radius:16px}
.svc-ic-lg{width:72px;height:72px;border-radius:22px}.svc-ic-lg .pitto{width:50px;height:50px}
.pick-btn .svc-ic{width:44px;height:44px;border-radius:14px}.pick-btn .svc-ic .pitto{width:30px;height:30px}
.pick-btn{background:var(--card)}
.pick-btn[aria-pressed="true"] .svc-ic{background:var(--card);color:var(--sage)}
.day,.slot{background:var(--card)}
.how li::before{background:var(--card);color:var(--sage)}
.feature{background:var(--card)}
.feature-tag{background:var(--paper);color:var(--rose)}
.status .dot{box-shadow:none}
.kicker,.eyebrow{color:var(--sage)}
table.hours tr.today td{color:var(--sage)}
.cta-box,.ricetta{background:var(--card)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .panel input,:root:not([data-theme=light]) .panel textarea{background:var(--paper)}}
.two-book > *,.book-grid > *,.ev-page > *{min-width:0}
.pick{grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr))}

/* modulo ricetta: PDF in primo piano */
.file-tit{font-family:var(--f-display);font-weight:800;font-size:1.1rem;letter-spacing:-.01em}
.file-big .file-btn{min-height:96px;padding:18px 20px;border-width:2px;gap:16px}
.file-big .file-btn .icon{width:34px;height:34px;flex:none}
.file-big .file-btn > span{display:flex;flex-direction:column;gap:2px}
.file-big .file-btn b{font-size:1.1rem}
.file-big .file-btn small{font-weight:500;color:var(--ink-2)}
.oppure{display:flex;align-items:center;gap:12px;color:var(--ink-2);font-weight:600;margin:2px 0 10px}
.oppure::before,.oppure::after{content:"";flex:1;height:1px;background:var(--line)}
.alt-nre{border-radius:16px}

/* pagina prenotazione visite */
.pv-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:36px;align-items:center}
.pv-price{background:var(--card);border-radius:28px;padding:28px;display:flex;flex-direction:column;gap:6px}
.pv-price b{font-family:var(--f-display);font-size:4rem;font-weight:800;line-height:1;color:var(--sage);letter-spacing:-.03em}
.two-col-pv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
@media (max-width:860px){.pv-hero,.two-col-pv{grid-template-columns:minmax(0,1fr)}}
.insta .eyebrow .icon{width:18px;height:18px}

.svc-ic-lg{background:var(--card)}
.panel .how li::before,.pv-price ~ * .how li::before{background:var(--paper)}
.panel .svc-ic{background:var(--paper)}
.pv-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:24px;align-items:center;background:var(--card);border-radius:28px;padding:28px 32px;text-decoration:none;color:var(--ink)}
.pv-banner:hover{color:var(--ink);box-shadow:0 10px 30px rgba(15,34,25,.08)}
.pv-banner .svc-ic-lg{background:var(--paper)}
.pv-banner b{font-family:var(--f-display);font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:800;letter-spacing:-.02em;line-height:1.1}
@media (max-width:760px){.pv-banner{grid-template-columns:minmax(0,1fr);padding:22px}.pv-banner .btn{justify-self:start}}

/* ---------- Rosa acceso + salvia ---------- */
.tile-main .tile-ic{background:rgba(255,255,255,.16);color:var(--on-primary)}
.tile-main .tile-go{background:var(--card);color:var(--sage)}
.tile-main span:not(.tile-go):not(.tile-ic){color:var(--on-primary);opacity:.92}
.status .dot{background:#3F8F5A}
.status.closed .dot{background:var(--heart)}
.svc-ic{color:var(--sage)}
.btn-primary .icon{color:inherit}

/* ---------- Il farmacista animato ---------- */
.hero-logo{width:84px;height:84px;color:var(--primary)}
.hero-logo svg{width:100%;height:100%}
.hero-tag{font-family:var(--f-display);font-size:clamp(1.3rem,2.4vw,1.75rem);font-weight:700;color:var(--sage);letter-spacing:-.01em;margin-top:-6px}
.hero-live{display:flex;align-items:center;gap:14px;margin-top:6px;flex-wrap:wrap}
.farmacista{width:150px;height:100px;flex:none;color:var(--ink)}
.farmacista-svg{width:100%;height:100%;display:block;overflow:visible}
.farmacista .pieno{fill:currentColor;stroke:none}
.farmacista .berretto.pieno{fill:currentColor}
.farmacista .sc{display:none}
.farmacista:not([data-scena]) .sc-lavora,.farmacista[data-scena=lavora] .sc-lavora,.farmacista[data-scena=colazione] .sc-colazione,
.farmacista[data-scena=pranzo] .sc-pranzo,.farmacista[data-scena=cena] .sc-cena,.farmacista[data-scena=dorme] .sc-dorme{display:inline}
.farmacista .testa{animation:f-testa .9s ease-in-out infinite alternate}
.farmacista .occhi-aperti{animation:f-apri 3.6s steps(1) infinite}
.farmacista .occhi-chiusi{animation:f-chiudi 3.6s steps(1) infinite}
.farmacista .pesta{transform-box:view-box;transform-origin:88px 48px;animation:f-pesta .42s cubic-bezier(.5,0,.6,1) infinite alternate}
.farmacista .velocita{animation:f-lampo .42s steps(1) infinite alternate}
.farmacista .pillola{transform-box:fill-box;transform-origin:center;animation:f-salta 1.68s ease-out infinite}
.farmacista .avambraccio{transform-box:view-box;transform-origin:92px 60px;animation:f-porta 3.6s ease-in-out infinite}
.farmacista .dritto{transform-box:view-box;transform-origin:114px 60px;animation:f-dritto 3.6s ease-in-out infinite}
.farmacista .tazza{animation-name:f-sorso}.farmacista .forchetta{animation-name:f-forchetta}
.farmacista .gomitolo{transform-box:fill-box;transform-origin:center;animation:f-gira .7s linear infinite}
.farmacista .filo,.farmacista .spaghi{animation:f-dondola .5s ease-in-out infinite alternate}
.farmacista .vapore{animation:f-vapore 1.4s ease-in-out infinite}
.farmacista .sole{transform-box:fill-box;transform-origin:center;animation:f-sole 8s linear infinite}
.farmacista .luna{transform-box:fill-box;transform-origin:center;animation:f-culla 3s ease-in-out infinite alternate}
.farmacista .stella{transform-box:fill-box;transform-origin:center;animation:f-stella 1.2s ease-in-out infinite}
.farmacista .fiamma{transform-box:fill-box;transform-origin:50% 100%;animation:f-fiamma .35s ease-in-out infinite alternate}
.farmacista .coperta{transform-box:view-box;transform-origin:90px 74px;animation:f-respiro 3s ease-in-out infinite}
.farmacista .bolla{transform-box:view-box;transform-origin:48px 64px;animation:f-bolla 3s ease-in-out infinite}
.farmacista .berretto{transform-box:view-box;transform-origin:30px 55px;animation:f-berretto 3s ease-in-out infinite}
.farmacista .z{opacity:0;animation:f-z 3s ease-in-out infinite}
.farmacista .z2{animation-delay:1s}.farmacista .z3{animation-delay:2s}
@keyframes f-testa{from{transform:translateY(0) rotate(0)}to{transform:translateY(-1.2px) rotate(.6deg)}}
@keyframes f-apri{0%{opacity:1}92%{opacity:0}97%{opacity:1}}
@keyframes f-chiudi{0%{opacity:0}92%{opacity:1}97%{opacity:0}}
@keyframes f-pesta{from{transform:rotate(-12deg)}to{transform:rotate(1deg)}}
@keyframes f-lampo{0%{opacity:0}50%{opacity:1}}
@keyframes f-salta{0%,40%{transform:translate(0,0) rotate(0);opacity:0}45%{opacity:1}70%{transform:translate(8px,-18px) rotate(200deg)}92%{opacity:1}100%{transform:translate(15px,7px) rotate(360deg);opacity:0}}
@keyframes f-porta{0%,25%,100%{transform:rotate(20deg)}45%,70%{transform:rotate(-100deg)}}
@keyframes f-dritto{0%,25%,100%{transform:rotate(-20deg)}45%,70%{transform:rotate(100deg)}}
@keyframes f-sorso{0%,25%,100%{transform:rotate(-20deg)}45%,70%{transform:rotate(75deg)}}
@keyframes f-forchetta{0%,25%,100%{transform:rotate(-20deg)}45%,70%{transform:rotate(20deg)}}
@keyframes f-gira{to{transform:rotate(360deg)}}
@keyframes f-dondola{from{transform:translateX(-.8px)}to{transform:translateX(.8px)}}
@keyframes f-vapore{0%{opacity:0;transform:translateY(2px)}40%{opacity:1}100%{opacity:0;transform:translateY(-5px)}}
@keyframes f-sole{to{transform:rotate(360deg)}}
@keyframes f-culla{from{transform:rotate(-8deg)}to{transform:rotate(8deg)}}
@keyframes f-stella{50%{transform:scale(.4);opacity:.4}}
@keyframes f-fiamma{from{transform:scale(1) skewX(-6deg)}to{transform:scale(.8,1.2) skewX(6deg)}}
@keyframes f-respiro{50%{transform:scaleY(1.08)}}
@keyframes f-bolla{0%,100%{transform:scale(.25)}50%{transform:scale(1.35)}}
@keyframes f-berretto{50%{transform:rotate(-4deg)}}
@keyframes f-z{0%{opacity:0;transform:translate(0,4px)}30%{opacity:1}100%{opacity:0;transform:translate(7px,-7px)}}
@media (prefers-reduced-motion:reduce){.farmacista *{animation:none!important}.farmacista .linea{filter:none}.farmacista .occhi-chiusi{opacity:0}}

/* ---------- Sacchetto verde: fondo salvia, bianco e rosa cipria ----------
   Fondo #4B6354 (il sacchetto), testi bianchi, accento rosa #EBCFC9, riquadri bianchi con testo verde.
   Un solo font, Outfit (quello del logo), in pesi leggeri. */
:root{
  --paper:#4B6354; --card:#56705F; --ink:#FFFFFF; --ink-2:#DCE4DE; --sage:#EBCFC9; --sage-soft:#5A7363;
  --primary:#EBCFC9; --on-primary:#33473B; --blush:#EBCFC9; --rose:#F0C4CB; --on-rose:#33473B; --heart:#E6A5AE;
  --line:rgba(255,255,255,.2); --ic-fill:#EBCFC9; --ic-w:#FFFFFF; --wa:#EBCFC9; --on-wa:#33473B; --ok:#A8DDB8; --bad:#F2B3BC;
  --manico:#FFFFFF; --verde:#4B6354; --verde-scuro:#3E5446; --cipria:#EBCFC9;
  --f-display:"Outfit","Avenir Next","Segoe UI",system-ui,sans-serif; --f-logo:var(--f-display); --f-body:var(--f-display);
  color-scheme:dark;
}
@media (prefers-color-scheme:dark){:root{
  --paper:#40574A; --card:#4B6354; --ink:#FFFFFF; --ink-2:#DCE4DE; --sage:#EBCFC9; --sage-soft:#4E6758;
  --primary:#EBCFC9; --on-primary:#33473B; --blush:#EBCFC9; --rose:#F0C4CB; --on-rose:#33473B; --heart:#E6A5AE;
  --line:rgba(255,255,255,.2); --ic-fill:#EBCFC9; --wa:#EBCFC9; --on-wa:#33473B; --ok:#A8DDB8; --bad:#F2B3BC; --manico:#FFFFFF}}
/* superfici chiare: riquadri bianchi con testo verde */
:is(.tile:not(.tile-main),.panel,.wa-card,.svc-tile,.svc-tiles .svc-tile:nth-child(n),.mapcard,.feature,.svc,.ev,.faq details,.cta-box,.ricetta,.okbox,.hub-svc,.pv-price,details.box,.kpi,.admin-ev,.pv-banner,.dock,.prima,.tbl-wrap,.oggi-card){
  --ink:#26322B; --ink-2:#56625B; --sage:#4B6354; --sage-soft:#E2E6DF; --card:#FFFFFF; --paper:#F3F0EB; --line:rgba(38,50,43,.13);
  --primary:#4B6354; --on-primary:#FFFFFF; --rose:#94505A; --wa:#4B6354; --on-wa:#FFFFFF; --manico:#3E5446; --ok:#4F8A63; --bad:#A9505C;
  --ic-w:#FFFFFF; color:var(--ink); color-scheme:light}
.tile:not(.tile-main),.panel,.wa-card,.svc-tiles .svc-tile:nth-child(n),.mapcard,.feature,.svc,.ev,.faq details,.cta-box,.ricetta,.okbox,.hub-svc,.pv-price,details.box,.kpi,.admin-ev,.dock{background:#FFFFFF}
input[type=text],input[type=tel],input[type=email],input[type=password],input[type=date],input[type=number],select,textarea,.panel input,.panel select,.panel textarea,.book-panel input,.inline-book input,.inline-book select{background:#F6F4F0;color:#26322B;border-color:rgba(38,50,43,.2);color-scheme:light}
body{font-weight:400}
/* titoli: peso medio */
:is(h1,h2,h1.display,.hero4 h1.display,h1.page,.pv-price b,.ev .date b,.story .anno,.code,.day b,.about-link b,.pv-banner b){font-weight:500;letter-spacing:-.02em}
:is(h3,.tile b,.svc-tile b,.act-t,.feature-t,.how b,.prezzo,.map-top b,.facts-row b,.file-tit,.bigval,.chip b,.step legend,.task .t,.slots-title,.kpi b,.hero-tag,.svc-tile em,.pick-t b,.feature-tag,.feature-go){font-weight:500}
h1,h2,h3{color:var(--manico)}
.btn{font-weight:500}
nav.main a{font-weight:400}
nav.main a[aria-current="page"]{font-weight:500}
.eyebrow{font-weight:500;letter-spacing:.34em;color:var(--sage)}
.status,.hero-status .status{font-weight:400}
.tile span:not(.tile-go):not(.tile-ic),.svc-tile span,.pick-t small,.feature-m,.how span{font-weight:400}
a{color:#FFFFFF}
a:hover{color:var(--cipria)}
:is(.panel,.wa-card,.svc,.ev,.faq details,.okbox,.hub-svc,.mapcard,.feature,.tbl-wrap,.prima,details.box) a:not(.btn){color:#4B6354}
/* intestazione */
header.site{background:color-mix(in srgb,#4B6354 94%,transparent);border-bottom:1px solid rgba(255,255,255,.14)}
.brand,footer.site .brand{color:#FFFFFF}
.brand svg circle{fill:#E6A5AE}
.brand .w b{font-weight:500}
.brand .w small{font-weight:500;letter-spacing:.36em}
nav.main a{color:#FFFFFF}
nav.main a[aria-current="page"],nav.main a:hover{background:rgba(255,255,255,.12);color:#FFFFFF}
.btn-quiet{background:transparent;border:1px solid rgba(255,255,255,.4);color:#FFFFFF}
.btn-ghost{background:transparent;border:1px solid var(--cipria);color:var(--cipria)}
.btn-quiet:hover,.btn-ghost:hover{background:rgba(255,255,255,.1);color:#FFFFFF}
:is(.panel,.wa-card,.mapcard,.svc,.ev,.okbox,.hub-svc,.pv-banner,.cta-box,.ricetta) .btn-quiet{border-color:rgba(38,50,43,.22);color:#26322B}
:is(.panel,.wa-card,.mapcard,.svc,.ev,.okbox,.hub-svc,.pv-banner,.cta-box,.ricetta) .btn-ghost{border-color:#4B6354;color:#4B6354}
:is(.panel,.wa-card,.mapcard,.svc,.ev,.okbox,.hub-svc,.cta-box,.ricetta) .btn-quiet:hover,:is(.panel,.wa-card,.mapcard,.svc,.ev,.okbox,.hub-svc,.cta-box,.ricetta) .btn-ghost:hover{background:#F3F0EB;color:#26322B}
.btn-primary:hover{filter:brightness(.96)}
/* apertura con il fiore bianco in trasparenza */
.hero4{position:relative;overflow:hidden}
.hero4::before{content:"";position:absolute;left:-150px;top:50%;width:min(680px,120vw);aspect-ratio:1;transform:translateY(-46%) rotate(45deg);background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22%3E%3Cg fill=%22%23FFFFFF%22%3E%3Cpath d=%22M50 44C40 44 36 30 36 20C36 10 42 4 50 4C58 4 64 10 64 20C64 30 60 44 50 44Z%22 transform=%22rotate(0 50 50)%22/%3E%3Cpath d=%22M50 44C40 44 36 30 36 20C36 10 42 4 50 4C58 4 64 10 64 20C64 30 60 44 50 44Z%22 transform=%22rotate(90 50 50)%22/%3E%3Cpath d=%22M50 44C40 44 36 30 36 20C36 10 42 4 50 4C58 4 64 10 64 20C64 30 60 44 50 44Z%22 transform=%22rotate(180 50 50)%22/%3E%3Cpath d=%22M50 44C40 44 36 30 36 20C36 10 42 4 50 4C58 4 64 10 64 20C64 30 60 44 50 44Z%22 transform=%22rotate(270 50 50)%22/%3E%3C/g%3E%3C/svg%3E") no-repeat center/contain;opacity:.06;pointer-events:none}
.hero4-grid{position:relative;z-index:1}
.hero4 h1.display{color:#FFFFFF;letter-spacing:-.025em}
.hero-tag{font-weight:400;color:var(--cipria)}
.hero-status .status{color:#FFFFFF}
.status .dot{background:#A8DDB8}
.status.closed .dot{background:#E6A5AE}
.tile-main{background:var(--cipria);color:#33473B}
.tile-main:hover{background:#F1DBD6;color:#33473B;filter:none}
.tile-main span:not(.tile-go):not(.tile-ic),.tiles .tile-main span:not(.tile-go):not(.tile-ic){color:#4A5A50;opacity:1}
.tile-main .tile-ic{background:rgba(255,255,255,.55);color:#3E5446}
.tile-main .tile-go{background:#FFFFFF;color:#4B6354}
.tile:not(.tile-main) .tile-ic{background:#F3F0EB;color:#4B6354}
.tile:not(.tile-main) .tile-go{background:#F3F0EB;color:#4B6354}
.tile:not(.tile-main):hover{background:#FFFFFF;color:#26322B}
/* sezioni */
.book-band,.about-strip{background:#455C4E}
.how li::before{background:rgba(255,255,255,.12);color:#FFFFFF}
.muted{color:var(--ink-2)}
.feature-tag{background:var(--cipria);color:#3E5446;letter-spacing:.16em}
.feature{border-left:4px solid #E6A5AE}
.feature-go{color:#94505A}
.pv-banner{background:var(--cipria);color:#26322B}
.pv-banner:hover{color:#26322B;background:#F1DBD6}
.pv-banner .muted{color:#4A5A50}
.pv-banner .eyebrow{color:#3E5446}
.pv-banner .svc-ic-lg{background:#FFFFFF;color:#4B6354}
.svc-ic,.svc-tile .svc-ic{color:#4B6354;background:#F3F0EB}
.svc-tile em{color:#3E5446}
.svc-tiles .svc-tile:hover{background:#FFFFFF;filter:none;box-shadow:0 0 0 2px var(--cipria)}
table.hours td{border-color:rgba(255,255,255,.18)}
table.hours tr.today td{color:var(--cipria)}
.about-link,.about-link:hover{color:#FFFFFF}
.about-link .act-go{color:var(--cipria)}
.chip{border-color:var(--cipria);color:#FFFFFF}
.chip span{color:var(--ink-2)}
.timeline div::before,.story li::before{background:#4B6354}
iframe.osm{background:#E2E6DF}
/* piè di pagina */
footer.site{background:#3E5446;color:#F3EEE8}
footer.site a{color:#F3EEE8}
footer.site .brand svg circle{fill:#E6A5AE}
/* telefono */
.dock a{color:#26322B}
.dock a.w{color:#4B6354}
.dock a.p{background:#4B6354;color:#FFFFFF}
.wa-float{background:var(--cipria);color:#33473B}
.wa-float:hover{color:#33473B}
@media (max-width:860px){nav.main{background:#4B6354}}
@media (max-width:900px){.hero4::before{left:auto;right:-220px;top:-120px;transform:rotate(45deg);width:520px}}
footer.site .muted{color:#F3EEE8;opacity:.75}
.hero4::before{opacity:.05}

/* ---------- Font Bricolage Grotesque (il logo resta Outfit) e zona sinistra della home centrata ---------- */
:root{--f-display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;--f-body:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;--f-logo:"Outfit","Avenir Next","Segoe UI",system-ui,sans-serif}
body{font-weight:400}
:is(h1,h2,h1.display,.hero4 h1.display,h1.page,.pv-price b,.ev .date b,.story .anno,.code,.day b,.about-link b,.pv-banner b){font-weight:650}
:is(h3,.tile b,.svc-tile b,.act-t,.feature-t,.how b,.prezzo,.map-top b,.hero-tag,.pick-t b,.btn){font-weight:600}
.hero4-grid{align-items:center}
.hero4-main{align-self:center;padding-top:0;gap:18px}
.hero4 h1.display{font-size:clamp(3rem,6.2vw,5.4rem);line-height:.98}
.hero-tag{margin-top:0}
.hero-status .status{display:inline-flex;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18)}


/* ==================================================================
   MIGLIORIE NOVEMBRE 2026 sulla versione online (fondo verde salvia invariato)
   1. Font più vivace: Rubik (rotondo, deciso, molto leggibile). Il logo resta Outfit.
   2. Leggibilità per 50-60 anni: testi più grandi, sottotesti scuri e spiegati.
   3. Un solo colore per tutto ciò che si tocca: rosa vivo pieno sul verde, verde scuro sulle schede bianche.
   4. Riga "Oggi in farmacia" in cima a ogni pagina.
   ================================================================== */
:root{--f-display:"Rubik","Segoe UI",system-ui,sans-serif;--f-body:"Rubik","Segoe UI",system-ui,sans-serif;--f-logo:"Outfit","Avenir Next","Segoe UI",system-ui,sans-serif;
  --azione:#FF8FAB;--azione-hover:#FFAAC0;--on-azione:#1F2B24;--azione-scura:#2F5A44;--azione-scura-hover:#24493B;--anello:#FFFFFF}
body{font-size:20px;font-weight:400;line-height:1.6}
body :is(h1,h2,h1.display,.hero4 h1.display,h1.page,.pv-price b,.ev .date b,.story .anno,.code,.day b,.about-link b,.pv-banner b,.task .t){font-weight:700;letter-spacing:-.02em}
body :is(h3,.tile b,.svc-tile b,.act-t,.feature-t,.how b,.prezzo,.map-top b,.pick-t b,.step legend,.chip b,.file-tit,.slots-title,.task .t){font-weight:600}
body .hero-tag{font-weight:600}
.hero4 h1.display{font-size:clamp(3rem,6.2vw,5.4rem);line-height:.98}
.hero-tag{font-size:clamp(1.45rem,2.5vw,1.9rem)}
.hero-sub{margin:0;font-size:clamp(1.12rem,1.6vw,1.28rem);line-height:1.5;color:#fff;max-width:34ch}
.eyebrow{font-size:.82rem;font-weight:600}
.muted{color:#F2F5F2}
.small{font-size:1rem}
/* sottotesti nei riquadri: più grandi e scuri */
.tile b{font-size:clamp(1.35rem,2vw,1.6rem)}
body .tile span:not(.tile-go):not(.tile-ic),body .tiles .tile span:not(.tile-go):not(.tile-ic){font-size:1rem;line-height:1.45;color:#3F4C45;opacity:1}
body .tile-main span:not(.tile-go):not(.tile-ic){color:#2C2026}
.svc-tile span{font-size:1rem;color:#3F4C45}
.mini-steps{font-size:1.02rem;color:#3F4C45}
.how b{font-size:1.15rem}.how span{font-size:1rem}
:is(.panel,.wa-card,.svc,.ev,.okbox,.hub-svc,.mapcard,.feature,.prima,details.box) .muted{color:#3F4C45}
small,.slot small,.day small,.file-big .file-btn small{font-size:max(.85rem,13px)}
.svc .access{font-size:.95rem}
input[type=text],input[type=tel],input[type=email],input[type=password],input[type=date],input[type=number],select,textarea{font-size:1.05rem;min-height:54px;border-width:2px}
label.f{font-size:1rem;font-weight:600}
/* azioni: rosa vivo sul verde */
.btn{font-weight:600;font-size:1.05rem;transition:background-color .15s,transform .15s,box-shadow .15s}
.btn-primary,.btn-wa{background:var(--azione);color:var(--on-azione);border-color:var(--azione)}
.btn-primary:hover,.btn-wa:hover{background:var(--azione-hover);color:var(--on-azione);filter:none;transform:translateY(-1px)}
.btn-quiet,.btn-ghost{background:transparent;border:2px solid #fff;color:#fff}
.btn-quiet:hover,.btn-ghost:hover{background:#fff;color:#24493B}
.btn:active{transform:translateY(1px)}
:focus-visible{outline:3px solid var(--anello);outline-offset:3px;box-shadow:0 0 0 7px var(--azione)}
/* sulle schede bianche: verde scuro pieno */
:is(.panel,.wa-card,.mapcard,.svc,.ev,.okbox,.hub-svc,.cta-box,.ricetta,.pv-price,.prima) .btn-primary,
:is(.panel,.wa-card,.mapcard,.svc,.ev,.okbox,.hub-svc,.cta-box,.ricetta) .btn-wa{background:var(--azione-scura);border-color:var(--azione-scura);color:#fff}
:is(.panel,.wa-card,.mapcard,.svc,.ev,.okbox,.hub-svc,.cta-box,.ricetta) .btn-primary:hover,
:is(.panel,.wa-card,.mapcard,.svc,.ev,.okbox,.hub-svc,.cta-box,.ricetta) .btn-wa:hover{background:var(--azione-scura-hover);color:#fff}
:is(.panel,.wa-card,.mapcard,.svc,.ev,.okbox,.hub-svc,.cta-box,.ricetta) :is(.btn-quiet,.btn-ghost){border:2px solid var(--azione-scura);color:var(--azione-scura);background:#fff}
:is(.panel,.wa-card,.mapcard,.svc,.ev,.okbox,.hub-svc,.cta-box,.ricetta) :is(.btn-quiet,.btn-ghost):hover{background:#E8F0EB;color:#24493B}
:is(.panel,.wa-card,.mapcard,.svc,.ev,.okbox,.hub-svc,.feature,.prima,details.box) :focus-visible{outline-color:#24493B;box-shadow:0 0 0 7px var(--azione)}
/* scelte nella prenotazione: rosa vivo quando selezionate */
.pick-btn[aria-pressed="true"],.day[aria-pressed="true"],.slot[aria-pressed="true"]{background:var(--azione);border-color:#1F2B24;color:var(--on-azione)}
.day[aria-pressed="true"] small,.slot[aria-pressed="true"] small,.pick-btn[aria-pressed="true"] .pick-t small{color:var(--on-azione)}
.pick-btn:hover,.day:hover:not([disabled]),.slot:hover:not([disabled]){border-color:var(--azione-scura);box-shadow:0 0 0 2px var(--azione-scura)}
.step .n{background:var(--azione-scura);color:#fff}
/* riquadri cliccabili: freccia rosa e bordo rosa al passaggio */
.tile{border:3px solid transparent;transition:border-color .15s,transform .15s}
.tile:hover{border-color:var(--azione);transform:translateY(-2px)}
.tile-main{background:var(--azione);color:var(--on-azione)}
.tile-main:hover{background:var(--azione-hover);color:var(--on-azione);border-color:#fff;filter:none}
.tile-main .tile-ic{background:rgba(255,255,255,.6);color:#1F2B24}
.tile-main .tile-go{background:#1F2B24;color:#fff}
.tile:not(.tile-main) .tile-go{background:var(--azione);color:#1F2B24}
.svc-tiles .svc-tile{border:3px solid transparent}
.svc-tiles .svc-tile:hover{border-color:var(--azione);box-shadow:none}
.svc-tile em{color:#A0284F}
.feature{border-left:6px solid var(--azione)}
.feature-tag{background:var(--azione);color:var(--on-azione)}
.feature-go{color:#A0284F;font-weight:700}
.feature:hover{box-shadow:0 0 0 3px var(--azione)}
.pv-banner{background:var(--azione);color:var(--on-azione);border:3px solid transparent}
.pv-banner:hover{border-color:#fff;background:var(--azione-hover);color:var(--on-azione)}
.pv-banner .muted{color:#2C2026;font-size:1.05rem}
.pv-banner .eyebrow{color:#1F2B24}
.pv-banner .btn-primary{background:#1F2B24;border-color:#1F2B24;color:#fff}
.how li::before{background:var(--azione);color:#1F2B24}
a:not(.btn):not(.tile):not(.svc-tile):not(.feature):not(.pv-banner):not(.brand):not(.about-link){text-decoration-thickness:2px;text-underline-offset:4px}
nav.main a{font-size:1.06rem}
nav.main a:hover{background:rgba(255,255,255,.14)}
nav.main a[aria-current="page"]{background:#fff;color:#24493B}
.dock a.p{background:var(--azione);color:var(--on-azione)}
.dock a{font-size:.8rem;font-weight:600}
.wa-float{background:var(--azione);color:var(--on-azione)}
.wa-float:hover{background:var(--azione-hover);color:var(--on-azione)}
.about-link .act-go{color:var(--azione)}
table.hours td{font-size:1.05rem}
/* riga "Oggi in farmacia" */
.oggi-bar{background:#344A3E;color:#fff;font-size:1rem;border-bottom:1px solid rgba(255,255,255,.12)}
.oggi-in{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap;padding-block:9px}
.oggi-k{font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;background:var(--azione);color:#1F2B24;border-radius:999px;padding:3px 10px}
.oggi-bar .status{background:none;border:0;padding:0;color:#fff;font-weight:600;font-size:1rem}
.oggi-posto{color:#fff;text-decoration:none}
.oggi-posto b{font-weight:700}
.oggi-go{color:var(--azione);font-weight:700;margin-left:4px}
.oggi-posto:hover .oggi-go{text-decoration:underline}
.oggi-dx{margin-left:auto;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.oggi-dx a{color:#fff;font-weight:600}
.oggi-dx .icon{width:16px;height:16px;margin-right:4px;vertical-align:-2px}
@media (max-width:760px){.oggi-dx{display:none}.oggi-bar{font-size:.95rem}.oggi-posto{flex-basis:100%}}
@media (prefers-reduced-motion:reduce){.btn,.tile{transition:none}.tile:hover,.btn-primary:hover{transform:none}}
.oggi-home .status{display:none!important}
.oggi-in{gap:8px 16px;padding-block:8px}
.oggi-dx{gap:14px}
@media (max-width:980px){.oggi-dx{display:none}}
@media (max-width:760px){.oggi-k{display:none}.oggi-bar{font-size:.92rem}.oggi-in{padding-block:7px;gap:4px 12px}.oggi-posto{flex-basis:auto}.oggi-bar .status{font-size:.92rem}}
/* ---------- Barra mobile snella: chiamata piccola, WhatsApp e ricetta ---------- */
@media (max-width:860px){
  .dock{display:flex;gap:8px;align-items:center;left:max(10px,env(safe-area-inset-left,0px));right:max(10px,env(safe-area-inset-right,0px));bottom:calc(10px + env(safe-area-inset-bottom,0px));
    padding:6px;border:0;border-radius:999px;background:rgba(52,74,62,.94);backdrop-filter:blur(10px);box-shadow:0 10px 30px -10px rgba(0,0,0,.45)}
  .dock a{flex-direction:row;justify-content:center;gap:8px;font-size:1rem;font-weight:600;min-height:48px;border-radius:999px;padding:0 14px;text-decoration:none}
  .dock a .icon{width:20px;height:20px}
  .dock a.d-tel{flex:none;width:48px;padding:0;background:transparent;color:#fff;border:2px solid rgba(255,255,255,.45)}
  .dock a.d-wa{flex:1;background:var(--azione);color:var(--on-azione)}
  .dock a.d-ric{flex:1;background:#fff;color:#24493B}
  .dock a:active{transform:scale(.97)}
  footer.site .wrap{padding-bottom:100px}
}
@media (max-width:860px){.dock a{white-space:nowrap}}
