/* Hotel Manorama Inn — design-system tokens, flattened from ds/tokens/*.
   Source of truth: _ds/manorama-inn-design-system-1a8352f6.../tokens/.
   Fonts are loaded via <link> in each page head, not @import. */
:root{--font-display:"Cormorant Garamond",'Times New Roman',serif;--font-ui:"Plus Jakarta Sans",-apple-system,'Segoe UI',sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace}

/* --- colors --- */
:root{
  /* --- Ivory / pearl scale (the page itself) --- */
  --ivory-0:#FFFFFF;
  --ivory-1:#FBF9F5;
  --ivory-2:#F6F2EA;
  --ivory-3:#EFE9DE;
  --ivory-4:#E4DCCC;

  /* --- Ink: warm charcoal-brown, never pure black --- */
  --ink-1:#171512;
  --ink-2:#211E1A;
  --ink-3:#2E2A25;
  --ink-4:#4A443C;
  --ink-5:#6E675C;
  --ink-6:#968D80;
  --ink-7:#C0B7A8;

  /* --- Brass / champagne: the royal accent. Matte, never yellow-gold --- */
  --brass-1:#F4ECDC;
  --brass-2:#E6D6B4;
  --brass-3:#CBAE7B;
  --brass-4:#A9843F;
  --brass-5:#8A6A31;
  --brass-6:#5E4820;

  /* --- Secondary accent: deep wine. Used sparingly, for editorial depth --- */
  --wine-1:#F2E3E4;
  --wine-3:#8E3B45;
  --wine-4:#6B2231;
  --wine-5:#4A1622;

  /* --- Tertiary accent: dark emerald. Reserved for operational/positive --- */
  --emerald-3:#2F6350;
  --emerald-4:#1F4438;

  /* --- Semantic --- */
  --green-3:#2E6B4F; --green-1:#E6F0EA;
  --amber-3:#A9722B; --amber-1:#F8EEDD;
  --red-3:#9B2C2C;   --red-1:#F6E4E3;
  --blue-3:#35566E;  --blue-1:#E6EDF2;

  /* --- Semantic aliases: use THESE in components --- */
  --page:var(--ivory-1);
  --surface-card:var(--ivory-0);
  --surface-sunk:var(--ivory-2);
  --surface-inset:var(--ivory-3);
  --surface-dark:var(--ink-2);
  --surface-dark-raised:var(--ink-3);
  --surface-scrim:rgba(23,21,18,.56);
  --surface-glass:rgba(251,249,245,.72);
  --surface-glass-dark:rgba(23,21,18,.44);

  --text-display:var(--ink-1);
  --text-body:var(--ink-3);
  --text-muted:var(--ink-5);
  --text-faint:var(--ink-6);
  --text-on-dark:var(--ivory-1);
  --text-on-dark-muted:rgba(251,249,245,.66);
  --text-accent:var(--brass-5);
  --text-link:var(--brass-5);
  --text-link-hover:var(--ink-1);

  --border-hairline:rgba(23,21,18,.09);
  --border-soft:rgba(23,21,18,.14);
  --border-strong:rgba(23,21,18,.26);
  --border-brass:rgba(169,132,63,.42);
  --border-on-dark:rgba(251,249,245,.16);

  --accent:var(--brass-4);
  --accent-hover:var(--brass-5);
  --accent-quiet:var(--brass-1);
  --accent-on:var(--ivory-0);

  --focus-ring:rgba(169,132,63,.45);

  /* Admin console runs cooler and denser than the public site */
  --admin-page:#F7F6F3;
  --admin-surface:#FFFFFF;
  --admin-rail:#211E1A;
  --admin-border:rgba(23,21,18,.10);
  --admin-row-hover:#FAF8F4;
}

/* --- typography --- */
:root{
  /* Display — Cormorant Garamond. Light weights only, generous line-height. */
  --type-display-1:300 clamp(44px,6vw,84px)/1.02 var(--font-display);
  --type-display-2:300 clamp(36px,4.4vw,60px)/1.06 var(--font-display);
  --type-display-3:400 clamp(28px,3vw,40px)/1.14 var(--font-display);
  --type-serif-lead:300 clamp(20px,2vw,26px)/1.5 var(--font-display);

  /* UI — Plus Jakarta Sans */
  --type-title-1:600 24px/1.3 var(--font-ui);
  --type-title-2:600 19px/1.35 var(--font-ui);
  --type-title-3:600 16px/1.4 var(--font-ui);
  --type-body:400 16px/1.65 var(--font-ui);
  --type-body-sm:400 14px/1.6 var(--font-ui);
  --type-label:500 13px/1.3 var(--font-ui);
  --type-caption:400 12px/1.45 var(--font-ui);
  --type-mono:400 13px/1.5 var(--font-mono);

  /* Eyebrow — the one place uppercase is allowed */
  --type-eyebrow:500 11px/1.2 var(--font-ui);
  --tracking-eyebrow:.18em;
  --tracking-display:-.01em;
  --tracking-tight:-.02em;

  --weight-light:300;
  --weight-regular:400;
  --weight-medium:500;
  --weight-semibold:600;
}

/* --- spacing --- */
:root{
  --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:56px; --space-10:72px; --space-11:96px; --space-12:128px;
  --space-13:176px;

  /* Editorial rhythm: public-site sections breathe, admin does not */
  --section-y:var(--space-12);
  --section-y-tight:var(--space-10);
  --gutter:var(--space-6);
  --gutter-lg:var(--space-8);
  --measure:66ch;
  --max-page:1320px;
  --max-editorial:820px;
  --admin-density:var(--space-3);
  --tap-min:48px;
}

/* --- radius --- */
:root{
  --radius-xs:6px;
  --radius-sm:10px;
  --radius-field:14px;   /* inputs, selects, small controls */
  --radius-card:18px;    /* room cards, content cards */
  --radius-lg:24px;      /* premium booking surfaces, sheets */
  --radius-xl:28px;
  --radius-pill:999px;   /* chips + a few nav affordances only */
}

/* --- elevation --- */
:root{
  /* Most surfaces carry NO shadow. Depth comes from hairlines and light. */
  --shadow-none:none;
  --shadow-hairline:0 0 0 1px var(--border-hairline);
  --shadow-soft:0 1px 2px rgba(23,21,18,.04),0 8px 24px -12px rgba(23,21,18,.10);
  --shadow-raised:0 2px 4px rgba(23,21,18,.04),0 18px 40px -20px rgba(23,21,18,.16);
  --shadow-sheet:0 -8px 48px -16px rgba(23,21,18,.22);
  --shadow-brass-glow:0 8px 28px -14px rgba(169,132,63,.45);

  /* Protection gradients over photography */
  --scrim-bottom:linear-gradient(to top,rgba(23,21,18,.78) 0%,rgba(23,21,18,.40) 34%,rgba(23,21,18,0) 72%); /* @kind other */
  --scrim-top:linear-gradient(to bottom,rgba(23,21,18,.52) 0%,rgba(23,21,18,0) 60%); /* @kind other */
  --scrim-full:linear-gradient(105deg,rgba(23,21,18,.72) 0%,rgba(23,21,18,.34) 52%,rgba(23,21,18,.10) 100%); /* @kind other */
  --blur-glass:saturate(1.1) blur(18px); /* @kind other */
}

/* --- motion --- */
:root{
  --dur-fast:150ms; /* @kind other */
  --dur-base:240ms; /* @kind other */
  --dur-slow:380ms; /* @kind other */
  --dur-reveal:520ms; /* @kind other */
  --dur-cinema:1200ms; /* @kind other */

  --ease-standard:cubic-bezier(.22,.61,.36,1); /* @kind other */
  --ease-entrance:cubic-bezier(.16,.84,.28,1); /* @kind other */
  --ease-exit:cubic-bezier(.4,0,.68,.06); /* @kind other */
  --ease-editorial:cubic-bezier(.33,1,.68,1); /* @kind other */

  --lift-hover:-3px; /* @kind other */
  --press-scale:.985; /* @kind other */
  --zoom-image:1.045; /* @kind other */
}

/* --- base --- */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--page);color:var(--text-body);font:var(--type-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,p{margin:0}
a{color:var(--text-link);text-decoration:none;border-bottom:1px solid var(--border-brass);transition:color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}
a:hover{color:var(--text-link-hover);border-color:var(--border-strong)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
button{font:inherit}
img{display:block;max-width:100%}
::selection{background:var(--brass-2);color:var(--ink-1)}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
