/* Perfectus Clinica design tokens — generated from the design system (tokens/*.css). Edit there, not here. */
/* ---- colors ---- */
/* Brand palette — exact values from "PREKĖS ŽENKLO IDENTITETO ATNAUJINIMAS 2023", p.4 */
:root{
  /* --- Base brand colours (Lithuanian names from the guide in comments) --- */
  --pc-nude: #cfae9d;          /* kūno */
  --pc-white: #ffffff;         /* balta */
  --pc-grey: #788a9c;          /* pilka */
  --pc-pink: #db999f;          /* rausva */
  --pc-pink-bright: #b7245c;   /* ryški rausva */
  --pc-blue-light: #b0c6dd;    /* melsva */
  --pc-blue: #2b59c3;          /* mėlyna */
  --pc-gold: #c7ba78;          /* aukso */
  --pc-grey-dark: #333745;     /* tamsi pilka */

  /* --- Nude / skin ramp (the brand's dominant background family) --- */
  --pc-nude-50: #fbf6f2;
  --pc-nude-100: #f6ece5;
  --pc-nude-200: #eddbd0;
  --pc-nude-300: #dfc4b3;
  --pc-nude-400: var(--pc-nude);
  --pc-nude-500: #b8927e;
  --pc-nude-600: #99735f;

  /* --- Cool grey ramp, anchored on pilka / tamsi pilka --- */
  --pc-grey-50: #f6f7f8;
  --pc-grey-100: #eceef1;
  --pc-grey-200: #dbdfe4;
  --pc-grey-300: #bcc4cd;
  --pc-grey-400: #97a4b1;
  --pc-grey-500: var(--pc-grey);
  --pc-grey-600: #5d6c7c;
  --pc-grey-700: #47525f;
  --pc-grey-800: var(--pc-grey-dark);
  --pc-grey-900: #23262f;

  /* --- Blue ramp (medicine) --- */
  --pc-blue-50: #f0f4f9;
  --pc-blue-100: #dfe8f2;
  --pc-blue-200: var(--pc-blue-light);
  --pc-blue-500: var(--pc-blue);
  --pc-blue-600: #2249a3;

  /* --- Pink ramp (softness, femininity) --- */
  --pc-pink-50: #fbf1f2;
  --pc-pink-100: #f3dcde;
  --pc-pink-300: var(--pc-pink);
  --pc-pink-600: var(--pc-pink-bright);
  --pc-pink-700: #921c49;

  /* --- Gold ramp (premium / gift, foil) --- */
  --pc-gold-100: #f2eeda;
  --pc-gold-400: var(--pc-gold);
  --pc-gold-600: #9d9053;

  /* --- Semantic: text --- */
  --text-primary: var(--pc-grey-dark);
  --text-secondary: var(--pc-grey);
  --text-muted: var(--pc-grey-400);
  --text-accent: var(--pc-pink-bright);
  --text-on-dark: var(--pc-white);
  --text-on-nude: var(--pc-white);
  --text-link: var(--pc-grey-dark);
  --text-link-hover: var(--pc-pink-bright);

  /* --- Semantic: surfaces --- */
  --surface-page: var(--pc-white);
  --surface-card: var(--pc-white);
  --surface-sunken: var(--pc-nude-50);
  --surface-alt: var(--pc-nude-100);
  --surface-nude: var(--pc-nude);
  --surface-blue-soft: var(--pc-blue-100);
  --surface-blue-tint: var(--pc-blue-light);
  --surface-pink-soft: var(--pc-pink-50);
  --surface-inverse: var(--pc-grey-dark);

  /* --- Semantic: borders & lines --- */
  --border-subtle: #e7dcd4;
  --border-default: var(--pc-nude-300);
  --border-strong: var(--pc-grey-dark);
  --border-on-dark: rgba(255,255,255,.45);

  /* --- Semantic: actions --- */
  --action-primary-bg: var(--pc-grey-dark);
  --action-primary-bg-hover: var(--pc-grey-900);
  --action-primary-fg: var(--pc-white);
  --action-secondary-fg: var(--pc-grey-dark);
  --action-secondary-border: var(--pc-grey-dark);
  --action-accent-bg: var(--pc-pink-bright);
  --action-accent-bg-hover: var(--pc-pink-700);
  --action-disabled-bg: var(--pc-grey-200);
  --action-disabled-fg: var(--pc-grey-400);
  --focus-ring: rgba(51,55,69,.35);

  /* --- Semantic: status (derived from the brand palette, no new hues) --- */
  --status-success: #6d8f6a;
  --status-success-soft: #eef2ec;
  --status-warning: var(--pc-gold-600);
  --status-warning-soft: var(--pc-gold-100);
  --status-danger: var(--pc-pink-bright);
  --status-danger-soft: var(--pc-pink-50);
  --status-info: var(--pc-blue);
  --status-info-soft: var(--pc-blue-50);

  /* --- Overlays: "protection" washes used under white type on photography --- */
  --overlay-nude: rgba(207,174,157,.72);
  --overlay-pink: rgba(219,153,159,.62);
  --overlay-blue: rgba(38,64,110,.58);
  --overlay-scrim-blue: linear-gradient(to right, rgba(28,52,96,.78) 0%, rgba(28,52,96,.66) 65%, rgba(176,198,221,.15) 100%); /* @kind other */
  --overlay-dark: rgba(51,55,69,.45);
  --overlay-scrim-bottom: linear-gradient(to top, rgba(51,55,69,.55) 0%, rgba(51,55,69,0) 55%); /* @kind other */
  --overlay-scrim-left: linear-gradient(to right, rgba(88,70,60,.80) 0%, rgba(88,70,60,.70) 65%, rgba(207,174,157,0) 90%); /* @kind other */
}
/* ---- typography ---- */
:root{
  --font-core: "Poppins", "Helvetica Neue", Arial, sans-serif;
  --font-script: "Kaushan Script", "Poppins", cursive;
  --font-mono: ui-monospace, "SFMono-Regular", Menlo, monospace;

  --fw-thin: 100; /* @kind font */
  --fw-extralight: 200; /* @kind font */
  --fw-light: 300; /* @kind font */
  --fw-regular: 400; /* @kind font */
  --fw-medium: 500; /* @kind font */
  --fw-semibold: 600; /* @kind font */
  --fw-bold: 700; /* @kind font */
  --fw-extrabold: 800; /* @kind font */
  --fw-black: 900; /* @kind font */

  /* Type scale — 1.25 major third off a 16px body */
  --fs-2xs: 11px;
  --fs-xs: 12px;
  --fs-sm: 14px;
  --fs-base: 16px;
  --fs-md: 18px;
  --fs-lg: 22px;
  --fs-xl: 28px;
  --fs-2xl: 36px;
  --fs-3xl: 46px;
  --fs-4xl: 58px;
  --fs-5xl: 72px;
  --fs-script-sm: 40px;
  --fs-script-md: 66px;
  --fs-script-lg: 96px;
  --fs-script-xl: 136px;

  --lh-tight: 1.08; /* @kind font */
  --lh-snug: 1.2; /* @kind font */
  --lh-normal: 1.5; /* @kind font */
  --lh-relaxed: 1.65; /* @kind font */
  --lh-script: 1.0; /* @kind font */

  /* Letterspacing — the brand sets small uppercase labels very wide */
  --ls-tightest: -0.02em; /* @kind font */
  --ls-tight: -0.01em; /* @kind font */
  --ls-normal: 0; /* @kind font */
  --ls-wide: 0.06em; /* @kind font */
  --ls-wider: 0.12em; /* @kind font */
  --ls-widest: 0.22em; /* @kind font */

  /* Composed roles */
  --type-display: var(--fw-light) var(--fs-4xl)/var(--lh-tight) var(--font-core); /* @kind font */
  --type-h1: var(--fw-light) var(--fs-3xl)/var(--lh-snug) var(--font-core);
  --type-h2: var(--fw-light) var(--fs-2xl)/var(--lh-snug) var(--font-core);
  --type-h3: var(--fw-medium) var(--fs-lg)/var(--lh-snug) var(--font-core);
  --type-body: var(--fw-light) var(--fs-base)/var(--lh-relaxed) var(--font-core); /* @kind font */
  --type-body-strong: var(--fw-medium) var(--fs-base)/var(--lh-normal) var(--font-core); /* @kind font */
  --type-small: var(--fw-light) var(--fs-sm)/var(--lh-normal) var(--font-core); /* @kind font */
  --type-eyebrow: var(--fw-medium) var(--fs-xs)/var(--lh-normal) var(--font-core); /* @kind font */
  --type-button: var(--fw-medium) var(--fs-sm)/1 var(--font-core); /* @kind font */
  --type-script: var(--fw-regular) var(--fs-script-md)/var(--lh-script) var(--font-script); /* @kind font */
}
/* ---- spacing ---- */
:root{
  --space-0: 0;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --space-32: 128px;

  /* Layout */
  --container-max: 1200px;
  --container-narrow: 720px;
  --gutter: var(--space-6);
  --gutter-lg: var(--space-10);
  --section-y: var(--space-24);
  --section-y-sm: var(--space-16);
  --grid-gap: var(--space-6);

  /* Logo protection: clear space = 1/2 the symbol's height on every side */
  --logo-clearspace: 0.5em; /* @kind spacing */
  --logo-h-sm: 28px;
  --logo-h-md: 40px;
  --logo-h-lg: 64px;
}
/* ---- radius ---- */
:root{
  /* The brand is squared-off: the mark itself is a hand-drawn square.
     Radii stay near zero; only pills for chips/badges. */
  --radius-none: 0;
  --radius-xs: 2px;
  --radius-sm: 3px;
  --radius-md: 4px;
  --radius-lg: 8px;
  --radius-pill: 999px;
  --radius-circle: 50%;
  --radius-card: var(--radius-xs);
  --radius-button: var(--radius-none);
  --radius-input: var(--radius-none);
  --radius-image: var(--radius-none);
}
/* ---- elevation ---- */
:root{
  /* Shadows are used sparingly and always soft, warm-neutral and low-contrast:
     print-like paper lift, never UI drop-shadow. */
  --shadow-none: none;
  --shadow-xs: 0 1px 2px rgba(51,55,69,.06);
  --shadow-sm: 0 2px 8px rgba(51,55,69,.06);
  --shadow-md: 0 8px 24px rgba(51,55,69,.08);
  --shadow-lg: 0 18px 48px rgba(51,55,69,.12);
  --shadow-paper: 24px 24px 0 rgba(153,115,95,.35);
  --shadow-inset-hairline: inset 0 0 0 1px var(--border-subtle);
  --blur-veil: blur(10px); /* @kind other */
  --blur-glass: saturate(120%) blur(18px); /* @kind other */
}
/* ---- motion ---- */
:root{
  --dur-instant: 90ms; /* @kind other */
  --dur-fast: 160ms; /* @kind other */
  --dur-base: 240ms; /* @kind other */
  --dur-slow: 420ms; /* @kind other */
  --dur-veil: 700ms; /* @kind other */
  --ease-standard: cubic-bezier(.4,0,.2,1); /* @kind other */
  --ease-out: cubic-bezier(.16,1,.3,1); /* @kind other */
  --ease-in-out: cubic-bezier(.65,0,.35,1); /* @kind other */
  --transition-color: color var(--dur-fast) var(--ease-standard), background-color var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard); /* @kind other */
  --transition-veil: opacity var(--dur-veil) var(--ease-out), transform var(--dur-veil) var(--ease-out); /* @kind other */
}
/* ---- base ---- */
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{margin:0;font:var(--type-body);color:var(--text-primary);background:var(--surface-page)}
h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-core);font-weight:var(--fw-light);letter-spacing:var(--ls-tight);color:var(--text-primary)}
p{margin:0 0 var(--space-4)}
a{color:var(--text-link);text-decoration:none;border-bottom:1px solid currentColor;transition:var(--transition-color)}
a:hover{color:var(--text-link-hover)}
img{display:block;max-width:100%}
button,input,select,textarea{font-family:inherit}
::selection{background:var(--pc-nude-200);color:var(--text-primary)}
.pc-script{font-family:var(--font-script);font-weight:var(--fw-regular);line-height:var(--lh-script)}
.pc-eyebrow{font:var(--type-eyebrow);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--text-secondary)}
