/* ============================================================
   AZURE HARVEST — complete visual redesign (layout preserved)
   Overrides the old Grocerymart theme on every page.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Fraunces:opsz,wght@9..144,600;9..144,700;9..144,900&display=swap');

:root {
  --vh-green: #1c3d5a;
  --vh-green-mid: #2f5d84;
  --vh-green-soft: #5b84a6;
  --vh-cream: #f7f2e7;
  --vh-cream-deep: #efe6d2;
  --vh-amber: #e8a020;
  --vh-amber-dark: #c17f0e;
  --vh-terra: #b84a2a;
  --vh-ink: #221f16;
  --vh-line: #ddd3ba;
  --vh-shadow: 0 10px 30px rgba(35, 45, 25, .14);
  --vh-shadow-sm: 0 4px 14px rgba(35, 45, 25, .10);
}

/* ---------- base ---------- */
body.gm-theme {
  background: var(--vh-cream) !important;
  color: var(--vh-ink) !important;
  font-family: 'Manrope', system-ui, sans-serif !important;
}
body.gm-theme h1, body.gm-theme h2, body.gm-theme h3,
body.gm-theme .gm-section-title, body.gm-theme .product-info h1,
body.gm-theme .policy-content h1 {
  font-family: 'Fraunces', Georgia, serif !important;
  color: var(--vh-green) !important;
  letter-spacing: -.01em;
}
body.gm-theme a { color: var(--vh-green-mid); }
body.gm-theme a:hover { color: var(--vh-green); }

/* ---------- top utility strip ---------- */
body.gm-theme .gm-utility {
  background: var(--vh-amber) !important;
  color: var(--vh-ink) !important;
}
body.gm-theme .gm-utility a, body.gm-theme .gm-utility-links a {
  color: var(--vh-ink) !important;
  font-weight: 600;
}
body.gm-theme .gm-utility a:hover, body.gm-theme .gm-utility-links a:hover {
  color: var(--vh-green) !important;
}

/* ---------- header ---------- */
body.gm-theme .gm-header, body.gm-theme .gm-navbar {
  background: var(--vh-green) !important;
  color: var(--vh-cream) !important;
  box-shadow: var(--vh-shadow-sm);
}
body.gm-theme .gm-brand strong, body.gm-theme .gm-brand span,
body.gm-theme .gm-drawer-brand strong, body.gm-theme .gm-drawer-brand span {
  color: var(--vh-cream) !important;
  font-family: 'Fraunces', Georgia, serif !important;
  letter-spacing: .01em;
}
body.gm-theme .gm-nav a, body.gm-theme .gm-navbar a {
  color: var(--vh-cream) !important;
  font-weight: 600;
}
body.gm-theme .gm-nav a:hover, body.gm-theme .gm-navbar a:hover {
  color: var(--vh-amber) !important;
}
body.gm-theme .gm-nav-dropdown, body.gm-theme .gm-browse-menu {
  background: var(--vh-green) !important;
  border: 1px solid rgba(247,242,231,.15) !important;
  border-radius: 14px !important;
  box-shadow: var(--vh-shadow) !important;
}
body.gm-theme .gm-nav-dropdown a, body.gm-theme .gm-browse-menu a {
  color: var(--vh-cream) !important;
}
body.gm-theme .gm-nav-dropdown a:hover, body.gm-theme .gm-browse-menu a:hover {
  background: rgba(232,160,32,.18) !important;
  color: var(--vh-amber) !important;
}
body.gm-theme .gm-header-action, body.gm-theme .gm-action-icon {
  color: var(--vh-cream) !important;
}
body.gm-theme .gm-cart-badge {
  background: var(--vh-amber) !important;
  color: var(--vh-ink) !important;
  font-weight: 800;
}
body.gm-theme .gm-browse-btn {
  background: var(--vh-amber) !important;
  color: var(--vh-ink) !important;
  border-radius: 999px !important;
  font-weight: 700;
}
body.gm-theme .gm-browse-btn:hover { background: var(--vh-amber-dark) !important; color: var(--vh-cream) !important; }

/* ---------- search ---------- */
body.gm-theme .gm-search input, body.gm-theme .bp-search input {
  background: var(--vh-cream) !important;
  border: 2px solid transparent !important;
  border-radius: 999px !important;
  padding: 10px 18px !important;
}
body.gm-theme .gm-search input:focus { border-color: var(--vh-amber) !important; outline: none; }
body.gm-theme .gm-search button {
  background: var(--vh-amber) !important;
  color: var(--vh-ink) !important;
  border-radius: 999px !important;
  font-weight: 700;
}
body.gm-theme .gm-search button:hover { background: var(--vh-amber-dark) !important; color: var(--vh-cream) !important; }

/* ---------- buttons ---------- */
body.gm-theme .btn, body.gm-theme .gm-btn-shop, body.gm-theme .gm-filter-apply,
body.gm-theme .gm-view-btn, body.gm-theme .buy-form button, body.gm-theme button.btn-primary {
  border-radius: 999px !important;
  font-weight: 700 !important;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease !important;
}
body.gm-theme .btn-primary, body.gm-theme .gm-btn-shop, body.gm-theme .gm-filter-apply {
  background: var(--vh-amber) !important;
  color: var(--vh-ink) !important;
  border: 0 !important;
  box-shadow: var(--vh-shadow-sm);
}
body.gm-theme .btn-primary:hover, body.gm-theme .gm-btn-shop:hover, body.gm-theme .gm-filter-apply:hover {
  background: var(--vh-green) !important;
  color: var(--vh-cream) !important;
  transform: translateY(-2px);
  box-shadow: var(--vh-shadow);
}

/* ---------- sections ---------- */
body.gm-theme .gm-section-muted { background: var(--vh-cream-deep) !important; }
body.gm-theme .gm-section-title {
  font-size: 1.9rem !important;
  position: relative;
  padding-bottom: 12px;
}
body.gm-theme .gm-section-title::after {
  content: ""; position: absolute; left: 0; bottom: 0;
  width: 64px; height: 4px; border-radius: 4px;
  background: var(--vh-amber);
}
body.gm-theme .gm-breadcrumb-bar { background: var(--vh-cream-deep) !important; }
body.gm-theme .gm-breadcrumb a { color: var(--vh-green-mid) !important; }

/* ---------- cards (categories, products, promos, collections) ---------- */
body.gm-theme .gm-cat-card, body.gm-theme .gm-collection-card,
body.gm-theme .gm-promo-grid > *, body.gm-theme .gm-banner-card,
body.gm-theme .panel, body.gm-theme .buy-panel, body.gm-theme .summary-box,
body.gm-theme .policy-card, body.gm-theme .contact-card, body.gm-theme .gm-testimonial {
  background: #fffdf7 !important;
  border: 1px solid var(--vh-line) !important;
  border-radius: 18px !important;
  box-shadow: var(--vh-shadow-sm) !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}
body.gm-theme .gm-cat-card:hover, body.gm-theme .gm-collection-card:hover,
body.gm-theme .gm-banner-card:hover, body.gm-theme .gm-testimonial:hover {
  transform: translateY(-5px);
  box-shadow: var(--vh-shadow) !important;
  border-color: var(--vh-green-soft) !important;
}

/* category pastel tiles -> earthy tints */
body.gm-theme .gm-cat-mint, body.gm-theme .gm-promo-mint { background: #e3efdc !important; }
body.gm-theme .gm-cat-sage, body.gm-theme .gm-promo-sage { background: #d8e6cf !important; }
body.gm-theme .gm-cat-lemon { background: #f4ead0 !important; }
body.gm-theme .gm-cat-peach { background: #f3ddc4 !important; }
body.gm-theme .gm-cat-rose, body.gm-theme .gm-promo-lavender { background: #eedccf !important; }
body.gm-theme .gm-cat-sky { background: #dfe8dc !important; }
body.gm-theme .gm-cat-lavender { background: #e9e2d2 !important; }
body.gm-theme .gm-banner-cream { background: #f6efdd !important; }
body.gm-theme .gm-banner-pink { background: #f0dfce !important; }
body.gm-theme .gm-cat-name, body.gm-theme .gm-collection-name { color: var(--vh-green) !important; font-weight: 800; }

/* ---------- prices / badges / stars ---------- */
body.gm-theme .gm-price, body.gm-theme .gm-row-price, body.gm-theme .gm-promo-price,
body.gm-theme .price-lg, body.gm-theme .gm-hero-price .gm-price {
  color: var(--vh-green-mid) !important;
  font-weight: 800 !important;
}
body.gm-theme .gm-price-was, body.gm-theme .gm-hero-price .gm-price-was { color: #a09480 !important; }
body.gm-theme .gm-sale-badge, body.gm-theme .gm-sale-badge-sm, body.gm-theme .gm-promo-tag-sale {
  background: var(--vh-terra) !important;
  color: #fff !important;
  border-radius: 999px !important;
  font-weight: 700;
}
body.gm-theme .gm-promo-tag, body.gm-theme .gm-sold-badge {
  background: var(--vh-amber) !important;
  color: var(--vh-ink) !important;
  border-radius: 999px !important;
  font-weight: 700;
}
body.gm-theme .gm-star.is-filled { color: var(--vh-amber) !important; }

/* ---------- features strip ---------- */
body.gm-theme .gm-feature {
  background: #fffdf7 !important;
  border: 1px solid var(--vh-line) !important;
  border-radius: 16px !important;
}
body.gm-theme .gm-feature-icon { color: var(--vh-green-mid) !important; }
body.gm-theme .gm-feature strong { color: var(--vh-green) !important; }

/* ---------- home hero ---------- */
body.page-home .gm-hero-slider, body.page-home .gm-hero-slide {
  background: linear-gradient(115deg, var(--vh-green) 0%, var(--vh-green-mid) 60%, #38648c 100%) !important;
  border-radius: 24px !important;
}
body.page-home .gm-hero-copy h1, body.page-home .gm-hero-sub { color: var(--vh-cream) !important; }
body.page-home .gm-hero-copy h1 { font-family: 'Fraunces', Georgia, serif !important; }
body.page-home .gm-hero-arrow {
  background: var(--vh-amber) !important;
  color: var(--vh-ink) !important;
  border-radius: 999px !important;
}
body.page-home .gm-hero-arrow:hover { background: var(--vh-amber-dark) !important; color: var(--vh-cream) !important; }
body.page-home .gm-hero-price .gm-price { color: var(--vh-amber) !important; }
body.page-home .gm-hero-slider::before, body.page-home .gm-hero-slider::after { opacity: .35; }

/* ---------- shop / filters / forms ---------- */
body.gm-theme .gm-shop-hero { background: var(--vh-green) !important; color: var(--vh-cream) !important; border-radius: 20px !important; }
body.gm-theme .gm-shop-hero h1, body.gm-theme .gm-shop-hero p { color: var(--vh-cream) !important; }
body.gm-theme .gm-shop-sidebar .panel, body.gm-theme .gm-filter-body { background: #fffdf7 !important; }
body.gm-theme .form-grid input, body.gm-theme .form-grid select, body.gm-theme .form-grid textarea,
body.gm-theme .buy-form select, body.gm-theme .gm-sort select, body.gm-theme .gm-check input,
body.gm-theme input[type="text"], body.gm-theme input[type="email"], body.gm-theme input[type="search"],
body.gm-theme select, body.gm-theme textarea {
  background: #fffdf7 !important;
  border: 1px solid var(--vh-line) !important;
  border-radius: 12px !important;
}
body.gm-theme input:focus, body.gm-theme select:focus, body.gm-theme textarea:focus {
  border-color: var(--vh-green-mid) !important;
  outline: none;
  box-shadow: 0 0 0 3px rgba(28,61,90,.15) !important;
}

/* ---------- product page ---------- */
body.gm-theme .product-gallery img { border-radius: 18px !important; }
body.gm-theme .buy-panel { border-top: 4px solid var(--vh-amber) !important; }
body.gm-theme .spec-list dt { color: var(--vh-green) !important; font-weight: 700; }
body.gm-theme .gm-backdrop { background: rgba(18,40,60,.55) !important; }

/* ---------- cart / tables ---------- */
body.gm-theme .cart-table th {
  background: var(--vh-green) !important;
  color: var(--vh-cream) !important;
}
body.gm-theme .cart-table td { border-color: var(--vh-line) !important; }

/* ---------- auth chrome ---------- */
body.gm-theme .auth-page { background: var(--vh-cream) !important; }
body.gm-theme .auth-split-tabs { background: var(--vh-green) !important; }
body.gm-theme .auth-tab-indicator { background: var(--vh-amber) !important; }
body.gm-theme .auth-sidebar { background: var(--vh-green) !important; }
body.gm-theme .auth-split-tab.is-active { color: var(--vh-amber) !important; }

/* ---------- notices ---------- */
body.gm-theme .notice, body.gm-theme .highlight-box {
  background: #eef4e6 !important;
  border: 1px solid var(--vh-green-soft) !important;
  border-radius: 14px !important;
  color: var(--vh-green) !important;
}
body.gm-theme .notice.error { background: #f6e3dc !important; border-color: var(--vh-terra) !important; color: var(--vh-terra) !important; }

/* ---------- testimonials ---------- */
body.gm-theme .gm-testimonial footer strong { color: var(--vh-green) !important; }

/* ---------- scroll top ---------- */
body.gm-theme .gm-scroll-top {
  background: var(--vh-green) !important;
  color: var(--vh-cream) !important;
  border-radius: 999px !important;
}
body.gm-theme .gm-scroll-top:hover { background: var(--vh-amber) !important; color: var(--vh-ink) !important; }

/* ---------- footer ---------- */
body.gm-theme .gm-footer, body.gm-theme footer {
  background: var(--vh-green) !important;
  color: var(--vh-cream) !important;
}
body.gm-theme .gm-footer h4, body.gm-theme .gm-footer strong,
body.gm-theme .gm-footer-brand strong, body.gm-theme footer h4 {
  color: var(--vh-amber) !important;
  font-family: 'Fraunces', Georgia, serif !important;
}
body.gm-theme .gm-footer a, body.gm-theme footer a { color: var(--vh-cream) !important; }
body.gm-theme .gm-footer a:hover, body.gm-theme footer a:hover { color: var(--vh-amber) !important; }
body.gm-theme .gm-footer-col, body.gm-theme .gm-footer-contact, body.gm-theme .gm-footer-hours {
  color: rgba(247,242,231,.85) !important;
}

/* ============================================================
   AZURE HARVEST v2 — product cards, mega menus, shop page
   ============================================================ */

/* ---------- product cards (shop grid & everywhere) ---------- */
body.gm-theme .gm-product-card {
  background: #fffdf7 !important;
  border: 1px solid var(--vh-line) !important;
  border-radius: 20px !important;
  overflow: hidden;
  box-shadow: var(--vh-shadow-sm) !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}
body.gm-theme .gm-product-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--vh-shadow) !important;
  border-color: var(--vh-green-soft) !important;
}
body.gm-theme .gm-product-img {
  background: linear-gradient(160deg, #e9eef5 0%, #dce7f0 100%) !important;
  padding: 26px !important;
  border-bottom: 1px solid var(--vh-line) !important;
}
body.gm-theme .gm-product-img img {
  transition: transform .3s ease !important;
}
body.gm-theme .gm-product-card:hover .gm-product-img img {
  transform: scale(1.07);
}
body.gm-theme .gm-product-body { padding: 14px 16px 16px !important; }
body.gm-theme .gm-product-title {
  font-weight: 700 !important;
  color: var(--vh-ink) !important;
  font-size: .95rem !important;
}
body.gm-theme .gm-product-title a { color: var(--vh-ink) !important; }
body.gm-theme .gm-product-title a:hover { color: var(--vh-green-mid) !important; }
body.gm-theme .gm-price { color: var(--vh-green-mid) !important; font-size: 1.12rem !important; font-weight: 800 !important; }
body.gm-theme .gm-price.is-sale { color: var(--vh-terra) !important; }
body.gm-theme .gm-price-was { color: #a89c86 !important; }
body.gm-theme .gm-product-btn {
  background: var(--vh-amber) !important;
  color: var(--vh-ink) !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  padding: 11px !important;
  letter-spacing: .02em;
  text-transform: uppercase;
  font-size: .78rem !important;
}
body.gm-theme .gm-product-card:hover .gm-product-btn,
body.gm-theme .gm-product-btn:hover {
  background: var(--vh-green) !important;
  color: var(--vh-cream) !important;
}
body.gm-theme .gm-product-btn-options { border-radius: 999px !important; }
body.gm-theme .gm-product-btn-options:hover { background: var(--vh-green) !important; color: var(--vh-cream) !important; }
body.gm-theme .gm-sale-badge, body.gm-theme .gm-sale-badge-sm {
  background: var(--vh-terra) !important;
  border-radius: 999px !important;
  padding: 5px 12px !important;
  letter-spacing: .04em;
}
body.gm-theme .gm-sold-badge { border-radius: 999px !important; }
body.gm-theme .gm-star { color: #d9cfb6 !important; }
body.gm-theme .gm-star.is-filled { color: var(--vh-amber) !important; }

/* list view cards keep new skin */
body.gm-theme .gm-product-grid.gm-grid-list .gm-product-card { border-radius: 20px !important; }

/* ---------- mega menu / dropdowns ---------- */
body.gm-theme .gm-mega-menu {
  background: #fffdf7 !important;
  border-top: 4px solid var(--vh-amber) !important;
  border-radius: 0 0 20px 20px !important;
  box-shadow: 0 24px 50px rgba(35,45,25,.22) !important;
}
body.gm-theme .gm-mega-title {
  font-family: 'Fraunces', Georgia, serif !important;
  color: var(--vh-green) !important;
  font-size: 1.02rem !important;
  font-weight: 700 !important;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--vh-amber) !important;
  margin-bottom: 14px !important;
}
body.gm-theme .gm-mega-list a {
  color: #3d382a !important;
  font-weight: 600 !important;
  font-size: .9rem !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  transition: background .15s ease, color .15s ease !important;
}
body.gm-theme .gm-mega-list a:hover {
  background: var(--vh-green) !important;
  color: var(--vh-cream) !important;
}
body.gm-theme .gm-mega-list a.gm-mega-aisle {
  color: var(--vh-green) !important;
  font-weight: 800 !important;
}
body.gm-theme .gm-mega-list a.gm-mega-aisle:hover { color: var(--vh-amber) !important; background: rgba(28,61,90,.10) !important; }
body.gm-theme .gm-mega-featured {
  border-left: 2px solid var(--vh-line) !important;
  background: #f4efdf !important;
  border-radius: 16px !important;
  padding: 18px !important;
}
body.gm-theme .gm-mega-product {
  border: 1px solid var(--vh-line) !important;
  border-radius: 14px !important;
  background: #fffdf7 !important;
}
body.gm-theme .gm-mega-product-name { color: var(--vh-ink) !important; font-weight: 700; }
body.gm-theme .gm-mega-product-price { color: var(--vh-green-mid) !important; font-weight: 800; }

/* nav tiles + badges */
body.gm-theme .gm-nav-tile { border-radius: 999px !important; }
body.gm-theme .gm-nav-dropdown.is-open .gm-nav-mega-trigger,
body.gm-theme .gm-nav-dropdown:hover .gm-nav-mega-trigger,
body.gm-theme .gm-nav-tile:hover {
  color: var(--vh-amber) !important;
  background: rgba(232,160,32,.15) !important;
}
body.gm-theme .gm-nav-badge-hot { background: var(--vh-terra) !important; color: #fff !important; border-radius: 999px !important; }
body.gm-theme .gm-nav-badge-sale { background: var(--vh-amber) !important; color: var(--vh-ink) !important; border-radius: 999px !important; }
body.gm-theme .gm-menu-btn { color: var(--vh-cream) !important; }

/* simple dropdown menus */
body.gm-theme .gm-nav-dropdown .gm-dropdown-menu,
body.gm-theme .gm-browse-menu {
  background: #fffdf7 !important;
  border: 1px solid var(--vh-line) !important;
  border-top: 4px solid var(--vh-amber) !important;
  border-radius: 14px !important;
  box-shadow: var(--vh-shadow) !important;
}
body.gm-theme .gm-browse-menu a, body.gm-theme .gm-dropdown-menu a {
  color: #3d382a !important;
  font-weight: 600 !important;
}
body.gm-theme .gm-browse-menu a:hover, body.gm-theme .gm-dropdown-menu a:hover {
  background: var(--vh-green) !important;
  color: var(--vh-cream) !important;
}

/* ---------- shop page chrome ---------- */
body.gm-theme .gm-collection-toolbar, body.gm-theme .gm-toolbar-right {
  background: #fffdf7 !important;
  border: 1px solid var(--vh-line) !important;
  border-radius: 999px !important;
  padding: 8px 16px !important;
  box-shadow: var(--vh-shadow-sm) !important;
}
body.gm-theme .gm-view-btn {
  border-radius: 999px !important;
  color: var(--vh-green-mid) !important;
}
body.gm-theme .gm-view-btn.is-active {
  background: var(--vh-green) !important;
  color: var(--vh-cream) !important;
}
body.gm-theme .gm-sort select { border-radius: 999px !important; padding: 8px 14px !important; }
body.gm-theme .gm-filter-panel {
  background: #fffdf7 !important;
  border: 1px solid var(--vh-line) !important;
  border-radius: 18px !important;
  box-shadow: var(--vh-shadow-sm) !important;
}
body.gm-theme .gm-filter-heading, body.gm-theme .gm-filter-title {
  color: var(--vh-green) !important;
  font-family: 'Fraunces', Georgia, serif !important;
  font-weight: 700 !important;
}
body.gm-theme .gm-filter-group { border-color: var(--vh-line) !important; }
body.gm-theme .gm-check input { accent-color: var(--vh-green-mid) !important; }
body.gm-theme .gm-filter-clear { color: var(--vh-terra) !important; font-weight: 700; }
body.gm-theme .gm-price-range { accent-color: var(--vh-green-mid) !important; }
body.gm-theme .gm-result-meta { color: var(--vh-ink) !important; font-weight: 600; }

/* pagination */
body.gm-theme .gm-page-num, body.gm-theme .gm-page-next {
  border-radius: 999px !important;
  border: 1px solid var(--vh-line) !important;
  background: #fffdf7 !important;
  color: var(--vh-green) !important;
  font-weight: 700 !important;
  min-width: 40px; min-height: 40px;
}
body.gm-theme .gm-page-num.is-active, body.gm-theme .gm-page-num:hover,
body.gm-theme .gm-page-next:hover {
  background: var(--vh-green) !important;
  color: var(--vh-cream) !important;
  border-color: var(--vh-green) !important;
}

/* newsletter band */
body.gm-theme .gm-newsletter {
  background: var(--vh-green) !important;
  border-radius: 24px !important;
}
body.gm-theme .gm-newsletter h2, body.gm-theme .gm-newsletter p,
body.gm-theme .gm-newsletter-copy { color: var(--vh-cream) !important; }
body.gm-theme .gm-newsletter-form input { border-radius: 999px !important; }
body.gm-theme .gm-newsletter-form button {
  background: var(--vh-amber) !important;
  color: var(--vh-ink) !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
}
body.gm-theme .gm-newsletter-form button:hover { background: var(--vh-amber-dark) !important; color: var(--vh-cream) !important; }

/* collection column headers on home */
body.gm-theme .gm-col-head h3, body.page-home .gm-col-head h3 {
  font-family: 'Fraunces', Georgia, serif !important;
  color: var(--vh-green) !important;
}
body.gm-theme .gm-col-head a { color: var(--vh-green-mid) !important; font-weight: 700; }
body.gm-theme .gm-col-head a:hover { color: var(--vh-amber-dark) !important; }

/* ============================================================
   AZURE HARVEST v3 — new header + image carousel hero
   ============================================================ */

/* ---------- top utility strip: deep green ---------- */
body.gm-theme .gm-utility {
  background: var(--vh-green) !important;
  color: rgba(247,242,231,.9) !important;
  border-bottom: 2px solid var(--vh-amber) !important;
  font-size: .82rem;
}
body.gm-theme .gm-utility a, body.gm-theme .gm-utility-links a {
  color: var(--vh-cream) !important;
  font-weight: 600 !important;
}
body.gm-theme .gm-utility a:hover, body.gm-theme .gm-utility-links a:hover { color: var(--vh-amber) !important; }
body.gm-theme .gm-utility-promo { color: var(--vh-amber) !important; font-weight: 700 !important; }
body.gm-theme .gm-utility-meta { color: rgba(247,242,231,.75) !important; }

/* ---------- main header row: cream, big serif logo ---------- */
body.gm-theme .gm-header {
  background: #fffdf7 !important;
  color: var(--vh-ink) !important;
  border-bottom: 1px solid var(--vh-line) !important;
  box-shadow: 0 2px 10px rgba(35,45,25,.06) !important;
  padding: 14px 0 !important;
}
body.gm-theme .gm-brand strong, body.gm-theme .gm-brand span {
  color: var(--vh-green) !important;
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 1.5rem !important;
  font-weight: 900 !important;
}
body.gm-theme .gm-brand img {
  border-radius: 12px !important;
  background: var(--vh-cream) !important;
  padding: 4px;
}
body.gm-theme .gm-header-action, body.gm-theme .gm-action-icon {
  color: var(--vh-green) !important;
}
body.gm-theme .gm-header-action {
  background: var(--vh-cream) !important;
  border-radius: 999px !important;
  padding: 8px 14px !important;
  transition: background .15s ease, color .15s ease !important;
}
body.gm-theme .gm-header-action:hover { background: var(--vh-green) !important; color: var(--vh-cream) !important; }
body.gm-theme .gm-header-action:hover .gm-action-icon { color: var(--vh-cream) !important; }
body.gm-theme .gm-action-text strong { color: var(--vh-ink) !important; }
body.gm-theme .gm-header-action:hover .gm-action-text strong,
body.gm-theme .gm-header-action:hover .gm-action-text small { color: var(--vh-cream) !important; }
body.gm-theme .gm-action-text small { color: var(--vh-green-mid) !important; }
body.gm-theme .gm-cart-badge { background: var(--vh-terra) !important; color: #fff !important; }

/* search in header: cream pill with amber button */
body.gm-theme .gm-header .gm-search, body.gm-theme .gm-search {
  background: var(--vh-cream) !important;
  border: 2px solid var(--vh-line) !important;
  border-radius: 999px !important;
  overflow: hidden;
}
body.gm-theme .gm-search input { background: transparent !important; }
body.gm-theme .gm-search:focus-within { border-color: var(--vh-amber) !important; }
body.gm-theme .gm-search button {
  background: var(--vh-amber) !important;
  color: var(--vh-ink) !important;
  border-radius: 999px !important;
  margin: 3px;
}
body.gm-theme .gm-search button:hover { background: var(--vh-green) !important; color: var(--vh-cream) !important; }

/* ---------- navbar: floating dark-green pill bar ---------- */
body.gm-theme .gm-header .gm-navbar, body.gm-theme .gm-navbar {
  background: transparent !important;
  box-shadow: none !important;
  padding: 10px 0 14px !important;
}
body.gm-theme .gm-navbar-inner {
  background: var(--vh-green) !important;
  border-radius: 999px !important;
  box-shadow: var(--vh-shadow) !important;
  padding: 8px 14px !important;
}
body.gm-theme .gm-menu-btn { color: var(--vh-green) !important; }
body.gm-theme .gm-navbar .gm-menu-btn { color: var(--vh-cream) !important; }

/* ---------- hero -> full image carousel ---------- */
body.page-home .gm-hero-slider {
  background: var(--vh-cream) !important;
  padding: 26px 0 34px !important;
}
body.page-home .gm-hero-slide-inner {
  display: grid !important;
  grid-template-columns: 40% 60% !important;
  gap: 36px !important;
  align-items: center !important;
  background: linear-gradient(120deg, var(--vh-green) 0%, var(--vh-green-mid) 58%, #38648c 100%) !important;
  border-radius: 28px !important;
  padding: 44px 48px !important;
  box-shadow: var(--vh-shadow) !important;
  overflow: hidden;
  position: relative;
}
/* decorative rings */
body.page-home .gm-hero-slide-inner::before {
  content: ""; position: absolute; right: -90px; top: -90px;
  width: 300px; height: 300px; border-radius: 50%;
  border: 46px solid rgba(232,160,32,.16);
}
body.page-home .gm-hero-slide-inner::after {
  content: ""; position: absolute; left: -60px; bottom: -80px;
  width: 220px; height: 220px; border-radius: 50%;
  background: rgba(247,242,231,.07);
}
body.page-home .gm-hero-copy { position: relative; z-index: 2; }
body.page-home .gm-hero-copy h1 {
  font-size: 2.9rem !important;
  line-height: 1.06 !important;
  margin-bottom: 12px !important;
}
body.page-home .gm-hero-sub { font-size: 1.02rem !important; opacity: .92; }
body.page-home .gm-hero-price { margin: 16px 0 20px !important; }
body.page-home .gm-hero-price .gm-price { font-size: 1.8rem !important; color: var(--vh-amber) !important; }
body.page-home .gm-hero-price .gm-price-was { color: rgba(247,242,231,.55) !important; font-size: 1.05rem !important; }
body.page-home .gm-btn-shop { font-size: .95rem !important; padding: 13px 30px !important; }

/* big image panel = the carousel focus */
body.page-home .gm-hero-visual,
body.page-home .gm-hero-visual-stage,
body.page-home .gm-hero-visual-card {
  position: relative; z-index: 2;
  width: 100% !important; height: 100% !important;
  background: transparent !important;
  border: 0 !important; box-shadow: none !important;
  padding: 0 !important; margin: 0 !important;
  display: block !important;
}
body.page-home .gm-hero-visual-orb { display: none !important; }
body.page-home .gm-hero-visual-imgwrap {
  width: 100% !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  box-shadow: 0 18px 44px rgba(10,25,15,.45) !important;
  border: 5px solid rgba(247,242,231,.9) !important;
  background: #fff !important;
  transform: rotate(1.5deg);
}
body.page-home .gm-hero-visual-imgwrap img {
  width: 100% !important;
  aspect-ratio: 16 / 10 !important;
  object-fit: cover !important;
  display: block;
}
body.page-home .gm-hero-visual-tag {
  position: absolute !important;
  top: 16px; left: 16px; z-index: 3;
  background: var(--vh-amber) !important;
  color: var(--vh-ink) !important;
  font-weight: 800 !important;
  font-size: .72rem !important;
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: 7px 14px !important;
  border-radius: 999px !important;
  box-shadow: var(--vh-shadow-sm);
}

/* carousel arrows: big amber circles */
body.page-home .gm-hero-arrow {
  width: 52px !important; height: 52px !important;
  font-size: 1.6rem !important;
  display: flex !important; align-items: center !important; justify-content: center;
  background: var(--vh-amber) !important;
  color: var(--vh-ink) !important;
  border: 0 !important;
  border-radius: 50% !important;
  box-shadow: var(--vh-shadow) !important;
  z-index: 5;
}
body.page-home .gm-hero-arrow:hover { background: var(--vh-green) !important; color: var(--vh-cream) !important; }
body.page-home .gm-hero-prev { left: 18px !important; }
body.page-home .gm-hero-next { right: 18px !important; }

@media (max-width: 900px) {
  body.page-home .gm-hero-slide-inner {
    grid-template-columns: 1fr !important;
    padding: 30px 22px !important;
  }
  body.page-home .gm-hero-copy h1 { font-size: 2rem !important; }
}
