/*
Theme Name: Linen Export — Growth Partner
Theme URI: https://linenexport.in
Author: Linen Export
Author URI: https://linenexport.in
Description: Custom WordPress theme for Linen Export — a B2B growth platform for boutique owners, ladies wear stores, fashion retailers and resellers. Built mobile-first, conversion-focused, with lead capture, video-call booking and an Expo landing page template.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: linen-export
*/

/* =========================================================
   DESIGN TOKENS
   ========================================================= */

:root {
  /* ---- Color: "Ledger & Linen" palette ---- */
  --le-ink: #13261F;          /* deep bottle-ink green — headings, nav, footer */
  --le-ink-soft: #1C3329;     /* slightly lighter ink for panels */
  --le-paper: #F7F4EC;        /* warm linen-white — page background */
  --le-paper-deep: #EFE9D8;   /* deeper linen for alternating sections */
  --le-rust: #C75D3A;         /* terracotta-rust — primary accent / CTA */
  --le-rust-dark: #A8492C;    /* rust hover state */
  --le-brass: #C99A3E;        /* muted brass/mustard — growth accent */
  --le-sage: #3E5C4E;         /* secondary green — supporting accent */
  --le-text: #1A1A1A;         /* near-black body text */
  --le-text-muted: #5B5B52;   /* muted body text on paper */
  --le-text-on-ink: #F4F1E6;  /* text on dark ink backgrounds */
  --le-text-on-ink-muted: #B9C4BC;
  --le-line: #DCD4BE;         /* hairline rule on paper */
  --le-line-on-ink: rgba(244,241,230,0.16);
  --le-success: #4A7A4F;
  --le-white: #FFFFFF;

  /* ---- Type ---- */
  --le-font-display: 'Fraunces', 'Source Serif 4', Georgia, serif;
  --le-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --le-font-mono: 'JetBrains Mono', 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

  /* ---- Type scale (fluid) ---- */
  --le-fs-display-xl: clamp(2.5rem, 1.6rem + 4.2vw, 5rem);
  --le-fs-display-lg: clamp(2rem, 1.4rem + 2.8vw, 3.4rem);
  --le-fs-display-md: clamp(1.6rem, 1.3rem + 1.4vw, 2.25rem);
  --le-fs-display-sm: clamp(1.25rem, 1.1rem + 0.7vw, 1.6rem);
  --le-fs-body-lg: clamp(1.05rem, 1rem + 0.25vw, 1.25rem);
  --le-fs-body: 1rem;
  --le-fs-small: 0.875rem;
  --le-fs-mono: 0.8125rem;

  /* ---- Spacing ---- */
  --le-space-3xs: 0.25rem;
  --le-space-2xs: 0.5rem;
  --le-space-xs: 0.75rem;
  --le-space-sm: 1rem;
  --le-space-md: 1.5rem;
  --le-space-lg: 2.5rem;
  --le-space-xl: 4rem;
  --le-space-2xl: 6rem;
  --le-space-3xl: 8rem;

  /* ---- Layout ---- */
  --le-max-width: 1240px;
  --le-max-width-narrow: 760px;
  --le-radius-sm: 4px;
  --le-radius-md: 10px;
  --le-radius-lg: 22px;
  --le-border: 1.5px solid var(--le-ink);

  /* ---- Motion ---- */
  --le-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --le-speed-fast: 180ms;
  --le-speed-md: 320ms;
  --le-speed-slow: 600ms;

  /* ---- Elevation ---- */
  --le-shadow-sm: 0 2px 10px rgba(19,38,31,0.08);
  --le-shadow-md: 0 12px 32px rgba(19,38,31,0.14);
  --le-shadow-lg: 0 24px 64px rgba(19,38,31,0.20);
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ---- Scroll reveal: progressive enhancement only.
   Elements are visible by default; JS adds .reveal-pending then
   removes it via .is-revealed once in view. If JS never runs,
   nothing is ever hidden. ---- */
.reveal-pending {
  opacity: 0;
  transform: translateY(18px);
}
.reveal-pending.is-revealed {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 520ms cubic-bezier(0.22,1,0.36,1), transform 520ms cubic-bezier(0.22,1,0.36,1);
}
