@layer sg-theme{
/* ============================================================
   THE LOCAL HONEY — SHARED STYLESHEET
   ============================================================ */

/* ── Google Fonts ─────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,500&family=Inter:wght@300;400;500;600&display=swap');

/* ── Design Tokens ────────────────────────────────────────── */
:root {
  --primary:        #244b3a;
  --primary-dark:   #1a3629;
  --secondary:      #6d7751;
  --accent:         #d4a03a;
  --bg:             #faf6e9;
  --surface:        #faf6e9;
  --surface-tint:   #f0ead4;
  --surface-dark:   #1a3629;
  --text:           #203c2e;
  --muted:          #617466;
  --border:         #d6ceaf;
  --on-primary:     #ffffff;
  --on-secondary:   #ffffff;
  --on-accent:      #0f172a;
  --on-dark:        #ffffff;

  --header-h:       72px;

  /* Type scale */
  --fs-xs:   clamp(0.7rem,  1.5vw, 0.8rem);
  --fs-sm:   clamp(0.85rem, 1.8vw, 0.95rem);
  --fs-base: clamp(1rem,    2vw,   1.05rem);
  --fs-md:   clamp(1.05rem, 2.2vw, 1.15rem);
  --fs-lg:   clamp(1.15rem, 2.5vw, 1.35rem);
  --fs-xl:   clamp(1.4rem,  3vw,   1.8rem);
  --fs-2xl:  clamp(1.8rem,  4vw,   2.6rem);
  --fs-3xl:  clamp(2.2rem,  5vw,   3.6rem);

  /* Spacing */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4.5rem;

  /* Utilities */
  --radius:     12px;
  --radius-lg:  20px;
  --radius-xl:  32px;
  --shadow:     0 2px 12px rgba(36,75,58,0.09);
  --shadow-md:  0 6px 24px rgba(36,75,58,0.13);
  --shadow-lg:  0 12px 40px rgba(36,75,58,0.18);

  /* Section rhythm */
  --section-py: clamp(3rem, 8vw, 6rem);
}

/* ── Reset ───────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: 'Inter', sans-serif;
  font-size: var(--fs-base);
  color: var(--text);
  background: var(--bg);
  line-height: 1.65;
  overflow-x: hidden;
}
img, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
button { font-family: inherit; cursor: pointer; }
input, textarea, select { font-family: inherit; }

/* ── Skip Link ───────────────────────────────────────────── */
.skip-link {
  position: absolute;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.skip-link:focus {
  width: auto; height: auto;
  clip: auto;
  background: var(--accent);
  color: var(--on-accent);
  padding: var(--space-3) var(--space-5);
  z-index: 9999;
  border-radius: var(--radius);
  outline: none;
}

/* ── Container ───────────────────────────────────────────── */
.container {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: clamp(1rem, 5vw, 2rem);
}

/* ── Typography ──────────────────────────────────────────── */
h1, h2, h3, h4, h5 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  line-height: 1.2;
  color: var(--text);
  font-weight: 600;
}
h1 { font-size: var(--fs-3xl); }
h2 { font-size: var(--fs-2xl); }
h3 { font-size: var(--fs-xl); }
h4 { font-size: var(--fs-lg); }
p { color: var(--muted); line-height: 1.7; }

.eyebrow {
  display: inline-block;
  font-size: var(--fs-xs);
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--secondary);
  margin-bottom: var(--space-3);
}

/* ── Buttons ─────────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: 0.7rem 1.6rem;
  border-radius: var(--radius);
  font-family: 'Inter', sans-serif;
  font-size: var(--fs-sm);
  font-weight: 600;
  letter-spacing: 0.04em;
  border: 2px solid transparent;
  transition: background 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
  text-decoration: none;
  cursor: pointer;
  line-height: 1;
  min-height: 44px;
}
.btn-primary {
  background: var(--accent);
  color: var(--on-accent);
  border-color: var(--accent);
}
.btn-primary:hover, .btn-primary:focus-visible {
  background: #c2902e;
  border-color: #c2902e;
  box-shadow: var(--shadow-md);
}
.btn-outline {
  background: transparent;
  color: var(--primary);
  border-color: var(--primary);
}
.btn-outline:hover, .btn-outline:focus-visible {
  background: var(--primary);
  color: var(--on-primary);
}
.btn-outline-light {
  background: transparent;
  color: var(--on-primary);
  border-color: rgba(255,255,255,0.6);
}
.btn-outline-light:hover, .btn-outline-light:focus-visible {
  background: rgba(255,255,255,0.15);
  border-color: #ffffff;
}
.btn-dark {
  background: var(--primary);
  color: var(--on-primary);
  border-color: var(--primary);
}
.btn-dark:hover, .btn-dark:focus-visible {
  background: var(--primary-dark);
  border-color: var(--primary-dark);
  box-shadow: var(--shadow-md);
}

/* ── Focus Styles ────────────────────────────────────────── */
:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}

/* ── Section Spacing ─────────────────────────────────────── */
.section {
  padding-block: var(--section-py);
}
.section-sm {
  padding-block: clamp(2rem, 5vw, 3.5rem);
}

/* ── Section Backgrounds ─────────────────────────────────── */
.bg-tint    { background: var(--surface-tint); }
.bg-primary { background: var(--primary); }
.bg-dark    { background: var(--primary-dark); }
.bg-secondary { background: var(--secondary); }

/* ── Page Strip Header (utility pages) ───────────────────── */
.page-strip {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
  padding-block: clamp(1.5rem, 4vw, 2.5rem);
  position: relative;
  overflow: hidden;
}
.page-strip::before {
  content: '';
  position: absolute;
  top: -30px; right: -30px;
  width: 140px; height: 140px;
  border-radius: 50%;
  background: rgba(255,255,255,0.05);
  pointer-events: none;
}
.page-strip::after {
  content: '';
  position: absolute;
  bottom: -20px; left: 10%;
  width: 80px; height: 80px;
  border-radius: 50%;
  background: rgba(212,160,58,0.15);
  pointer-events: none;
}
.page-strip .breadcrumb {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--fs-xs);
  color: rgba(255,255,255,0.65);
  margin-bottom: var(--space-2);
}
.page-strip .breadcrumb a { color: rgba(255,255,255,0.75); }
.page-strip .breadcrumb a:hover { color: var(--accent); }
.page-strip .breadcrumb svg { width: 12px; height: 12px; }
.page-strip h1 {
  color: var(--on-primary);
  font-size: var(--fs-2xl);
  margin-bottom: 0;
}
.page-strip p {
  color: rgba(255,255,255,0.75);
  margin-top: var(--space-2);
  font-size: var(--fs-sm);
}

/* ── HEADER ──────────────────────────────────────────────── */
.site-header {
  position: sticky;
  top: 0;
  z-index: 900;
  height: var(--header-h);
  background: var(--bg);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 1px 8px rgba(36,75,58,0.07);
}
.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  width: 100%;
  gap: var(--space-5);
}
.site-logo {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  text-decoration: none;
  flex-shrink: 0;
}
.site-logo .logo-mark {
  width: 40px; height: 40px;
  background: var(--primary);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.site-logo .logo-mark svg { color: var(--on-primary); }
.site-logo .logo-text {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  font-size: 1.25rem;
  color: var(--primary);
  line-height: 1.1;
}
.site-logo .logo-sub {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
}

.nav-links {
  display: flex;
  gap: 0.25rem;
  align-items: center;
}
.nav-links a {
  font-size: var(--fs-sm);
  font-weight: 500;
  color: var(--text);
  padding: 0.4rem 0.75rem;
  border-radius: var(--radius);
  transition: background 0.15s, color 0.15s;
  white-space: nowrap;
}
.nav-links a:hover,
.nav-links a.active {
  background: var(--surface-tint);
  color: var(--primary);
}
.nav-links a.active { font-weight: 600; color: var(--primary); }

.header-actions {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  flex-shrink: 0;
}
.cart-btn {
  position: relative;
  background: none;
  border: none;
  color: var(--text);
  padding: 0.4rem;
  border-radius: var(--radius);
  display: flex;
  align-items: center;
  min-width: 44px; min-height: 44px;
  justify-content: center;
}
.cart-btn:hover { background: var(--surface-tint); color: var(--primary); }

#hamburger {
  display: none;
  background: none;
  border: 0;
  cursor: pointer;
  color: var(--text);
  padding: var(--space-2);
  min-width: 44px; min-height: 44px;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius);
}
#hamburger:hover { background: var(--surface-tint); }

/* Mobile Menu */
#mobileMenu {
  display: none;
  position: fixed;
  top: var(--header-h);
  left: 0; right: 0;
  z-index: 1000;
  background: var(--surface);
  box-shadow: 0 8px 24px rgba(0,0,0,0.18);
  padding: var(--space-5) var(--space-5) var(--space-6);
  flex-direction: column;
  gap: var(--space-1);
  max-height: calc(100dvh - var(--header-h));
  overflow-y: auto;
  border-top: 2px solid var(--accent);
}
#mobileMenu.active { display: flex; }

.mobile-nav-links {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}
.mobile-nav-links a {
  display: flex;
  align-items: center;
  font-size: var(--fs-lg);
  font-family: 'Cormorant Garamond', serif;
  font-weight: 600;
  color: var(--text);
  padding: 0.7rem 0.75rem;
  border-radius: var(--radius);
  min-height: 50px;
  border-bottom: 1px solid var(--border);
  transition: background 0.15s, color 0.15s;
}
.mobile-nav-links a:last-child { border-bottom: none; }
.mobile-nav-links a:hover,
.mobile-nav-links a.active {
  background: var(--surface-tint);
  color: var(--primary);
}
.mobile-cta {
  margin-top: var(--space-4);
  padding-top: var(--space-4);
  border-top: 1px solid var(--border);
}
.mobile-cta .btn { width: 100%; justify-content: center; }

@media (max-width: 1023px) {
  .nav-links { display: none; }
  #hamburger { display: inline-flex; }
  #mobileMenu.active { display: flex; }
}
@media (min-width: 1024px) {
  #mobileMenu { display: none !important; }
  #hamburger  { display: none !important; }
  .nav-links  { display: flex !important; }
}

/* ── HERO ────────────────────────────────────────────────── */
.hero {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.hero-img-wrap {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero-img-wrap img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
}
.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(26,54,41,0.82) 0%, rgba(26,54,41,0.45) 60%, rgba(26,54,41,0.1) 100%);
  z-index: 1;
}
.hero-content {
  position: relative;
  z-index: 2;
  padding-top: calc(var(--header-h) + 2rem);
  padding-bottom: clamp(3rem, 8vw, 6rem);
}
.hero-content h1 {
  color: var(--on-primary);
  font-size: clamp(2rem, 5vw, 4rem);
  max-width: 700px;
  margin-bottom: var(--space-4);
}
.hero-content p {
  color: rgba(255,255,255,0.85);
  font-size: var(--fs-md);
  max-width: 500px;
  margin-bottom: var(--space-5);
}
.hero-actions {
  display: flex;
  gap: var(--space-3);
  flex-wrap: wrap;
}
.demo-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  background: rgba(212,160,58,0.18);
  border: 1px solid rgba(212,160,58,0.5);
  color: #f2d08a;
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.35rem 0.9rem;
  border-radius: 99px;
  margin-bottom: var(--space-4);
}

@media (max-width: 768px) {
  .hero { min-height: 65vh; }
}
@media (min-width: 769px) and (max-width: 1023px) {
  .hero { min-height: 78vh; }
}
@media (min-width: 1024px) {
  .hero { min-height: 100vh; }
}

/* ── HOME PROMO STRIP ────────────────────────────────────── */
.promo-strip {
  background: var(--primary);
  padding-block: clamp(1.5rem, 4vw, 2.5rem);
  position: relative;
  overflow: hidden;
}
.promo-strip::before {
  content: '';
  position: absolute;
  right: -60px; top: -60px;
  width: 200px; height: 200px;
  border-radius: 50%;
  background: rgba(212,160,58,0.12);
}
.promo-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
  flex-wrap: wrap;
}
.promo-text h2 {
  font-size: var(--fs-xl);
  color: var(--on-primary);
  margin-bottom: var(--space-2);
}
.promo-text p {
  color: rgba(255,255,255,0.75);
  font-size: var(--fs-sm);
  max-width: 420px;
}

/* ── HOME CATEGORIES ─────────────────────────────────────── */
.home-categories-section {
  padding-block: var(--section-py);
  background: var(--bg);
}
.section-header {
  margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
}
.section-header.centered {
  text-align: center;
}
.section-header h2 { margin-bottom: var(--space-3); }
.section-header p { max-width: 560px; }
.section-header.centered p { margin-inline: auto; }

/* ── FEATURED PRODUCTS ───────────────────────────────────── */
.featured-products-section {
  background: var(--surface-tint);
  padding-block: var(--section-py);
}
.viewall-wrap {
  text-align: center;
  margin-top: var(--space-6);
}
[data-sg-viewall] {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}
[data-sg-viewall]:hover { color: var(--accent); }

/* ── ABOUT SECTION ───────────────────────────────────────── */
.about-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}
.about-img-wrap {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  aspect-ratio: 4/5;
}
.about-img-wrap img {
  width: 100%; height: 100%;
  object-fit: cover;
}
.about-accent-box {
  position: absolute;
  bottom: -16px; right: -16px;
  width: 120px; height: 120px;
  background: var(--accent);
  border-radius: var(--radius-lg);
  opacity: 0.25;
  z-index: -1;
}
.about-text { padding-inline: var(--space-4); }
.about-text h2 { margin-bottom: var(--space-4); }
.about-text p { margin-bottom: var(--space-4); }
.values-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-5);
}
.value-item {
  display: flex;
  gap: var(--space-3);
  align-items: flex-start;
}
.value-icon {
  width: 40px; height: 40px;
  flex-shrink: 0;
  background: var(--surface-tint);
  border-radius: var(--radius);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--primary);
}
.value-item h4 { font-size: var(--fs-base); margin-bottom: 2px; }
.value-item p { font-size: var(--fs-sm); margin: 0; }

/* ── CTA BAND ────────────────────────────────────────────── */
.cta-band {
  background: var(--accent);
  padding-block: clamp(2.5rem, 6vw, 4rem);
  text-align: center;
}
.cta-band h2 { color: var(--on-accent); margin-bottom: var(--space-3); }
.cta-band p  { color: rgba(15,23,42,0.75); margin-bottom: var(--space-5); max-width: 520px; margin-inline: auto; }
.cta-band .btn-dark { background: var(--primary); color: var(--on-primary); border-color: var(--primary); }
.cta-band .btn-dark:hover { background: var(--primary-dark); border-color: var(--primary-dark); }

/* ── CONTACT SECTION ─────────────────────────────────────── */
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
}
.contact-info h2 { margin-bottom: var(--space-4); }
.contact-info p  { margin-bottom: var(--space-5); }
.contact-detail {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}
.contact-detail-icon {
  width: 36px; height: 36px;
  flex-shrink: 0;
  background: var(--surface-tint);
  border-radius: var(--radius);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--primary);
}
.contact-detail-text label {
  display: block;
  font-size: var(--fs-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--muted);
  margin-bottom: 2px;
}
.contact-detail-text a,
.contact-detail-text span {
  font-size: var(--fs-sm);
  color: var(--text);
  font-weight: 500;
}
.contact-detail-text a:hover { color: var(--primary); }

/* Contact Form */
.contact-form-card {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: clamp(1.5rem, 4vw, 2.5rem);
  box-shadow: var(--shadow);
}
.form-group { margin-bottom: var(--space-4); }
.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-4);
}
.form-group label {
  display: block;
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--text);
  margin-bottom: var(--space-2);
}
.form-group input,
.form-group textarea,
.form-group select {
  width: 100%;
  padding: 0.65rem 1rem;
  border: 1.5px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg);
  color: var(--text);
  font-size: var(--fs-sm);
  transition: border-color 0.2s;
}
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
  outline: none;
  border-color: var(--primary);
}
.form-group textarea { resize: vertical; min-height: 120px; }
.form-status {
  margin-top: var(--space-4);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius);
  font-size: var(--fs-sm);
  font-weight: 500;
  display: none;
}
.form-status.success { background: #d1fae5; color: #065f46; display: block; }
.form-status.error   { background: #fee2e2; color: #991b1b; display: block; }

/* ── INSTAGRAM / SOCIAL ──────────────────────────────────── */
.instagram-section {
  background: var(--surface-tint);
  padding-block: var(--section-py);
}
.ig-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--space-3);
  margin-top: var(--space-5);
}
.ig-item {
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: var(--radius);
  display: block;
  position: relative;
}
.ig-item img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.3s;
}
.ig-item:hover img { transform: scale(1.05); }
.ig-overlay {
  position: absolute;
  inset: 0;
  background: rgba(36,75,58,0);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  transition: background 0.3s;
}
.ig-item:hover .ig-overlay { background: rgba(36,75,58,0.45); }

.social-links-row {
  display: flex;
  justify-content: center;
  gap: var(--space-3);
  margin-top: var(--space-5);
  flex-wrap: wrap;
}
.social-link {
  width: 44px; height: 44px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid var(--border);
  color: var(--text);
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.social-link:hover { background: var(--primary); color: var(--on-primary); border-color: var(--primary); }

/* ── FOOTER ──────────────────────────────────────────────── */
.site-footer {
  background: var(--primary-dark);
  color: var(--on-primary);
  padding-block: clamp(2.5rem, 6vw, 4rem);
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr 1fr;
  gap: clamp(1.5rem, 4vw, 3rem);
}
.footer-brand .logo-text { color: #ffffff; font-size: 1.3rem; }
.footer-brand .logo-sub  { color: rgba(255,255,255,0.55); }
.footer-tagline {
  color: rgba(255,255,255,0.65);
  font-size: var(--fs-sm);
  line-height: 1.65;
  margin-top: var(--space-3);
  margin-bottom: var(--space-4);
}
.footer-col h4 {
  font-family: 'Cormorant Garamond', serif;
  font-size: var(--fs-base);
  font-weight: 700;
  color: #ffffff;
  margin-bottom: var(--space-4);
  letter-spacing: 0.04em;
}
.footer-col ul li { margin-bottom: var(--space-2); }
.footer-col ul li a {
  color: rgba(255,255,255,0.65);
  font-size: var(--fs-sm);
  transition: color 0.15s;
}
.footer-col ul li a:hover { color: var(--accent); }
.footer-contact-item {
  display: flex;
  gap: var(--space-2);
  align-items: flex-start;
  margin-bottom: var(--space-3);
  font-size: var(--fs-sm);
  color: rgba(255,255,255,0.65);
}
.footer-contact-item svg { flex-shrink: 0; margin-top: 2px; }
.footer-contact-item a, .footer-contact-item [data-sg="address"] { color: rgba(255,255,255,0.65); }
.footer-contact-item a:hover { color: var(--accent); }
.footer-social {
  display: flex;
  gap: var(--space-2);
  flex-wrap: wrap;
  margin-top: var(--space-4);
}
.footer-social-link {
  width: 36px; height: 36px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,0.2);
  color: rgba(255,255,255,0.65);
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.footer-social-link:hover { background: var(--accent); color: var(--on-accent); border-color: var(--accent); }

.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.1);
  margin-top: clamp(1.5rem, 4vw, 2.5rem);
  padding-top: var(--space-4);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space-3);
}
.footer-bottom p {
  color: rgba(255,255,255,0.45);
  font-size: var(--fs-xs);
  margin: 0;
}
.footer-bottom a { color: rgba(255,255,255,0.55); }
.footer-bottom a:hover { color: var(--accent); }

/* ── SHOP PAGE ───────────────────────────────────────────── */
.shop-wrapper {
  padding-block: var(--section-py);
}
.shop-intro {
  margin-bottom: var(--space-7);
}
.demo-notice {
  background: rgba(212,160,58,0.12);
  border: 1px solid rgba(212,160,58,0.4);
  border-radius: var(--radius);
  padding: var(--space-3) var(--space-5);
  font-size: var(--fs-sm);
  color: var(--text);
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-bottom: var(--space-5);
}
.demo-notice svg { color: var(--accent); flex-shrink: 0; }

/* ── ABOUT PAGE ──────────────────────────────────────────── */
.about-page-content { padding-block: var(--section-py); }
.about-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5);
  margin-top: var(--space-7);
}
.feature-card {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  box-shadow: var(--shadow);
}
.feature-card-icon {
  width: 48px; height: 48px;
  background: var(--surface-tint);
  border-radius: var(--radius);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--primary);
  margin-bottom: var(--space-4);
}
.feature-card h3 { font-size: var(--fs-lg); margin-bottom: var(--space-2); }
.feature-card p  { font-size: var(--fs-sm); margin: 0; }

/* ── BOOKING PAGE ────────────────────────────────────────── */
.booking-hero {
  position: relative;
  overflow: hidden;
}
.booking-layout {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
  padding-block: var(--section-py);
}
.booking-info h2 { margin-bottom: var(--space-4); }
.booking-info p  { margin-bottom: var(--space-4); }
.booking-highlights {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-5);
}
.booking-highlight {
  display: flex;
  gap: var(--space-3);
  align-items: flex-start;
}
.bh-icon {
  width: 36px; height: 36px;
  flex-shrink: 0;
  background: var(--surface-tint);
  border-radius: var(--radius);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--secondary);
}
.bh-text h4 { font-size: var(--fs-sm); font-weight: 600; margin-bottom: 2px; color: var(--text); }
.bh-text p  { font-size: var(--fs-xs); margin: 0; color: var(--muted); }

/* Native Booking Widget */
.booking-widget-card {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: clamp(1.5rem, 4vw, 2.5rem);
  box-shadow: var(--shadow-md);
}
.booking-widget-card h3 {
  font-size: var(--fs-xl);
  margin-bottom: var(--space-2);
}
.booking-widget-card .subtitle {
  color: var(--muted);
  font-size: var(--fs-sm);
  margin-bottom: var(--space-5);
}

/* Booking form fields */
.nb-field { margin-bottom: var(--space-4); }
.nb-field label {
  display: block;
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--text);
  margin-bottom: var(--space-2);
}
.nb-field select,
.nb-field input[type="date"],
.nb-field input[type="text"],
.nb-field input[type="email"] {
  width: 100%;
  padding: 0.65rem 1rem;
  border: 1.5px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg);
  color: var(--text);
  font-size: var(--fs-sm);
  transition: border-color 0.2s;
  appearance: auto;
}
.nb-field select:focus,
.nb-field input:focus {
  outline: none;
  border-color: var(--primary);
}
.nb-field select:disabled,
.nb-field input:disabled { opacity: 0.5; cursor: not-allowed; }

.nb-slots-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
  gap: var(--space-2);
  margin-top: var(--space-2);
}
.nb-slot {
  padding: 0.5rem 0.25rem;
  border: 1.5px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg);
  font-size: var(--fs-xs);
  font-weight: 600;
  color: var(--text);
  text-align: center;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s, color 0.2s;
  min-height: 44px;
  display: flex; align-items: center; justify-content: center;
}
.nb-slot:hover { border-color: var(--primary); color: var(--primary); background: var(--surface-tint); }
.nb-slot.selected { border-color: var(--primary); background: var(--primary); color: var(--on-primary); }
.nb-slot:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

.nb-msg {
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius);
  font-size: var(--fs-sm);
  margin-bottom: var(--space-3);
}
.nb-msg.loading  { background: var(--surface-tint); color: var(--muted); }
.nb-msg.empty    { background: #fef3c7; color: #92400e; }
.nb-msg.success  { background: #d1fae5; color: #065f46; }
.nb-msg.error    { background: #fee2e2; color: #991b1b; }
.nb-msg.unavail  { background: var(--surface-tint); color: var(--muted); }
.nb-msg.warn     { background: #fef9c3; color: #713f12; }

.nb-section-title {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--text);
  margin-bottom: var(--space-2);
  display: block;
}

/* ── FAQ SECTION ─────────────────────────────────────────── */
.faq-section {
  background: var(--surface-tint);
  padding-block: var(--section-py);
}
.faq-list {
  max-width: 760px;
  margin-inline: auto;
  margin-top: var(--space-6);
}
.faq-item {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  margin-bottom: var(--space-3);
  background: var(--bg);
  overflow: hidden;
}
.faq-question {
  width: 100%;
  background: none;
  border: none;
  padding: var(--space-4) var(--space-5);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-3);
  font-family: 'Cormorant Garamond', serif;
  font-size: var(--fs-lg);
  font-weight: 600;
  color: var(--text);
  text-align: left;
  cursor: pointer;
  min-height: 56px;
}
.faq-question:hover { color: var(--primary); }
.faq-question svg { flex-shrink: 0; transition: transform 0.2s; color: var(--secondary); }
.faq-item.open .faq-question svg { transform: rotate(180deg); }
.faq-answer {
  display: none;
  padding: 0 var(--space-5) var(--space-4);
  font-size: var(--fs-sm);
  color: var(--muted);
  line-height: 1.7;
}
.faq-item.open .faq-answer { display: block; }

/* ── BLOG PAGE ───────────────────────────────────────────── */
.blog-empty-state {
  text-align: center;
  padding-block: clamp(4rem, 10vw, 8rem);
  max-width: 480px;
  margin-inline: auto;
}
.blog-empty-icon {
  width: 80px; height: 80px;
  background: var(--surface-tint);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--secondary);
  margin-inline: auto;
  margin-bottom: var(--space-5);
}
.blog-empty-state h2 { margin-bottom: var(--space-3); }
.blog-empty-state p { color: var(--muted); font-size: var(--fs-sm); }

/* ── CART / SUCCESS / CANCEL PAGES ──────────────────────── */
.simple-page-main {
  padding-block: var(--section-py);
  min-height: calc(100vh - var(--header-h) - 200px);
}

/* ── COOKIE CONSENT ──────────────────────────────────────── */
#cookieBar {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 9999;
  background: var(--primary-dark);
  color: rgba(255,255,255,0.85);
  padding: var(--space-4) clamp(1rem, 5vw, 2rem);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  flex-wrap: wrap;
  font-size: var(--fs-sm);
  box-shadow: 0 -4px 20px rgba(0,0,0,0.2);
}
#cookieBar p { color: rgba(255,255,255,0.85); margin: 0; }
#cookieBar a { color: var(--accent); }
#cookieAccept {
  background: var(--accent);
  color: var(--on-accent);
  border: none;
  border-radius: var(--radius);
  padding: 0.5rem 1.25rem;
  font-weight: 600;
  font-size: var(--fs-sm);
  cursor: pointer;
  white-space: nowrap;
  min-height: 40px;
}
#cookieAccept:hover { background: #c2902e; }

/* ── PRODUCT DETAIL PAGES ────────────────────────────────── */
.product-detail-main {
  padding-block: var(--section-py);
}

/* ── RESPONSIVE BREAKPOINTS ──────────────────────────────── */
@media (max-width: 1023px) {
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .ig-grid     { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 768px) {
  .about-split         { grid-template-columns: 1fr; }
  .about-text          { padding-inline: 0; }
  .contact-grid        { grid-template-columns: 1fr; }
  .booking-layout      { grid-template-columns: 1fr; }
  .about-feature-grid  { grid-template-columns: 1fr; }
  .form-row            { grid-template-columns: 1fr; }
  .promo-inner         { flex-direction: column; align-items: flex-start; }
  .ig-grid             { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  .footer-grid         { grid-template-columns: 1fr; }
  .ig-grid             { grid-template-columns: repeat(2, 1fr); }
  .hero-actions        { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 480px) {
  .ig-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ── REDUCED MOTION ──────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}
}
/* sg-theme-contract:v1 */
:root{--bg:#faf6e9;--surface:#faf6e9;--text:#203c2e;--muted:#617466;--primary:#244b3a;--secondary:#6d7751;--on-secondary:#ffffff;--on-primary:#ffffff;--accent:#d4a03a;--on-accent:#0f172a;--border:color-mix(in srgb,var(--text) 18%,transparent)}
/* /sg-theme-contract:v1 */
/* Honey approved design delta 2026-09-24 */
html { scrollbar-gutter: stable; }
:root { --sg-bg: #faf6e9 !important; --sg-surface: #fffdf6 !important; --sg-ink: #203c2e !important; --sg-muted: #617466 !important; --sg-border: #d6ceaf !important; }
@layer sg-theme {
  html.sg-store .site-header { background: rgb(250, 246, 233) !important; }
  html.sg-store .site-header :is(a, button, [data-sg-role="logo"]) { color: rgb(32, 60, 46) !important; }
}
.site-header { background: rgb(250, 246, 233) !important; height: 72px !important; }
.site-header .nav-links > a { line-height: 1.4; font-family: Arial, sans-serif !important; font-size: 15px !important; font-weight: 600 !important; }
.site-header .header-actions { display: flex; align-items: center; gap: 12px; margin-inline-start: 0px !important; }
.site-header .header-actions > .sg-acct-link, .site-header .cart-btn { display: inline-flex; align-items: center; justify-content: center; width: 44px; min-width: 44px; height: 44px; padding: 0px; flex-shrink: 0; }
.site-header .header-actions > .btn { font-family: Arial, sans-serif !important; }
.site-header .nav-links > a:is([href="booking.html"],[href="/booking"],[href="booking"]), #mobileMenu > a:is([href="booking.html"],[href="/booking"],[href="booking"]):not(.btn):not(.sg-mm-cta) { display: none !important; }
@media (min-width: 1024px) {
  .site-header .header-inner { display: grid !important; grid-template-columns: minmax(0px, 1fr) auto minmax(0px, 1fr) !important; align-items: center !important; }
  .header-inner > .site-logo { grid-column: 1; justify-self: start; }
  .header-inner > .nav-links { grid-column: 2; justify-self: center; margin-inline: 0px !important; }
  .header-inner > .header-actions { grid-column: 3; justify-self: end; margin-inline: 0px !important; }
}
.hero { background: rgb(26, 54, 41); display: flex; align-items: center; min-height: 480px !important; }
.honey-photo-banner::after { content: none !important; display: none !important; }
.honey-photo-banner .hero-content { color: rgb(255, 253, 246); z-index: 2; }
.hero-img-wrap { inset: 0px; width: 100%; z-index: 0; }
.hero-img-wrap img { object-position: 65% 52%; }
.hero-overlay { display: block; background: linear-gradient(90deg, rgba(12, 30, 21, 0.9) 0%, rgba(12, 30, 21, 0.76) 30%, rgba(12, 30, 21, 0.3) 62%, rgba(12, 30, 21, 0.08) 100%); z-index: 1; }
.hero-content { width: 100%; padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; }
.hero-content h1 { color: rgb(255, 253, 246); font-size: clamp(2.4rem, 4.5vw, 3.75rem); line-height: 1.08; max-width: 560px; margin-bottom: 1.25rem; }
.hero-content p { color: rgb(244, 238, 220); font-size: 1.05rem; line-height: 1.7; max-width: 440px; margin-bottom: 1.6rem; }
.hero .demo-badge { color: rgb(255, 243, 201); font-size: 0.62rem; background: rgba(19, 43, 29, 0.7); border-color: rgba(237, 196, 104, 0.65); max-width: max-content; letter-spacing: 0.04em; }
.hero .btn-outline-light { color: rgb(255, 253, 246); border-color: rgb(255, 253, 246); background: transparent; }
.promo-strip { padding-block: 1.2rem; }
.section { padding-block: 2.5rem; }
.product-detail-main { padding-top: 1.5rem; }
.honey-contact { padding-block: 3rem !important; }
.honey-contact-layout { display: grid; grid-template-columns: minmax(0px, 0.85fr) minmax(0px, 1.15fr); gap: clamp(1.5rem, 5vw, 4rem); align-items: start; text-align: left; }
.honey-contact-intro { padding-top: 1rem; }
.honey-contact-intro h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); max-width: 15ch; }
.honey-contact-intro p { font: 16px / 1.7 Arial, sans-serif; margin-inline: 0px !important; max-width: 32ch !important; }
.honey-contact .sg-contact-form-fallback { padding: 1.5rem; background: rgb(250, 246, 233); border: 1px solid rgb(214, 206, 175); border-radius: 14px; color: rgb(32, 60, 46); margin: 0px !important; }
.honey-contact .sg-contact-form-fallback > h3 { text-align: left; color: rgb(36, 75, 58) !important; font: 600 1.5rem / 1.3 Georgia, serif !important; margin-bottom: 1.25rem !important; }
.honey-contact #contactForm { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; text-align: left; }
.honey-form-field { display: flex; flex-direction: column; gap: 0.4rem; min-width: 0px; color: rgb(36, 75, 58); font: 600 13px / 1.4 Arial, sans-serif; }
.honey-field-message, .honey-field-phone { grid-column: 1 / -1; }
.honey-contact #contactForm :is(input:not([name="_gotcha"]), textarea) { margin: 0px !important; background: rgb(255, 253, 246) !important; border: 1px solid rgb(201, 197, 172) !important; border-radius: 8px !important; color: rgb(32, 60, 46) !important; font: 400 16px / 1.5 Arial, sans-serif !important; padding: 10px 12px !important; }
.honey-contact #contactForm textarea { min-height: 120px; resize: vertical; }
.honey-contact #contactForm :is(input, textarea):focus-visible { outline: rgb(212, 160, 58) solid 2px; outline-offset: 2px; }
.honey-contact #contactForm [type="submit"] { grid-column: 1 / -1; justify-self: start; background: rgb(212, 160, 58) !important; color: rgb(23, 45, 34) !important; border-radius: 8px !important; padding: 12px 24px !important; font: 600 15px / 1.3 Arial, sans-serif !important; }
.honey-contact .form-status { grid-column: 1 / -1; color: rgb(36, 75, 58); margin: 0px !important; }
.honey-contact .form-status:empty { display: none !important; }
@media (max-width: 700px) {
  .header-inner { gap: 0.5rem !important; padding-inline: 1rem !important; }
  .header-actions { gap: 0.2rem !important; }
  .header-actions > a:is([href="booking.html"],[href="/booking"],[href="booking"]) { display: none !important; }
  .site-logo { gap: 0.5rem; }
  .site-logo .logo-mark { width: 30px; height: 30px; }
  .site-logo .logo-text { font-size: 1.05rem; }
  .site-logo .logo-sub { font-size: 0.5rem; }
  .hero { min-height: 500px !important; }
  .hero-content { padding: 2.5rem 1.25rem !important; }
  .hero-content h1, .hero-content p, .hero .demo-badge { max-width: none; }
  .hero-content h1 { font-size: 2.5rem; }
  .hero-content p { font-size: 1rem; }
  .hero-img-wrap { position: absolute; inset: 0px; width: 100%; height: 100%; }
  .hero-img-wrap img { object-position: 62% center; }
  .hero-overlay { background: linear-gradient(90deg, rgba(12, 30, 21, 0.87), rgba(12, 30, 21, 0.45)); }
  .hero-actions { gap: 0.6rem; }
  .hero-actions .btn { font-size: 0.8rem; padding: 0.65rem 0.85rem; }
  .section { padding-block: 1.75rem; }
  .product-detail-main { padding-top: 1rem; }
  .honey-contact-layout { grid-template-columns: 1fr; gap: 1.25rem; }
  .honey-contact-intro h2 { max-width: none; }
  .honey-contact .sg-contact-form-fallback { padding: 1.1rem; }
  .honey-contact #contactForm { grid-template-columns: 1fr; }
}
/* honey-commerce-layout-v1 */
/* Honey-specific design adjustment. Does not impose this layout on other Factory sites. */
@layer sg-theme {
  html.sg-store main.honey-commerce-main {
    padding: clamp(24px, 4vw, 48px) 0 clamp(40px, 6vw, 72px);
    min-height: 0;
  }
  .honey-commerce-main > .container { max-width: 1120px; }
  .honey-commerce-heading { margin-bottom: 28px; }
  .honey-commerce-heading h1 {
    color: var(--ink, #234d3e);
    font-size: clamp(30px, 4vw, 42px);
    line-height: 1.2;
    margin: 0 0 10px;
  }
  .honey-commerce-heading p { margin: 0; max-width: 60ch; color: var(--ink, #234d3e); }
  .honey-commerce-main #cart-page { padding: 0; margin: 0; }
  .honey-commerce-main .sg-cartpage-empty {
    padding: clamp(32px, 6vw, 64px) 20px;
    border: 1px solid var(--border, #d9cba5);
    border-radius: var(--radius-lg, 16px);
    background: var(--paper, #faf6e8);
  }
}
/* honey-brand-catalog-v1 */
/* Honey palette accepted by the customer. */
:root{--bg:#faf5e9;--surface:#fffbf3;--surface-tint:#eee3cc;--surface-dark:#483a2e;--text:#403429;--muted:#75644f;--primary:#654832;--primary-dark:#483425;--secondary:#647049;--accent:#d39a32;--on-primary:#fffaf0;--on-accent:#281d13;--border:#ddceb4;--radius:6px;--shadow:0 2px 10px #45331b08}
html,body{background:#faf5e9!important;color:#403429!important}.site-header,html.sg-store .site-header{background:#faf5e9!important;border-color:#dfd2b9!important}html.sg-store .site-header :is(a,button,[data-sg-role=logo]),.site-header :is(a,button){color:#403429!important}.site-header .nav-links>a.active{background:#ecdfc3!important}.site-header .nav-links>a{font-weight:500!important}.site-header .btn,.btn-primary{background:#d39a32!important;color:#281d13!important;border-color:#d39a32!important;border-radius:5px!important}.honey-photo-banner .hero-overlay{background:linear-gradient(90deg,rgba(42,28,16,.86) 0%,rgba(42,28,16,.68) 33%,rgba(42,28,16,.15) 68%,rgba(42,28,16,.02) 100%)!important}.hero .demo-badge{background:rgba(59,40,24,.64)!important}.hero-content h1{font-weight:600!important}.hero-content p{font-weight:400!important}.hero-actions .btn-outline-light{border-radius:5px!important}.promo-strip{background:#eadebf!important;border-block:1px solid #d7c4a0;color:#493929!important;padding-block:1.8rem!important;position:relative}.promo-strip .promo-text h2,.promo-strip .promo-text p{color:#493929!important}.promo-strip .promo-text h2{font-weight:600}.promo-strip::before{content:''!important;position:absolute;inset:0 0 0 auto!important;width:33%!important;height:auto!important;border-radius:0!important;background-image:url('/honeycomb.svg')!important;background-size:90px 52px!important;background-color:transparent!important;opacity:.5!important;mask-image:linear-gradient(90deg,transparent,#000);pointer-events:none}.promo-inner{position:relative;z-index:1}.promo-strip .btn{background:transparent!important;border:1px solid #83603a!important;color:#493929!important;border-radius:5px!important}.home-categories-section,.instagram-section{background:#faf5e9!important}.featured-products-section{background:#f1e8d5!important}.section-header h2,.about-text h2{color:#493929!important;font-weight:600}.eyebrow{color:#80713f!important}.about-accent-box{background:#cfa354!important;opacity:.5}.cta-band{background:#e7d5ae!important;color:#483425!important;position:relative}.cta-band h2,.cta-band p{color:#483425!important}.cta-band .btn-dark{background:#654832!important;border-color:#654832!important;border-radius:5px!important}.honey-contact{background:#eee3cc!important;color:#493929!important}.honey-contact-intro :is(h2,h3,p,small,dt,dd),.honey-contact-intro .eyebrow{color:#493929!important}.honey-contact .sg-contact-form-fallback{background:#fffbf3!important;border-color:#d6c5a5!important;border-radius:6px!important;box-shadow:none!important}.honey-contact .sg-contact-form-fallback>h3,.honey-contact .honey-form-field{color:#493929!important}.honey-contact #contactForm :is(input,textarea){background:#faf5e9!important;border-color:#d6c5a5!important;color:#493929!important;border-radius:4px!important}.site-footer{background:#483a2e!important}.site-footer :is(.footer-tagline,.footer-col a,.footer-col span,.footer-bottom p,.footer-bottom a){color:#e5d8c2!important}.site-footer h4{color:#fff8e9!important}.page-hero{background:#e9ddc4!important;color:#493929!important}.page-hero :is(h1,p,a){color:#493929!important}
@media(max-width:700px){.honey-photo-banner .hero-overlay{background:linear-gradient(90deg,rgba(42,28,16,.85),rgba(42,28,16,.4))!important}.promo-strip::before{width:50%!important}}

.hc-logo-plaque{display:block;width:180px;flex-shrink:0;background:linear-gradient(to bottom,#faf6e9 0%,#faf6e9 68%,#49392d 68%,#49392d 100%);line-height:0;padding:3px 5px 4px;border-radius:2px}.hc-logo-plaque img{display:block;width:100%!important;max-height:none!important;height:auto!important;object-fit:contain}.site-header .site-logo{max-width:200px!important}.site-footer .hc-logo-plaque{width:210px}.hc-hours{display:block!important;line-height:1.85}.hc-hours-box{margin-top:24px;max-width:340px}.hc-hours-box h3{font-size:22px;margin:0 0 12px}.hc-hours-box dl{margin:0}.hc-hours-box dl>div{display:flex;justify-content:space-between;gap:20px;padding:6px 0;border-bottom:1px solid #bba98955}.hc-hours-box dt,.hc-hours-box dd{font:14px/1.6 Arial;margin:0}.hc-hours-box small{display:block;font-size:12px;margin-top:12px}.hc-contact-hours{padding-block:35px}
#home-categories.sg-catgrid{display:grid!important;gap:24px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}#home-categories.sg-catgrid:has(>.sg-catcard:nth-child(6):last-child){grid-template-columns:repeat(3,minmax(0,1fr))!important}#home-categories .sg-catcard{position:relative;display:block;aspect-ratio:2.15;min-height:190px;overflow:hidden;border-radius:6px!important;color:white;background:#e9ddc7}#home-categories .sg-catcard-img{height:100%!important;width:100%!important;object-fit:cover!important;object-position:center 57%}#home-categories .sg-catcard::after{content:'';position:absolute;inset:32% 0 0;background:linear-gradient(transparent,#231b12d9);pointer-events:none}#home-categories .sg-catcard-name{position:absolute;left:24px;bottom:21px;right:60px;z-index:1;background:none!important;padding:0!important}#home-categories .sg-catcard-name strong{display:block;font:600 clamp(24px,2vw,30px)/1.1 Georgia,serif;color:#fff9ee}#home-categories .sg-catcard-name small{display:block;font:13px/1.5 Arial;margin-top:7px;color:#fff6e5}.hc-cat-arrow{position:absolute;right:22px;bottom:25px;font-size:25px;z-index:2;color:white}

/* Styles the real storefront mounts and preserves their runtime behavior. */
#home-categories .sg-catcard-name{font:600 clamp(24px,2vw,30px)/1.2 Georgia,serif;color:#fff9ee!important}
.sg-card{border-radius:6px!important;box-shadow:0 2px 10px #45331b08!important;background:#fffbf3!important;border-color:#ddceb4!important}
.sg-card h3{font-size:20px!important;line-height:1.3!important}
.shop-wrapper{padding-block:36px 64px!important}
body:has(.shop-wrapper) .page-strip{background:#eee3cc!important;border-bottom:1px solid #ddceb4;color:#403429!important}
body:has(.shop-wrapper) .page-strip :is(h1,p,.breadcrumb,.breadcrumb a){color:#403429!important}
body:has(.shop-wrapper) .page-strip::before,body:has(.shop-wrapper) .page-strip::after{display:none}
.sg-card a{color:inherit}.sg-detail-card,.sg-cart-summary,.sg-cart-item,.sg-checkout-summary{border-color:#ddceb4!important}
.sg-detail :is(input,select,button),.sg-cart-item :is(input,button){border-radius:5px}
.hc-contact-hours{padding-block:32px}.hc-hours-box small{line-height:1.6}
@media(max-width:760px){.hc-logo-plaque{width:150px}#home-categories.sg-catgrid,#home-categories.sg-catgrid:has(>.sg-catcard:nth-child(6):last-child){grid-template-columns:1fr!important;gap:16px!important}#home-categories .sg-catcard{aspect-ratio:1.8;min-height:180px}}
@media(max-width:700px){.site-header .header-actions>a[href$="booking.html"],.site-header .header-actions>a[href="/booking"]{display:none!important}.site-header .header-actions{gap:2px!important;flex-shrink:0}.site-header #hamburger{align-items:center;justify-content:center;min-width:40px;height:44px;order:3}.site-header .sg-acct-link{order:2}.site-header .cart-btn{order:1}.site-header .header-inner{gap:8px!important;padding-inline:16px!important}.site-header .site-logo{flex-shrink:1!important;min-width:0!important}}
