/*
Theme Name:   Healing Flora Child
Theme URI:    https://healingflora.com
Description:  Healing Flora — WooCommerce child theme. Full design system,
              Flora Rewards integration, production-safe Astra overrides.
Author:       Healing Flora
Author URI:   https://healingflora.com
Template:     astra
Version:      1.2.3
Text Domain:  healing-flora
*/


/* ═══════════════════════════════════════════════════════════════════
   DESIGN TOKENS — single source of truth (matches all plugin admin CSS)
═══════════════════════════════════════════════════════════════════ */
:root {
  --ink:  #2C3639;   /* body text, dark header bg                */
  --lun:  #3F4E4F;   /* secondary text, footer bg, dark sections */
  --lt:   #F7F7F7;   /* page background                          */
  --icy:  #E8F6F3;   /* highlight bg, notices                    */
  --im:   #BFD8D2;   /* borders, tints                           */
  --acc:  #A27B5B;   /* primary action — warm amber-brown        */
  --ah:   #8E6A4D;   /* hover on --acc                           */
  --div:  #D6D6D6;   /* dividers                                 */
  --hdr:  #141A1A;   /* darkest header accent                    */

  --cal: 'Calibri', 'Segoe UI', Arial, sans-serif;
  --cin: 'Cinzel', Georgia, serif;
}

/* ═══════════════════════════════════════════════════════════════════
   GLOBAL RESET & BASE
═══════════════════════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--cal);
  color: var(--ink);
  background: var(--lt);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 14px;
  line-height: 1.65;
}

img { display: block; max-width: 100%; height: auto; }
a   { color: var(--acc); text-decoration: none; transition: color .15s; }
a:hover { color: var(--ah); }

h1, h2, h3, h4, h5, h6 {
  font-family: var(--cin);
  color: var(--ink);
  line-height: 1.25;
  margin-top: 0;
}

/* ═══════════════════════════════════════════════════════════════════
   ASTRA PARENT OVERRIDES — header, nav, footer
═══════════════════════════════════════════════════════════════════ */

/* Header backgrounds */
.site-header,
.ast-main-header-wrap,
#masthead,
.ast-header-wrap,
.main-header-bar,
.ast-above-header-bar,
.ast-primary-header-bar {
  background: var(--ink) !important;
}

/* Site title */
.ast-site-identity .site-title,
.ast-site-identity .site-title a,
.site-title,
.site-title a {
  font-family: var(--cin) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #F7F7F7 !important;
  letter-spacing: .1em !important;
  text-decoration: none !important;
}
.ast-site-identity .site-description {
  font-family: var(--cal) !important;
  font-size: 9px !important;
  color: #8DAAAC !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
}

/* Primary nav */
.main-navigation a,
.ast-main-navigation a,
.main-header-bar .main-navigation ul li a,
.ast-nav-menu > li > a {
  font-family: var(--cal) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #F7F7F7 !important;
  padding: 0 14px !important;
  line-height: 68px !important;
  display: block !important;
  text-decoration: none !important;
}
.main-navigation a:hover,
.ast-main-navigation a:hover,
.current-menu-item > a,
.main-navigation li:hover > a {
  color: var(--acc) !important;
  background: transparent !important;
}

/* Dropdown submenu */
.main-navigation ul ul,
.ast-main-navigation .sub-menu {
  background: var(--ink) !important;
  border: none !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.25) !important;
  border-radius: 0 0 8px 8px !important;
}
.main-navigation ul ul li a,
.ast-main-navigation .sub-menu li a {
  font-size: 12px !important;
  padding: 9px 18px !important;
  line-height: 1.4 !important;
  border-bottom: 0.5px solid rgba(191,216,210,.08) !important;
  color: #F7F7F7 !important;
}
.main-navigation ul ul li a:hover,
.ast-main-navigation .sub-menu li a:hover {
  background: var(--lun) !important;
  color: var(--acc) !important;
}

/* Header cart & account */
.ast-header-cart a,
.ast-site-header-cart a,
.ast-cart-info { color: #F7F7F7 !important; }
.ast-header-cart a:hover,
.ast-site-header-cart a:hover { color: var(--acc) !important; }
.ast-cart-info .count {
  background: var(--acc) !important;
  color: #F7F7F7 !important;
}

/* Mobile nav */
.ast-mobile-menu-trigger-wrap button,
.ast-mobile-menu-trigger,
.ast-mobile-nav-icon { color: #F7F7F7 !important; }
.ast-mobile-navigation { background: var(--ink) !important; }
.ast-mobile-navigation a { color: #F7F7F7 !important; padding: 11px 18px !important; border-bottom: 0.5px solid rgba(191,216,210,.08) !important; }

/* ═══════════════════════════════════════════════════════════════════
   NOTICE / PROMO BARS (injected via PHP hook above header)
═══════════════════════════════════════════════════════════════════ */
.hf-notice-bar {
  background: #854F0B;
  color: #FFF3E0;
  font-family: var(--cal);
  font-size: 12px;
  padding: 7px 24px;
  text-align: center;
  line-height: 1.5;
}
.hf-notice-bar a { color: #FFF3E0; text-decoration: underline; }

.hf-promo-bar {
  background: var(--lun);
  padding: 8px 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.hf-promo-bar span { font-family: var(--cal); font-size: 12px; color: #BFD8D2; }
.hf-promo-bar strong { color: #F7F7F7; }

/* ═══════════════════════════════════════════════════════════════════
   FLORA REWARDS HEADER CHIP (logged-in user balance)
═══════════════════════════════════════════════════════════════════ */
.hf-header-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: rgba(162,123,91,.18);
  border: 1.5px solid rgba(162,123,91,.4);
  border-radius: 20px;
  padding: 5px 12px;
  font-family: var(--cal);
  font-size: 11px;
  font-weight: 600;
  color: #F7F7F7;
  cursor: pointer;
  transition: .15s;
  text-decoration: none;
}
.hf-header-chip:hover { background: rgba(162,123,91,.3); color: #F7F7F7; border-color: var(--acc); }
.hf-chip-pts  { font-weight: 700; color: var(--acc); }
.hf-chip-sep  { color: rgba(191,216,210,.4); }
.hf-chip-tier { color: #BFD8D2; font-weight: 400; }

/* ═══════════════════════════════════════════════════════════════════
   FOOTER — Astra override
═══════════════════════════════════════════════════════════════════ */
.site-footer,
.footer-widget-area,
.footer-bar-wrap,
.ast-footer-area-wrap,
.ast-footer-overlay,
.footer-sml-layout,
.footer-widgets {
  background: var(--ink) !important;
  color: #8DAAAC !important;
}
.site-footer a,
.footer-widget-area a  { color: #8DAAAC !important; }
.site-footer a:hover,
.footer-widget-area a:hover { color: var(--acc) !important; }
.site-footer .widget-title,
.footer-widget-area .widget-title {
  font-family: var(--cin) !important;
  font-size: 9px !important;
  color: var(--acc) !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  margin-bottom: 14px !important;
}
.footer-copy-wrap,
.ast-footer-copyright {
  font-family: var(--cal) !important;
  font-size: 11px !important;
  color: #8DAAAC !important;
  text-align: center !important;
}
/* Footer brand block */
.footer-brand-name {
  font-family: var(--cin);
  font-size: 13px;
  font-weight: 700;
  color: #F7F7F7;
  letter-spacing: .1em;
  margin-bottom: 4px;
}
.footer-brand-sub {
  font-family: var(--cal);
  font-size: 9px;
  color: #8DAAAC;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.footer-body { font-family: var(--cal); font-size: 12px; color: #8DAAAC; line-height: 1.75; }

/* ═══════════════════════════════════════════════════════════════════
   BUTTONS — global
═══════════════════════════════════════════════════════════════════ */

/* Primary WooCommerce + WP buttons */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #payment #place_order,
.wp-element-button,
.btn-p {
  background: var(--acc) !important;
  color: #F7F7F7 !important;
  font-family: var(--cal) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 12px 26px !important;
  border-radius: 7px !important;
  border: none !important;
  cursor: pointer !important;
  display: inline-block !important;
  min-height: 44px !important;
  line-height: 1.35 !important;
  transition: background .18s !important;
  text-decoration: none !important;
  letter-spacing: .01em !important;
}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #payment #place_order:hover {
  background: var(--ah) !important;
  color: #F7F7F7 !important;
}
.woocommerce a.button.alt,
.woocommerce button.button.alt { background: var(--lun) !important; }

/* Outline / secondary buttons */
.btn-sl {
  background: transparent;
  color: var(--ink);
  font-family: var(--cal);
  font-size: 13px;
  font-weight: 500;
  padding: 10px 22px;
  border-radius: 7px;
  border: 1.5px solid var(--div);
  cursor: pointer;
  display: inline-block;
  min-height: 44px;
  transition: .15s;
  text-decoration: none;
}
.btn-sl:hover { border-color: var(--acc); color: var(--acc); }

/* Outline on dark bg */
.btn-sd {
  background: transparent;
  color: #F7F7F7;
  font-family: var(--cal);
  font-size: 14px;
  padding: 12px 22px;
  border-radius: 7px;
  border: 1.5px solid #BFD8D2;
  cursor: pointer;
  display: inline-block;
  min-height: 44px;
  text-decoration: none;
  transition: .15s;
}
.btn-sd:hover { border-color: var(--acc); color: var(--acc); }

/* Cart product button */
.btn-cart {
  width: 100%;
  background: var(--acc);
  color: #F7F7F7;
  font-family: var(--cal);
  font-size: 11px;
  font-weight: 600;
  padding: 10px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  min-height: 44px;
  transition: background .15s;
  display: block;
  text-align: center;
}
.btn-cart:hover { background: var(--ah); color: #F7F7F7; }

/* OOS ghost button */
.btn-oos {
  width: 100%;
  background: transparent;
  color: #8aacac;
  border: 1px solid #8aacac;
  border-radius: 6px;
  padding: 10px;
  font-family: var(--cal);
  font-size: 11px;
  cursor: not-allowed;
  min-height: 44px;
  display: block;
}

/* ═══════════════════════════════════════════════════════════════════
   HERO SECTION
═══════════════════════════════════════════════════════════════════ */
.hf-hero {
  background: var(--ink);
  padding: 52px 24px 60px;
  text-align: center;
}
.hf-hero-eyebrow {
  font-family: var(--cal);
  font-size: 11px;
  color: var(--acc);
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.hf-hero h1 {
  font-family: var(--cin);
  font-size: clamp(22px, 5vw, 32px);
  font-weight: 700;
  color: #F7F7F7;
  line-height: 1.22;
  margin-bottom: 14px;
}
.hf-hero-body {
  font-family: var(--cal);
  font-size: 15px;
  color: #BFD8D2;
  line-height: 1.75;
  max-width: 500px;
  margin: 0 auto 12px;
}
.hf-hero-hours {
  font-family: var(--cal);
  font-size: 13px;
  color: #BFD8D2;
  margin: 0 auto 24px;
}
.hf-hero-hours strong { color: #F7F7F7; }
.hf-hero-btns {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 28px;
}
.hf-promo-pills {
  display: flex;
  gap: 8px;
  justify-content: center;
  flex-wrap: wrap;
}
.hf-promo-pill {
  background: rgba(162,123,91,.12);
  border: 1px solid rgba(162,123,91,.3);
  border-radius: 20px;
  padding: 5px 14px;
  font-family: var(--cal);
  font-size: 12px;
  color: #BFD8D2;
}
.hf-promo-pill strong { color: var(--acc); }

/* ═══════════════════════════════════════════════════════════════════
   SECTION WRAPPERS
═══════════════════════════════════════════════════════════════════ */
.hf-section   { padding: 36px 24px; }
.hf-sec-lt    { background: var(--lt); }
.hf-sec-icy   { background: var(--icy); }
.hf-sec-lun   { background: var(--lun); }
.hf-sec-ink   { background: var(--ink); }
.hf-sec-white { background: #fff; }

.hf-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }

.hf-sec-hd { text-align: center; margin-bottom: 24px; }
.hf-sec-hd h2 {
  font-family: var(--cin);
  font-size: clamp(17px,3vw,21px);
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 6px;
}
.hf-sec-hd p { font-family: var(--cal); font-size: 14px; color: var(--lun); margin: 0; }

.hf-sec-hd-dk h2 {
  font-family: var(--cin);
  font-size: clamp(17px,3vw,21px);
  font-weight: 600;
  color: #F7F7F7;
  margin-bottom: 6px;
}
.hf-sec-hd-dk p { font-family: var(--cal); font-size: 14px; color: #BFD8D2; margin: 0; }

/* ═══════════════════════════════════════════════════════════════════
   PRODUCT GRID — WooCommerce shop loop
═══════════════════════════════════════════════════════════════════ */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Product card */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: #fff !important;
  border-radius: 10px !important;
  border: 0.5px solid var(--div) !important;
  overflow: hidden !important;
  transition: transform .15s, box-shadow .15s !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: auto !important;
  display: flex !important;
  flex-direction: column !important;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 18px rgba(0,0,0,.1) !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__link { display: flex; flex-direction: column; flex: 1; }

/* Product image */
.woocommerce ul.products li.product img {
  height: 160px !important;
  width: 100% !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  flex-shrink: 0;
}

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--cin) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--ink) !important;
  letter-spacing: .03em !important;
  padding: 12px 12px 3px !important;
  margin: 0 !important;
}
/* Category type under title */
.ptype {
  font-family: var(--cal);
  font-size: 10px;
  color: #5a6e6f;
  padding: 0 12px 5px;
  text-transform: uppercase;
  letter-spacing: .05em;
}
/* Price */
.woocommerce ul.products li.product .price {
  font-family: var(--cal) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--acc) !important;
  padding: 0 12px 10px !important;
  display: block !important;
}
.woocommerce ul.products li.product .price del { color: #8aacac !important; font-weight: 400 !important; }

/* Add-to-cart button */
.woocommerce ul.products li.product .button {
  margin: 0 12px 12px !important;
  width: calc(100% - 24px) !important;
  font-size: 11px !important;
  padding: 10px !important;
  text-align: center !important;
  display: block !important;
  min-height: 44px !important;
  background: var(--acc) !important;
  color: #F7F7F7 !important;
  border-radius: 6px !important;
  border: none !important;
  cursor: pointer !important;
  font-family: var(--cal) !important;
  font-weight: 600 !important;
  transition: background .15s !important;
}
.woocommerce ul.products li.product .button:hover { background: var(--ah) !important; color: #F7F7F7 !important; }

/* Sale badge */
.woocommerce span.onsale {
  background: #A32D2D !important;
  color: #F7C1C1 !important;
  font-family: var(--cal) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  padding: 3px 9px !important;
  border-radius: 4px !important;
  min-height: unset !important;
  min-width: unset !important;
  line-height: 1.4 !important;
  top: 8px !important;
  left: 8px !important;
}

/* Product image badges (custom) */
.pbadge-sale, .pbadge, .pbadge-oos-sm {
  position: absolute;
  top: 8px;
  left: 8px;
  font-family: var(--cal);
  font-size: 10px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 4px;
  z-index: 2;
  line-height: 1.4;
}
.pbadge-sale { background: #A32D2D; color: #F7C1C1; }
.pbadge      { background: #085041; color: #E8F6F3; }
.pbadge-oos-sm { background: rgba(0,0,0,.5); color: #fff; }

/* OOS card fade */
.woocommerce ul.products li.product.outofstock { opacity: .75; }
.woocommerce ul.products li.product.outofstock .button {
  background: transparent !important;
  color: #8aacac !important;
  border: 1px solid #8aacac !important;
  cursor: not-allowed !important;
}

/* Category filter bar */
.hf-cat-filters { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 20px; }
.hf-cat-filter {
  background: transparent;
  border: 1.5px solid var(--div);
  border-radius: 20px;
  padding: 6px 15px;
  font-family: var(--cal);
  font-size: 12px;
  font-weight: 500;
  color: var(--lun);
  cursor: pointer;
  transition: .15s;
  white-space: nowrap;
  text-decoration: none;
  display: inline-block;
}
.hf-cat-filter:hover,
.hf-cat-filter.active { border-color: var(--acc); color: var(--acc); }
.hf-cat-filter.active { background: var(--acc); color: #F7F7F7; }

/* ═══════════════════════════════════════════════════════════════════
   SINGLE PRODUCT
═══════════════════════════════════════════════════════════════════ */
.woocommerce div.product .product_title {
  font-family: var(--cin) !important;
  font-size: clamp(18px,4vw,26px) !important;
  color: var(--ink) !important;
}
.woocommerce div.product .price {
  color: var(--acc) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
}
.woocommerce div.product .woocommerce-product-rating .star-rating span::before { color: var(--acc) !important; }
.woocommerce div.product .quantity input.qty {
  border: 1px solid var(--div) !important;
  border-radius: 6px !important;
  font-family: var(--cal) !important;
  font-size: 14px !important;
}
.woocommerce div.product .single_add_to_cart_button {
  background: var(--acc) !important;
  color: #F7F7F7 !important;
  font-family: var(--cal) !important;
  font-weight: 600 !important;
  border-radius: 7px !important;
  border: none !important;
  padding: 13px 28px !important;
  font-size: 14px !important;
  cursor: pointer !important;
  transition: background .18s !important;
  min-height: 44px !important;
}
.woocommerce div.product .single_add_to_cart_button:hover { background: var(--ah) !important; }

.woocommerce div.product .variations select {
  border: 1px solid var(--div) !important;
  border-radius: 6px !important;
  padding: 8px 12px !important;
  font-family: var(--cal) !important;
  font-size: 13px !important;
  color: var(--ink) !important;
  outline: none !important;
}
.woocommerce div.product .variations select:focus {
  border-color: var(--acc) !important;
  box-shadow: 0 0 0 3px rgba(162,123,91,.1) !important;
}

/* Points earn estimate — injected by hook */
.hf-points-estimate {
  background: var(--icy);
  border-radius: 7px;
  padding: 10px 14px;
  margin: 12px 0;
  font-family: var(--cal);
  font-size: 13px;
  color: var(--ink);
  display: flex;
  align-items: center;
  gap: 8px;
  border-left: 3px solid var(--acc);
}

/* WC tabs */
.woocommerce div.product .woocommerce-tabs .tabs li.active a { color: var(--acc) !important; border-color: var(--acc) !important; }
.woocommerce div.product .woocommerce-tabs .tabs li a { font-family: var(--cal) !important; font-size: 13px !important; color: var(--lun) !important; }

/* ═══════════════════════════════════════════════════════════════════
   CART
═══════════════════════════════════════════════════════════════════ */
.woocommerce-cart .woocommerce { max-width: 1100px; margin: 0 auto; padding: 32px 24px; }
.woocommerce table.cart { border-radius: 10px; overflow: hidden; border: 0.5px solid var(--div); }
.woocommerce table.cart thead th {
  background: var(--ink);
  color: #F7F7F7;
  font-family: var(--cal);
  font-size: 12px;
  font-weight: 600;
  padding: 12px 16px;
}
.woocommerce table.cart tbody td {
  padding: 14px 16px;
  border-bottom: 0.5px solid var(--div);
  font-family: var(--cal);
  font-size: 13px;
  color: var(--ink);
}
.woocommerce table.cart tbody tr:last-child td { border-bottom: none; }
.woocommerce .cart_totals { background: #fff; border-radius: 10px; border: 0.5px solid var(--div); padding: 22px; }
.woocommerce .cart_totals h2 {
  font-family: var(--cin);
  font-size: 16px;
  color: var(--ink);
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--acc);
}
.woocommerce .cart_totals table th { color: var(--lun); font-weight: 500; font-family: var(--cal); font-size: 13px; }
.woocommerce .cart_totals table .order-total th,
.woocommerce .cart_totals table .order-total td { font-weight: 700; color: var(--ink); font-size: 15px; }

/* Flora cart rewards panel */
.hf-cart-rewards {
  background: #fff;
  border-radius: 10px;
  border: 0.5px solid var(--im);
  padding: 18px;
  margin-bottom: 20px;
}
.hf-cart-rewards h3 {
  font-family: var(--cin);
  font-size: 14px;
  color: var(--ink);
  margin: 0 0 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.hf-cart-rewards h3::before { content: '🌿'; }
.hf-rewards-balance {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--icy);
  border-radius: 7px;
  padding: 10px 14px;
  margin-bottom: 12px;
  font-family: var(--cal);
  font-size: 13px;
  color: var(--ink);
}
.hf-rewards-balance strong { font-family: var(--cin); font-size: 18px; color: var(--acc); }
.hf-redeem-input { display: flex; gap: 8px; align-items: center; }
.hf-redeem-input input {
  flex: 1;
  border: 1px solid var(--div);
  border-radius: 6px;
  padding: 8px 12px;
  font-family: var(--cal);
  font-size: 13px;
  color: var(--ink);
  outline: none;
}
.hf-redeem-input input:focus { border-color: var(--acc); box-shadow: 0 0 0 3px rgba(162,123,91,.1); }
.hf-redeem-msg { margin-top: 8px; font-family: var(--cal); font-size: 12px; }
.hf-redeem-msg.success { color: #085041; }
.hf-redeem-msg.error   { color: #A32D2D; }

/* ═══════════════════════════════════════════════════════════════════
   CHECKOUT
═══════════════════════════════════════════════════════════════════ */
.woocommerce-checkout .woocommerce { max-width: 1100px; margin: 0 auto; padding: 32px 24px; }
.woocommerce form .form-row label { font-family: var(--cal); font-size: 12px; font-weight: 600; color: var(--ink); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
  border: 1px solid var(--div) !important;
  border-radius: 6px !important;
  padding: 10px 12px !important;
  font-family: var(--cal) !important;
  font-size: 13px !important;
  color: var(--ink) !important;
  transition: border-color .15s !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
  border-color: var(--acc) !important;
  box-shadow: 0 0 0 3px rgba(162,123,91,.1) !important;
  outline: none !important;
}
#order_review_heading { font-family: var(--cin); color: var(--ink); font-size: 17px; }
.woocommerce-checkout #payment { background: #fff; border-radius: 10px; border: 0.5px solid var(--div); }
.woocommerce-checkout #payment label { font-family: var(--cal); font-size: 13px; color: var(--ink); }

/* ═══════════════════════════════════════════════════════════════════
   MY ACCOUNT
═══════════════════════════════════════════════════════════════════ */
.woocommerce-account .woocommerce { max-width: 1100px; margin: 0 auto; padding: 32px 24px; }

.woocommerce-MyAccount-navigation {
  width: 210px;
  float: left;
  background: var(--lt);
  border-right: 0.5px solid var(--div);
  padding: 16px 0;
  border-radius: 10px 0 0 10px;
  min-height: 500px;
}
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 10px 18px;
  font-family: var(--cal);
  font-size: 13px;
  color: var(--lun);
  text-decoration: none;
  border-left: 3px solid transparent;
  transition: all .15s;
}
.woocommerce-MyAccount-navigation ul li a:hover { color: var(--ink); background: rgba(0,0,0,.03); }
.woocommerce-MyAccount-navigation ul li.is-active a {
  color: var(--ink);
  border-left-color: var(--acc);
  background: rgba(162,123,91,.06);
  font-weight: 600;
}
.woocommerce-MyAccount-content {
  float: right;
  width: calc(100% - 230px);
  padding: 24px;
  background: #fff;
  border-radius: 0 10px 10px 0;
  border: 0.5px solid var(--div);
  border-left: none;
  min-height: 500px;
}

/* ═══════════════════════════════════════════════════════════════════
   FLORA REWARDS DASHBOARD (My Account tab)
═══════════════════════════════════════════════════════════════════ */
.hf-rewards-page h2 {
  font-family: var(--cin);
  font-size: 20px;
  color: var(--ink);
  margin: 0 0 20px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--acc);
}
.hf-flora-section-title {
  font-family: var(--cin);
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
  letter-spacing: .05em;
  margin: 20px 0 12px;
  padding-bottom: 6px;
  border-bottom: 0.5px solid var(--div);
}
/* Hero card */
.hf-flora-hero {
  background: var(--ink);
  border-radius: 10px;
  padding: 22px 24px;
  margin-bottom: 18px;
  color: #F7F7F7;
}
.hf-tier-pill {
  display: inline-block;
  background: var(--acc);
  color: #F7F7F7;
  font-family: var(--cal);
  font-size: 11px;
  font-weight: 700;
  padding: 3px 14px;
  border-radius: 20px;
  margin-bottom: 10px;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.hf-balance-big { font-family: var(--cin); font-size: 46px; font-weight: 700; color: var(--acc); line-height: 1; }
.hf-balance-label { font-family: var(--cal); font-size: 13px; color: #BFD8D2; margin-top: 5px; }

/* Progress bar */
.hf-prog-bar-wrap {
  height: 7px;
  background: rgba(255,255,255,.15);
  border-radius: 4px;
  margin: 8px 0 5px;
  overflow: hidden;
}
.hf-prog-bar {
  height: 100%;
  background: var(--acc);
  border-radius: 4px;
  transition: width .5s ease;
  min-width: 2px;
}

/* Stats cards */
.hf-stats-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 18px; }
.hf-stat-card {
  background: #fff;
  border-radius: 8px;
  padding: 16px;
  border: 0.5px solid var(--div);
  text-align: center;
}
.hf-stat-n { font-family: var(--cin); font-size: 22px; font-weight: 700; color: var(--ink); }
.hf-stat-l { font-family: var(--cal); font-size: 11px; color: var(--lun); margin-top: 3px; }

/* Tier cells */
.hf-tier-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 20px; }
.hf-tier-cell {
  background: #fff;
  border-radius: 8px;
  padding: 14px;
  border: 0.5px solid var(--div);
  text-align: center;
  transition: border-color .15s;
}
.hf-tier-cell.active { border: 2px solid var(--acc); }
.hf-tier-name { font-family: var(--cin); font-size: 12px; font-weight: 600; color: var(--ink); }
.hf-tier-mult { font-family: var(--cin); font-size: 20px; font-weight: 700; color: var(--acc); margin: 4px 0; }
.hf-tier-range { font-family: var(--cal); font-size: 10px; color: #5a6e6f; }
.hf-tier-perks {
  font-family: var(--cal);
  font-size: 10px;
  color: var(--lun);
  line-height: 1.9;
  text-align: left;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 0.5px solid var(--div);
}

/* Redeem cards */
.hf-redeem-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 12px; }
.hf-redeem-card {
  background: #fff;
  border-radius: 8px;
  border: 0.5px solid var(--im);
  padding: 16px;
  text-align: center;
  position: relative;
}
.hf-redeem-card.best { border: 2px solid var(--acc); }
.hf-redeem-best-label {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--acc);
  color: #F7F7F7;
  font-family: var(--cal);
  font-size: 9px;
  font-weight: 700;
  padding: 2px 10px;
  border-radius: 8px;
  letter-spacing: .07em;
  white-space: nowrap;
}
.hf-redeem-pts { font-family: var(--cin); font-size: 24px; font-weight: 700; color: var(--ink); }
.hf-redeem-val { font-family: var(--cin); font-size: 18px; font-weight: 600; color: var(--acc); margin: 4px 0; }
.hf-redeem-min { font-family: var(--cal); font-size: 10px; color: #5a6e6f; }
.hf-redeem-btn {
  width: 100%;
  background: var(--acc);
  color: #F7F7F7;
  border: none;
  border-radius: 5px;
  padding: 9px;
  font-family: var(--cal);
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  margin-top: 10px;
  transition: background .15s;
}
.hf-redeem-btn:hover { background: var(--ah); }
.hf-redeem-btn.locked {
  background: transparent;
  color: #8aacac;
  border: 1px solid #8aacac;
  cursor: not-allowed;
}
.cap-note { font-family: var(--cal); font-size: 11px; color: #5a6e6f; margin: 0 0 18px; line-height: 1.65; }

/* Referral box */
.hf-referral-box { background: var(--icy); border: 1px solid var(--im); border-radius: 8px; padding: 16px; margin-bottom: 18px; }
.hf-ref-link-row { display: flex; gap: 8px; align-items: center; margin: 10px 0; flex-wrap: wrap; }
.hf-ref-link-input {
  flex: 1;
  min-width: 160px;
  background: #fff;
  border: 1px solid var(--im);
  border-radius: 6px;
  padding: 9px 12px;
  font-family: var(--cal);
  font-size: 12px;
  color: #085041;
  outline: none;
}
.hf-copy-btn {
  background: var(--acc);
  color: #F7F7F7;
  border: none;
  border-radius: 6px;
  padding: 9px 16px;
  font-family: var(--cal);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: background .15s;
}
.hf-copy-btn:hover { background: var(--ah); }

/* Points history */
.hf-history-table { width: 100%; border-collapse: collapse; font-family: var(--cal); font-size: 12px; }
.hf-history-table th { background: var(--ink); color: #F7F7F7; padding: 8px 12px; text-align: left; font-size: 11px; font-weight: 600; }
.hf-history-table td { padding: 9px 12px; border-bottom: 0.5px solid var(--div); color: var(--ink); }
.hf-history-table tr:last-child td { border-bottom: none; }
.pts-earn  { color: #085041; font-weight: 600; }
.pts-spend { color: #A32D2D; font-weight: 600; }

/* ═══════════════════════════════════════════════════════════════════
   DEALS GRID
═══════════════════════════════════════════════════════════════════ */
.hf-deals-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.hf-deal-card { background: #fff; border-radius: 10px; border: 0.5px solid var(--div); padding: 20px; }
.hf-deal-tier {
  display: inline-block;
  font-family: var(--cal);
  font-size: 11px;
  font-weight: 600;
  padding: 3px 11px;
  border-radius: 10px;
  margin-bottom: 10px;
}
.hf-dt-all     { background: var(--icy); color: #085041; }
.hf-dt-bloom   { background: #FFF3E0; color: #854F0B; }
.hf-dt-harvest { background: #EDE7F6; color: #4527A0; }
.hf-deal-name { font-family: var(--cin); font-size: 14px; font-weight: 700; color: var(--ink); margin-bottom: 6px; }
.hf-deal-desc { font-family: var(--cal); font-size: 12px; color: var(--lun); line-height: 1.65; margin-bottom: 12px; }
.hf-deal-disc { font-family: var(--cin); font-size: 22px; font-weight: 700; color: var(--acc); }
.hf-deal-min  { font-family: var(--cal); font-size: 11px; color: #5a6e6f; margin-top: 3px; }
.hf-deal-code-row { display: flex; align-items: center; gap: 8px; margin-top: 12px; }
.hf-deal-code { font-family: monospace; font-size: 13px; background: var(--icy); color: #085041; padding: 6px 12px; border-radius: 5px; border: 1px dashed var(--im); font-weight: 700; }
.hf-deal-copy { font-family: var(--cal); font-size: 12px; color: var(--acc); cursor: pointer; border: none; background: none; padding: 0; text-decoration: underline; }

/* ═══════════════════════════════════════════════════════════════════
   BENEFITS / FEATURES GRID
═══════════════════════════════════════════════════════════════════ */
.hf-feat-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.hf-feat-card { background: #fff; border-radius: 10px; padding: 22px; text-align: center; border: 0.5px solid var(--im); }
.hf-feat-icon {
  width: 44px;
  height: 44px;
  background: var(--icy);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 14px;
  font-size: 20px;
}
.hf-feat-title { font-family: var(--cin); font-size: 11px; letter-spacing: .1em; color: var(--acc); margin-bottom: 7px; text-transform: uppercase; }
.hf-feat-desc  { font-family: var(--cal); font-size: 13px; color: var(--ink); line-height: 1.7; }

/* ═══════════════════════════════════════════════════════════════════
   TIER CARDS (homepage rewards section)
═══════════════════════════════════════════════════════════════════ */
.hf-tier-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.hf-tier-card-dark {
  background: var(--lun);
  border-radius: 10px;
  padding: 20px;
  border: 0.5px solid #4a5e60;
  text-align: center;
}
.hf-tier-card-dark.active { border-color: var(--acc); }
.hf-tier-card-dark .tier-name  { font-family: var(--cin); font-size: 13px; color: #F7F7F7; font-weight: 600; margin-bottom: 5px; }
.hf-tier-card-dark .tier-mult  { font-family: var(--cin); font-size: 24px; color: var(--acc); font-weight: 700; }
.hf-tier-card-dark .tier-range { font-family: var(--cal); font-size: 12px; color: #BFD8D2; margin-top: 4px; }
.hf-tier-card-dark .tier-perks { font-family: var(--cal); font-size: 11px; color: #8DAAAC; margin-top: 8px; line-height: 1.7; }

/* ═══════════════════════════════════════════════════════════════════
   FAQ ACCORDION
═══════════════════════════════════════════════════════════════════ */
.hf-faq-item { background: #fff; border-radius: 10px; border: 0.5px solid var(--div); padding: 20px 22px; margin-bottom: 10px; }
.hf-faq-q {
  font-family: var(--cin);
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0;
  user-select: none;
}
.hf-faq-icon { font-size: 20px; color: var(--acc); font-weight: 400; flex-shrink: 0; margin-left: 12px; }
.hf-faq-a { font-family: var(--cal); font-size: 13px; color: var(--lun); line-height: 1.75; margin-top: 12px; display: none; }

/* ═══════════════════════════════════════════════════════════════════
   CONTACT & HOURS
═══════════════════════════════════════════════════════════════════ */
.hf-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.hf-contact-card { background: #fff; border-radius: 10px; border: 0.5px solid var(--div); padding: 22px; }
.hf-contact-card h3 { font-family: var(--cin); font-size: 14px; font-weight: 600; color: var(--ink); margin-bottom: 16px; }
.hf-contact-row {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 10px 0;
  border-bottom: 0.5px solid var(--div);
  font-family: var(--cal);
  font-size: 13px;
  color: var(--lun);
}
.hf-contact-row:last-child { border-bottom: none; }
.hf-contact-label { font-weight: 600; color: var(--ink); display: block; margin-bottom: 2px; }
.hf-hours-row { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 0.5px solid var(--div); font-family: var(--cal); font-size: 13px; }
.hf-hours-row:last-child { border-bottom: none; }
.hf-hours-day  { color: var(--ink); font-weight: 500; }
.hf-hours-time { color: var(--lun); }

/* Delivery areas */
.hf-area-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.hf-area-card { background: #fff; border-radius: 8px; padding: 12px 14px; border: 0.5px solid var(--im); text-align: center; }
.hf-area-name { font-family: var(--cin); font-size: 11px; color: var(--ink); font-weight: 600; margin-bottom: 4px; }
.hf-area-fee  { font-family: var(--cal); font-size: 12px; color: var(--acc); font-weight: 600; }
.hf-area-note { font-family: var(--cal); font-size: 10px; color: #5a6e6f; margin-top: 2px; }

/* ═══════════════════════════════════════════════════════════════════
   FEATURE STRIP (CTA / trust bar)
═══════════════════════════════════════════════════════════════════ */
.hf-feat-strip {
  background: var(--lun);
  padding: 32px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 18px;
}
.hf-feat-strip h3 { font-family: var(--cin); font-size: 17px; font-weight: 600; color: #F7F7F7; margin-bottom: 7px; }
.hf-strip-body { font-family: var(--cal); font-size: 14px; color: #E8F6F3; line-height: 1.7; max-width: 360px; margin-bottom: 16px; }
.hf-strip-btns { display: flex; gap: 10px; flex-wrap: wrap; }
.hf-strip-stats { display: flex; gap: 26px; flex-wrap: wrap; }
.hf-sstat-n { font-family: var(--cin); font-size: 22px; font-weight: 700; color: var(--acc); }
.hf-sstat-l { font-family: var(--cal); font-size: 11px; color: #BFD8D2; }

/* ═══════════════════════════════════════════════════════════════════
   TAGS & BADGES
═══════════════════════════════════════════════════════════════════ */
.hf-tag { display: inline-block; font-family: var(--cal); font-size: 10px; font-weight: 600; padding: 2px 9px; border-radius: 10px; line-height: 1.5; }
.hf-tg-green  { background: #E8F6F3; color: #085041; }
.hf-tg-amber  { background: #FFF3E0; color: #854F0B; }
.hf-tg-blue   { background: #E6F1FB; color: #185FA5; }
.hf-tg-purple { background: #EDE7F6; color: #4527A0; }
.hf-tg-grey   { background: var(--lt); color: var(--lun); border: 0.5px solid var(--div); }

/* ═══════════════════════════════════════════════════════════════════
   INFO BANNERS & NOTICES
═══════════════════════════════════════════════════════════════════ */
.hf-info-banner {
  background: var(--icy);
  border-left: 4px solid var(--acc);
  padding: 14px 18px;
  border-radius: 0 8px 8px 0;
  font-family: var(--cal);
  font-size: 13px;
  color: var(--ink);
  line-height: 1.65;
  margin-bottom: 16px;
}
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-radius: 8px !important;
  font-family: var(--cal) !important;
  font-size: 13px !important;
}
.woocommerce-message { border-top-color: var(--acc) !important; }

/* ═══════════════════════════════════════════════════════════════════
   MODAL (sign-in / register)
═══════════════════════════════════════════════════════════════════ */
.hf-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(20,26,26,.78);
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.hf-modal-overlay.open { display: flex; }
.hf-modal-box {
  background: #fff;
  border-radius: 12px;
  width: 100%;
  max-width: 420px;
  overflow: hidden;
  box-shadow: 0 24px 64px rgba(0,0,0,.45);
}
.hf-modal-hdr {
  background: var(--ink);
  padding: 20px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.hf-modal-title { font-family: var(--cin); font-size: 15px; font-weight: 600; color: #F7F7F7; letter-spacing: .06em; }
.hf-modal-close { background: none; border: none; color: #8DAAAC; font-size: 22px; cursor: pointer; line-height: 1; padding: 0; }
.hf-modal-close:hover { color: #F7F7F7; }
.hf-modal-body { padding: 24px; }
.hf-modal-field { margin-bottom: 16px; }
.hf-modal-label { display: block; font-family: var(--cal); font-size: 12px; font-weight: 600; color: var(--ink); margin-bottom: 6px; }
.hf-modal-input {
  width: 100%;
  border: 1px solid var(--div);
  border-radius: 6px;
  padding: 10px 13px;
  font-family: var(--cal);
  font-size: 14px;
  color: var(--ink);
  background: #fff;
  outline: none;
  transition: .15s;
}
.hf-modal-input:focus { border-color: var(--acc); box-shadow: 0 0 0 3px rgba(162,123,91,.12); }
.hf-modal-btn {
  width: 100%;
  background: var(--acc);
  color: #F7F7F7;
  font-family: var(--cal);
  font-size: 14px;
  font-weight: 600;
  padding: 13px;
  border-radius: 7px;
  border: none;
  cursor: pointer;
  transition: background .15s;
}
.hf-modal-btn:hover { background: var(--ah); }

/* ═══════════════════════════════════════════════════════════════════
   REVIEW CTA STRIP
═══════════════════════════════════════════════════════════════════ */
.hf-review-cta {
  background: var(--lun);
  border-radius: 10px;
  padding: 22px 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 24px;
}
.hf-review-cta h3 { font-family: var(--cin); font-size: 14px; color: #F7F7F7; margin-bottom: 5px; }
.hf-review-cta p  { font-family: var(--cal); font-size: 13px; color: #BFD8D2; margin: 0; }

/* ═══════════════════════════════════════════════════════════════════
   FRONT PAGE — custom page templates
═══════════════════════════════════════════════════════════════════ */
.hf-fp-wrap { max-width: 1200px; margin: 0 auto; }

/* ═══════════════════════════════════════════════════════════════════
   RESPONSIVE BREAKPOINTS
═══════════════════════════════════════════════════════════════════ */

@media (max-width: 1024px) {
  .hf-deals-grid       { grid-template-columns: 1fr !important; }
}

@media (max-width: 900px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .hf-feat-grid,
  .hf-tier-cards,
  .hf-tier-grid,
  .hf-contact-grid { grid-template-columns: 1fr 1fr !important; }
}

@media (max-width: 768px) {
  .hf-notice-bar { padding: 7px 14px; font-size: 11px; }
  .hf-promo-bar  { gap: 8px; font-size: 11px; flex-direction: column; padding: 8px 14px; text-align: center; }
  .hf-section    { padding: 24px 14px !important; }
  .hf-hero       { padding: 36px 14px 44px; }
  .hf-hero h1    { font-size: 22px; }
  .hf-hero-btns  { flex-direction: column; align-items: center; }

  /* Grid collapses */
  .hf-feat-grid,
  .hf-tier-cards,
  .hf-tier-grid,
  .hf-contact-grid,
  .hf-redeem-grid { grid-template-columns: 1fr !important; }
  .hf-stats-grid   { grid-template-columns: 1fr 1fr !important; }
  .hf-area-grid    { grid-template-columns: repeat(2, 1fr) !important; }

  /* My Account stacked */
  .woocommerce-MyAccount-navigation {
    width: 100%;
    float: none;
    border-radius: 10px 10px 0 0;
    border-right: none;
    border-bottom: 0.5px solid var(--div);
    min-height: auto;
  }
  .woocommerce-MyAccount-content {
    width: 100%;
    float: none;
    border-radius: 0 0 10px 10px;
    border-left: 0.5px solid var(--div);
    border-top: none;
  }

  /* Feature strip */
  .hf-feat-strip { flex-direction: column !important; }
  .hf-strip-stats { gap: 16px !important; }

  /* Referral */
  .hf-ref-link-row { flex-direction: column; }
  .hf-ref-link-input { min-width: unset !important; width: 100%; }
}

@media (max-width: 480px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: 1fr !important; }
  .hf-balance-big { font-size: 36px !important; }
  .hf-cat-filters { gap: 5px; }
}

/* ═══════════════════════════════════════════════════════════════════
   HEADER LAYOUT (standalone — Astra overrides above still apply)
═══════════════════════════════════════════════════════════════════ */
.hf-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px;
  height: 68px;
  background: var(--ink);
  max-width: 1200px;
  margin: 0 auto;
}
.site-header .hf-header-inner { max-width: none; }
.hf-brand-link { text-decoration: none; display: flex; flex-direction: column; }
.hf-brand-name { font-family: var(--cin); font-size: 18px; font-weight: 700; color: #F7F7F7; letter-spacing: .1em; }
.hf-brand-sub  { font-family: var(--cal); font-size: 9px; color: #8DAAAC; letter-spacing: .2em; text-transform: uppercase; }

/* Nav list */
.hf-nav-list { display: flex; list-style: none; margin: 0; padding: 0; gap: 0; }
.hf-nav-list > li > a { font-family: var(--cal); font-size: 13px; color: #F7F7F7; padding: 0 13px; line-height: 68px; display: block; text-decoration: none; transition: color .15s; }
.hf-nav-list > li > a:hover,
.hf-nav-list > li.current-menu-item > a { color: var(--acc); }

/* Sub-menu */
.hf-nav-list .sub-menu { display: none; position: absolute; background: var(--ink); min-width: 180px; box-shadow: 0 8px 24px rgba(0,0,0,.3); border-radius: 0 0 8px 8px; z-index: 999; list-style: none; padding: 6px 0; margin: 0; }
.hf-nav-list > li { position: relative; }
.hf-nav-list > li:hover > .sub-menu { display: block; }
.hf-nav-list .sub-menu a { font-family: var(--cal); font-size: 12px; color: #F7F7F7; padding: 9px 18px; display: block; border-bottom: 0.5px solid rgba(191,216,210,.08); }
.hf-nav-list .sub-menu a:hover { color: var(--acc); background: var(--lun); }

/* Right icons */
.hf-header-right { display: flex; align-items: center; gap: 12px; }
.hf-header-icon { color: #F7F7F7; display: flex; align-items: center; text-decoration: none; transition: color .15s; }
.hf-header-icon:hover { color: var(--acc); }
.hf-header-cart { color: #F7F7F7; display: flex; align-items: center; gap: 6px; text-decoration: none; position: relative; }
.hf-header-cart:hover { color: var(--acc); }
.hf-cart-count {
  background: var(--acc); color: #fff; font-family: var(--cal); font-size: 10px; font-weight: 700;
  min-width: 18px; height: 18px; border-radius: 9px; display: flex; align-items: center; justify-content: center;
  padding: 0 4px; line-height: 1;
}
.hf-cart-count:empty, .hf-cart-count[data-count="0"] { display: none; }

/* Mobile hamburger */
.hf-mob-toggle { display: none; background: none; border: none; cursor: pointer; padding: 8px; }
.hf-hamburger, .hf-hamburger::before, .hf-hamburger::after {
  display: block; width: 22px; height: 2px; background: #F7F7F7; transition: .25s;
}
.hf-hamburger { position: relative; }
.hf-hamburger::before, .hf-hamburger::after { content: ''; position: absolute; left: 0; }
.hf-hamburger::before { top: -7px; }
.hf-hamburger::after  { top:  7px; }
.hf-mob-toggle[aria-expanded="true"] .hf-hamburger { background: transparent; }
.hf-mob-toggle[aria-expanded="true"] .hf-hamburger::before { transform: rotate(45deg); top: 0; }
.hf-mob-toggle[aria-expanded="true"] .hf-hamburger::after  { transform: rotate(-45deg); top: 0; }

/* Mobile nav drawer */
.hf-mobile-nav { display: none; background: var(--ink); border-top: 0.5px solid rgba(191,216,210,.1); }
.hf-mobile-nav.open { display: block; }
.hf-mobile-nav-list { list-style: none; margin: 0; padding: 8px 0; }
.hf-mobile-nav-list li a { font-family: var(--cal); font-size: 14px; color: #F7F7F7; padding: 12px 24px; display: block; border-bottom: 0.5px solid rgba(191,216,210,.06); }
.hf-mobile-nav-list li a:hover { color: var(--acc); }

/* ── WooCommerce cart fragment ────────────────────────────────────────────── */
/* Ensures AJAX count update targets the right element */
.widget_shopping_cart_content { /* mini cart */ }

@media (max-width: 768px) {
  .main-navigation { display: none !important; }
  .hf-mob-toggle   { display: flex !important; }
  .hf-header-chip  { display: none !important; }
}

/* ═══════════════════════════════════════════════════════════════════
   HEADER v2 FIXES — centred nav, phone chip, sign-in btn, cart
   These override Astra AND standalone header
═══════════════════════════════════════════════════════════════════ */

/* Force Astra primary header to use grid for perfect centre alignment */
.main-header-bar,
.ast-primary-header-bar,
.site-header .main-header-bar {
  background: var(--ink) !important;
}

/* When Astra renders its header builder, ensure our right icons show */
.ast-header-woo-account,
.ast-header-account,
.ast-site-header-cart { display: none !important; } /* Hide Astra's duplicates */

/* Our standalone header — grid layout for perfect centring */
.hf-header-inner {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  padding: 0 24px !important;
  height: 68px !important;
  background: var(--ink) !important;
  max-width: 100% !important;
  margin: 0 !important;
}
.hf-header-brand { justify-self: start; }
.hf-nav-center   { justify-self: center; }
.hf-header-right { justify-self: end; display: flex; align-items: center; gap: 10px; }

/* Astra header inner — centre nav using flex with spacers */
.ast-main-header-bar .site-branding       { flex-shrink: 0; }
.ast-main-header-bar .main-header-bar-navigation { flex: 1; display: flex !important; justify-content: center !important; }
.ast-main-header-bar .ast-builder-menu-1 { display: flex !important; justify-content: center !important; width: 100%; }

/* Phone chip */
.hf-hdr-phone {
  font-family: var(--cal);
  font-size: 11px;
  font-weight: 500;
  color: #F7F7F7 !important;
  background: var(--lun);
  border-radius: 4px;
  padding: 4px 10px;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background .15s;
}
.hf-hdr-phone:hover { background: #3F4E4F; color: #F7F7F7 !important; }

/* Sign In button (guest) */
.hf-signin-btn {
  font-family: var(--cal);
  font-size: 12px;
  font-weight: 500;
  color: #F7F7F7 !important;
  background: transparent;
  border: 1.5px solid #BFD8D2;
  border-radius: 5px;
  padding: 5px 14px;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background .15s;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
}
.hf-signin-btn:hover { background: #3F4E4F; color: #F7F7F7 !important; }

/* Account icon */
.hf-header-icon {
  color: #F7F7F7 !important;
  display: flex;
  align-items: center;
  text-decoration: none !important;
  transition: color .15s;
}
.hf-header-icon:hover { color: var(--acc) !important; }

/* Cart */
.hf-header-cart {
  color: #F7F7F7 !important;
  display: flex;
  align-items: center;
  gap: 5px;
  text-decoration: none !important;
  position: relative;
}
.hf-header-cart:hover { color: var(--acc) !important; }
.hf-cart-count {
  background: var(--acc);
  color: #fff;
  font-family: var(--cal);
  font-size: 10px;
  font-weight: 700;
  min-width: 18px;
  height: 18px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  line-height: 1;
}
.hf-cart-count:empty { display: none; }

/* Flora chip */
.hf-header-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: rgba(162,123,91,.18);
  border: 1.5px solid rgba(162,123,91,.4);
  border-radius: 20px;
  padding: 5px 12px;
  font-family: var(--cal);
  font-size: 11px;
  font-weight: 600;
  color: #F7F7F7 !important;
  text-decoration: none !important;
  white-space: nowrap;
  transition: .15s;
}
.hf-header-chip:hover { background: rgba(162,123,91,.3); border-color: var(--acc); }
.hf-chip-pts  { font-weight: 700; color: var(--acc); }
.hf-chip-sep  { color: rgba(191,216,210,.4); }
.hf-chip-tier { color: #BFD8D2; font-weight: 400; }

/* Promo bar separator dots */
.hf-promo-dot { color: rgba(247,247,247,.2); }

/* Notice + promo — always full width regardless of Astra */
.hf-notice-bar, .hf-promo-bar {
  position: relative;
  z-index: 101;
}

/* Mobile: hide phone chip and flora chip, show hamburger */
@media (max-width: 921px) {
  .hf-hdr-phone  { display: none !important; }
  .hf-header-chip{ display: none !important; }
  .hf-promo-bar  { flex-direction: column; gap: 4px; text-align: center; font-size: 11px; }
}
@media (max-width: 768px) {
  .hf-signin-btn { padding: 4px 10px; font-size: 11px; }
}

/* ═══════════════════════════════════════════════════════════════════
   NAV MENU — Cart count badge + Account styling
   Applied to both Astra-rendered and standalone-header nav
═══════════════════════════════════════════════════════════════════ */

/* Cart count badge inside nav */
.hf-nav-cart-count {
  background: var(--acc);
  color: #fff;
  font-family: var(--cal);
  font-size: 10px;
  font-weight: 700;
  min-width: 17px;
  height: 17px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  margin-left: 4px;
  vertical-align: middle;
  line-height: 1;
}

/* Nav: Cart link */
.menu-item.hf-nav-cart > a,
li.hf-nav-cart > a {
  color: #F7F7F7 !important;
}
.menu-item.hf-nav-cart > a:hover,
li.hf-nav-cart > a:hover { color: var(--acc) !important; }

/* Nav: Account link */
.menu-item.hf-nav-account > a,
li.hf-nav-account > a {
  color: #F7F7F7 !important;
}
.menu-item.hf-nav-account > a:hover,
li.hf-nav-account > a:hover { color: var(--acc) !important; }

/* Astra header right area — ensure our injected items appear inline */
.ast-primary-header-bar .ast-builder-layout-element.ast-flex,
.ast-primary-header-bar .site-header-primary-section-right,
.main-header-bar .main-header-bar-navigation ~ div {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

/* Ensure Astra doesn't hide our injected elements */
.main-header-bar .hf-hdr-phone,
.main-header-bar .hf-signin-btn,
.main-header-bar .hf-header-cart,
.main-header-bar .hf-header-icon,
.main-header-bar .hf-header-chip {
  display: inline-flex !important;
  align-items: center !important;
}

/* WooCommerce pages — ensure content renders inside Astra layout */
.woocommerce-page .entry-content,
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-account .entry-content {
  max-width: 100% !important;
  padding: 0 !important;
}

/* Cart/Checkout/My Account full width */
.woocommerce-page .site-content,
.woocommerce-cart .site-content,
.woocommerce-checkout .site-content,
.woocommerce-account .site-content {
  padding: 24px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  width: 100% !important;
}

/* Fix WooCommerce form inputs inside Astra */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
  border: 1px solid var(--div) !important;
  border-radius: 6px !important;
  padding: 10px 12px !important;
  font-family: var(--cal) !important;
  font-size: 13px !important;
  color: var(--ink) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Ensure page content shows — Astra sometimes zero-pads the article */
.ast-article-post,
.ast-single-post-structure .entry-content {
  padding: 0 !important;
}

/* Page template content needs breathing room */
.hf-section, .sec {
  display: block !important;
  visibility: visible !important;
}

/* ═══════════════════════════════════════════════════════════════════
   CART & CHECKOUT REWARDS PANEL v2.0
   Points earn preview + balance + redemption
═══════════════════════════════════════════════════════════════════ */

/* Panel wrapper */
.hf-cart-rewards {
  background: #fff;
  border-radius: 10px;
  border: 0.5px solid var(--im);
  padding: 16px 18px;
  margin-bottom: 20px;
  font-family: var(--cal);
}
.hf-cart-rewards h3 {
  font-family: var(--cin);
  font-size: 14px;
  color: var(--ink);
  margin: 0 0 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  overflow: hidden;
}

/* Earn preview */
.hf-earn-preview { animation: hf-fade-in .3s ease; }
@keyframes hf-fade-in { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:none; } }

/* Balance row */
.hf-rewards-balance {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--icy);
  border-radius: 7px;
  padding: 10px 13px;
  margin-bottom: 10px;
  font-family: var(--cal);
  font-size: 13px;
  color: var(--ink);
}
.hf-rewards-balance strong {
  font-family: var(--cin);
  font-size: 16px;
  color: var(--acc);
}

/* Redeem input row */
.hf-redeem-input {
  display: flex;
  gap: 8px;
  align-items: center;
}
.hf-redeem-input input {
  flex: 1;
  border: 1px solid var(--div);
  border-radius: 6px;
  padding: 9px 12px;
  font-family: var(--cal);
  font-size: 13px;
  color: var(--ink);
  outline: none;
}
.hf-redeem-input input:focus {
  border-color: var(--acc);
  box-shadow: 0 0 0 3px rgba(162,123,91,.1);
}

/* Quick-select buttons */
.hf-redeem-quick {
  font-size: 11px !important;
  padding: 5px 10px !important;
  min-height: 30px !important;
  white-space: nowrap;
}
.hf-redeem-quick:hover {
  border-color: var(--acc) !important;
  color: var(--acc) !important;
}

/* Message */
.hf-redeem-msg { font-family: var(--cal); font-size: 12px; }
.hf-redeem-msg.success { color: #085041; }
.hf-redeem-msg.error   { color: #A32D2D; }

/* Points estimate on single product */
.hf-points-estimate {
  background: var(--icy);
  border-radius: 7px;
  padding: 10px 14px;
  margin: 12px 0;
  font-family: var(--cal);
  font-size: 13px;
  color: var(--ink);
  display: flex;
  align-items: center;
  gap: 8px;
  border-left: 3px solid var(--acc);
}

/* Checkout rewards wrap */
#hf-checkout-rewards-wrap {
  margin-bottom: 20px;
}
#hf-checkout-rewards-wrap .hf-cart-rewards {
  border-color: var(--acc);
  border-width: 1.5px;
}

/* Hero logo */
.hf-hero .hero-logo {
  width: 619px;          /* 16.37 cm @ 96 DPI */
  max-width: 100%;
  height: auto;          /* preserve aspect ratio — never distort */
  aspect-ratio: auto;
  object-fit: contain;
  margin: 0 auto 20px;
  display: block;
}
@media (max-width: 680px) {
  .hf-hero .hero-logo {
    width: 100%;
    height: auto;
  }
}

/* Centred nav fix for Astra */
.ast-header-horizontal-list.main-header-bar-navigation {
  flex: 1 !important;
  display: flex !important;
  justify-content: center !important;
}
.ast-primary-header-bar > .ast-container,
.ast-primary-header-bar .site-primary-header-wrap {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
}

/* ═══════════════════════════════════════════════════════════════════
   FIX v1.2.1 — Cart page + Contact page layout corrections
═══════════════════════════════════════════════════════════════════ */

/* Ensure WooCommerce cart table renders correctly under Astra */
.woocommerce-cart .woocommerce,
.woocommerce-cart #primary,
.woocommerce-cart .entry-content {
  width: 100% !important;
  max-width: 100% !important;
}

/* Cart: fix Astra full-width layout stripping main content padding */
.woocommerce-cart .site-content .ast-container {
  padding-left: 20px !important;
  padding-right: 20px !important;
}

/* Cart table base */
.woocommerce table.shop_table {
  border: 1px solid var(--im, #BFD8D2);
  border-collapse: collapse;
  width: 100%;
  font-family: var(--cal);
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  border: 1px solid var(--im, #BFD8D2);
  padding: 10px 14px;
  vertical-align: middle;
}

.woocommerce table.shop_table thead th {
  background: var(--ink, #2C3639);
  color: #F7F7F7;
  font-family: var(--cin);
  font-size: 13px;
  letter-spacing: .03em;
}

/* Cart actions / coupon row */
.woocommerce .cart-collaterals .cart_totals {
  float: right;
  width: 48%;
}
@media (max-width: 768px) {
  .woocommerce .cart-collaterals .cart_totals { width: 100%; float: none; }
}

/* Contact page grid fix */
.hf-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 20px;
}
@media (max-width: 768px) {
  .hf-contact-grid { grid-template-columns: 1fr; }
}

/* Delivery area grid */
.hf-area-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.hf-area-card {
  background: var(--lt, #F7F7F7);
  border: 1px solid var(--im, #BFD8D2);
  border-radius: 8px;
  padding: 14px 16px;
  text-align: center;
}
.hf-area-name { font-family: var(--cin); font-size: 13px; color: var(--ink); margin-bottom: 6px; }
.hf-area-fee  { font-size: 22px; font-weight: 700; color: var(--acc); }
.hf-area-note { font-size: 11px; color: var(--lun); margin-top: 4px; }

/* Contact card */
.hf-contact-card {
  background: #fff;
  border: 1px solid var(--im, #BFD8D2);
  border-radius: 10px;
  padding: 20px 24px;
}
.hf-contact-row {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 10px 0;
  border-bottom: 1px solid var(--div, #D6D6D6);
  font-family: var(--cal);
  font-size: 13px;
  color: var(--ink);
}
.hf-contact-icon { font-size: 18px; flex-shrink: 0; }
.hf-contact-label {
  display: block;
  font-size: 10px;
  font-family: var(--cin);
  letter-spacing: .06em;
  color: var(--lun);
  text-transform: uppercase;
  margin-bottom: 2px;
}
.hf-hours-row {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  border-bottom: 1px solid var(--div, #D6D6D6);
  font-family: var(--cal);
  font-size: 13px;
}
.hf-hours-day { color: var(--lun); }
.hf-hours-time { font-weight: 600; color: var(--ink); }

/* ── Nav menu: ensure hf-nav-cart and hf-nav-account classes render ─── */
/* WP sometimes strips classes on menu items — force display via attribute */
li.hf-nav-cart a,
li.hf-nav-account a {
  position: relative;
}


/* ═══════════════════════════════════════════════════════════════════
   v3.2.4 FIXES — Shop sidebar, horizontal submenus, mobile menu,
   responsiveness
═══════════════════════════════════════════════════════════════════ */

/* ── Shop layout: main + right sidebar ──────────────────────────── */
.hf-shop-layout {
  display: flex;
  align-items: flex-start;
  gap: 28px;
}

.hf-shop-main {
  flex: 1 1 0;
  min-width: 0; /* prevent overflow */
}

.hf-shop-sidebar {
  width: 200px;
  flex-shrink: 0;
}

.hf-shop-sidebar-inner {
  background: var(--icy, #E8F6F3);
  border: 1px solid var(--im, #BFD8D2);
  border-radius: 10px;
  padding: 18px 16px;
  position: sticky;
  top: 90px;
}

.hf-sidebar-heading {
  font-family: var(--cin);
  font-size: 9px;
  color: var(--acc, #A27B5B);
  letter-spacing: .15em;
  text-transform: uppercase;
  margin: 0 0 12px;
}

.hf-sidebar-cat-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.hf-sidebar-cat-item {
  border-bottom: 1px solid var(--im, #BFD8D2);
}

.hf-sidebar-cat-item:last-child {
  border-bottom: none;
}

.hf-sidebar-cat-item a {
  display: block;
  font-family: var(--cal);
  font-size: 13px;
  color: var(--lun, #3F4E4F);
  padding: 9px 6px;
  text-decoration: none;
  transition: color .15s, padding-left .15s;
}

.hf-sidebar-cat-item a:hover {
  color: var(--acc, #A27B5B);
  padding-left: 10px;
}

.hf-sidebar-cat-item.hf-sidebar-cat-active a,
.hf-sidebar-cat-item.active a {
  color: var(--acc, #A27B5B);
  font-weight: 600;
  padding-left: 10px;
  border-left: 3px solid var(--acc, #A27B5B);
}

/* Mobile: sidebar moves below products */
@media (max-width: 768px) {
  .hf-shop-layout {
    flex-direction: column;
  }
  .hf-shop-sidebar {
    width: 100%;
    order: 2; /* after products */
  }
  .hf-shop-main {
    order: 1;
  }
  .hf-shop-sidebar-inner {
    position: static;
  }
  .hf-sidebar-cat-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }
  .hf-sidebar-cat-item {
    border-bottom: none;
  }
  .hf-sidebar-cat-item a {
    background: #fff;
    border: 1px solid var(--im, #BFD8D2);
    border-radius: 20px;
    padding: 6px 14px;
    font-size: 12px;
  }
  .hf-sidebar-cat-item.hf-sidebar-cat-active a,
  .hf-sidebar-cat-item.active a {
    background: var(--acc, #A27B5B);
    color: #fff;
    border-color: var(--acc, #A27B5B);
    border-left: 1px solid var(--acc, #A27B5B);
    padding-left: 14px;
  }
}

/* ── Submenu: horizontal layout (desktop) ───────────────────────── */
/* Astra primary nav submenus */
.ast-main-navigation .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  flex-direction: row !important;
  flex-wrap: wrap;
  min-width: 480px;
  background: var(--ink, #2C3639);
  box-shadow: 0 8px 24px rgba(0,0,0,.3);
  border-radius: 0 0 8px 8px;
  z-index: 9999;
  list-style: none;
  padding: 10px 0;
  margin: 0;
}
.ast-main-navigation li:hover > .sub-menu,
.ast-main-navigation li:focus-within > .sub-menu {
  display: flex !important;
}
.ast-main-navigation .sub-menu li {
  flex: 0 0 auto;
}
.ast-main-navigation .sub-menu li a {
  font-family: var(--cal);
  font-size: 12px;
  color: #F7F7F7;
  padding: 10px 18px;
  display: block;
  white-space: nowrap;
  border-bottom: none;
  border-right: 0.5px solid rgba(191,216,210,.08);
}
.ast-main-navigation .sub-menu li a:hover {
  color: var(--acc, #A27B5B);
  background: var(--lun, #3F4E4F);
}

/* Standalone nav submenus (fallback/non-Astra) */
.hf-nav-list .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  flex-direction: row !important;
  flex-wrap: wrap;
  min-width: 420px;
  background: var(--ink, #2C3639);
  box-shadow: 0 8px 24px rgba(0,0,0,.3);
  border-radius: 0 0 8px 8px;
  z-index: 999;
  list-style: none;
  padding: 8px 0;
  margin: 0;
}
.hf-nav-list > li:hover > .sub-menu,
.hf-nav-list > li:focus-within > .sub-menu {
  display: flex !important;
}
.hf-nav-list .sub-menu li {
  flex: 0 0 auto;
}
.hf-nav-list .sub-menu a {
  font-family: var(--cal);
  font-size: 12px;
  color: #F7F7F7;
  padding: 9px 18px;
  display: block;
  white-space: nowrap;
  border-bottom: none;
  border-right: 0.5px solid rgba(191,216,210,.08);
}
.hf-nav-list .sub-menu a:hover {
  color: var(--acc, #A27B5B);
  background: var(--lun, #3F4E4F);
}

/* Ensure parent li is positioned */
.hf-nav-list > li,
.ast-main-navigation > ul > li {
  position: relative;
}

/* Mobile: submenus go vertical in mobile drawer */
@media (max-width: 768px) {
  .hf-mobile-nav-list .sub-menu,
  .hf-mobile-nav .sub-menu {
    display: block !important;
    position: static !important;
    flex-direction: column !important;
    min-width: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    background: rgba(0,0,0,.15);
    padding: 0;
  }
}

/* ── Mobile menu toggle — ensure visible on mobile ──────────────── */
@media (max-width: 768px) {
  .hf-mob-toggle {
    display: flex !important;
    align-items: center;
    justify-content: center;
  }
  /* Ensure mobile nav is hidden until toggled */
  .hf-mobile-nav:not(.open) {
    display: none !important;
  }
  .hf-mobile-nav.open {
    display: block !important;
  }
}

/* ── Responsiveness fixes ────────────────────────────────────────── */
@media (max-width: 768px) {
  /* General grid collapse */
  .hf-feat-grid {
    grid-template-columns: 1fr !important;
  }
  /* Hero */
  .hf-hero {
    padding-left: 16px;
    padding-right: 16px;
  }
  .hf-hero-btns {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }
  /* Footer grid */
  footer .hf-footer-cols,
  footer > div > div[style*="grid"] {
    grid-template-columns: 1fr !important;
  }
  /* Promo pills */
  .hf-promo-pills {
    flex-direction: column;
    gap: 8px;
  }
  /* Category filter bar */
  .hf-cat-filters {
    flex-wrap: wrap;
    gap: 8px;
  }
  /* Product grid */
  .woocommerce ul.products,
  ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  /* WC sort bar */
  .woocommerce-ordering,
  .woocommerce-result-count {
    font-size: 12px;
  }
  /* Overflow guard */
  body, .site, #page {
    overflow-x: hidden;
  }
}

@media (max-width: 480px) {
  .woocommerce ul.products,
  ul.products {
    grid-template-columns: 1fr !important;
  }
}
