/* RUMA · v3 Descanso Nocturno · brand tokens.
   Every brand value of the candlelit concept lives HERE (scoped to body.theme-v3), so the real
   RUMA branding can be swapped in one file. site.css only reads var(--…).
   Palette = the RUMA Brand Style Guide (p.12), leaning darker for this site (client brief 38–64):
   Ink #191512 · Umber #4E3B30 · Cream #F1EBE0 · Sand #DFD3C2 · Forest #2A5240 · Sage #A38E76,
   plus the candle gold sampled from the gold submark (ruma-submark-gold.png → #C0966B).
   Contrast ratios (WCAG 2.x) are measured against --night unless noted. */

/* Display face: TeX Gyre Bonum, the GUST-licensed Bookman Old Style clone the brand guide names
   for the wordmark and hero moments (self-hosted, latin subset, see fonts/GUST-FONT-LICENSE.txt). */
@font-face {
  font-family: "TeX Gyre Bonum";
  src: url(/media/ruma/brand/fonts/texgyrebonum-regular-latin.woff2) format("woff2");
  font-weight: 300 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "TeX Gyre Bonum";
  src: url(/media/ruma/brand/fonts/texgyrebonum-italic-latin.woff2) format("woff2");
  font-weight: 300 500; font-style: italic; font-display: swap;
}
/* Body face: Carlito (metric clone of Calibri, brand guide body), self-hosted latin subset
   (SIL OFL 1.1, see fonts/CARLITO-OFL.txt) instead of the render-blocking Google Fonts CSS. */
@font-face {
  font-family: "Carlito";
  src: url(/media/ruma/brand/fonts/carlito-regular-latin.woff2) format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Carlito";
  src: url(/media/ruma/brand/fonts/carlito-bold-latin.woff2) format("woff2");
  font-weight: 700; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Carlito";
  src: url(/media/ruma/brand/fonts/carlito-italic-latin.woff2) format("woff2");
  font-weight: 400; font-style: italic; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.theme-v3 {
  --ctl-h: 44px;             /* one height for every inline control: chips, selects, inputs and buttons that share a row */

  /* brand palette (raw, for the rare place that needs the named colour) */
  --ink: #191512;
  --umber: #4E3B30;
  --cream: #F1EBE0;
  --sand: #DFD3C2;
  --forest: #2A5240;         /* accent only: fills, rules, small marks. Never text on night (2.2:1) */
  --forest-soft: #9FC0AA;    /* forest lifted for text/marks on dark (9.2:1) */
  --sage: #A38E76;           /* quiet accent text (5.8:1 on night, 5.3:1 on ember); never on umber */
  --gold: #C0966B;           /* the submark gold */

  /* rgb triplets for washes and gradients: rgb(var(--x-rgb) / .5) */
  --night-rgb: 25 21 18;     /* = --night (Ink) */
  --deep-rgb: 18 15 13;      /* = --night-deep */
  --ember-rgb: 36 29 24;     /* = --ember */
  --dusk-rgb: 78 59 48;      /* Umber: the warm dusk that replaced the concept's plum */
  --text-rgb: 241 235 224;   /* Cream */
  --forest-rgb: 42 82 64;
  --flame-rgb: 255 214 166;  /* the light of a flame (glows, the candle cursor) */

  /* palette: warm night, never black or navy */
  --night: #191512;          /* page (Ink) */
  --night-deep: #120F0D;     /* deepest wells, footer, menu */
  --ember: #241D18;          /* raised surfaces (Ink → Umber 20%) */
  --ember-2: #2C231D;        /* inner cores, hover (Ink → Umber 32%) */
  --plum: #4E3B30;           /* dusk accent surfaces = Umber (kept name). Cream 8.9:1, candle-soft 6.3:1;
                                plain --candle text is NOT allowed on it (3.9:1) */
  --plum-deep: #33271F;      /* deep dusk (ribbon, quiet panels): text 11.0:1, candle 5.4:1 */
  --candle: #C0966B;         /* the one accent = submark gold (6.8:1, 6.2:1 on ember, 5.7:1 on ember-2) */
  --candle-hover: #CCA67E;
  --candle-soft: #E2C49C;    /* accent text on dark (10.9:1, 10.0:1 on ember) */
  --candle-glow: 192 150 107;/* rgb triplet for glows (= --candle) */
  --on-candle: #191512;      /* text on candle fills: Ink (6.8:1) */
  --text: #E8DFD1;           /* body copy, Cream → Sand (13.7:1, 12.6:1 on ember) */
  --text-strong: #F1EBE0;    /* headlines, Cream (15.3:1) */
  --muted: #D2C5B2;          /* meta, captions (10.7:1, 9.1:1 on ember-2, 6.2:1 on umber) */
  --line: rgba(241, 235, 224, .14);
  --line-strong: rgba(192, 150, 107, .42); /* decorative rule (2.2:1); never the only boundary of a control */
  --field-bg: rgba(241, 235, 224, .06);
  --field-line: rgba(241, 235, 224, .4);   /* field edge 3.4:1 on night, 3.4:1 on ember (non-text ≥ 3:1) */

  /* states (booking system additions, same warm night family, all AA on their washes) */
  --danger: #F4A896;         /* errors, "Payment failed" (9.4:1; 7.8:1 on its wash) */
  --danger-wash: #3A1F1B;
  --danger-line: rgba(244, 168, 150, .55);
  --warn-ink: #E2C49C;       /* expiring soon, late-cancel notes (8.8:1 on its wash) */
  --warn-wash: #33261A;
  --warn-line: rgba(192, 150, 107, .5);
  --ok: #C9D9BC;             /* "Renews", booked: sage-green light (12.2:1) */

  /* type: display = Bookman (brand guide), body = Carlito, the metric clone of Calibri (brand guide body) */
  --font-display: "TeX Gyre Bonum", "Bookman Old Style", "URW Bookman", "Bookman", Georgia, serif;
  --font-body: "Carlito", "Calibri", system-ui, -apple-system, "Segoe UI", sans-serif;
  --fs-body: 1.125rem;       /* 18px: Calibri/Carlito sets small, this reads like 17px Figtree */
  --fs-small: 1rem;          /* 16px */
  --fs-micro: .875rem;       /* 14px, labels only */
  --track-label: .1em;       /* one tracking for every uppercase label, site-wide */
  /* Bookman is wide and dark: the scale sits ~12% under the Cormorant one so lines break the same */
  --fs-h1: clamp(3rem, 7.2vw, 7rem);
  --fs-h1-page: clamp(2.5rem, 5.4vw, 5.25rem);
  --fs-h2: clamp(2rem, 4vw, 3.75rem);
  --fs-h3: clamp(1.45rem, 2vw, 1.85rem);

  /* shape: pills for anything you press, 26/20px for containers, ovals for people, 14px fields */
  --r-pill: 999px;
  --r-shell: 26px;
  --r-core: 20px;
  --r-media: 18px;
  --r-field: 14px;

  /* space */
  /* containers: 1320px up to ~1440px screens, then they grow with the screen to 1680px
     (1600px viewport → 1440, 1920 → 1680). Text inside keeps its own ch limits (~65ch).
     --wrap-narrow for reading columns, --wrap-wide for full-bleed-ish media rows. */
  --wrap: clamp(1320px, 90vw, 1680px);
  --wrap-narrow: 1120px;
  --wrap-wide: clamp(1320px, 96vw, 1840px);
  --gut: clamp(16px, 5vw, 80px);
  --section: clamp(80px, 10vw, 148px);
  --head-h: 112px;           /* ribbon 36 + nav 76 */
  --dock-h: 0px;             /* height of the mobile Book dock (set in shell.css) */

  /* motion: warm and slow */
  --ease-warm: cubic-bezier(.22, .61, .36, 1);
  --ease-out: cubic-bezier(.23, 1, .32, 1);
  --ease-inout: cubic-bezier(.65, 0, .35, 1);
  --t-reveal: 1200ms;
  --breath-in: 4s;
  --breath-out: 6s;

  /* layers */
  --z-halo: 5;
  --z-dock: 45;
  --z-header: 40;
  --z-menu: 50;
  --z-grain: 60;
  --z-skip: 70;
  --z-veil: 80;

  /* Momence / Arketa widget theming hooks */
  --momenceColorBackground: var(--ember);
  --momenceColorPrimary: var(--candle);
  --momenceColorText: var(--text);
  --momenceColorAccent: var(--candle-soft);
  --momenceFontFamily: var(--font-body);
}
