/* ==========================================================================
   Design tokens — Clínica Odontológica Dra. Flavia Pousa
   Paleta "Clássica refinada": rosa #F8DDE1 · vinho #6E1423 · dourado #C9A24B
   ========================================================================== */

@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600&family=Poppins:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&display=swap");

:root{
  /* Cor — rosa */
  --blush-50:#FEF8F9; --blush-100:#FDEEF1; --blush-200:#F8DDE1; --blush-300:#F0C6CD; --blush-400:#E3A6B1;

  /* Cor — vinho */
  --wine-900:#3D0A13; --wine-800:#56101B; --wine-700:#6E1423; --wine-600:#8A2333; --wine-500:#A63C4B; --wine-300:#C9808B; --wine-100:#EDD3D7;

  /* Cor — dourado */
  --gold-700:#8E6B2B; --gold-600:#B08A3C; --gold-500:#C9A24B; --gold-400:#D8B96F; --gold-300:#E3C77E; --gold-100:#F3E6C8;

  /* Cor — neutros quentes */
  --ivory:#FDFBFA;
  --sand-50:#FAF6F4; --sand-100:#F3ECE8; --sand-200:#E7DDD8; --sand-300:#D3C6BF;
  --stone-400:#B4A7A2; --stone-500:#9A8C87; --stone-600:#7A6C68; --stone-700:#574B48;
  --ink:#2E2422;
  --sage-500:#7C8B6C; --sage-100:#E7EADF;
  --white:#FFFFFF;

  /* Gradientes */
  --gradient-gold:linear-gradient(135deg,#E3C77E 0%,#C9A24B 45%,#8E6B2B 100%);
  --gradient-gold-soft:linear-gradient(135deg,#F3E6C8 0%,#D8B96F 100%);
  --gradient-wine:linear-gradient(140deg,#8A2333 0%,#6E1423 55%,#3D0A13 100%);
  --gradient-blush:linear-gradient(180deg,#FEF8F9 0%,#F8DDE1 100%);
  --gradient-veil:linear-gradient(180deg,rgba(253,251,250,0) 0%,rgba(253,251,250,.92) 70%,#FDFBFA 100%);

  /* Texto */
  --text-strong:var(--ink);
  --text-body:var(--stone-700);
  --text-muted:var(--stone-500);
  --text-faint:var(--stone-400);
  --text-accent:var(--wine-700);
  --text-gold:var(--gold-700);
  --text-on-wine:var(--blush-100);
  --text-on-wine-muted:rgba(253,238,241,.72);
  --text-on-blush:var(--wine-700);

  /* Superfícies */
  --surface-page:var(--ivory);
  --surface-card:var(--white);
  --surface-soft:var(--blush-50);
  --surface-blush:var(--blush-200);
  --surface-sand:var(--sand-50);
  --surface-wine:var(--wine-700);
  --surface-wine-deep:var(--wine-900);
  --surface-overlay:rgba(46,36,34,.42);

  /* Bordas */
  --border-hairline:var(--sand-100);
  --border-subtle:var(--sand-200);
  --border-strong:var(--sand-300);
  --border-gold:var(--gold-300);
  --border-wine:var(--wine-700);
  --border-blush:var(--blush-300);

  /* Ações e estado */
  --action-primary:var(--wine-700);
  --action-primary-hover:var(--wine-600);
  --action-primary-active:var(--wine-800);
  --action-gold:var(--gold-500);
  --action-gold-hover:var(--gold-600);
  --focus-ring:var(--gold-500);
  --focus-ring-halo:rgba(201,162,75,.30);
  --status-success:var(--sage-500); --status-success-bg:var(--sage-100);
  --status-warning:var(--gold-600); --status-warning-bg:var(--gold-100);
  --status-danger:var(--wine-500); --status-danger-bg:var(--wine-100);
  --status-info:var(--wine-600); --status-info-bg:var(--blush-100);

  /* Tipografia */
  --font-display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --font-signature:"Cormorant Garamond",Georgia,serif;
  --font-sans:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-body:var(--font-sans);

  --text-2xs:11px; --text-xs:12px; --text-sm:14px; --text-base:16px; --text-lg:18px;
  --text-xl:20px; --text-2xl:24px; --text-3xl:30px; --text-4xl:38px; --text-5xl:48px;
  --text-6xl:64px; --text-7xl:82px;

  --weight-light:300; --weight-regular:400; --weight-medium:500; --weight-semibold:600; --weight-bold:700;
  --leading-tight:1.08; --leading-snug:1.24; --leading-normal:1.5; --leading-relaxed:1.72;
  --tracking-eyebrow:.20em; --tracking-caps:.12em; --tracking-wide:.04em; --tracking-normal:0; --tracking-tight:-.012em;

  --type-display:var(--weight-light) var(--text-6xl)/var(--leading-tight) var(--font-display);
  --type-h1:var(--weight-light) var(--text-5xl)/var(--leading-tight) var(--font-display);
  --type-h2:var(--weight-regular) var(--text-4xl)/var(--leading-snug) var(--font-display);
  --type-h3:var(--weight-medium) var(--text-2xl)/var(--leading-snug) var(--font-display);
  --type-signature:italic var(--weight-regular) var(--text-4xl)/1.1 var(--font-signature);
  --type-eyebrow:var(--weight-medium) var(--text-xs)/1.4 var(--font-sans);
  --type-body:var(--weight-light) var(--text-base)/var(--leading-relaxed) var(--font-sans);
  --type-body-sm:var(--weight-light) var(--text-sm)/var(--leading-relaxed) var(--font-sans);
  --type-label:var(--weight-medium) var(--text-sm)/1.4 var(--font-sans);
  --type-caption:var(--weight-light) var(--text-xs)/1.5 var(--font-sans);

  /* Espaço — base 4px */
  --space-0:0; --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:20px;
  --space-6:24px; --space-7:32px; --space-8:40px; --space-9:48px; --space-10:64px;
  --space-11:80px; --space-12:104px; --space-13:136px;
  --container-max:1200px; --container-narrow:720px; --gutter:24px; --gutter-lg:48px;
  --section-y:var(--space-12); --section-y-sm:var(--space-10);

  /* Raios */
  --radius-xs:6px; --radius-sm:10px; --radius-md:14px; --radius-lg:20px; --radius-xl:28px; --radius-2xl:36px; --radius-pill:999px;
  --radius-card:var(--radius-lg); --radius-control:var(--radius-pill); --radius-field:var(--radius-md); --radius-image:var(--radius-xl);
  --border-width:1px; --border-width-thick:1.5px;

  /* Sombras */
  --shadow-xs:0 1px 2px rgba(110,20,35,.05);
  --shadow-sm:0 2px 8px rgba(110,20,35,.06);
  --shadow-md:0 8px 24px rgba(110,20,35,.07);
  --shadow-lg:0 18px 48px rgba(110,20,35,.09);
  --shadow-xl:0 32px 80px rgba(110,20,35,.12);
  --shadow-gold:0 8px 24px rgba(201,162,75,.22);
  --shadow-inset-hairline:inset 0 0 0 1px var(--sand-100);
  --blur-veil:blur(14px); --blur-scrim:blur(3px);

  /* Movimento */
  --dur-instant:100ms; --dur-fast:160ms; --dur-base:260ms; --dur-slow:420ms; --dur-veil:700ms;
  --ease-soft:cubic-bezier(.22,.61,.36,1); --ease-out:cubic-bezier(.16,1,.3,1); --ease-in-out:cubic-bezier(.65,0,.35,1);
  --transition-control:color var(--dur-fast) var(--ease-soft),background-color var(--dur-fast) var(--ease-soft),border-color var(--dur-fast) var(--ease-soft),box-shadow var(--dur-fast) var(--ease-soft),transform var(--dur-fast) var(--ease-soft);
}

/* Reset + elementos base */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0}
body{background:var(--surface-page);color:var(--text-body);font:var(--type-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{margin:0;color:var(--text-strong);font-family:var(--font-display);font-weight:var(--weight-light);letter-spacing:var(--tracking-tight);text-wrap:balance}
p{margin:0;text-wrap:pretty}
a{color:var(--text-accent);text-decoration:none;border-bottom:1px solid var(--border-blush);transition:var(--transition-control)}
a:hover{color:var(--wine-600);border-bottom-color:var(--gold-500)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-xs)}
::selection{background:var(--blush-200);color:var(--wine-700)}
