/*
 * Prestij Life canonical design tokens v3.
 * Ownership: docs/design-system.md. This file is intentionally not imported by live pages yet.
 */

@font-face {
  font-family: "PlfEditorial";
  src: url("../../vitrinpremium/fonts/instrument-serif-latin-ext-regular.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "PlfEditorial";
  src: url("../../vitrinpremium/fonts/instrument-serif-latin-regular.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
  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: "PlfEditorial";
  src: url("../../vitrinpremium/fonts/instrument-serif-latin-ext-italic.woff2") format("woff2");
  font-display: swap;
  font-style: italic;
  font-weight: 400;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "PlfEditorial";
  src: url("../../vitrinpremium/fonts/instrument-serif-latin-italic.woff2") format("woff2");
  font-display: swap;
  font-style: italic;
  font-weight: 400;
  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: "PlfSans";
  src: url("../../vitrinpremium/fonts/manrope-latin-ext-400.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "PlfSans";
  src: url("../../vitrinpremium/fonts/manrope-latin-400.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
  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: "PlfSans";
  src: url("../../vitrinpremium/fonts/manrope-latin-ext-700.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 700;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "PlfSans";
  src: url("../../vitrinpremium/fonts/manrope-latin-700.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 700;
  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;
}

@layer plf.tokens, plf.primitives;

@layer plf.tokens {
  .pl-ds {
    color-scheme: dark;

    /* Typography */
    --pl-font-editorial: "PlfEditorial", Georgia, "Times New Roman", serif;
    --pl-font-ui: "PlfSans", Inter, Arial, sans-serif;
    --pl-font-weight-regular: 400;
    --pl-font-weight-strong: 700;
    --pl-leading-tight: 0.98;
    --pl-leading-heading: 1.12;
    --pl-leading-body: 1.6;
    --pl-tracking-editorial: -0.025em;
    --pl-tracking-label: 0.14em;
    --pl-text-xs: 0.75rem;
    --pl-text-sm: 0.875rem;
    --pl-text-md: 1rem;
    --pl-text-lg: 1.125rem;
    --pl-text-xl: 1.5rem;
    --pl-text-2xl: 2rem;
    --pl-text-3xl: clamp(2.5rem, 5vw, 4.5rem);
    --pl-text-display: clamp(3.5rem, 8vw, 7rem);

    /* Eight-pixel spacing rhythm */
    --pl-space-0: 0;
    --pl-space-1: 0.5rem;
    --pl-space-2: 1rem;
    --pl-space-3: 1.5rem;
    --pl-space-4: 2rem;
    --pl-space-5: 2.5rem;
    --pl-space-6: 3rem;
    --pl-space-8: 4rem;
    --pl-space-10: 5rem;
    --pl-space-12: 6rem;
    --pl-space-15: 7.5rem;

    /* Grid and containers */
    --pl-grid-columns: 12;
    --pl-grid-gap: 1.5rem;
    --pl-container-standard: 90rem;
    --pl-container-wide: 120rem;
    --pl-container-gutter: clamp(3rem, 4vw, 4rem);
    --pl-section-gap: clamp(6rem, 8vw, 7.5rem);

    /* Shape */
    --pl-border-width: 1px;
    --pl-radius-sharp: 0;
    --pl-radius-structural: 0.25rem;
    --pl-radius-control: 0.5rem;
    --pl-radius-card: 0.75rem;
    --pl-radius-pill: 999px;
    --pl-radius-sheet: 1.75rem;

    /* Elevation: ordinary cards remain shadowless. */
    --pl-shadow-none: none;
    --pl-shadow-popover: 0 1.5rem 5rem rgb(0 0 0 / 0.38);
    --pl-shadow-sheet: 0 -1.5rem 5rem rgb(0 0 0 / 0.34);
    --pl-overlay-backdrop: rgb(0 0 0 / 0.68);
    --pl-overlay-blur: 12px;

    /* Layering */
    --pl-z-base: 0;
    --pl-z-sticky: 100;
    --pl-z-dropdown: 300;
    --pl-z-overlay: 700;
    --pl-z-modal: 800;
    --pl-z-toast: 900;

    /* Motion */
    --pl-motion-fast: 100ms;
    --pl-motion-base: 180ms;
    --pl-motion-slow: 260ms;
    --pl-ease-standard: cubic-bezier(0.2, 0, 0, 1);
    --pl-ease-emphasized: cubic-bezier(0.2, 0.8, 0.2, 1);

    /* Shell contract tokens; no live header implementation in this phase. */
    --pl-shell-header-height: 4.5rem;
    --pl-shell-header-background: rgb(11 12 14 / 0.9);
    --pl-shell-header-border: #2a3037;
    --pl-shell-utility-radius: var(--pl-radius-pill);

    /* Dark semantic theme */
    --pl-color-background: #0b0c0e;
    --pl-color-surface: #121519;
    --pl-color-surface-2: #181c21;
    --pl-color-surface-elevated: #1d2228;
    --pl-color-text: #f4f4f5;
    --pl-color-text-muted: #a2a8b3;
    --pl-color-text-subtle: #777e89;
    --pl-color-border: #2a3037;
    --pl-color-border-strong: #3b424c;
    --pl-color-accent: #c5a880;
    --pl-color-accent-strong: #e5c07b;
    --pl-color-on-accent: #17130d;
    --pl-color-focus: #e5c07b;
    --pl-color-disabled-surface: #1a1d21;
    --pl-color-disabled-text: #6f747d;
    --pl-color-error: #f07b7b;
    --pl-color-error-surface: #2b1719;
    --pl-color-error-text: #ffc2c2;
    --pl-color-loading-track: #3b424c;
    --pl-color-inverse-surface: #0b0c0e;
    --pl-color-inverse-text: #f4f4f5;
    --pl-color-inverse-text-muted: #b8bdc5;
    --pl-color-inverse-border: #3b424c;
    --pl-color-inverse-accent: #c5a880;
    --pl-color-inverse-accent-strong: #e5c07b;
    --pl-color-on-inverse-accent: #17130d;
    --pl-disabled-opacity: 0.52;
    --pl-focus-ring-width: 2px;
    --pl-focus-ring-offset: 3px;
  }

  .pl-ds[data-pl-theme="light"] {
    color-scheme: light;
    --pl-shell-header-background: rgb(249 249 249 / 0.92);
    --pl-shell-header-border: #dededc;
    --pl-color-background: #f9f9f9;
    --pl-color-surface: #ffffff;
    --pl-color-surface-2: #f3f3f3;
    --pl-color-surface-elevated: #ffffff;
    --pl-color-text: #1a1c1c;
    --pl-color-text-muted: #5d6267;
    --pl-color-text-subtle: #777b7f;
    --pl-color-border: #dededc;
    --pl-color-border-strong: #c3c3c0;
    --pl-color-accent: #7c571f;
    --pl-color-accent-strong: #654414;
    --pl-color-on-accent: #ffffff;
    --pl-color-focus: #7c571f;
    --pl-color-disabled-surface: #ededeb;
    --pl-color-disabled-text: #858884;
    --pl-color-error: #a62f32;
    --pl-color-error-surface: #fff0f0;
    --pl-color-error-text: #842225;
    --pl-color-loading-track: #c3c3c0;
    --pl-overlay-backdrop: rgb(18 18 18 / 0.52);
  }

  .pl-ds[data-pl-theme="dark"] {
    color-scheme: dark;
  }

  @media (max-width: 48rem) {
    .pl-ds {
      --pl-grid-columns: 4;
      --pl-grid-gap: 1rem;
      --pl-container-gutter: clamp(1.25rem, 6vw, 1.5rem);
      --pl-section-gap: 4rem;
      --pl-shell-header-height: 4rem;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .pl-ds {
      --pl-motion-fast: 1ms;
      --pl-motion-base: 1ms;
      --pl-motion-slow: 1ms;
    }
  }
}
