/* Dekorent design tokens — concatenated from the design system */

/* colors */
:root{
/* ——— base palette: brand greens (from #022918) ——— */
--green-950:#011a0f;--green-900:#022918;--green-800:#04371f;--green-700:#064a2b;--green-600:#0a6239;--green-500:#0f7d4a;--green-400:#3f9a6d;--green-300:#7fba9c;--green-200:#b7d8c7;--green-100:#dcebe3;--green-50:#eff6f2;
/* ——— base palette: brand maroon (from #6b0619) ——— */
--maroon-950:#3a030d;--maroon-900:#520414;--maroon-800:#6b0619;--maroon-700:#871024;--maroon-600:#a71d34;--maroon-500:#c33449;--maroon-300:#dd9099;--maroon-200:#eec2c8;--maroon-100:#f7e0e3;
/* ——— base palette: cream / paper (from #FDF7E7) ——— */
--cream-50:#fffdf7;--cream-100:#fdf7e7;--cream-200:#f7efda;--cream-300:#eee3c8;--cream-400:#ded0ae;--cream-500:#c4b58f;
/* ——— warm neutrals ——— */
--ink-900:#0c1611;--ink-700:#2c3a33;--ink-500:#55665d;--ink-400:#78877f;--ink-300:#a4b0a9;

/* ——— semantic: surfaces ——— */
--bg-page:var(--cream-100);
--bg-page-alt:var(--cream-200);
--surface-card:var(--cream-50);
--surface-raised:#ffffff;
--surface-inverse:var(--green-900);
--surface-accent:var(--maroon-800);
--surface-sunken:var(--cream-200);
--surface-hover:var(--cream-200);
--overlay-scrim:color-mix(in srgb, var(--green-950) 62%, transparent);

/* ——— semantic: text ——— */
--text-body:var(--green-900);
--text-heading:var(--green-900);
--text-muted:var(--ink-500);
--text-subtle:var(--ink-400);
--text-on-inverse:var(--cream-100);
--text-on-accent:var(--cream-100);
--text-accent:var(--maroon-800);
--text-link:var(--maroon-800);
--text-link-hover:var(--maroon-600);

/* ——— semantic: lines ——— */
--border-subtle:var(--cream-300);
--border-strong:var(--green-900);
--border-hairline:color-mix(in srgb, var(--green-900) 12%, transparent);
--border-focus:var(--maroon-700);

/* ——— semantic: interactive ——— */
--action-primary:var(--green-900);
--action-primary-hover:var(--green-800);
--action-primary-press:var(--green-950);
--action-accent:var(--maroon-800);
--action-accent-hover:var(--maroon-700);
--action-accent-press:var(--maroon-900);
--action-disabled-bg:var(--cream-300);
--action-disabled-text:var(--ink-300);
--focus-ring:color-mix(in srgb, var(--maroon-700) 45%, transparent);

/* ——— semantic: status (rental states) ——— */
--status-available-bg:var(--green-100);--status-available-text:var(--green-700);
--status-reserved-bg:var(--cream-300);--status-reserved-text:#7a5a12;
--status-out-bg:var(--maroon-100);--status-out-text:var(--maroon-800);
--status-info-bg:var(--green-50);--status-info-text:var(--green-700);
}

/* typography */
:root{
--font-display:"Vazirmatn","B Titr","Titr",system-ui,sans-serif;
--font-body:"Vazirmatn","Vazir",system-ui,sans-serif;
--font-mono:ui-monospace,"SFMono-Regular",Menlo,monospace;

--fw-regular:400;/* @kind font */
--fw-medium:500;/* @kind font */
--fw-bold:700;/* @kind font */
--fw-black:900;/* @kind font */

--text-display-1:clamp(40px,6vw,68px);
--text-display-2:clamp(32px,4.4vw,50px);
--text-display-3:clamp(26px,3vw,36px);
--text-h1:30px;--text-h2:24px;--text-h3:20px;--text-h4:17px;
--text-body-lg:19px;--text-body:17px;--text-body-sm:15px;--text-caption:13px;--text-micro:11px;

--lh-display:1.18;/* @kind font */
--lh-heading:1.35;/* @kind font */
--lh-body:1.85;/* @kind font */
--lh-tight:1.45;/* @kind font */
--ls-display:-0.01em;/* @kind font */
--ls-body:0;/* @kind font */
--ls-eyebrow:0.14em;/* @kind font */
}

/* spacing */
:root{
--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;
--gutter:24px;/* @kind spacing */
--section-y:clamp(64px,9vw,128px);/* @kind spacing */
--container-max:1240px;/* @kind spacing */
--container-narrow:760px;/* @kind spacing */
}

/* radii */
:root{
--radius-xs:4px;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--radius-xl:32px;--radius-pill:999px;
--border-width:1px;/* @kind spacing */
--border-width-strong:2px;/* @kind spacing */
}

/* elevation */
:root{
--shadow-none:none;
--shadow-xs:0 1px 2px color-mix(in srgb, var(--green-950) 8%, transparent);
--shadow-sm:0 2px 8px color-mix(in srgb, var(--green-950) 8%, transparent);
--shadow-md:0 10px 24px -8px color-mix(in srgb, var(--green-950) 18%, transparent);
--shadow-lg:0 24px 56px -16px color-mix(in srgb, var(--green-950) 24%, transparent);
--shadow-inset-hairline:inset 0 0 0 1px var(--border-hairline);
--blur-veil:blur(14px);/* @kind other */
--scrim-image:linear-gradient(to top, color-mix(in srgb, var(--green-950) 78%, transparent) 0%, transparent 62%);/* @kind other */
}

/* motion */
:root{
--ease-standard:cubic-bezier(.22,.61,.36,1);/* @kind other */
--ease-out:cubic-bezier(.16,.84,.44,1);/* @kind other */
--ease-in:cubic-bezier(.5,0,.9,.4);/* @kind other */
--dur-fast:120ms;/* @kind other */
--dur-base:200ms;/* @kind other */
--dur-slow:360ms;/* @kind other */
--dur-reveal:640ms;/* @kind other */
--lift-hover:-2px;/* @kind spacing */
--press-scale:.985;/* @kind other */
}

/* base */
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg-page);color:var(--text-body);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--lh-body);font-weight:var(--fw-regular);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--fw-black);line-height:var(--lh-heading);letter-spacing:var(--ls-display);color:var(--text-heading);margin:0}
p{margin:0;text-wrap:pretty}
a{color:var(--text-link);text-decoration:none}
a:hover{color:var(--text-link-hover);text-decoration:underline;text-underline-offset:3px}
*,*::before,*::after{box-sizing:border-box}
::selection{background:var(--maroon-200);color:var(--maroon-900)}
:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
