/* Conforto & Cuidado — color tokens
   Base palette (raw) + semantic aliases for light (default) and dark themes.
   Theme scope: [data-theme="dark"] on <html> or any wrapper. */
:root{
  /* Brand base — from the logo */
  --cc-nevoa-100:#F7F7F5;   /* raised surface, never pure white */
  --cc-nevoa-200:#F1F2F0;   /* Superfície clara (brand) */
  --cc-nevoa-300:#E3E4E2;   /* Cinza claro quente (brand) — page canvas */
  --cc-nevoa-400:#D3D4D1;
  --cc-nevoa-500:#B9BAB6;
  --cc-linho-200:#E9E4DC;   /* linen / oat — editorial tint */
  --cc-linho-300:#D9D3C9;
  --cc-argila-100:#F1E4DF;  /* terracotta tint */
  --cc-argila-200:#E8D6CF;
  --cc-terracota-300:#D9917F; /* terracotta for dark theme */
  --cc-terracota-400:#C97B68;
  --cc-terracota-500:#A9503F;
  --cc-terracota-600:#8D4137; /* Terracota (brand) */
  --cc-terracota-700:#743228;
  --cc-terracota-800:#5E281F;
  --cc-vinho-300:#A39598;
  --cc-vinho-400:#6E5F63;
  --cc-vinho-500:#5C4C50;
  --cc-vinho-600:#4A3B3F;
  --cc-vinho-700:#34262A;   /* Vinho profundo (brand) */
  --cc-vinho-800:#271E21;
  --cc-carvao-900:#1C1517;  /* charcoal-wine, dark canvas */
  --cc-carvao-950:#140F11;
  --cc-salvia-500:#4E6648;  --cc-salvia-300:#8FB088;
  --cc-mel-500:#8A5A12;     --cc-mel-300:#D9A85A;
  --cc-rubi-500:#9C2F2A;    --cc-rubi-300:#E58C80;
  --cc-ardosia-500:#3F566E; --cc-ardosia-300:#93AFC9;
}

/* ---------- Light (default) ---------- */
:root,[data-theme="light"]{
  color-scheme:light;
  --bg-canvas:var(--cc-nevoa-300);
  --bg-subtle:#DBDCD9;
  --bg-inverse:var(--cc-vinho-700);
  --surface-1:var(--cc-nevoa-200);
  --surface-2:var(--cc-nevoa-100);
  --surface-tint:var(--cc-linho-200);
  --surface-accent:var(--cc-argila-100);
  --surface-overlay:rgba(28,21,23,.48);
  --text-strong:var(--cc-vinho-700);
  --text-body:#3D2F33;
  --text-muted:var(--cc-vinho-500);
  --text-subtle:var(--cc-vinho-400);
  --text-on-accent:#F7F4F1;
  --text-on-inverse:var(--cc-nevoa-200);
  --text-accent:var(--cc-terracota-600);
  --border-subtle:rgba(52,38,42,.10);
  --border-default:rgba(52,38,42,.18);
  --border-strong:rgba(52,38,42,.42);
  --border-ink:var(--cc-vinho-700);
  --action-primary:var(--cc-terracota-600);
  --action-primary-hover:var(--cc-terracota-700);
  --action-primary-press:var(--cc-terracota-800);
  --action-secondary:var(--cc-vinho-700);
  --action-secondary-hover:var(--cc-vinho-600);
  --action-ghost-hover:rgba(52,38,42,.06);
  --action-ghost-press:rgba(52,38,42,.11);
  --action-selected:var(--cc-vinho-700);
  --action-selected-text:var(--cc-nevoa-200);
  --action-disabled-bg:#D6D6D3;
  --action-disabled-text:#8F8689;
  --focus-ring:var(--cc-terracota-600);
  --focus-ring-offset:var(--cc-nevoa-200);
  --link:var(--cc-terracota-600);
  --link-hover:var(--cc-terracota-800);
  --status-success:var(--cc-salvia-500);
  --status-warning:var(--cc-mel-500);
  --status-error:var(--cc-rubi-500);
  --status-info:var(--cc-ardosia-500);
  --commerce-disclosure-bg:var(--cc-linho-200);
  --commerce-store-bg:var(--cc-nevoa-100);
  --ad-bg:#DADBD8;
  --ad-label:var(--cc-vinho-400);
  --img-scrim:linear-gradient(180deg,rgba(28,21,23,0) 40%,rgba(28,21,23,.62) 100%);/* @kind color */
  --shadow-tint:52,38,42;/* @kind other */
}

/* ---------- Dark ---------- */
[data-theme="dark"]{
  color-scheme:dark;
  --bg-canvas:var(--cc-carvao-900);
  --bg-subtle:var(--cc-carvao-950);
  --bg-inverse:var(--cc-nevoa-200);
  --surface-1:var(--cc-vinho-800);
  --surface-2:#30252A;
  --surface-tint:#2E2427;
  --surface-accent:#3A2622;
  --surface-overlay:rgba(10,7,8,.66);
  --text-strong:var(--cc-nevoa-200);
  --text-body:#E2DCDD;
  --text-muted:#C4B9BB;
  --text-subtle:var(--cc-vinho-300);
  --text-on-accent:var(--cc-carvao-900);
  --text-on-inverse:var(--cc-vinho-700);
  --text-accent:var(--cc-terracota-300);
  --border-subtle:rgba(241,242,240,.08);
  --border-default:rgba(241,242,240,.15);
  --border-strong:rgba(241,242,240,.36);
  --border-ink:var(--cc-nevoa-200);
  --action-primary:var(--cc-terracota-300);
  --action-primary-hover:#E3A291;
  --action-primary-press:var(--cc-terracota-400);
  --action-secondary:var(--cc-nevoa-200);
  --action-secondary-hover:#FFFFFF;
  --action-ghost-hover:rgba(241,242,240,.07);
  --action-ghost-press:rgba(241,242,240,.12);
  --action-selected:var(--cc-nevoa-200);
  --action-selected-text:var(--cc-vinho-700);
  --action-disabled-bg:#33292C;
  --action-disabled-text:#7D7073;
  --focus-ring:var(--cc-terracota-300);
  --focus-ring-offset:var(--cc-carvao-900);
  --link:var(--cc-terracota-300);
  --link-hover:#EDB5A7;
  --status-success:var(--cc-salvia-300);
  --status-warning:var(--cc-mel-300);
  --status-error:var(--cc-rubi-300);
  --status-info:var(--cc-ardosia-300);
  --commerce-disclosure-bg:#2E2427;
  --commerce-store-bg:#30252A;
  --ad-bg:#221A1D;
  --ad-label:var(--cc-vinho-300);
  --img-scrim:linear-gradient(180deg,rgba(10,7,8,0) 35%,rgba(10,7,8,.72) 100%);/* @kind color */
  --shadow-tint:0,0,0;/* @kind other */
}

/* Typography — DM Serif Display (títulos) + Hanken Grotesk (texto e interface). Both SIL OFL, latin-ext (pt-BR). */
:root{
  --font-display:'DM Serif Display','Iowan Old Style','Georgia',serif;
  --font-sans:'Hanken Grotesk','Helvetica Neue',Arial,sans-serif;
  --font-body:var(--font-sans);

  --weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;

  /* Display — fluid 390px → 1440px */
  --size-display-xl:clamp(3.25rem,1.9rem + 5.6vw,7rem);/* @kind other */     /* 52 → 112 */
  --size-display-l:clamp(2.75rem,1.8rem + 3.9vw,5.25rem);/* @kind other */   /* 44 → 84 */
  --size-h1:clamp(2.25rem,1.6rem + 2.7vw,4rem);/* @kind other */             /* 36 → 64 */
  --size-h2:clamp(1.875rem,1.45rem + 1.75vw,3rem);/* @kind other */          /* 30 → 48 */
  --size-h3:clamp(1.5rem,1.3rem + .85vw,2.125rem);/* @kind other */          /* 24 → 34 */
  --size-h4:clamp(1.25rem,1.15rem + .4vw,1.5rem);/* @kind other */           /* 20 → 24 */
  /* Text */
  --size-lead:clamp(1.1875rem,1.1rem + .4vw,1.4375rem);/* @kind other */     /* 19 → 23 */
  --size-body-article:clamp(1.0625rem,1.03rem + .15vw,1.1875rem);/* @kind other */ /* 17 → 19 */
  --size-body:1rem;/* @kind other */          /* 16 */
  --size-small:.875rem;/* @kind other */      /* 14 */
  --size-caption:.8125rem;/* @kind other */   /* 13 */
  --size-overline:.75rem;/* @kind other */    /* 12 */

  --leading-display:.98;--leading-heading:1.08;--leading-snug:1.3;--leading-body:1.55;--leading-article:1.72;
  --tracking-display:-.015em;--tracking-heading:-.01em;--tracking-body:0;--tracking-overline:.14em;--tracking-button:.02em;
  --measure-article:68ch;/* @kind spacing */--measure-lead:56ch;/* @kind spacing */
}

/* Spacing, grid, radii, sizing */
:root{
  --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:112px;--space-13:144px;
  /* Section rhythm (vertical gaps between editorial modules) */
  --section-gap:clamp(64px,5vw + 40px,144px);/* @kind spacing */
  --module-gap:clamp(32px,2.5vw + 20px,64px);/* @kind spacing */

  /* Grid — 12 col desktop, 8 tablet, 4 mobile */
  --grid-max:1360px;
  --grid-gutter:clamp(16px,1.6vw,28px);/* @kind spacing */
  --grid-margin:clamp(20px,4vw,64px);/* @kind spacing */
  --grid-cols:12;/* @kind other */
  --reading-max:720px;

  /* Radii — used with intent */
  --radius-xs:4px;    /* tags, inline badges */
  --radius-sm:8px;    /* inputs, small cards */
  --radius-md:14px;   /* product cards, menus */
  --radius-lg:22px;   /* editorial images, panels */
  --radius-xl:36px;   /* hero frames */
  --radius-embrace:0 0 0 160px; /* "Abraço" — one sweeping corner, echoes the C curve (apply to one corner only) */
  --radius-arch:999px 999px var(--radius-lg) var(--radius-lg); /* arched portrait crop */
  --radius-pill:999px; /* only buttons + chips */
  --radius-round:50%;

  /* Sizing */
  --hit-min:44px;
  --control-sm:36px;--control-md:44px;--control-lg:52px;
  --header-h:72px;--header-h-mobile:60px;
  --border-hair:1px;--border-thick:1.5px;
}

/* Elevation, relief and motion */
:root{
  --shadow-0:none;
  --shadow-1:0 1px 2px rgba(var(--shadow-tint),.08),0 1px 1px rgba(var(--shadow-tint),.04);
  --shadow-2:0 10px 28px -14px rgba(var(--shadow-tint),.28),0 2px 6px -2px rgba(var(--shadow-tint),.08);
  --shadow-3:0 28px 64px -24px rgba(var(--shadow-tint),.38),0 6px 16px -8px rgba(var(--shadow-tint),.14);
  /* Button relief — light from above, discreet */
  --relief-raised:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(0,0,0,.14),0 1px 2px rgba(var(--shadow-tint),.18),0 4px 10px -6px rgba(var(--shadow-tint),.40);
  --relief-raised-hover:inset 0 1px 0 rgba(255,255,255,.26),inset 0 -1px 0 rgba(0,0,0,.14),0 2px 4px rgba(var(--shadow-tint),.16),0 10px 18px -10px rgba(var(--shadow-tint),.48);
  --relief-pressed:inset 0 2px 4px rgba(0,0,0,.22),inset 0 0 0 1px rgba(0,0,0,.06);/* @kind shadow */
  --relief-soft:inset 0 1px 0 rgba(255,255,255,.55),0 1px 2px rgba(var(--shadow-tint),.10);
  --glass-bg:color-mix(in oklab,var(--surface-1) 78%,transparent);
  --glass-blur:saturate(1.2) blur(14px);/* @kind other */

  --ease-out:cubic-bezier(.22,.61,.36,1);/* @kind other */
  --ease-in-out:cubic-bezier(.65,0,.35,1);/* @kind other */
  --ease-emphasis:cubic-bezier(.16,1,.3,1);/* @kind other */
  --dur-instant:90ms;/* @kind other */--dur-fast:160ms;/* @kind other */--dur-base:240ms;/* @kind other */--dur-slow:420ms;/* @kind other */--dur-reveal:720ms;/* @kind other */--dur-ambient:1200ms;/* @kind other */
  --lift-hover:-2px;/* @kind other */
  --press-scale:.98;/* @kind other */
}
@media (prefers-reduced-motion:reduce){
  :root{--dur-fast:1ms;/* @kind other */--dur-base:1ms;/* @kind other */--dur-slow:1ms;/* @kind other */--dur-reveal:1ms;/* @kind other */--dur-ambient:1ms;/* @kind other */--lift-hover:0px;/* @kind other */--press-scale:1;/* @kind other */}
}

@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){
  color-scheme:dark;
  --bg-canvas:var(--cc-carvao-900);
  --bg-subtle:var(--cc-carvao-950);
  --bg-inverse:var(--cc-nevoa-200);
  --surface-1:var(--cc-vinho-800);
  --surface-2:#30252A;
  --surface-tint:#2E2427;
  --surface-accent:#3A2622;
  --surface-overlay:rgba(10,7,8,.66);
  --text-strong:var(--cc-nevoa-200);
  --text-body:#E2DCDD;
  --text-muted:#C4B9BB;
  --text-subtle:var(--cc-vinho-300);
  --text-on-accent:var(--cc-carvao-900);
  --text-on-inverse:var(--cc-vinho-700);
  --text-accent:var(--cc-terracota-300);
  --border-subtle:rgba(241,242,240,.08);
  --border-default:rgba(241,242,240,.15);
  --border-strong:rgba(241,242,240,.36);
  --border-ink:var(--cc-nevoa-200);
  --action-primary:var(--cc-terracota-300);
  --action-primary-hover:#E3A291;
  --action-primary-press:var(--cc-terracota-400);
  --action-secondary:var(--cc-nevoa-200);
  --action-secondary-hover:#FFFFFF;
  --action-ghost-hover:rgba(241,242,240,.07);
  --action-ghost-press:rgba(241,242,240,.12);
  --action-selected:var(--cc-nevoa-200);
  --action-selected-text:var(--cc-vinho-700);
  --action-disabled-bg:#33292C;
  --action-disabled-text:#7D7073;
  --focus-ring:var(--cc-terracota-300);
  --focus-ring-offset:var(--cc-carvao-900);
  --link:var(--cc-terracota-300);
  --link-hover:#EDB5A7;
  --status-success:var(--cc-salvia-300);
  --status-warning:var(--cc-mel-300);
  --status-error:var(--cc-rubi-300);
  --status-info:var(--cc-ardosia-300);
  --commerce-disclosure-bg:#2E2427;
  --commerce-store-bg:#30252A;
  --ad-bg:#221A1D;
  --ad-label:var(--cc-vinho-300);
  --img-scrim:linear-gradient(180deg,rgba(10,7,8,0) 35%,rgba(10,7,8,.72) 100%);/* @kind color */
  --shadow-tint:0,0,0;/* @kind other */
}

}

/* Compatibility aliases for existing static renderers and internal specimens. */
:root{--color-paper:#E3E4E2;--color-surface:#F1F2F0;--color-ink:#34262A;--color-muted:#5C4C50;--color-sage:#D8DCD9;--color-terracotta:#8D4137;--color-border:#B9BAB6;--color-control-border:#6E5F63;--color-error:#9C2F2A;--color-success:#4E6648;--color-hover:#743228;--color-disabled-bg:#D6D6D3;--color-disabled-text:#5C4C50;--paper:var(--bg-canvas);--white:var(--surface-1);--ink:var(--text-strong);--muted:var(--text-muted);--sage:var(--bg-subtle);--orange:var(--text-accent);--line:var(--border-default);--serif:var(--font-display);--sans:var(--font-body);--color-terracotta:var(--text-accent);--page-max:1360px;--page-gutter:var(--grid-margin)}
