/*
 * Theme Name: Organic Mart PK
 * Theme URI: https://organicmartpk.com
 * Author: Your Name
 * Author URI: https://yourwebsite.com
 * Description: Premium e-commerce theme for organic products. Farm-fresh fruits, vegetables, dry fruits and dehydrated fruits delivery in Islamabad, Pakistan.
 * Version: 1.0.0
 * License: GNU General Public License v2 or later
 * License URI: http://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain: organic-mart-pk
 * Domain Path: /languages
 * Requires at least: 5.0
 * Requires PHP: 7.4
 * Tested up to: 6.4
 * Tags: organic, ecommerce, shop, woocommerce, elementor, responsive, rtl-ready
 */

/* ============================================================
   GLOBAL STYLESHEET
   ============================================================ */

/* ---------- DESIGN TOKENS ---------- */
:root {
  --forest: #0E3D2E;
  --forest-deep: #072620;
  --cream: #F8F5EC;
  --cream-warm: #F1EBD8;
  --paprika: #D9531E;
  --paprika-soft: #F0B097;
  --saffron: #E8B84A;
  --ink: #17191A;
  --stone: #6B6B65;
  --line: #E5DFCF;
  --white: #FFFFFF;
  --radius-sm: 6px;
  --radius: 14px;
  --radius-lg: 24px;
  --shadow-sm: 0 1px 2px rgba(14,61,46,.06);
  --shadow: 0 12px 40px -12px rgba(14,61,46,.18);
  --shadow-lg: 0 30px 60px -20px rgba(14,61,46,.22);
  --container: 1240px;
  --font-display: 'Fraunces', Georgia, serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* ---------- RESET ---------- */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--cream);
  line-height: 1.6;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }
input, textarea, select { font: inherit; }
ul { list-style: none; }

/* ---------- LAYOUT PRIMITIVES ---------- */
.om-container {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: 24px;
}
.om-section { padding-block: 96px; }
.om-eyebrow {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--paprika);
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.om-eyebrow::before {
  content: "";
  width: 24px; height: 1px;
  background: var(--paprika);
}
.om-h1, .om-h2, .om-h3 {
  font-family: var(--font-display);
  font-weight: 500;
  color: var(--forest);
  letter-spacing: -0.02em;
  line-height: 1.05;
}
.om-h1 { font-size: clamp(2.4rem, 5.6vw, 4.8rem); }
.om-h2 { font-size: clamp(1.9rem, 3.4vw, 3.1rem); line-height: 1.1; }
.om-h3 { font-size: clamp(1.3rem, 2vw, 1.65rem); line-height: 1.2; }
.om-h1 em, .om-h2 em, .om-h3 em {
  font-style: italic;
  color: var(--paprika);
  font-weight: 400;
}
.om-lead {
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  color: var(--stone);
  max-width: 60ch;
  line-height: 1.65;
}

/* ---------- BUTTONS ---------- */
.om-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 26px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 15px;
  transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
  white-space: nowrap;
  cursor: pointer;
}
.om-btn-primary {
  background: var(--forest);
  color: var(--cream);
}
.om-btn-primary:hover {
  background: var(--paprika);
  transform: translateY(-2px);
  box-shadow: var(--shadow);
}
.om-btn-primary:focus-visible {
  outline: 3px solid var(--saffron);
  outline-offset: 3px;
}
.om-btn-ghost {
  background: transparent;
  color: var(--forest);
  border: 1.5px solid var(--forest);
}
.om-btn-ghost:hover {
  background: var(--forest);
  color: var(--cream);
}
.om-btn-cream {
  background: var(--cream);
  color: var(--forest);
}
.om-btn-cream:hover {
  background: var(--paprika);
  color: var(--cream);
}

/* Elementor Compatibility */
.elementor-widget-heading { margin: 0 !important; }
.elementor-widget-text-editor p { margin: 0 !important; }

/* WordPress Core Styles */
.wp-caption { max-width: 100%; }
.wp-caption-text { font-style: italic; font-size: 13px; }
