/* ==========================================================================
   ARTISANAL ORGANIC FOOD THEME - DESIGN SYSTEM
   Inspired by Luxury Food Editorial & Torn-Paper Organic Aesthetics
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,600;0,9..144,700;0,9..144,800;0,9..144,900;1,9..144,600&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Outfit:wght@500;600;700;800;900&display=swap');

:root {
  /* --- Typography --- */
  --font-serif: 'Fraunces', Georgia, serif;
  --font-display: 'Outfit', -apple-system, sans-serif;
  --font-body: 'Plus Jakarta Sans', -apple-system, sans-serif;

  /* --- Warm Sunshine & Golden Honey Palette --- */
  --sun-gold-light: #fef08a;
  --sun-gold: #facc15;
  --sun-gold-dark: #eab308;
  --honey-primary: #f59e0b;
  --honey-deep: #d97706;

  /* --- Caramel & Roasted Amber (Buttons & Primary Highlights) --- */
  --caramel-btn: #b45309;
  --caramel-hover: #92400e;
  --caramel-dark: #78350f;
  --paprika-orange: #ea580c;

  /* --- Organic Fresh Pops --- */
  --berry-red: #dc2626;
  --berry-crimson: #be123c;
  --blueberry-blue: #1d4ed8;
  --leaf-green: #15803d;
  --leaf-emerald: #047857;

  /* --- Canvas & Surfaces (Warm Ivory, Cream Silk, Soft Oatmeal) --- */
  --bg-cream: #fcf8ef;
  --bg-cream-dark: #f5ecd7;
  --bg-card: #fffdfa;
  --bg-card-subtle: #faf4e6;
  --border-cream: #ebdcc4;
  --border-strong: #dfcbb0;

  /* --- Text Hierarchy (Espresso & Roasted Cocoa) --- */
  --text-espresso: #24180d;
  --text-cocoa: #423223;
  --text-muted: #756350;
  --text-light: #a3907c;
  --text-white: #ffffff;

  /* --- Standardized Typography Scale (8 Steps) --- */
  --text-xs: 0.75rem;
  /* 12px - Badges, meta tags */
  --text-sm: 0.875rem;
  /* 14px - Chips, captions, secondary labels */
  --text-base: 1rem;
  /* 16px - Body text, standard inputs, buttons */
  --text-md: 1.125rem;
  /* 18px - Card titles, subheads */
  --text-lg: 1.25rem;
  /* 20px - Section subtitles, card headings */
  --text-xl: 1.5rem;
  /* 24px - Component headers, h3 */
  --text-2xl: 2rem;
  /* 32px - Section titles, h2 */
  --text-3xl: 2.75rem;
  /* 44px - Hero display title, h1 */

  /* --- Soft Tactile Shadows --- */
  --shadow-organic-sm: 0 4px 12px rgba(180, 83, 9, 0.04), 0 1px 3px rgba(36, 24, 13, 0.03);
  --shadow-organic-md: 0 12px 30px -4px rgba(180, 83, 9, 0.08), 0 4px 10px -2px rgba(36, 24, 13, 0.03);
  --shadow-organic-lg: 0 24px 50px -10px rgba(180, 83, 9, 0.12), 0 10px 20px -5px rgba(36, 24, 13, 0.04);
  --shadow-bowl: 0 30px 60px -15px rgba(146, 64, 14, 0.28);

  /* --- Standardized Corner Radii (5 Steps) --- */
  --radius-sm: 8px;
  /* Controls, input fields, tags, chips */
  --radius-md: 14px;
  /* Buttons, small cards, icon boxes */
  --radius-lg: 20px;
  /* Standard cards, dialogs, visual boxes */
  --radius-xl: 28px;
  /* Large hero cards, modals, outer containers */
  --radius-2xl: 28px;
  /* Maintained as alias for backward compatibility */
  --radius-pill: 9999px;
  /* Fully rounded buttons, badges, avatars */
  --radius-full: 9999px;
  /* Alias for full circle/pill */
}

/* Reset & Global */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
  max-width: 100%;
}

body {
  font-family: var(--font-body);
  background-color: var(--bg-cream);
  color: var(--text-cocoa);
  line-height: 1.6;
  overflow-x: clip;
  max-width: 100%;
  width: 100%;
  position: relative;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-serif);
  color: var(--text-espresso);
  font-weight: 800;
  line-height: 1.15;
}

a {
  color: inherit;
  text-decoration: none;
  transition: all 0.2s ease;
}

img {
  max-width: 100%;
  display: block;
}

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

.container {
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}

.section-spacing {
  padding-top: 80px;
  padding-bottom: 80px;
}