/*
Theme Name: Medico Veloce
Theme URI: https://medicoveloce.it
Author: Brick Business
Description: Interfaccia mobile-first per MedicoVeloce, gestionale sanitario per medici, studi associati e poliambulatori. Prenotazioni, richieste e area personale in una web app moderna e accessibile.
Version: 1.3.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: medico-veloce
Tags: healthcare, mobile-first, custom-colors, custom-menu, translation-ready
*/

/* ==========================================================================
   0. DESIGN TOKENS
   Palette: primario petrolio (fiducia/clinico), accento corallo (energia,
   "veloce"), carta verde-grigio freddo (non il classico crema AI).
   ========================================================================== */
:root{
  /* colore */
  --mv-ink:            #142A2B;
  --mv-ink-soft:        #4C6360;
  --mv-ink-faint:       #7C8F8C;
  --mv-paper:           #F3F7F6;
  --mv-surface:         #FFFFFF;
  --mv-border:          #DCE7E4;
  --mv-border-strong:   #C3D3CF;

  --mv-primary:         #0E6E6B;
  --mv-primary-dark:    #0A4F4D;
  --mv-primary-soft:    #E1F1EF;
  --mv-primary-tint:    #CDE9E6;

  --mv-accent:          #FF6A46;
  --mv-accent-dark:     #E24F29;
  --mv-accent-soft:     #FFE7DE;

  --mv-success:         #2E9F72;
  --mv-success-soft:    #E1F5EC;
  --mv-warning:         #C98A2E;
  --mv-warning-soft:    #FBEEDB;
  --mv-danger:          #D6503F;

  /* tipografia */
  --mv-font-display: 'Manrope', 'Segoe UI', system-ui, sans-serif;
  --mv-font-body:    'Inter', 'Segoe UI', system-ui, sans-serif;
  --mv-font-mono:    'IBM Plex Mono', ui-monospace, monospace;

  /* misure */
  --mv-radius-s:  8px;
  --mv-radius-m:  18px;
  --mv-radius-l:  26px;
  --mv-radius-pill: 999px;
  --mv-shadow-s: 0 4px 16px rgba(20,42,43,.055);
  --mv-shadow-m: 0 14px 34px rgba(20,42,43,.105);
  --mv-shadow-l: 0 16px 40px rgba(20,42,43,.16);
  --mv-header-h: 74px;
  --mv-bottomnav-h: 82px;
  --mv-container: 1120px;
}

/* ==========================================================================
   1. RESET
   ========================================================================== */
*, *::before, *::after{ box-sizing: border-box; }
html{ -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body{
  margin: 0;
  background: var(--mv-paper);
  color: var(--mv-ink);
  font-family: var(--mv-font-body);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  /* spazio per la bottom tab bar mobile, evita che il contenuto ci finisca sotto */
  padding-bottom: var(--mv-bottomnav-h);
}
@media (min-width: 900px){
  body{ padding-bottom: 0; }
}
img{ max-width:100%; height:auto; display:block; }
a{ color: var(--mv-primary); text-decoration:none; }
a:hover{ color: var(--mv-primary-dark); }
ul,ol{ padding-left: 1.2em; }
h1,h2,h3,h4,h5{
  font-family: var(--mv-font-display);
  color: var(--mv-ink);
  line-height: 1.15;
  margin: 0 0 .5em;
  font-weight: 800;
  letter-spacing: -.01em;
}
h1{ font-size: clamp(2rem, 5vw, 3rem); }
h2{ font-size: clamp(1.5rem, 3.4vw, 2.1rem); }
h3{ font-size: 1.25rem; }
p{ margin: 0 0 1em; color: var(--mv-ink-soft); }
button{ font-family: inherit; }

/* focus visibile ovunque: pazienti anziani, accessibilità prima di tutto */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
  outline: 3px solid var(--mv-accent);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ animation-duration: .001ms !important; transition-duration: .001ms !important; }
}

.screen-reader-text{
  position:absolute !important; width:1px;height:1px;overflow:hidden;
  clip:rect(1px,1px,1px,1px); white-space:nowrap;
}
.skip-link{
  position:absolute; left:8px; top:-60px; background:var(--mv-ink); color:#fff;
  padding:10px 16px; border-radius: var(--mv-radius-s); z-index:1000; transition: top .15s;
}
.skip-link:focus{ top:8px; color:#fff; }
