/*  Garwanj — Shop
    ---------------------------------------------------------------------
    Rewritten from scratch for the Elementor-built shop. Every value is from
    the approved Shop mockup. Colours go through the --grw-* tokens in
    refined.css, so the palette stays editable in one place.

    Structure it styles:
      .grw-crumb
      .e-con.grw-shop-head        heading + intro   (Elementor container)
      .e-con.grw-shop-layout      two-column grid   (Elementor container)
        .e-con.grw-shop-rail        [garwanj_shop_filters]
        .e-con.grw-shop-grid-col    [garwanj_shop_toolbar] + ShopLentor grid

    Elementor renders every container as a flex column, with a selector that
    outranks a single class. Layout rules are therefore written as
    `.elementor .e-con.<class>` so they win without !important.

    Loaded only on shop and product-category pages.
    --------------------------------------------------------------------- */

/* ---------- Release Astra's archive container --------------------------- */
.grw-shop-elementor-page .site-content > .ast-container {
  display: block;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.grw-shop-elementor { width: 100%; }

/* ---------- Breadcrumb -------------------------------------------------- */
.grw-crumb {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 22px 0 0;
  font-size: 13.5px;
  color: var(--grw-ink-soft, #565C53);
}
.grw-crumb a { color: inherit; text-decoration: none; }
.grw-crumb a:hover { color: var(--grw-green, #294A35); }
.grw-crumb__sep { opacity: .5; }
.grw-crumb__here { color: var(--grw-ink, #242D25); font-weight: 600; }

/* ---------- Page head --------------------------------------------------- */
.elementor .e-con.grw-shop-head {
  padding: 30px 0 26px;
  border-bottom: 1px solid var(--grw-line, #DEDFD3);
}

/* ---------- Two-column layout ------------------------------------------ */
.elementor .e-con.grw-shop-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 38px;
  align-items: start;
  padding: 30px 0 60px;
}
/* min-width:0 stops a grid child being forced wider than its column. */
.elementor .e-con.grw-shop-layout > .e-con {
  width: auto;
  min-width: 0;
  max-width: 100%;
  padding: 0;
}
.grw-shop-grid-col .elementor-widget,
.grw-shop-grid-col .elementor-shortcode { min-width: 0; max-width: 100%; }

/* ---------- Verified switch --------------------------------------------- */
.grw-verified-switch {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--grw-green, #294A35), var(--grw-green-deep, #183428));
  color: var(--grw-cream, #F7F5EE);
  text-decoration: none;
}
.grw-verified-switch:hover,
.grw-verified-switch:focus { color: var(--grw-cream, #F7F5EE); }
.grw-verified-switch__sw {
  position: relative;
  flex-shrink: 0;
  width: 42px;
  height: 24px;
  border-radius: 20px;
  background: rgba(247, 245, 238, .25);
  transition: background .18s ease;
}
.grw-verified-switch__sw > span {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--grw-cream, #F7F5EE);
  transition: transform .18s ease;
}
.grw-verified-switch.is-on .grw-verified-switch__sw { background: var(--grw-gold, #AA792B); }
.grw-verified-switch.is-on .grw-verified-switch__sw > span { transform: translateX(18px); }
.grw-verified-switch__t { font-size: 13.5px; font-weight: 600; line-height: 1.35; }
.grw-verified-switch__t small {
  display: block;
  margin-top: 2px;
  font-size: 11.5px;
  font-weight: 400;
  opacity: .8;
}

/* ---------- Filter boxes ------------------------------------------------ */
.grw-fbox {
  padding: 10px 0 22px;
  border-bottom: 1px solid var(--grw-line, #DEDFD3);
}
.grw-fbox--last { border-bottom: 0; }
.grw-fbox h4 {
  margin: 12px 0 6px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -.01em;
  color: var(--grw-green-deep, #183428);
}
.grw-fopts { list-style: none; margin: 0; padding: 0; }
.grw-fopt {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 0;
  font-size: 14px;
  color: var(--grw-ink-soft, #565C53);
  text-decoration: none;
}
.grw-fopt:hover,
.grw-fopt.is-on { color: var(--grw-green, #294A35); }
.grw-fopt.is-on { font-weight: 600; }
.grw-ct {
  margin-left: auto;
  padding: 1px 8px;
  border-radius: 20px;
  background: var(--grw-cream-deep, #EEEADD);
  font-size: 12px;
  color: var(--grw-ink-soft, #565C53);
}
.grw-fempty { margin: 0; font-size: 13px; color: var(--grw-ink-soft, #565C53); }

.grw-price-range { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.grw-price-range input {
  width: 70px;
  padding: 9px 11px;
  border: 1.5px solid var(--grw-line, #DEDFD3);
  border-radius: 8px;
  background: var(--grw-cream, #F7F5EE);
  font-size: 13px;
  color: var(--grw-ink, #242D25);
}
.grw-price-range button {
  padding: 9px 13px;
  border: 0;
  border-radius: 8px;
  background: var(--grw-cream-deep, #EEEADD);
  color: var(--grw-green-deep, #183428);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}

/* ---------- Toolbar ---------------------------------------------------- */
.grw-shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.grw-shop-toolbar .grw-count {
  margin: 0;
  font-size: 14px;
  color: var(--grw-ink-soft, #565C53);
}
.grw-shop-toolbar .grw-sort { margin: 0; }
.grw-shop-toolbar .grw-sort select {
  padding: 10px 16px;
  border: 1.5px solid var(--grw-line, #DEDFD3);
  border-radius: 9px;
  background-color: var(--grw-paper, #FFFDF7);
  font-size: 14px;
  color: var(--grw-ink, #242D25);
}

/* ---------- ShopLentor product grid ------------------------------------ */
.grw-shop-grid-col .woolentor-product-item {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0;
  background: var(--grw-paper, #FFFDF7);
  border: 1px solid var(--grw-line, #DEDFD3);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: none;
}
.grw-shop-grid-col .woolentor-grid-view-content {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.grw-shop-grid-col .woolentor-product-image {
  height: 220px;
  margin: 0;
  background: #EEEEE3;
  border-radius: 0;
  overflow: hidden;
}
.grw-shop-grid-col .woolentor-product-image img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 0;
}

/* Card body: vendor, title, origin, then price and button on one row. */
.grw-shop-grid-col .woolentor-product-content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  flex: 1;
  padding: 18px;
  text-align: left;
}
.grw-shop-grid-col .woolentor-product-content > * { flex: 1 1 100%; }

/* The badge is printed in the card body; lift it onto the image corner. */
.grw-shop-grid-col .grw-verified--card {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 3;
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 11px;
  border: 1px solid var(--grw-line, #DEDFD3);
  border-radius: 30px;
  background: var(--grw-paper, #FFFDF7);
  color: var(--grw-green, #294A35);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .02em;
}

.grw-shop-grid-col .grw-card-vendor {
  display: block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .03em;
  color: var(--grw-brown, #8B4513);
}
.grw-shop-grid-col .woolentor-product-title {
  margin: 5px 0 0;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -.01em;
}
.grw-shop-grid-col .woolentor-product-title a {
  color: var(--grw-ink, #242D25);
  text-decoration: none;
}
.grw-shop-grid-col .woolentor-product-title a:hover { color: var(--grw-green, #294A35); }
.grw-shop-grid-col .grw-card-origin {
  display: block;
  margin-top: 5px;
  font-size: 12px;
  color: var(--grw-ink-soft, #565C53);
}

.grw-shop-grid-col .woolentor-product-price {
  flex: 1 1 auto;
  margin-top: 14px;
  font-size: 20px;
  font-weight: 600;
  color: var(--grw-green, #294A35);
}
.grw-shop-grid-col .woolentor-product-price del { opacity: .55; font-size: 14px; }
.grw-shop-grid-col .woolentor-product-price ins { text-decoration: none; }
.grw-shop-grid-col .woolentor-product-actions {
  flex: 0 0 auto;
  margin-top: 14px;
}
.grw-shop-grid-col .woolentor-product-actions .button,
.grw-shop-grid-col .woolentor-product-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 38px;
  padding: 0 13px;
  border: 0;
  border-radius: 8px;
  background: var(--grw-green, #294A35);
  color: var(--grw-cream, #F7F5EE);
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  box-shadow: none;
}
.grw-shop-grid-col .woolentor-product-actions .button:hover,
.grw-shop-grid-col .woolentor-product-actions a:hover {
  background: var(--grw-green-deep, #183428);
  color: var(--grw-cream, #F7F5EE);
}

/* ---------- Pagination -------------------------------------------------- */
.grw-shop-grid-col .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 12px;
  border: 1.5px solid var(--grw-line, #DEDFD3);
  border-radius: 10px;
  background: var(--grw-paper, #FFFDF7);
  font-size: 14px;
  font-weight: 600;
  color: var(--grw-ink, #242D25);
  text-decoration: none;
}
.grw-shop-grid-col .page-numbers.current {
  background: var(--grw-green, #294A35);
  border-color: var(--grw-green, #294A35);
  color: var(--grw-cream, #F7F5EE);
}

/* ---------- Responsive -------------------------------------------------- */
@media (max-width: 1024px) {
  .elementor .e-con.grw-shop-layout { grid-template-columns: 1fr; gap: 26px; }
  .grw-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 26px; }
  .grw-verified-switch { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
  .grw-filters { grid-template-columns: 1fr; }
  .grw-shop-grid-col .woolentor-product-image,
  .grw-shop-grid-col .woolentor-product-image img { height: 150px; }
  .grw-shop-grid-col .woolentor-product-content { padding: 13px; }
  .grw-shop-grid-col .woolentor-product-title { font-size: 16px; }
  .grw-shop-grid-col .woolentor-product-price { font-size: 17px; }
}

/* ---------- ShopEngine product grid -------------------------------------
   ShopEngine now owns the Shop. Its Archive Products widget renders
   WooCommerce's native loop (ul.products > li.product), which is why the
   verified badge, vendor and origin lines still appear in it.

   WooCommerce lays the loop out with floats and per-item percentage widths;
   those are neutralised so the CSS grid governs. That is the only reason for
   !important here — it beats WooCommerce's own width rules, not ours. */
.woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products ul.products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products ul.products::before,
.woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products ul.products::after { content: none; }

.woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products ul.products li.product {
  position: relative;
  display: flex;
  flex-direction: column;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  background: var(--grw-paper, #FFFDF7);
  border: 1px solid var(--grw-line, #DEDFD3);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: none;
  text-align: left;
}
.woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products li.product img {
  display: block;
  width: 100%;
  height: 220px;
  margin: 0;
  object-fit: cover;
  background: #EEEEE3;
  border-radius: 0;
}

/* Verified badge: printed inside the card, lifted onto the image corner. */
.woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products li.product .grw-verified {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 11px;
  border: 1px solid var(--grw-line, #DEDFD3);
  border-radius: 30px;
  background: var(--grw-paper, #FFFDF7);
  color: var(--grw-green, #294A35);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .02em;
}

.woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products li.product .grw-card-vendor {
  display: block;
  margin: 18px 18px 0;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .03em;
  color: var(--grw-brown, #8B4513);
}
.woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products li.product h1,
.woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products li.product h2,
.woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products li.product h3,
.woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products li.product .woocommerce-loop-product__title {
  margin: 5px 18px 0;
  padding: 0;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -.01em;
  color: var(--grw-ink, #242D25);
}
.woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products li.product a { color: inherit; text-decoration: none; }
.woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products li.product .grw-card-origin {
  display: block;
  margin: 5px 18px 0;
  font-size: 12px;
  color: var(--grw-ink-soft, #565C53);
}
.woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products li.product .star-rating {
  margin: 7px 18px 0;
  font-size: 11px;
}
.woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products li.product .price {
  display: block;
  margin: auto 18px 0;
  padding-top: 14px;
  font-size: 20px;
  font-weight: 600;
  color: var(--grw-green, #294A35);
}
.woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products li.product .price del { opacity: .55; font-size: 14px; }
.woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products li.product .price ins { text-decoration: none; }

.woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products li.product .button,
.woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products li.product .added_to_cart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  height: 38px;
  margin: 12px 18px 18px;
  padding: 0 13px;
  border: 0;
  border-radius: 8px;
  background: var(--grw-green, #294A35);
  color: var(--grw-cream, #F7F5EE);
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  box-shadow: none;
}
.woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products li.product .button:hover {
  background: var(--grw-green-deep, #183428);
  color: var(--grw-cream, #F7F5EE);
}

@media (max-width: 767px) {
  .woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }
  .woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products li.product img { height: 150px; }
  .woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products li.product .grw-card-vendor,
  .woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products li.product h1,
  .woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products li.product h2,
  .woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products li.product h3,
  .woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products li.product .grw-card-origin,
  .woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products li.product .price { margin-left: 13px; margin-right: 13px; }
  .woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products li.product h1,
  .woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products li.product h2,
  .woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products li.product h3 { font-size: 16px; }
  .woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products li.product .price { font-size: 17px; }
  .woocommerce .elementor .grw-shop-grid-col .shopengine-archive-products li.product .button { margin: 10px 13px 13px; }
}

/* Approved shop refinement, 2026-09-21. Scoped to the ShopEngine shop. */
body.grw-shop-elementor-page .elementor-102 > .e-con { max-width:1280px; margin-inline:auto; }
body.grw-shop-elementor-page .elementor .e-con.grw-shop-head { padding:10px 0 26px; min-height:0; }
body.grw-shop-elementor-page .grw-shop-head p { margin:8px 0 0; }
body.grw-shop-elementor-page .grw-shop-head .elementor-widget { margin-bottom:0; }
body.grw-shop-elementor-page .grw-refinement-search { display:none; }
body.grw-shop-elementor-page .grw-toolbar { margin-bottom:20px; }
body.grw-shop-elementor-page .grw-filters { display:flex; flex-direction:column; gap:0; }
body.grw-shop-elementor-page .grw-filters .grw-verified-switch {
 display:flex; align-items:center; gap:12px; min-height:86px; padding:16px 18px; margin:0 0 16px;
 background:linear-gradient(120deg,var(--grw-green,#294a35),var(--grw-green-deep,#183428)) !important;
 color:var(--grw-paper,#fffdf7) !important; border:0; border-radius:10px; text-decoration:none;
}
body.grw-shop-elementor-page .grw-verified-switch .grw-verified-switch__t {font-size:13px;font-weight:700;line-height:1.35;color:inherit;}
body.grw-shop-elementor-page .grw-verified-switch small {display:block;margin-top:4px;font-size:11px;line-height:1.4;color:inherit;opacity:.85;}
body.grw-shop-elementor-page .grw-verified-switch .grw-verified-switch__sw {display:block;position:relative;flex:0 0 42px;width:42px;height:24px;border-radius:24px;background:#687d6d;}
body.grw-shop-elementor-page .grw-verified-switch .grw-verified-switch__sw span {display:block;position:absolute;width:18px;height:18px;top:3px;left:3px;border-radius:50%;background:var(--grw-paper,#fffdf7);transform:none;transition:transform .18s;}
body.grw-shop-elementor-page .grw-verified-switch[aria-checked="true"] .grw-verified-switch__sw {background:var(--grw-gold,#aa792b);}
body.grw-shop-elementor-page .grw-verified-switch[aria-checked="true"] .grw-verified-switch__sw span {transform:translateX(18px);}
body.grw-shop-elementor-page .grw-verified-switch:focus-visible {outline:3px solid var(--grw-gold,#aa792b);outline-offset:4px;}
body.grw-shop-elementor-page .grw-fbox {padding:10px 0 22px;margin:0 0 16px;border-bottom:1px solid var(--grw-line,#dedfd3);}
body.grw-shop-elementor-page .grw-fbox h4 {font-family:Fraunces,Georgia,serif;font-size:15px;margin-bottom:14px;}
body.grw-shop-elementor-page .grw-fbox:has(.grw-price-range) {order:2;}
body.grw-shop-elementor-page .grw-fbox:has(a[href*="valley="]) {order:3;}
body.grw-shop-elementor-page .grw-fopt {display:flex;align-items:center;gap:8px;padding:6px 0;font-size:14px;}
body.grw-shop-elementor-page .grw-fopt::before {content:"";width:14px;height:14px;flex:0 0 14px;border:1px solid #9b9f91;background:var(--grw-paper,#fffdf7);}
body.grw-shop-elementor-page .grw-fopt[aria-current],body.grw-shop-elementor-page .grw-fopt.is-active {color:var(--grw-green,#294a35);}
body.grw-shop-elementor-page .grw-fopt[aria-current]::before,body.grw-shop-elementor-page .grw-fopt.is-active::before {background:var(--grw-green,#294a35);}
body.grw-shop-elementor-page .grw-price-range {gap:8px;flex-wrap:wrap;}
body.grw-shop-elementor-page .grw-price-range input {width:76px;min-width:0;}
body.grw-shop-elementor-page .grw-price-range button {padding:8px;}

/* Override builder defaults on the native Woo loop, without replacing its markup. */
body.woocommerce #page .elementor-102 .shopengine-archive-products ul.products {gap:22px!important;}
body.woocommerce #page .elementor-102 .shopengine-archive-products li.product {padding-bottom:0!important;align-self:stretch;}
body.woocommerce #page .elementor-102 .shopengine-archive-products li.product > a.woocommerce-loop-product__link {display:flex!important;flex-direction:column;flex:1; margin:0;padding:0 0 18px;}
body.woocommerce #page .elementor-102 .shopengine-archive-products .grw-concept {order:0; height:220px;min-height:220px;}
body.woocommerce #page .elementor-102 .shopengine-archive-products .grw-card-vendor {order:1;margin:18px 18px 6px!important;font-size:12px!important;}
body.woocommerce #page .elementor-102 .shopengine-archive-products .woocommerce-loop-product__title {order:2;margin:0 18px 6px!important;font:600 19px/1.25 Fraunces,Georgia,serif!important;min-height:0!important;}
body.woocommerce #page .elementor-102 .shopengine-archive-products .woocommerce-product-rating {order:3;margin:0 18px 8px!important;justify-content:flex-start!important;}
body.woocommerce #page .elementor-102 .shopengine-archive-products .star-rating {margin:0!important;}
body.woocommerce #page .elementor-102 .shopengine-archive-products .grw-card-origin {order:4;margin:0 18px 14px!important;font-size:12px!important;}
body.woocommerce #page .elementor-102 .shopengine-archive-products .price {order:5;text-align:left!important;margin:auto 118px 0 18px!important;padding-top:8px!important;font:600 17px/38px 'Hanken Grotesk',sans-serif!important;color:var(--grw-green,#294a35)!important;}
body.woocommerce #page .elementor-102 .shopengine-archive-products .price * {font:inherit!important;}
body.woocommerce #page .elementor-102 .shopengine-product-description-footer,
body.woocommerce #page .elementor-102 .shopengine-product-description-btn-group {position:static!important;display:contents!important;}
body.woocommerce #page .elementor-102 .shopengine-archive-products li.product .button {position:absolute!important;right:18px;bottom:18px;margin:0!important;height:38px!important;padding:0 13px!important;border-radius:8px!important;background:var(--grw-green,#294a35)!important;color:var(--grw-paper,#fffdf7)!important;font:600 12px/38px 'Hanken Grotesk',sans-serif!important;}
body.woocommerce #page .elementor-102 .shopengine-archive-products .shopengine-quickview-trigger,
body.woocommerce #page .elementor-102 .shopengine-archive-products .shopengine-comparison,
body.woocommerce #page .elementor-102 .shopengine-archive-products .ast-on-card-button {display:none!important;}
body.woocommerce #page .elementor-102 .shopengine-archive-products .shopengine-wishlist {position:absolute!important;top:10px!important;right:10px!important;left:auto!important;bottom:auto!important;display:flex!important;align-items:center;justify-content:center;width:34px!important;height:34px!important;padding:0!important;border:1px solid var(--grw-line,#dedfd3)!important;border-radius:50%!important;background:var(--grw-paper,#fffdf7)!important;color:var(--grw-green,#294a35)!important;z-index:4;}
body.woocommerce #page .elementor-102 .shopengine-archive-products .grws-quick-button {position:absolute;top:174px;left:50%;transform:translateX(-50%);height:34px;min-height:0;margin:0;padding:7px 15px;border:1px solid var(--grw-line,#dedfd3);border-radius:25px;background:var(--grw-paper,#fffdf7);color:var(--grw-green,#294a35);font:400 12px/18px 'Hanken Grotesk',sans-serif;white-space:nowrap;z-index:4;}
/* Use Astra's existing header elements in the two-row mockup layout. */
body.grw-shop-elementor-page #masthead .ast-above-header-wrap {display:none;}
@media(min-width:922px){
 body.grw-shop-elementor-page #ast-desktop-header .site-primary-header-wrap {max-width:1280px;padding:0 32px;}
 body.grw-shop-elementor-page #ast-desktop-header .ast-builder-grid-row {display:grid;grid-template-columns:180px minmax(0,1fr);column-gap:32px;}
 body.grw-shop-elementor-page #ast-desktop-header .site-header-primary-section-right {display:contents;}
 body.grw-shop-elementor-page #ast-desktop-header .ast-header-html-2 {grid-column:2;grid-row:1;width:100%;margin:0;min-height:88px;}
 body.grw-shop-elementor-page #ast-desktop-header .ast-header-html-2 .ast-header-html,
 body.grw-shop-elementor-page #ast-desktop-header .ast-header-html-2 .ast-builder-html-element {width:100%;}
 body.grw-shop-elementor-page #ast-desktop-header .grw-header-controls {display:flex;width:100%;gap:20px;}
 body.grw-shop-elementor-page #ast-desktop-header .grw-header-search {flex:1;max-width:540px;width:auto;margin-right:auto;}
 body.grw-shop-elementor-page #ast-desktop-header .grw-header-search label {flex:1;min-width:0;}
 body.grw-shop-elementor-page #ast-desktop-header .grw-header-search input {width:100%;}
 body.grw-shop-elementor-page #ast-desktop-header .grw-header-search button {background:var(--grw-green,#294a35);color:var(--grw-paper,#fffdf7);border-radius:50%;width:38px;height:38px;padding:0;}
 body.grw-shop-elementor-page #ast-desktop-header .ast-builder-menu-1 {grid-column:1/-1;grid-row:2;border-top:1px solid var(--grw-line,#dedfd3);margin:0;width:100%;}
 body.grw-shop-elementor-page #ast-desktop-header .ast-builder-menu-1 .main-header-menu {gap:32px;min-height:48px;}
 body.grw-shop-elementor-page #ast-desktop-header .ast-builder-menu-1 .menu-link {padding:0;font-size:13px;line-height:48px;}
 body.grw-shop-elementor-page #ast-desktop-header .ast-builder-menu-1 .ast-main-header-bar-alignment,
 body.grw-shop-elementor-page #ast-desktop-header .main-header-bar-navigation,
 body.grw-shop-elementor-page #ast-desktop-header .main-navigation {width:100%;}
 body.grw-shop-elementor-page #ast-desktop-header .main-header-menu li:last-child {margin-left:auto;}
}
@media(max-width:900px){
 body.woocommerce #page .elementor-102 .shopengine-archive-products ul.products {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important;}
 body.woocommerce #page .elementor-102 .shopengine-archive-products .grw-concept {height:190px;min-height:190px;}
 body.woocommerce #page .elementor-102 .shopengine-archive-products .grws-quick-button {top:144px;}
 body.woocommerce #page .elementor-102 .shopengine-archive-products .woocommerce-loop-product__title {font-size:17px!important;}
 body.woocommerce #page .elementor-102 .shopengine-archive-products .price {font-size:15px!important;margin-right:18px!important;margin-bottom:46px!important;}
 body.woocommerce #page .elementor-102 .shopengine-archive-products li.product .button {left:18px;right:auto;}
}

body.woocommerce #page .elementor-102 .shopengine-archive-products .price {padding:0!important;line-height:38px!important;}
body.woocommerce #page .elementor-102 .shopengine-archive-products .woocommerce-product-rating {height:16px!important;line-height:16px!important;display:flex;align-items:center;gap:8px;}
body.woocommerce #page .elementor-102 .shopengine-archive-products .shopengine-product-rating-review-count {font-size:10px;}
body.woocommerce #page .elementor-102 .shopengine-archive-products .grws-quick-button {border-radius:25px!important;background:var(--grw-paper,#fffdf7)!important;}
body.grw-shop-elementor-page .grw-shop-head .elementor-widget-text-editor {margin-top:0!important;}
body.grw-shop-elementor-page #ast-desktop-header .site-navigation {width:100%;}
body.grw-shop-elementor-page .grw-concept-label {left:0;right:0;top:4px;text-align:center;font-size:9px;}

body.woocommerce #page .elementor-102 .shopengine-archive-products ul.products li.product {margin:0!important;box-shadow:none!important;}
body.grw-shop-elementor-page #ast-desktop-header #ast-hf-menu-1 {width:100%;}

body.woocommerce #page .elementor-102 .shopengine-archive-products ul.products {align-content:start;grid-auto-rows:min-content;}
body.woocommerce #page .elementor-102 .shopengine-archive-products ul.products li.product {height:auto!important;align-items:stretch!important;}

/* AJAX navigation retains the sidebar and reports loading/errors. */
.grw-navigation-loader{display:none!important;}
.grw-ajax-status{color:var(--grw-green,#294a35);font-size:14px;}
.grw-ajax-status:empty{display:none;}
.grw-is-loading .grw-shop-grid-col{opacity:.55;transition:opacity .15s;}
.grw-ajax-status button,.grw-ajax-status a{margin:8px;padding:6px 12px;}
body.grw-shop-elementor-page .grw-fopt.is-on::before{background:var(--grw-green,#294a35);box-shadow:inset 0 0 0 2px var(--grw-paper,#fffdf7);}
body.grw-shop-elementor-page .grw-fopt.is-on{font-weight:700;}

/* Mobile filters match the approved inline disclosure, 2026-09-23. */
.grw-filter-trigger{display:none}
@media(max-width:900px){
.elementor-102.grw-mobile-ready .grw-filter-trigger{display:block;align-self:stretch;width:100%;margin:0 0 18px;padding:12px;min-height:44px;background:var(--grw-paper,#FFFDF7);color:var(--grw-green-deep,#183428);border:1px solid var(--grw-line,#DEDFD3);border-radius:8px;font:500 14px/1.4 'Hanken Grotesk',sans-serif;box-shadow:none}
.elementor-102.grw-mobile-ready .grw-filter-trigger:focus-visible{outline:2px solid var(--grw-gold,#AA792B);outline-offset:3px}
body.woocommerce #page .elementor-102.grw-mobile-ready .grw-shop-rail{display:none!important}
body.woocommerce #page .elementor-102.grw-mobile-ready.grw-filters-expanded .grw-shop-rail{display:flex!important;width:100%;max-width:none;position:static}
body.woocommerce #page .elementor-102 .grw-filters{display:flex;flex-direction:column;width:100%}
body.woocommerce #page .elementor-102 .grw-fopt{min-height:38px;display:flex;align-items:center}
body.woocommerce #page .elementor-102 .grw-shop-grid ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;grid-auto-rows:auto!important;align-items:stretch!important}
body.woocommerce #page .elementor-102 .grw-shop-grid ul.products li.product{width:100%!important;min-width:0!important;margin:0!important;height:auto!important;padding:0 0 62px!important}
body.woocommerce #page .elementor-102 .grw-shop-grid li.product .woocommerce-loop-product__title{font-size:17px!important;line-height:1.25!important;overflow-wrap:anywhere}
body.woocommerce #page .elementor-102 .grw-shop-grid li.product .price{font-size:15px!important;margin-bottom:0!important}
body.woocommerce #page .elementor-102 .grw-shop-grid li.product>a.button{left:12px!important;right:12px!important;bottom:12px!important;min-height:38px!important}
body.woocommerce #page .elementor-102 .grw-shop-toolbar{gap:10px;flex-wrap:wrap}
body.woocommerce #page .elementor-102 .grw-shop-layout{min-width:0}
}

/* Keep the mobile logo and actions readable; search occupies its own row. */
@media(max-width:921px){
body.grw-shop-elementor-page #ast-mobile-header .ast-primary-header-bar{padding:12px 18px}
body.grw-shop-elementor-page #ast-mobile-header .ast-primary-header-bar>.ast-builder-grid-row{display:grid!important;grid-template-columns:minmax(100px,1fr) auto auto 36px;gap:10px 6px;align-items:center}
body.grw-shop-elementor-page #ast-mobile-header .site-header-primary-section-left{grid-column:1;grid-row:1;min-width:0}
body.grw-shop-elementor-page #ast-mobile-header .site-header-primary-section-right,
body.grw-shop-elementor-page #ast-mobile-header .ast-header-html-2,
body.grw-shop-elementor-page #ast-mobile-header .ast-header-html-2 .ast-header-html,
body.grw-shop-elementor-page #ast-mobile-header .ast-header-html-2 .ast-builder-html-element,
body.grw-shop-elementor-page #ast-mobile-header .grw-header-controls{display:contents!important}
body.grw-shop-elementor-page #ast-mobile-header .ast-header-html-1{padding:0;margin:0;width:100%}
body.grw-shop-elementor-page #ast-mobile-header .grw-logo img{width:130px;max-width:100%;height:auto;min-width:100px}
body.grw-shop-elementor-page #ast-mobile-header .grw-header-search{grid-row:2;grid-column:1/-1;display:flex!important;width:100%;max-width:none;margin:0;min-width:0}
body.grw-shop-elementor-page #ast-mobile-header .grw-header-search label{flex:1;min-width:0}
body.grw-shop-elementor-page #ast-mobile-header .grw-header-search input[type=search]{width:100%}
body.grw-shop-elementor-page #ast-mobile-header .grw-language-links{grid-column:2;grid-row:1;display:flex;gap:6px;font-size:11px;white-space:nowrap}
body.grw-shop-elementor-page #ast-mobile-header .grw-header-controls>p:empty{display:none}
body.grw-shop-elementor-page #ast-mobile-header .grw-header-controls>p:has(.grws-bag-link){grid-column:3;grid-row:1;display:flex;align-items:center;gap:8px;margin:0}
body.grw-shop-elementor-page #ast-mobile-header [data-section="section-header-mobile-trigger"]{grid-column:4;grid-row:1;margin:0;padding:0}
body.grw-shop-elementor-page #ast-mobile-header .main-header-menu-toggle{padding:4px;min-height:44px}
}
