/* ==========================================================================
   MEDICO VELOCE — app.css
   Layout, header, bottom tab bar (l'elemento "firma" del tema: la app-bar
   inferiore raggiungibile col pollice, come una vera app nativa), componenti.
   ========================================================================== */

.container{
  width: 100%;
  max-width: var(--mv-container);
  margin: 0 auto;
  padding: 0 20px;
}
.section{ padding: 56px 0; }
.section--tight{ padding: 32px 0; }
.section--surface{ background: var(--mv-surface); }
.section--primary{ background: var(--mv-primary); color:#fff; }
.section--primary h2, .section--primary p{ color:#fff; }

.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family: var(--mv-font-mono);
  font-size: .72rem; letter-spacing:.08em; text-transform:uppercase;
  color: var(--mv-primary-dark); background: var(--mv-primary-soft);
  padding: 6px 12px; border-radius: var(--mv-radius-pill);
  margin-bottom: 14px; font-weight:600;
}

/* ---------- Bottoni ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-weight:700; font-size: .95rem; font-family: var(--mv-font-display);
  padding: 13px 22px; border-radius: var(--mv-radius-pill);
  border: 2px solid transparent; cursor:pointer; line-height:1;
  transition: transform .12s ease, box-shadow .12s ease, background .15s, color .15s;
  min-height: 48px; /* target tocco mobile */
}
.btn:active{ transform: translateY(1px) scale(.99); }
.btn-accent{ background: var(--mv-accent); color:#fff; box-shadow: 0 6px 16px rgba(255,106,70,.35); }
.btn-accent:hover{ background: var(--mv-accent-dark); color:#fff; }
.btn-primary{ background: var(--mv-primary); color:#fff; }
.btn-primary:hover{ background: var(--mv-primary-dark); color:#fff; }
.btn-ghost{ background: transparent; border-color: var(--mv-border-strong); color: var(--mv-ink); }
.btn-ghost:hover{ border-color: var(--mv-primary); color: var(--mv-primary); }
.btn-block{ width:100%; }
.btn-sm{ padding: 9px 16px; min-height:auto; font-size:.85rem; }

/* ---------- Card generica ---------- */
.card{
  background: var(--mv-surface);
  border: 1px solid var(--mv-border);
  border-radius: var(--mv-radius-m);
  box-shadow: var(--mv-shadow-s);
  padding: 24px;
}

/* ==========================================================================
   HEADER
   ========================================================================== */
.site-header{
  position: sticky; top:0; z-index: 60;
  height: var(--mv-header-h);
  display:flex; align-items:center;
  background: rgba(243,247,246,.9);
  backdrop-filter: saturate(180%) blur(10px);
  border-bottom: 1px solid var(--mv-border);
}
.site-header__inner{
  width:100%; max-width: var(--mv-container); margin:0 auto; padding: 0 20px;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.site-branding{ display:flex; align-items:center; gap:10px; min-width:0; }
.site-branding img{ max-height: 34px; width:auto; }
.site-title{
  font-family: var(--mv-font-display); font-weight:800; font-size:1.15rem;
  color: var(--mv-ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.site-title a{ color:inherit; }

.status-pill{
  display:inline-flex; align-items:center; gap:7px;
  font-family: var(--mv-font-mono); font-size:.72rem; font-weight:600;
  padding: 6px 12px; border-radius: var(--mv-radius-pill);
  background: var(--mv-success-soft); color: var(--mv-success);
  white-space:nowrap;
}
.status-pill.is-closed{ background: var(--mv-warning-soft); color: var(--mv-warning); }
.status-pill__dot{
  width:7px; height:7px; border-radius:50%; background: currentColor;
  box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 22%, transparent);
}

/* nav desktop */
.primary-nav{ display:none; }
.primary-nav ul{ list-style:none; display:flex; gap:26px; margin:0; padding:0; }
.primary-nav a{
  color: var(--mv-ink-soft); font-weight:600; font-size:.95rem;
  padding: 8px 2px; border-bottom: 2px solid transparent;
}
.primary-nav a:hover, .primary-nav .current-menu-item > a{
  color: var(--mv-ink); border-bottom-color: var(--mv-accent);
}
.header-cta{ display:none; }
.header-actions{ display:flex; align-items:center; gap:12px; }

.menu-toggle{
  display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius: var(--mv-radius-s);
  border:1px solid var(--mv-border-strong); background:#fff;
}
.menu-toggle span{ display:block; }

@media (min-width: 900px){
  .primary-nav{ display:block; }
  .header-cta{ display:inline-flex; }
  .menu-toggle{ display:none; }
}

/* menu mobile a comparsa (drawer semplice) */
.mobile-drawer{
  position: fixed; inset:0; z-index: 80; display:none;
}
.mobile-drawer.is-open{ display:block; }
.mobile-drawer__backdrop{ position:absolute; inset:0; background: rgba(20,42,43,.45); }
.mobile-drawer__panel{
  position:absolute; top:0; right:0; height:100%; width: min(82vw, 340px);
  background:#fff; padding: 24px 22px; box-shadow: var(--mv-shadow-l);
  display:flex; flex-direction:column; gap:22px; overflow-y:auto;
}
.mobile-drawer__close{
  align-self:flex-end; width:38px; height:38px; border-radius:50%;
  border:1px solid var(--mv-border-strong); background:#fff; font-size:1.1rem;
}
.mobile-drawer nav ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:4px; }
.mobile-drawer nav a{
  display:block; padding: 13px 4px; font-weight:700; font-size:1.05rem;
  color: var(--mv-ink); border-bottom:1px solid var(--mv-border);
}
@media (min-width:900px){ .mobile-drawer{ display:none !important; } }

/* ==========================================================================
   BOTTOM TAB BAR — l'elemento distintivo: barra app fissa in basso su mobile
   ========================================================================== */
.bottom-nav{
  position: fixed; left:0; right:0; bottom:0; z-index:70;
  height: var(--mv-bottomnav-h);
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(10px);
  border-top: 1px solid var(--mv-border);
  display:flex; align-items:stretch;
  padding-bottom: env(safe-area-inset-bottom, 0);
}
@media (min-width: 900px){ .bottom-nav{ display:none; } }
.bottom-nav__item{
  flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:3px; color: var(--mv-ink-faint); font-size:.68rem; font-weight:700;
  position:relative;
}
.bottom-nav__icon{ font-size:1.28rem; line-height:1; }
.bottom-nav__item.is-active{ color: var(--mv-primary); }
.bottom-nav__item.is-active::before{
  content:''; position:absolute; top:6px; width:26px; height:3px; border-radius:3px;
  background: var(--mv-accent);
}
.bottom-nav__item--fab{ color:#fff; }
.bottom-nav__fab{
  width:52px; height:52px; border-radius:50%; background: var(--mv-accent);
  display:flex; align-items:center; justify-content:center; font-size:1.4rem;
  box-shadow: 0 8px 18px rgba(255,106,70,.45); margin-top:-22px; color:#fff;
  border: 4px solid var(--mv-paper);
}
.bottom-nav__badge{
  position:absolute; top:4px; right: calc(50% - 22px);
  background: var(--mv-accent); color:#fff; font-size:.6rem; font-weight:800;
  min-width:16px; height:16px; border-radius:999px; display:flex; align-items:center; justify-content:center;
  padding: 0 3px;
}

/* ==========================================================================
   HOME — HERO
   ========================================================================== */
.hero{ padding: 44px 0 56px; }
.hero__grid{ display:grid; gap:36px; align-items:center; }
@media (min-width:900px){ .hero__grid{ grid-template-columns: 1.1fr .9fr; gap:56px; } }
.hero h1{ margin-bottom:.4em; }
.hero__lead{ font-size:1.08rem; max-width:46ch; }
.hero__actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.hero__trust{ display:flex; gap:22px; margin-top:30px; flex-wrap:wrap; }
.hero__trust-item{ display:flex; align-items:center; gap:8px; font-size:.85rem; color:var(--mv-ink-soft); font-weight:600; }
.hero__trust-item .dot{ width:8px;height:8px;border-radius:50%; background:var(--mv-success); }

/* ---------- Pannello foto hero (sostituibile da Personalizza) ---------- */
.hero-photo{
  position: relative; max-width: 380px; margin: 0 auto;
}
.hero-photo__blob{
  position:absolute; inset: 6% -8% 10% -8%;
  background: linear-gradient(160deg, var(--mv-primary-tint), var(--mv-accent-soft));
  border-radius: 44% 56% 52% 48% / 52% 46% 54% 48%;
  z-index:0;
}
.hero-photo__frame{
  position:relative; z-index:1; border-radius: var(--mv-radius-l);
  overflow:hidden; box-shadow: var(--mv-shadow-l);
  aspect-ratio: 3/4;
}
.hero-photo__frame img{ width:100%; height:100%; object-fit:cover; }
.hero-photo__placeholder{
  width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  background: linear-gradient(155deg, var(--mv-primary-soft), var(--mv-accent-soft));
  color: var(--mv-primary-dark); font-size:3.4rem;
}
.hero-photo__card{
  position:absolute; z-index:2; left:-14px; bottom:14%;
  background:#fff; border-radius: var(--mv-radius-m); box-shadow: var(--mv-shadow-m);
  padding:12px 16px; display:flex; align-items:center; gap:10px; max-width:210px;
}
.hero-photo__card .dot{ width:34px;height:34px;border-radius:50%; background:var(--mv-primary-soft); color:var(--mv-primary); display:flex;align-items:center;justify-content:center; flex:none; }
.hero-photo__card strong{ display:block; font-size:.82rem; font-family: var(--mv-font-display); }
.hero-photo__card span{ font-size:.72rem; color:var(--mv-ink-faint); }
.hero-photo__pill{
  position:absolute; z-index:2; right:-10px; top:10%;
  background: var(--mv-ink); color:#fff; border-radius: var(--mv-radius-pill);
  padding:8px 14px; font-size:.72rem; font-weight:700; box-shadow: var(--mv-shadow-m);
  font-family: var(--mv-font-mono);
}
@media (max-width:420px){
  .hero-photo__card{ left:0; }
  .hero-photo__pill{ right:0; }
}

/* ---------- Sedi / studi ---------- */
.sedi-grid{ display:grid; gap:22px; }
@media (min-width:760px){ .sedi-grid{ grid-template-columns: repeat(2,1fr); } }
.sede-card__body{ display:flex; flex-direction:column; gap:16px; margin-top:6px; }
.sede-card__row{
  display:flex; align-items:flex-start; gap:9px; margin:0 0 8px; font-size:.94rem; color: var(--mv-ink-soft);
}
.sede-card__orari{ margin-top:10px; }
.sede-card__orari-label{
  font-family: var(--mv-font-mono); font-size:.7rem; text-transform:uppercase; letter-spacing:.06em;
  color: var(--mv-primary-dark); background: var(--mv-primary-soft); padding:4px 10px; border-radius: var(--mv-radius-pill);
}
.sede-card__orari p{ margin:8px 0 0; font-size:.9rem; }
.sede-card__map{ border-radius: var(--mv-radius-m); overflow:hidden; border:1px solid var(--mv-border); }
.sede-card__map iframe{ display:block; }

/* ---------- Griglia servizi ---------- */
.grid{ display:grid; gap:18px; }
.grid--3{ grid-template-columns: 1fr; }
@media (min-width:640px){ .grid--3{ grid-template-columns: repeat(2,1fr); } }
@media (min-width:900px){ .grid--3{ grid-template-columns: repeat(3,1fr); } }

.service-card{
  background:#fff; border:1px solid var(--mv-border); border-radius: var(--mv-radius-m);
  padding: 26px 22px; box-shadow: var(--mv-shadow-s); transition: box-shadow .15s, transform .15s;
}
.service-card:hover{ box-shadow: var(--mv-shadow-m); transform: translateY(-2px); }
.service-card__icon{
  width:46px; height:46px; border-radius: 12px; background: var(--mv-primary-soft);
  color: var(--mv-primary); display:flex; align-items:center; justify-content:center;
  font-size:1.35rem; margin-bottom:14px;
}
.service-card h3{ margin-bottom:6px; }
.service-card p{ margin-bottom:0; font-size:.94rem; }

/* ---------- Come funziona (step reali, numerazione legittima) ---------- */
.steps{ counter-reset: mv-step; display:grid; gap:22px; }
@media (min-width:900px){ .steps{ grid-template-columns: repeat(3,1fr); } }
.step{ position:relative; padding-left: 0; }
.step__num{
  counter-increment: mv-step; font-family: var(--mv-font-mono); font-weight:700;
  color: var(--mv-accent); font-size:.85rem; margin-bottom:8px; display:block;
}
.step__num::before{ content: "0" counter(mv-step); }

/* ---------- Dashboard cards (area personale) ---------- */
.dash-grid{ display:grid; gap:16px; }
@media (min-width:640px){ .dash-grid{ grid-template-columns: repeat(2,1fr); } }
.dash-card{
  display:flex; align-items:center; gap:16px; padding:22px;
  background:#fff; border:1px solid var(--mv-border); border-radius: var(--mv-radius-m);
  box-shadow: var(--mv-shadow-s);
}
.dash-card__icon{
  width:52px; height:52px; border-radius:14px; flex:none;
  display:flex; align-items:center; justify-content:center; font-size:1.5rem;
  background: var(--mv-primary-soft); color: var(--mv-primary);
}
.dash-card--accent .dash-card__icon{ background: var(--mv-accent-soft); color: var(--mv-accent-dark); }
.dash-card h3{ margin-bottom:2px; font-size:1.05rem; }
.dash-card p{ margin-bottom:0; font-size:.88rem; }
.dash-card__arrow{ margin-left:auto; color:var(--mv-ink-faint); font-size:1.2rem; }
.dash-greeting{ margin-bottom: 26px; }
.dash-greeting__hello{ font-size:.95rem; color:var(--mv-ink-soft); font-weight:600; margin-bottom:2px; }

/* ---------- Wrapper attorno agli shortcode dei plugin ---------- */
.app-shell{ max-width: 720px; margin: 0 auto; }
.app-shell__head{ margin-bottom: 22px; }
.app-shell__head h1{ margin-bottom:6px; }

/* ---------- Footer ---------- */
.site-footer{ background: var(--mv-ink); color: #CFE0DD; padding: 48px 0 28px; }
.site-footer a{ color:#fff; }
.site-footer a:hover{ color: var(--mv-accent-soft); }
.footer-grid{ display:grid; gap:32px; margin-bottom:32px; }
@media (min-width:700px){ .footer-grid{ grid-template-columns: 1.3fr 1fr 1fr; } }
.footer-brand{ font-family: var(--mv-font-display); font-weight:800; font-size:1.2rem; color:#fff; margin-bottom:10px; }
.site-footer h4{ color:#fff; font-size:.82rem; text-transform:uppercase; letter-spacing:.06em; font-family:var(--mv-font-mono); margin-bottom:14px; }
.site-footer ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:9px; font-size:.92rem; }
.footer-bottom{
  border-top: 1px solid rgba(255,255,255,.12); padding-top:20px;
  display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between;
  font-size:.8rem; color:#9BB2AE;
}

/* ---------- Blog / articoli ---------- */
.post-grid{ display:grid; gap:22px; }
@media (min-width:700px){ .post-grid{ grid-template-columns: repeat(2,1fr); } }
.post-card{ background:#fff; border:1px solid var(--mv-border); border-radius: var(--mv-radius-m); overflow:hidden; box-shadow: var(--mv-shadow-s); }
.post-card__thumb{ aspect-ratio: 16/9; background: var(--mv-primary-soft); overflow:hidden; }
.post-card__thumb img{ width:100%; height:100%; object-fit:cover; }
.post-card__body{ padding:18px 20px; }
.post-card time{ font-family: var(--mv-font-mono); font-size:.72rem; color: var(--mv-ink-faint); }
.entry-content{ font-size:1.02rem; }
.entry-content h2{ margin-top:1.3em; }
.entry-content img{ border-radius: var(--mv-radius-m); }

/* ---------- Utility ---------- */
.text-center{ text-align:center; }
.mt-0{ margin-top:0; }
.stack-sm > * + *{ margin-top: 10px; }
.visually-hidden{ position:absolute !important; width:1px;height:1px; overflow:hidden; clip:rect(0,0,0,0); }

/* ========================================================================== 
   1.1 — UI tecnologica, mobile-first e web-app shell
   ========================================================================== */
:root{
  --mv-radius-xl: 30px;
  --mv-glass: rgba(255,255,255,.78);
  --mv-shadow-tech: 0 24px 70px rgba(14,110,107,.18);
}
body{background:
  radial-gradient(circle at 10% 0%, color-mix(in srgb,var(--mv-primary) 10%,transparent), transparent 28rem),
  radial-gradient(circle at 100% 18%, color-mix(in srgb,var(--mv-accent) 8%,transparent), transparent 24rem),
  var(--mv-paper);}
.site-header{height:70px;background:rgba(255,255,255,.78);border-bottom-color:rgba(195,211,207,.65);box-shadow:0 8px 30px rgba(20,42,43,.035)}
.site-header__inner{padding-inline:16px}.menu-toggle{border-radius:14px;box-shadow:var(--mv-shadow-s)}
.btn{border-radius:16px;padding-inline:20px;box-shadow:none}.btn-accent{box-shadow:0 12px 28px color-mix(in srgb,var(--mv-accent) 32%,transparent)}
.btn:hover{transform:translateY(-2px)}
.eyebrow{background:rgba(255,255,255,.75);border:1px solid color-mix(in srgb,var(--mv-primary) 18%,transparent);box-shadow:var(--mv-shadow-s)}
.eyebrow__pulse{width:8px;height:8px;border-radius:50%;background:var(--mv-success);box-shadow:0 0 0 5px color-mix(in srgb,var(--mv-success) 15%,transparent)}
.hero{position:relative;overflow:hidden;padding:34px 0 64px}.hero::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(14,110,107,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(14,110,107,.035) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to bottom,#000,transparent 88%)}
.hero__grid{position:relative}.hero__content{max-width:630px}.hero h1{font-size:clamp(2.35rem,8vw,4.7rem);letter-spacing:-.055em;line-height:1.02}.hero__lead{font-size:clamp(1rem,2.8vw,1.18rem);line-height:1.7}.hero__actions .btn{flex:1 1 210px}
.app-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.app-shortcuts a{display:flex;align-items:center;gap:10px;background:var(--mv-glass);border:1px solid rgba(255,255,255,.9);border-radius:18px;padding:12px;box-shadow:var(--mv-shadow-s);backdrop-filter:blur(12px);color:var(--mv-ink)}.app-shortcuts__icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--mv-primary-soft);color:var(--mv-primary);font-size:1.2rem}.app-shortcuts strong,.app-shortcuts small{display:block}.app-shortcuts strong{font-size:.86rem}.app-shortcuts small{font-size:.7rem;color:var(--mv-ink-faint);margin-top:2px}
.hero-device{position:relative;max-width:380px;margin:0 auto;padding:14px}.hero-device__glow{position:absolute;inset:8% -15%;border-radius:50%;background:linear-gradient(135deg,var(--mv-primary-tint),var(--mv-accent-soft));filter:blur(18px);opacity:.9}.hero-device__shell{position:relative;overflow:hidden;border:8px solid var(--mv-ink);border-radius:38px;background:#fff;box-shadow:var(--mv-shadow-tech);transform:perspective(1100px) rotateY(-2deg)}.hero-device__bar{height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-size:.72rem;font-weight:800}.hero-device__bar>span:first-child{width:8px;height:8px;border-radius:50%;background:var(--mv-success)}.hero-device__media{position:relative;aspect-ratio:4/3;background:linear-gradient(135deg,var(--mv-primary-soft),var(--mv-accent-soft));overflow:hidden}.hero-device__media img{width:100%;height:100%;object-fit:cover}.hero-device__overlay{position:absolute;inset:auto 14px 14px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.83);backdrop-filter:blur(12px);box-shadow:var(--mv-shadow-m)}.hero-device__overlay span,.hero-device__overlay strong{display:block}.hero-device__overlay span{font-size:.68rem;color:var(--mv-ink-faint)}.hero-device__overlay strong{font-size:1rem;margin-top:1px}.hero-device__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px}.hero-device__actions a{display:flex;align-items:center;justify-content:center;gap:7px;padding:12px 8px;border-radius:14px;background:var(--mv-primary-soft);font-weight:800;font-size:.82rem}.hero-device__actions a:first-child{background:var(--mv-primary);color:#fff}.hero-device__status{display:flex;align-items:center;gap:10px;margin:0 14px 14px;padding:12px;border:1px solid var(--mv-border);border-radius:15px}.hero-device__status .status-orb{width:10px;height:10px;border-radius:50%;background:var(--mv-success);box-shadow:0 0 0 5px var(--mv-success-soft)}.hero-device__status small,.hero-device__status strong{display:block}.hero-device__status small{font-size:.65rem;color:var(--mv-ink-faint)}.hero-device__status strong{font-size:.78rem}.hero-device__status>span:last-child{margin-left:auto}.hero-float{position:absolute;z-index:3;display:flex;align-items:center;gap:7px;padding:9px 12px;border-radius:14px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);box-shadow:var(--mv-shadow-m);font-size:.75rem}.hero-float span{display:grid;place-items:center;width:26px;height:26px;border-radius:9px;background:var(--mv-primary-soft);color:var(--mv-primary)}.hero-float--one{left:-2px;top:23%}.hero-float--two{right:-4px;bottom:18%}
.service-card,.card,.dash-card,.post-card{border-color:rgba(220,231,228,.8);border-radius:22px;box-shadow:0 10px 35px rgba(20,42,43,.06)}.service-card{position:relative;overflow:hidden}.service-card::after{content:"";position:absolute;width:90px;height:90px;right:-35px;top:-35px;border-radius:50%;background:var(--mv-primary-soft);opacity:.55}.service-card__icon{border-radius:15px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}
.bottom-nav{left:10px;right:10px;bottom:10px;height:68px;border:1px solid rgba(220,231,228,.9);border-radius:22px;box-shadow:0 14px 45px rgba(20,42,43,.18);overflow:visible}.bottom-nav__fab{border-color:#fff}.bottom-nav__item.is-active::before{top:4px}.location-panel{display:grid;background:#fff;border:1px solid var(--mv-border);border-radius:var(--mv-radius-xl);overflow:hidden;box-shadow:var(--mv-shadow-m)}.location-panel__info{padding:28px}.location-panel__map{min-height:320px}.location-panel__map iframe{display:block;width:100%;height:100%;min-height:320px}
@media (min-width:760px){.location-panel{grid-template-columns:minmax(280px,.7fr) 1.3fr}.location-panel__info{padding:44px}.hero__actions .btn{flex:0 0 auto}}
@media (min-width:900px){.hero{padding:70px 0 90px}.hero__grid{grid-template-columns:1.08fr .92fr}.app-shortcuts{max-width:520px}.site-header__inner{padding-inline:20px}.bottom-nav{display:none}.hero-device__shell{transform:perspective(1100px) rotateY(-5deg) rotateX(1deg)}}
@media (max-width:520px){body{padding-bottom:88px}.container{padding-inline:16px}.hero__grid{gap:26px}.hero__actions{display:grid}.hero__actions .btn{width:100%}.app-shortcuts{gap:8px}.app-shortcuts a{padding:10px 8px}.app-shortcuts__icon{width:34px;height:34px}.hero__trust{margin-top:18px;gap:10px}.hero-device{max-width:335px}.hero-float--one{left:2px}.hero-float--two{right:2px}}

/* Sede singola e dati studio — v1.1.1 */
.sede-single-wrap{max-width:980px;margin:0 auto}
.sede-featured-image{max-width:980px;margin:0 auto 24px;border-radius:var(--mv-radius-xl);overflow:hidden;border:1px solid var(--mv-border);background:#fff}
.sede-featured-image img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover}
.sede-card__title{margin:0 0 12px}
.sede-card__actions{margin-top:18px}
.sede-card__map iframe{min-height:280px}
@media (min-width:760px){
  .sede-single-wrap .sede-card__body{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(360px,1.25fr);align-items:stretch;gap:24px}
  .sede-single-wrap .sede-card__map iframe{height:100%;min-height:390px}
}

/* Bacheca frontend Medico / Paziente */
.dashboard-role{display:inline-flex;padding:6px 12px;border-radius:999px;background:var(--mv-primary-soft);color:var(--mv-primary-dark);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.dashboard-notice{margin:18px 0;padding:14px 16px;border-radius:16px;background:#e8f8ef;color:#17683a;font-weight:700}
.dashboard-panel{margin-top:32px;padding:22px;border:1px solid rgba(13,35,48,.1);border-radius:24px;background:#fff}
.dashboard-panel h2{margin-top:0}
.dashboard-form{display:grid;gap:16px}
.dashboard-form label{display:grid;gap:7px;font-weight:700;color:var(--mv-ink,#16252d)}
.dashboard-form input[type="text"],.dashboard-form input[type="email"],.dashboard-form textarea{width:100%;box-sizing:border-box;border:1px solid rgba(13,35,48,.16);border-radius:14px;background:#fff;padding:13px 14px;font:inherit;color:inherit}
.dashboard-form input:focus,.dashboard-form textarea:focus{outline:3px solid var(--mv-primary-soft);border-color:var(--mv-primary)}
.dashboard-form__grid{display:grid;gap:16px}
.dashboard-colors{grid-template-columns:repeat(3,minmax(0,1fr))}
.dashboard-colors input[type="color"]{width:100%;height:48px;padding:4px;border:1px solid rgba(13,35,48,.16);border-radius:12px;background:#fff}
.dashboard-logout{margin-top:28px}
@media(min-width:720px){.dashboard-form__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid--medico{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-panel{padding:30px}}
@media(max-width:560px){.dashboard-colors{grid-template-columns:1fr}.dashboard-panel{padding:18px;border-radius:20px}}

/* Accesso, area personale e logout — v1.2.1 */
.footer-account-links{margin-top:18px!important;padding-top:16px!important;border-top:1px solid rgba(255,255,255,.12)}
.footer-account-links a{display:inline-flex;align-items:center;gap:7px;font-weight:700}
.account-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:28px}
.account-page-head h1{margin:12px 0 0}
.account-login-card{max-width:440px;margin:0 auto}
.account-plugin-dashboard{min-width:0}
.mobile-logout-link{display:block;text-align:center;margin-top:14px;padding:10px;color:var(--mv-ink-faint);font-weight:700}
.mobile-logout-link:hover{color:var(--mv-accent)}
@media(max-width:560px){.account-page-head{align-items:center}.account-page-head h1{font-size:1.8rem}.account-logout{padding:10px 14px}}


/* ========================================================================== 
   MEDICO VELOCE 1.3 — REFINEMENT MOBILE APP
   ========================================================================== */
@media (max-width: 899px){
  body{ padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
  .container{ padding-left:16px; padding-right:16px; }
  .section{ padding:38px 0; }
  .site-header{ height:74px; background:rgba(255,255,255,.86); box-shadow:0 1px 0 rgba(20,42,43,.06); }
  .site-header__inner{ padding:0 16px; }
  .site-branding img{ max-height:46px; max-width:190px; object-fit:contain; }
  .status-pill{ padding:7px 11px; font-size:.68rem; }
  .menu-toggle{ width:44px; height:44px; border-radius:16px; box-shadow:0 5px 18px rgba(20,42,43,.08); }

  .bottom-nav{
    left:12px; right:12px; bottom:10px;
    height:72px;
    border:1px solid rgba(195,211,207,.86);
    border-radius:24px;
    background:rgba(255,255,255,.91);
    box-shadow:0 14px 36px rgba(20,42,43,.17);
    overflow:visible;
    padding:5px 6px calc(5px + env(safe-area-inset-bottom, 0px));
  }
  .bottom-nav__item{ min-width:0; gap:2px; border-radius:18px; font-size:.68rem; transition:background .18s ease,color .18s ease,transform .18s ease; }
  .bottom-nav__icon{ font-size:1.18rem; }
  .bottom-nav__item.is-active{ color:var(--mv-primary); background:var(--mv-primary-soft); }
  .bottom-nav__item.is-active::before{ display:none; }
  .bottom-nav__item--fab{ color:var(--mv-ink-faint); }
  .bottom-nav__fab{
    width:42px; height:42px; margin:0;
    border:0; border-radius:15px;
    background:var(--mv-accent); font-size:1.18rem;
    box-shadow:0 7px 18px rgba(255,106,70,.28);
  }
  .bottom-nav__item--fab.is-active{ background:var(--mv-accent-soft); color:var(--mv-accent-dark); }
  .bottom-nav__item--fab.is-active .bottom-nav__fab{ transform:translateY(-1px); }
  .bottom-nav__badge{ top:3px; right:calc(50% - 20px); }

  .card,.service-card,.dash-card,.post-card,.app-shell{ border-radius:22px; }
  .app-shell{ max-width:none; }
}

.mv-default-logo{ display:flex; align-items:center; }
.mv-default-logo img{ width:auto; height:48px; object-fit:contain; }

.card,.service-card,.dash-card,.post-card{
  border-color:rgba(195,211,207,.78);
  box-shadow:var(--mv-shadow-s);
}

.footer-bottom a{ color:#fff; font-weight:700; }
