:root {
  --ast-global-color-0: #8bc34a;
  --ast-global-color-1: #6a9739;
  --ast-global-color-2: #111111;
  --ast-global-color-3: #333333;
  --ast-global-color-4: #f8f6f3;
  --ast-global-color-5: #ffffff;
  --ast-global-color-6: #001524;
  --ast-global-color-7: #f8f6f3;
  --ast-global-color-8: #000000;

  --color-primary: var(--ast-global-color-1);
  --color-primary-accent: var(--ast-global-color-0);
  --color-dark: var(--ast-global-color-2);
  --color-dark-alt: var(--ast-global-color-3);
  --color-bg: var(--ast-global-color-4);
  --color-light: var(--ast-global-color-5);
  --color-deep: var(--ast-global-color-6);
  --color-offwhite: var(--ast-global-color-7);
  --color-black: var(--ast-global-color-8);

  --bs-primary: var(--color-primary);
  --bs-primary-rgb: 106, 151, 57;
  --bs-body-font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', Arial, sans-serif;
}

html, body { height: 100%; }
body {
  font-family: var(--bs-body-font-family);
  background: var(--color-bg);
  color: var(--color-dark);
  display: flex;
  flex-direction: column;
}

img { max-width: 100%; height: auto; display: block; }

/* Utilities */
.text-gradient {
  background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-accent) 100%);
  -webkit-background-clip: text;
  color: transparent;
}

.btn-primary {
  --bs-btn-bg: var(--color-primary);
  --bs-btn-border-color: var(--color-primary);
  --bs-btn-hover-bg: var(--color-primary-accent);
  --bs-btn-hover-border-color: var(--color-primary-accent);
  --bs-btn-active-bg: var(--color-primary-accent);
}
.btn-outline-dark {
  --bs-btn-color: var(--color-dark);
  --bs-btn-border-color: var(--color-dark);
  --bs-btn-hover-bg: var(--color-dark);
  --bs-btn-hover-border-color: var(--color-dark);
  --bs-btn-hover-color: var(--color-light);
}
.btn-accent {
  --bs-btn-bg: var(--color-primary-accent);
  --bs-btn-border-color: var(--color-primary-accent);
  --bs-btn-hover-bg: var(--color-primary);
  --bs-btn-hover-border-color: var(--color-primary);
  color: #fff;
}
.btn-white { --bs-btn-bg: #fff; --bs-btn-color: var(--color-dark); --bs-btn-hover-bg: var(--color-offwhite); }

.bg-light { background: var(--color-offwhite) !important; }
.bg-dark { background: var(--color-deep) !important; }
.bg-accent { background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-accent) 100%); }
.bg-light-subtle { background: #faf9f6; }

.navbar-brand .logo-icon {
  width: 44px; height: 44px; background: var(--color-primary-accent); color:#fff;
  font-size: 1.25rem; box-shadow: 0 4px 12px rgba(0,0,0,.15);
}

/* Site logo image */
.site-logo { height:40px; width:auto; display:block; object-fit:contain; }

.hero-section { background: radial-gradient(circle at 70% 20%, rgba(139,195,74,0.15), transparent 60%); }
.hero-accent-circle { position: absolute; width: 620px; height:620px; background: radial-gradient(circle, rgba(139,195,74,0.12), transparent 70%); top:-180px; right:-220px; pointer-events:none; }

/* Hero Carousel */
.hero-carousel-wrapper { position:relative; }
#heroCarousel { max-height: 680px; }
.hero-slide-img { height: clamp(420px, 65vh, 680px); object-fit: cover; filter: brightness(0.85) saturate(1.05); }
.hero-overlay-gradient { position:absolute; inset:0; background: radial-gradient(circle at 70% 30%, rgba(139,195,74,0.28), rgba(0,0,0,0.45)); pointer-events:none; mix-blend-mode: multiply; }
#heroCarousel .carousel-caption { bottom: auto; top: 50%; transform: translateY(-50%); padding: 2rem 3rem; max-width: 720px; }
#heroCarousel .carousel-caption h1, #heroCarousel .carousel-caption h2 { text-shadow: 0 4px 18px rgba(0,0,0,0.35); }
#heroCarousel .btn-outline-light { --bs-btn-color:#fff; --bs-btn-border-color:#fff; --bs-btn-hover-bg:#fff; --bs-btn-hover-color: var(--color-primary); }

@media (max-width: 767.98px){
  #heroCarousel .carousel-caption { padding:1.5rem 1.75rem; }
  .hero-slide-img { height: clamp(360px, 58vh, 560px); }
  #heroCarousel .carousel-caption h1 { font-size:2.1rem; }
  #heroCarousel .carousel-caption h2 { font-size:1.9rem; }
}

.feature-box { background: #fff; border:1px solid #eceae6; border-radius: 1rem; transition: .25s; }
.feature-box:hover { box-shadow: 0 10px 30px -10px rgba(0,0,0,.12), 0 2px 6px -2px rgba(0,0,0,.08); transform: translateY(-4px); }
.feature-icon { font-size: 2rem; }

/* Product Cards */
.product-card { background:#fff; border:1px solid #eceae6; border-radius: 1rem; overflow:hidden; display:flex; flex-direction:column; position:relative; transition:.25s; }
.product-card:hover { box-shadow:0 8px 26px -8px rgba(0,0,0,.15); transform:translateY(-4px); }
.product-card img { aspect-ratio: 4/3; object-fit:cover; }
.product-body { padding:1rem 1rem 1.25rem; display:flex; flex-direction:column; gap:.5rem; flex:1; }
.product-title { font-size: .95rem; font-weight:600; line-height:1.25; margin:0; }
.product-category { font-size:.65rem; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color: var(--color-primary); }
.price { font-weight:600; }
/* (Removed cart & quick view styles for catalog-only mode) */

/* Newsletter */
#newsletterForm .form-control:focus { box-shadow:0 0 0 .2rem rgba(139,195,74,.25); border-color: var(--color-primary); }

/* Footer */
footer a:hover { text-decoration:underline; }

/* Back To Top */
.back-to-top { position:fixed; bottom:1.25rem; right:1.25rem; width:46px; height:46px; border-radius:50%; display:none; align-items:center; justify-content:center; box-shadow:0 4px 18px -4px rgba(0,0,0,.25); }
.back-to-top.show { display:flex; }

/* Responsive tweaks */
@media (max-width: 575.98px) {
  h1.display-5 { font-size:2.25rem; }
  .hero-graphic { margin-top:1rem; }
}

/* Product Detail Pages */
.product-detail-hero { background: var(--color-primary); color:#fff; padding:4rem 0 2rem; position:relative; overflow:hidden; }
.product-detail-hero::after { content:""; position:absolute; inset:0; background:radial-gradient(circle at 70% 30%, rgba(255,255,255,0.15), transparent 70%); pointer-events:none; }
.product-detail-title { font-size: clamp(2.5rem, 6vw, 4rem); font-weight:700; letter-spacing:.03em; }
.breadcrumb a { text-decoration:none; }
.spec-list { list-style:none; padding:0; margin:0; display:grid; gap:.5rem; }
.spec-list li { background:#fff; border:1px solid #eceae6; padding:.75rem 1rem; border-radius:.5rem; font-size:.85rem; display:flex; justify-content:space-between; }
.detail-image-primary { aspect-ratio:4/3; object-fit:cover; border-radius:1rem; width:100%; }
.detail-image-grid img { aspect-ratio:1/1; object-fit:cover; border-radius:.75rem; }
.nutrient-badge { background: var(--color-primary-accent); color:#fff; border-radius:999px; padding:.35rem .75rem; font-size:.65rem; letter-spacing:.05em; text-transform:uppercase; }
.blockquote-accent { border-left:4px solid var(--color-primary); padding-left:1rem; font-style:italic; background: #f2f7ec; }
.page-nav-links a { text-decoration:none; }
.page-nav-links .card { transition:.25s; }
.page-nav-links .card:hover { box-shadow:0 6px 22px -6px rgba(0,0,0,.18); transform:translateY(-3px); }
