/* =========================================================================
   BUTTERGO THEME OVERRIDES
   Sits on top of style.css (the FoodMart template's original stylesheet,
   left unmodified) and retints it to Buttergo's warm cream/terracotta
   palette + serif/sans font pairing, and adds the small set of new
   components (category icons, PDF-guide placeholder thumbs) this store
   needs that the grocery template didn't ship.
   ========================================================================= */

:root {
  --accent-color: #B5502F;
  --primary-color: #B5502F;
  --body-font: 'Karla', sans-serif;
  --heading-font: 'Domine', Georgia, serif;
}

body {
  --bs-font-sans-serif: 'Karla', sans-serif;
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-color: #5C4F45;

  --bs-primary: #B5502F;
  --bs-primary-rgb: 181, 80, 47;
  --bs-primary-bg-subtle: #F6E4D6;

  --bs-link-color: #2B211B;
  --bs-link-hover-color: #B5502F;
  --bs-link-color-rgb: 43, 33, 27;
  --bs-link-hover-color-rgb: 181, 80, 47;

  --bs-border-color: #EFE3D6;

  background: #FBF3EA;
}

h1, h2, h3, h4, h5, h6,
.section-title, .banner-title, .display-1, .display-2, .display-3, .display-4 {
  font-family: 'Domine', Georgia, serif;
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #B5502F;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #93401F;
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #93401F;
  --bs-btn-active-border-color: transparent;
}

.btn-outline-primary {
  --bs-btn-color: #B5502F;
  --bs-btn-border-color: #B5502F;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #B5502F;
  --bs-btn-hover-border-color: #B5502F;
}

.btn-outline-dark {
  --bs-btn-color: #2B211B;
  --bs-btn-border-color: #2B211B;
  --bs-btn-hover-bg: #2B211B;
  --bs-btn-hover-border-color: #2B211B;
}

.btn-dark {
  --bs-btn-bg: #2B211B;
  --bs-btn-border-color: #2B211B;
  --bs-btn-hover-bg: #B5502F;
  --bs-btn-hover-border-color: #B5502F;
}

.text-primary { color: #B5502F !important; }
.bg-primary-subtle, .bg-info, .bg-success-subtle, .bg-secondary { background-color: #F6E4D6 !important; }

/* ---------- Category icon row (kept for future reuse, not currently on any page) ---------- */

.category-carousel .category-item,
.cat-icon-grid .category-item {
  color: #2B211B;
}
.category-carousel .category-item svg,
.cat-icon-grid .category-item svg {
  color: #B5502F;
}
.cat-icon-grid .category-item {
  background: #FFFFFF;
  border: 1px solid #FBFBFB;
  box-shadow: 0px 5px 22px rgba(0, 0, 0, 0.04);
  border-radius: 16px;
  text-align: center;
  padding: 40px 16px;
  transition: box-shadow 0.3s ease-out, transform 0.3s ease-out;
}
.cat-icon-grid .category-item:hover {
  transform: translate3d(0,-6px,0);
  box-shadow: 0px 21px 44px rgba(0, 0, 0, 0.08);
}
.cat-icon-grid .category-title {
  font-weight: 600;
  font-size: 16px;
  color: #222222;
  margin-top: 4px;
}
.category-icon-wrap {
  width: 64px;
  height: 64px;
  margin: 0 auto;
  border-radius: 50%;
  background: #F6E4D6;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ---------- PDF guide cover thumbnail ---------- */

.pdf-thumb {
  aspect-ratio: 4 / 3;
  width: 100%;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #F6E4D6, #EBCBA9);
}
.pdf-thumb svg { color: #93401F; }

.pdf-thumb.tone-recipes  { background: linear-gradient(135deg, #F3DCC2, #E4B588); }
.pdf-thumb.tone-planners { background: linear-gradient(135deg, #EAD9E8, #D6B7D6); }
.pdf-thumb.tone-calendars{ background: linear-gradient(135deg, #DCE6D6, #B9CDAE); }
.pdf-thumb.tone-home     { background: linear-gradient(135deg, #F6E4D6, #EBCBA9); }

.product-item figure { position: relative; }

/* ---------- Hero banner (kept for future reuse, not currently on any page) ---------- */

.hero-gradient-1 {
  background: linear-gradient(120deg, #C97B4A 0%, #B5502F 55%, #7A3319 100%);
}
.banner-ad.hero-gradient-1 .banner-content .categories {
  color: #FBE7D6 !important;
  font-family: 'Karla', sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.banner-ad.hero-gradient-1 .banner-content .banner-title,
.banner-ad.hero-gradient-1 .banner-content .display-4 {
  color: #fff !important;
}
.banner-ad.hero-gradient-1 .banner-content p { color: #F6E4D6 !important; }
.banner-ad.hero-gradient-1 .btn-outline-light {
  --bs-btn-color: #fff;
  --bs-btn-border-color: #fff;
  --bs-btn-hover-bg: #fff;
  --bs-btn-hover-color: #7A3319;
}

.promo-gradient-recipes {
  background: linear-gradient(135deg, #F3DCC2, #E4B588);
}
.promo-gradient-planners {
  background: linear-gradient(135deg, #EAD9E8, #D6B7D6);
}

/* ---------- Shop filter chips (kept for future reuse, not currently on any page) ---------- */

.chip {
  display: inline-block;
  padding: 8px 18px;
  border-radius: 999px;
  border: 1px solid #EFE3D6;
  background: #fff;
  font-size: 13.5px;
  font-weight: 600;
  color: #5C4F45;
  text-decoration: none;
  cursor: pointer;
}
.chip:hover { color: #2B211B; }
.chip.active { background: #B5502F; border-color: #B5502F; color: #fff; }

/* ---------- Simple content pages (about/contact/terms/privacy) ---------- */

.prose { max-width: 720px; }
.prose h2 { font-size: 22px; margin: 32px 0 12px; }
.prose h3 { font-size: 17px; margin: 22px 0 8px; }
.prose p, .prose li { color: #5C4F45; line-height: 1.7; }
.prose a { color: #B5502F; text-decoration: underline; }

.legal-meta { font-size: 13px; color: #8A7A6C; margin: -6px 0 24px; }

.payment-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 18px; }
.payment-badge {
  font-size: 12.5px;
  font-weight: 600;
  color: #5C4F45;
  background: #fff;
  border: 1px solid #EFE3D6;
  padding: 6px 12px;
  border-radius: 999px;
}

.faq-list { display: flex; flex-direction: column; gap: 10px; max-width: 720px; margin-top: 8px; }
.faq-item {
  border: 1px solid #EFE3D6;
  border-radius: 12px;
  padding: 0 20px;
  background: #fff;
}
.faq-item summary {
  cursor: pointer;
  font-weight: 700;
  font-family: 'Domine', serif;
  font-size: 15.5px;
  padding: 17px 0;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: '+'; font-size: 20px; color: #B5502F; flex-shrink: 0; }
.faq-item[open] summary::after { content: '\2212'; }
.faq-item p { color: #5C4F45; font-size: 14.5px; line-height: 1.65; margin: 0 0 18px; }

.contact-card {
  background: #fff;
  border: 1px solid #EFE3D6;
  border-radius: 14px;
  padding: 28px;
  margin-top: 12px;
}
.contact-card a { font-weight: 700; color: #2B211B; }

/* ---------- Product detail page ---------- */

.price {
  display: block;
  font-family: 'Domine', Georgia, serif;
  font-weight: 700;
  font-size: 28px;
  color: #2B211B;
}

.included-list { list-style: none; padding: 0; margin: 0 0 26px; display: flex; flex-direction: column; gap: 10px; }
.included-list li { display: flex; gap: 10px; align-items: flex-start; font-size: 14.5px; color: #2B211B; }
.included-list svg { flex-shrink: 0; color: #B5502F; margin-top: 2px; }

.trust-line { display: flex; gap: 8px; align-items: center; font-size: 13px; color: #8A7A6C; margin-top: 16px; }
.trust-line a { color: #2B211B; font-weight: 600; }
