/*
Theme Name: KhulnaShop
Theme URI: https://khulnashop.bd
Author: KhulnaShop Development Team
Author URI: https://khulnashop.bd
Description: A modern, lightweight, organic grocery eCommerce theme for WordPress & WooCommerce, custom-crafted for KhulnaShop.bd. Inspired by the pristine ecology of the Sundarbans mangrove forests with direct farmer traceability, bilingual English/Bengali typography, full Elementor & Ultimate Addons for Elementor (UAE) support, Bangladeshi Taka (৳) currency & local checkout optimization, and Meta Pixel advertising readiness.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: khulnashop
Tags: e-commerce, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-width-template, theme-options, translation-ready, block-patterns
*/

/* ==========================================================================
   DESIGN TOKENS & CSS VARIABLES (SUNDARBANS HERITAGE PANTRY)
   ========================================================================== */
:root {
  /* Surface & Canvas */
  --ks-surface: #f3fbf5;
  --ks-surface-dim: #d3dcd6;
  --ks-surface-bright: #f3fbf5;
  --ks-surface-container-lowest: #ffffff;
  --ks-surface-container-low: #edf6ef;
  --ks-surface-container: #e7f0e9;
  --ks-surface-container-high: #e2eae4;
  --ks-surface-container-highest: #dce5de;
  --ks-surface-variant: #dce5de;
  --ks-background: #f3fbf5;

  /* Typography Colors */
  --ks-on-surface: #151d1a;
  --ks-on-surface-variant: #414844;
  --ks-on-background: #151d1a;
  --ks-inverse-surface: #2a322e;
  --ks-inverse-on-surface: #eaf3ec;

  /* Outlines & Borders */
  --ks-outline: #717973;
  --ks-outline-variant: #c1c8c2;
  --ks-border-subtle: rgba(27, 67, 50, 0.08);
  --ks-border-card: rgba(27, 67, 50, 0.12);

  /* Primary Brand (Sundarbans Forest Green) */
  --ks-primary: #012d1d;
  --ks-primary-dark: #082f1e;
  --ks-primary-container: #1b4332;
  --ks-on-primary: #ffffff;
  --ks-on-primary-container: #86af99;
  --ks-primary-fixed: #c1ecd4;
  --ks-primary-fixed-dim: #a5d0b9;
  --ks-on-primary-fixed: #002114;
  --ks-on-primary-fixed-variant: #274e3d;

  /* Secondary Accent (Raw Wild Honey / Mustard Gold) */
  --ks-secondary: #7d5700;
  --ks-secondary-gold: #c99738;
  --ks-secondary-container: #fdc662;
  --ks-on-secondary: #ffffff;
  --ks-on-secondary-container: #755100;
  --ks-secondary-fixed: #ffdeaa;
  --ks-secondary-fixed-dim: #f4be5b;
  --ks-on-secondary-fixed: #271900;
  --ks-on-secondary-fixed-variant: #5f4100;

  /* Tertiary Accent (Sundarban Silt / Terracotta Discount) */
  --ks-tertiary: #4b1300;
  --ks-tertiary-terracotta: #c85a32;
  --ks-tertiary-container: #702000;
  --ks-on-tertiary: #ffffff;
  --ks-on-tertiary-container: #ff8358;
  --ks-tertiary-fixed: #ffdbcf;
  --ks-tertiary-fixed-dim: #ffb59c;

  /* Status Colors */
  --ks-error: #ba1a1a;
  --ks-on-error: #ffffff;
  --ks-error-container: #ffdad6;
  --ks-on-error-container: #93000a;
  --ks-success: #1b4332;

  /* Typography Stacks */
  --ks-font-headline: 'Plus Jakarta Sans', 'Noto Sans Bengali', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --ks-font-body: 'Inter', 'Noto Sans Bengali', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --ks-font-price: 'Plus Jakarta Sans', sans-serif;

  /* Border Radii */
  --ks-radius-sm: 0.25rem;   /* 4px */
  --ks-radius-md: 0.5rem;    /* 8px */
  --ks-radius-lg: 0.75rem;   /* 12px */
  --ks-radius-xl: 1rem;      /* 16px */
  --ks-radius-2xl: 1.5rem;   /* 24px */
  --ks-radius-full: 9999px;

  /* Spacing Scale */
  --ks-space-xxs: 0.125rem;  /* 2px */
  --ks-space-xs: 0.25rem;   /* 4px */
  --ks-space-sm: 0.5rem;    /* 8px */
  --ks-space-md: 1rem;      /* 16px */
  --ks-space-lg: 1.5rem;    /* 24px */
  --ks-space-xl: 2rem;      /* 32px */
  --ks-space-2xl: 3rem;     /* 48px */
  --ks-space-3xl: 4rem;     /* 64px */

  /* Shadows (Warm Tinted Ambient) */
  --ks-shadow-sm: 0 1px 3px rgba(27, 67, 50, 0.05);
  --ks-shadow-md: 0 4px 12px rgba(27, 67, 50, 0.06);
  --ks-shadow-lg: 0 10px 24px -4px rgba(27, 67, 50, 0.08), 0 4px 8px -2px rgba(27, 67, 50, 0.03);
  --ks-shadow-xl: 0 20px 32px -6px rgba(8, 47, 30, 0.14);

  /* Container Max Width */
  --ks-max-w-catalog: 1280px;
  --ks-max-w-hero: 1440px;
}

/* ==========================================================================
   RESET & FOUNDATIONS
   ========================================================================== */
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  font-family: var(--ks-font-body);
  font-size: 15px;
  line-height: 1.5;
  color: var(--ks-on-surface);
  background-color: var(--ks-background);
  min-height: 100vh;
}

#page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

#primary {
  flex: 1 0 auto;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--ks-font-headline);
  color: var(--ks-primary);
  margin-top: 0;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: -0.01em;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

a {
  color: var(--ks-primary);
  text-decoration: none;
  transition: color 0.2s ease, opacity 0.2s ease;
}

a:hover {
  color: var(--ks-secondary-gold);
}

img, svg, picture {
  display: block;
  max-width: 100%;
  height: auto;
}

button, input, select, textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

/* Screen reader text for accessibility */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: var(--ks-surface-container-lowest);
  border-radius: var(--ks-radius-md);
  box-shadow: var(--ks-shadow-lg);
  clip: auto !important;
  clip-path: none;
  color: var(--ks-primary);
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 1rem;
  line-height: normal;
  padding: 0.75rem 1.25rem;
  text-decoration: none;
  top: 1rem;
  width: auto;
  z-index: 100000;
}
