/* ============================================================
   PAIRAVI BOOK HOUSE — Design Tokens
   "Reading Room" — rich ivory & charcoal, deep forest green primary,
   elegant navy, warm wood (cognac) accent. Premium & academic.
   Single source of truth. Components reference --color-* / --fs-* etc.
   ============================================================ */

:root {
  /* ---------- Brand palette: "Reading Room" ---------- */
  /* Warm charcoal (ink / text) — cosy, espresso-tinted */
  --ink-900: #2A2620;
  --ink-700: #4C453B;
  --ink-500: #847A6A;
  --ink-300: #B1A691;

  /* Sunny creams & warm paper (reading-café backgrounds) */
  --paper-50:  #FBF5E9;
  --paper-100: #F5ECD9;
  --paper-200: #EBDFC4;
  --paper-300: #DCC9A2;

  /* Deep forest green — primary */
  --forest-800: #14271C;
  --forest-700: #1E3A2B;
  --forest-600: #2C543E;
  --forest-500: #3E6B50;
  --forest-300: #9FB6A6;

  /* Elegant navy — secondary */
  --navy-700: #1E2A44;
  --navy-600: #2C3A5A;
  --navy-300: #9AA6BE;

  /* Soft gold / honey — accent (wood-600 deepened for text contrast on cream ≈ AA) */
  --wood-600: #8C621F;
  --wood-500: #C68F2E;
  --wood-300: #E0C079;
  --wood-200: #F2E6C5;

  /* Claret — reserved for SALE so discounts pop */
  --claret-500: #8E3B34;

  /* Back-compat aliases (older component CSS still references these names) */
  --oxblood-300: var(--forest-300);
  --oxblood-500: var(--claret-500);
  --oxblood-700: var(--forest-700);
  --oxblood-800: var(--forest-800);
  --brass-200: var(--wood-200);
  --brass-500: var(--wood-500);
  --brass-600: var(--wood-600);

  /* ---------- Semantic: light (default) ---------- */
  --color-bg:            var(--paper-50);
  --color-bg-tint:       var(--paper-100);
  --color-surface:       #FFFDF6;   /* warm paper-white, not stark white */
  --color-surface-alt:   var(--paper-100);
  --color-surface-sunk:  var(--paper-100);
  --color-border:        var(--paper-200);
  --color-border-strong: var(--paper-300);

  --color-text:          var(--ink-900);
  --color-text-soft:     var(--ink-700);
  --color-text-muted:    var(--ink-500);
  --color-text-inverse:  var(--paper-50);

  --color-primary:       var(--forest-700);
  --color-primary-hover: var(--forest-800);
  --color-primary-tint:  #E6EDE7;
  --color-on-primary:    var(--paper-50);

  --color-secondary:     var(--navy-700);
  --color-secondary-tint:#E6EAF1;

  --color-accent:        var(--wood-500);
  --color-accent-strong: var(--wood-600);
  --color-accent-tint:   var(--wood-200);

  --color-link:          var(--forest-700);
  --color-link-hover:    var(--forest-800);
  --color-focus:         var(--wood-500);

  --color-success: #2E7D52;
  --color-warning: #9A6B1E;
  --color-error:   #9B2C26;
  --color-info:    var(--navy-600);

  --color-sale:    var(--claret-500);

  /* Overlay / scrim */
  --color-scrim:   rgba(20, 25, 22, 0.55);
  --color-overlay-grad: linear-gradient(180deg, rgba(15,20,16,0) 0%, rgba(15,20,16,0.74) 100%);

  /* ---------- Typography ---------- */
  --font-display: "Fraunces", Georgia, "Times New Roman", serif;
  --font-body:    "Source Serif 4", Georgia, serif;
  --font-ui:      "Inter Tight", system-ui, -apple-system, sans-serif;

  --fs-display: clamp(2.75rem, 1.6rem + 4.6vw, 5rem);
  --fs-h1:      clamp(2.25rem, 1.5rem + 3vw, 3.5rem);
  --fs-h2:      clamp(1.75rem, 1.25rem + 2vw, 2.5rem);
  --fs-h3:      clamp(1.25rem, 1.05rem + 0.9vw, 1.5rem);
  --fs-h4:      1.125rem;
  --fs-body-lg: 1.25rem;
  --fs-body:    1.0625rem;
  --fs-body-sm: 0.95rem;
  --fs-ui:      0.9375rem;
  --fs-caption: 0.8125rem;
  --fs-price:   1.0625rem;

  --lh-tight: 1.1;
  --lh-snug:  1.25;
  --lh-base:  1.6;
  --lh-loose: 1.75;

  --measure: 68ch;

  /* ---------- Spacing (8px base) ---------- */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;
  --space-10: 8rem;

  /* ---------- Layout ---------- */
  --container: 1240px;
  --container-wide: 1440px;
  --container-narrow: 760px;
  --gutter: clamp(1rem, 0.5rem + 2.5vw, 2.5rem);

  /* ---------- Radius ---------- */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-pill: 999px;
  --radius-book: 2px;

  /* ---------- Shadow (warm-tinted) ---------- */
  --shadow-xs: 0 1px 2px rgba(26,23,20,0.06);
  --shadow-sm: 0 2px 8px rgba(26,23,20,0.08);
  --shadow-md: 0 8px 24px rgba(26,23,20,0.10);
  --shadow-lg: 0 16px 48px rgba(26,23,20,0.14);
  --shadow-xl: 0 28px 64px rgba(26,23,20,0.20);
  --shadow-book: 0 6px 16px rgba(26,23,20,0.22), 0 2px 4px rgba(26,23,20,0.12);

  /* ---------- Motion ---------- */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --dur-fast: 150ms;
  --dur-base: 280ms;
  --dur-slow: 600ms;

  /* ---------- Z-index scale ---------- */
  --z-base: 1;
  --z-sticky: 100;
  --z-header: 200;
  --z-dropdown: 300;
  --z-floating: 350;
  --z-drawer: 400;
  --z-modal: 500;
  --z-toast: 600;

  /* ---------- Misc ---------- */
  --header-h: 116px;       /* utility bar + main header (desktop) */
  --header-h-mobile: 64px;
  --cover-ratio: 2 / 3;    /* book cover aspect */
  color-scheme: light;
}

/* ============================================================
   DARK THEME — warm near-black, comfortable reading
   ============================================================ */
:root[data-theme="dark"] {
  /* warm-charcoal "reading at night" with forest/wood accents */
  --color-bg:            #14171A;
  --color-bg-tint:       #181C20;
  --color-surface:       #1C2024;
  --color-surface-alt:   #23282D;
  --color-surface-sunk:  #0F1214;
  --color-border:        #2E343A;
  --color-border-strong: #404750;

  --color-text:          #ECEAE2;
  --color-text-soft:     #CFD2CC;
  --color-text-muted:    #9AA09C;
  --color-text-inverse:  #1F2225;

  /* lighter sage-forest so it reads on dark */
  --color-primary:       #7FB394;
  --color-primary-hover: #97C7AA;
  --color-primary-tint:  #1B2A21;
  --color-on-primary:    #0F1A13;

  --color-secondary:     #9DB0D6;
  --color-secondary-tint:#1A2233;

  --color-accent:        #D2A668;
  --color-accent-strong: #E2BC84;
  --color-accent-tint:   #2A2418;

  --color-link:          #8FC3A2;
  --color-link-hover:    #A9D6BA;
  --color-focus:         #D2A668;

  --color-success: #6FBF8A;
  --color-warning: #D9A85A;
  --color-error:   #E78A82;
  --color-info:    #9DB0D6;
  --color-sale:    #D98A82;

  /* dark-mode aliases */
  --forest-700: #7FB394; --forest-800: #97C7AA; --forest-300: #4E6B58;
  --wood-500: #D2A668; --wood-600: #E2BC84; --wood-200: #2A2418;
  --navy-700: #9DB0D6;
  --ink-900: #ECEAE2; --ink-700: #CFD2CC; --ink-500: #9AA09C;
  --paper-50: #14171A; --paper-100: #181C20; --paper-200: #2E343A; --paper-300: #404750;

  --color-scrim:   rgba(0, 0, 0, 0.65);
  --color-overlay-grad: linear-gradient(180deg, rgba(8,10,9,0) 0%, rgba(8,10,9,0.84) 100%);

  --shadow-xs: 0 1px 2px rgba(0,0,0,0.4);
  --shadow-sm: 0 2px 8px rgba(0,0,0,0.45);
  --shadow-md: 0 8px 24px rgba(0,0,0,0.5);
  --shadow-lg: 0 16px 48px rgba(0,0,0,0.55);
  --shadow-xl: 0 28px 64px rgba(0,0,0,0.6);
  --shadow-book: 0 8px 20px rgba(0,0,0,0.6), 0 2px 4px rgba(0,0,0,0.5);

  color-scheme: dark;
}
