/*
 * Hope Market storefront.
 *
 * Loaded only on WooCommerce pages, after ux-refinements.css.
 *
 * Why this file exists: WooCommerce's own woocommerce-layout.css sizes every
 * product card with ".woocommerce ul.products.columns-3 li.product
 * { width:30.75%; margin-right:3.8% }". That selector is more specific than
 * the theme's grid rules, so inside the theme's CSS grid each card was 30.75%
 * of its own grid cell - roughly 80px wide - which crushed the photos and
 * wrapped the titles one word per line. Everything below is scoped with
 * [class*="columns-"] so it always wins over those WooCommerce widths.
 */

/* ---- Toolbar: result count, sorting, category chips ---- */
.woocommerce .shop-toolbar{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:14px 20px;margin:0 0 28px;padding:0 0 22px;border-bottom:1px solid var(--line);
}
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{float:none;margin:0}
.woocommerce .woocommerce-result-count{color:var(--muted);font-size:14px}
.woocommerce .woocommerce-ordering select{
  min-height:44px;padding:10px 38px 10px 16px;border:1px solid var(--line);
  border-radius:999px;background-color:#fff;font:inherit;font-size:14px;color:var(--ink);
}
.shop-cats{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;padding:0;list-style:none}
.shop-cats a{
  display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 16px;
  border:1px solid var(--line);border-radius:999px;background:#fff;
  font-size:14px;font-weight:700;color:var(--ink);transition:background .2s,border-color .2s,color .2s;
}
.shop-cats a:hover{border-color:var(--forest);color:var(--forest)}
.shop-cats a[aria-current="page"]{background:var(--forest);border-color:var(--forest);color:#fff}
.shop-cats .count{font-weight:600;opacity:.7;font-size:12px}

/* ---- Product grid ---- */
.woocommerce ul.products,
.woocommerce-page ul.products{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;
  margin:0 0 40px;padding:0;list-style:none;
}
.woocommerce ul.products::before,.woocommerce ul.products::after,
.woocommerce-page ul.products::before,.woocommerce-page ul.products::after{display:none;content:none}

.woocommerce ul.products[class*="columns-"] li.product,
.woocommerce-page ul.products[class*="columns-"] li.product,
.woocommerce ul.products li.product{
  width:100%;max-width:none;margin:0;float:none;clear:none;
  display:flex;flex-direction:column;
  background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;
  padding:0 0 20px;box-shadow:none;transition:transform .2s,box-shadow .2s,border-color .2s;
}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#cfdad3}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{
  display:flex;flex-direction:column;flex:1 1 auto;color:inherit;text-decoration:none;
}
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img.attachment-woocommerce_thumbnail{
  display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;
  margin:0 0 18px;border-radius:0;background:var(--cream);
  transition:transform .5s ease;
}
.woocommerce ul.products li.product:hover a img{transform:scale(1.03)}
.woocommerce ul.products li.product a{overflow:hidden}

.woocommerce ul.products li.product .product-cat{
  display:block;padding:0 20px;margin:0 0 6px;
  font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--terra);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--font-display);font-size:19px;line-height:1.25;font-weight:600;
  padding:0 20px;margin:0 0 10px;color:var(--ink);
  overflow-wrap:normal;word-break:normal;hyphens:manual;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:calc(1.25em * 2);
}
.woocommerce ul.products li.product .price{
  display:block;padding:0 20px;margin:0 0 18px;
  color:var(--forest);font-family:var(--font-body);font-weight:800;font-size:17px;
}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{
  display:flex;align-items:center;justify-content:center;
  width:auto;min-height:46px;margin:auto 20px 0;padding:12px 18px;
  border-radius:999px;background:var(--forest);color:#fff;
  font-size:14px;font-weight:800;line-height:1.2;text-align:center;white-space:nowrap;
}
.woocommerce ul.products li.product .button:hover{background:var(--green);color:#fff}
.woocommerce ul.products li.product .button.loading{opacity:.7}
.woocommerce ul.products li.product .added_to_cart{
  margin-top:10px;background:transparent;color:var(--forest);border:1px solid var(--forest);
}

/* ---- Pagination ---- */
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;justify-content:center;gap:8px}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  min-width:44px;min-height:44px;display:grid;place-items:center;border-radius:999px;border:1px solid var(--line);
}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--forest);color:#fff;border-color:var(--forest)}

/* ---- Single product ---- */
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.woocommerce div.product div.images,
.woocommerce div.product div.summary{width:auto;float:none;margin:0}
.woocommerce div.product div.images img{border-radius:20px;aspect-ratio:1/1;object-fit:cover;background:var(--cream)}
.woocommerce div.product div.images .flex-control-thumbs{display:flex;gap:10px;margin-top:12px}
.woocommerce div.product div.images .flex-control-thumbs li{width:84px;float:none}
.woocommerce div.product div.images .flex-control-thumbs li img{border-radius:12px;opacity:.6}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover{opacity:1}
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells{grid-column:1/-1}
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:24px 0}
.woocommerce div.product form.cart .quantity{margin:0}
.woocommerce div.product form.cart .button{min-height:48px;padding:12px 28px}
.woocommerce div.product .product_meta{font-size:14px;color:var(--muted)}

/* ---- Responsive ---- */
@media (max-width:1100px){
  .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1000px){
  .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
}
@media (max-width:760px){
  .woocommerce div.product{grid-template-columns:1fr;gap:28px}
}
@media (max-width:560px){
  .woocommerce ul.products,.woocommerce-page ul.products{gap:14px}
  .woocommerce ul.products li.product{padding-bottom:14px;border-radius:16px}
  .woocommerce ul.products li.product a img{margin-bottom:12px}
  .woocommerce ul.products li.product .product-cat{padding:0 12px;font-size:10px;letter-spacing:1px}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{padding:0 12px;font-size:16px}
  .woocommerce ul.products li.product .price{padding:0 12px;font-size:15px;margin-bottom:12px}
  .woocommerce ul.products li.product .button{margin:auto 12px 0;min-height:44px;padding:10px 12px;font-size:13px}
  .woocommerce .shop-toolbar{align-items:stretch}
  .woocommerce .woocommerce-ordering,.woocommerce .woocommerce-ordering select{width:100%}
}
@media (max-width:360px){
  .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .woocommerce ul.products li.product,.woocommerce ul.products li.product a img{transition:none}
  .woocommerce ul.products li.product:hover,.woocommerce ul.products li.product:hover a img{transform:none}
}

/* ---- Shop by category tiles (9.97.0) ---- */
.shop-cat-tiles{margin:0 0 44px}
.shop-cat-tiles__head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:8px 24px;margin:0 0 18px}
.shop-cat-tiles__head h2{font-family:var(--font-display);font-size:clamp(26px,3vw,34px);line-height:1.1;margin:0;color:var(--ink)}
.shop-cat-tiles__head p{margin:0;color:var(--muted);font-size:15px;max-width:46ch}
.shop-cat-tiles__grid{list-style:none;margin:0;padding:0 0 10px;display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;gap:14px;scrollbar-width:none}
.shop-cat-tiles__grid::-webkit-scrollbar{display:none}
.shop-cat-tiles__grid li{margin:0;flex:0 0 calc((100% - 5 * 14px) / 6);scroll-snap-align:start}
.shop-cat-tile{position:relative;display:block;aspect-ratio:3/4;border-radius:18px;overflow:hidden;background:var(--cream);color:#fff;isolation:isolate}
.shop-cat-tile__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease;z-index:-2}
.shop-cat-tile__img--empty{background:linear-gradient(135deg,var(--forest),var(--green))}
.shop-cat-tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(9,38,30,0) 35%,rgba(9,38,30,.82) 100%)}
.shop-cat-tile__body{position:absolute;left:0;right:0;bottom:0;padding:14px 14px 16px;display:flex;flex-direction:column;gap:2px}
.shop-cat-tile__name{font-family:var(--font-display);font-size:18px;font-weight:600;line-height:1.15}
.shop-cat-tile__count{font-size:12px;font-weight:700;letter-spacing:.4px;opacity:.85}
.shop-cat-tile:hover .shop-cat-tile__img,.shop-cat-tile:focus-visible .shop-cat-tile__img{transform:scale(1.06)}
.shop-cat-tile:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

/* Category chips: one swipeable row on small screens */
@media (max-width:760px){
  .shop-cats{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:6px;margin-right:-16px;padding-right:16px;scrollbar-width:none}
  .shop-cats::-webkit-scrollbar{display:none}
  .shop-cats li{flex:0 0 auto;scroll-snap-align:start}
}

/* ---- Single product: category label and help strip ---- */
.woocommerce div.product .product-cat-wrap .product-cat{
  display:inline-block;margin:0 0 8px;font-size:12px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--terra)
}
.product-help{list-style:none;margin:22px 0;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:var(--cream);display:grid;gap:14px}
.product-help li{display:flex;gap:12px;align-items:flex-start;margin:0;font-size:14px;line-height:1.5;color:var(--ink)}
.product-help strong{font-weight:800;margin-right:2px}
.product-help a{color:var(--forest);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.product-help__icon{flex:0 0 34px;height:34px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--forest);border:1px solid var(--line)}
.product-help__icon svg{width:17px;height:17px}

@media (max-width:1100px){
  .shop-cat-tiles__grid li{flex-basis:calc((100% - 3 * 14px) / 4)}
}
@media (max-width:760px){
  .shop-cat-tiles__grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-right:-16px;padding:0 16px 8px 0;scrollbar-width:none}
  .shop-cat-tiles__grid::-webkit-scrollbar{display:none}
  .shop-cat-tiles__grid li{flex:0 0 42%;scroll-snap-align:start}
  .shop-cat-tile__name{font-size:16px}
}
@media (prefers-reduced-motion:reduce){
  .shop-cat-tile__img{transition:none}
  .shop-cat-tile:hover .shop-cat-tile__img{transform:none}
}

/* ---- Visible sideways scrolling (9.98.0) ---- */
/* The theme gives every <section> 60-85px of padding; the tiles block sits
   inside the shop layout and must not inherit that. This was the large gap
   above and below "Shop by category". */
.shop-main .shop-cat-tiles{padding:0}

.hscroll{position:relative}
.hscroll__btn{
  display:none;position:absolute;top:calc(50% - 9px);transform:translateY(-50%);z-index:3;
  width:44px;height:44px;padding:0;border-radius:50%;cursor:pointer;
  background:#fff;border:1px solid var(--line);box-shadow:0 6px 18px rgba(18,58,45,.18);
  color:var(--forest);place-items:center;transition:opacity .2s,background .2s,color .2s;
}
.hscroll__btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.hscroll__btn:hover,.hscroll__btn:focus-visible{background:var(--forest);color:#fff;border-color:var(--forest)}
.hscroll__btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.hscroll__btn--prev{left:4px}
.hscroll__btn--next{right:4px}
.hscroll.is-overflowing .hscroll__btn{display:grid}
.hscroll__btn[disabled]{opacity:0;pointer-events:none}

.hscroll__bar{display:none;position:relative;height:6px;margin:12px 4px 0;border-radius:999px;background:var(--line);overflow:hidden}
.hscroll__bar span{position:absolute;top:0;bottom:0;left:0;width:30%;border-radius:999px;background:var(--forest)}
.hscroll.is-overflowing .hscroll__bar{display:block}

/* Chips row: smaller arrows, centred on the chips */
.hscroll:has(> .shop-cats) .hscroll__btn{width:38px;height:38px;top:calc(50% - 12px)}
.hscroll:has(> .shop-cats) .hscroll__bar{height:4px;margin-top:8px}
.shop-cats{margin-bottom:0}
nav .hscroll{margin-bottom:20px}

@media (max-width:760px){
  /* Keep the rows inside the screen so the arrows are not cut off */
  .shop-cat-tiles__grid,.shop-cats{margin-right:0;padding-right:0}
  .shop-cat-tiles{margin-bottom:28px}
}
@media (prefers-reduced-motion:reduce){
  .hscroll__btn{transition:none}
}

/* ---- Cart & checkout blocks: readable buttons and fields (11.0.0) ----
   The theme's link colour (dark green, underlined) was applied to the
   block cart's "Proceed to Checkout" link on its dark button, so the text
   was invisible. */
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
a.wc-block-components-button:not(.is-link){
  background:var(--forest) !important;color:#fff !important;border:0 !important;border-radius:999px !important;
  min-height:52px;padding:14px 22px !important;font-weight:800 !important;font-size:16px !important;text-decoration:none !important;box-shadow:none !important;
}
.wc-block-components-button:not(.is-link):hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover{background:var(--forest2,#09261e) !important;color:#fff !important}
.wc-block-components-button:not(.is-link) .wc-block-components-button__text,
.wc-block-cart__submit-button *{color:inherit !important;text-decoration:none !important}
.wc-block-components-button:not(.is-link):focus-visible{outline:3px solid var(--gold) !important;outline-offset:2px;box-shadow:none !important}
.wc-block-components-quantity-selector{border-radius:999px !important;overflow:hidden}
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input,
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__input{background:transparent !important;border:0 !important;min-height:0 !important;box-shadow:none !important;color:var(--ink) !important;font-weight:700}
.wc-block-components-quantity-selector__button{min-height:0 !important;color:var(--forest) !important}
.wc-block-cart-item__product .wc-block-components-product-name{color:var(--ink) !important;font-weight:700;text-decoration:none !important}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{color:var(--forest)}
.wc-block-components-text-input input,.wc-block-components-textarea,.wc-block-components-combobox .components-combobox-control__input{min-height:50px !important;border-radius:12px !important}

/* ---- Search, sorting and price filters (11.2.0) ---- */
.shop-search{position:relative;max-width:760px;margin:0 auto 30px;z-index:20}
.shop-search__form{display:flex;align-items:center;gap:0;margin:0;padding:6px;border:1.5px solid var(--line);border-radius:999px;background:#fff;box-shadow:0 8px 28px rgba(18,58,45,.08);transition:border-color .2s,box-shadow .2s}
.shop-search__form:focus-within{border-color:var(--forest);box-shadow:0 10px 32px rgba(18,58,45,.16)}
.shop-search__icon{flex:0 0 22px;width:22px;height:22px;margin:0 6px 0 14px;fill:none;stroke:var(--forest);stroke-width:2.2;stroke-linecap:round}
.shop-search__input{flex:1;min-width:0;min-height:46px !important;padding:10px 8px !important;border:0 !important;background:transparent !important;font-size:16px;color:var(--ink);box-shadow:none !important;outline:none}
.shop-search__input::-webkit-search-cancel-button{display:none}
.shop-search__clear{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;min-height:0 !important;margin-right:6px;padding:0;border:0;border-radius:50%;background:var(--cream);color:var(--ink);cursor:pointer}
.shop-search__clear[hidden]{display:none}
.shop-search__clear svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.shop-search__submit{flex:0 0 auto;min-height:46px;padding:0 24px;border:0;border-radius:999px;background:var(--forest);color:#fff;font-weight:800;font-size:15px;cursor:pointer}
.shop-search__submit:hover{background:var(--forest2,#09261e)}
.shop-search.is-loading .shop-search__icon{animation:cohfPulse .9s ease-in-out infinite}
@keyframes cohfPulse{50%{opacity:.35}}

.shop-search__panel{position:absolute;left:0;right:0;top:calc(100% + 8px);max-height:min(70vh,560px);overflow-y:auto;padding:10px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 22px 60px rgba(18,58,45,.22)}
.shop-search__panel[hidden]{display:none}
.ss-group+.ss-group{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}
.ss-head{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#66736d}
.ss-clear-recent{min-height:0 !important;padding:0;border:0;background:none;color:var(--forest);font-size:12px;font-weight:700;text-transform:none;letter-spacing:0;text-decoration:underline;cursor:pointer}
.ss-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:4px 10px 8px;list-style:none}
.ss-chip{display:inline-flex;align-items:center;min-height:36px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;color:var(--ink);font-size:14px;text-decoration:none}
.ss-chip--recent:before{content:"";width:13px;height:13px;margin-right:7px;border:2px solid #9aa6a0;border-radius:50%;border-left-color:transparent}
.ss-chip:hover,.ss-chip[aria-selected="true"]{border-color:var(--forest);background:var(--cream)}
.ss-cats,.ss-products{margin:0;padding:0;list-style:none}
.ss-cat{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:12px;color:var(--ink);font-weight:700;text-decoration:none}
.ss-cat small{font-weight:500;color:#66736d}
.ss-product{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:14px;color:var(--ink);text-decoration:none}
.ss-product img{flex:0 0 56px;width:56px;height:56px;object-fit:cover;border-radius:10px;background:var(--cream)}
.ss-product__body{flex:1;min-width:0;display:flex;flex-direction:column}
.ss-product__name{font-weight:700;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.ss-product__cat{font-size:12.5px;color:#66736d}
.ss-product__price{flex:0 0 auto;font-weight:800;color:var(--forest);white-space:nowrap}
.ss-product__price em{font-style:normal;color:#b91c1c;font-size:13px}
.ss-cat:hover,.ss-cat[aria-selected="true"],.ss-product:hover,.ss-product[aria-selected="true"]{background:var(--cream)}
.ss-product mark,.ss-cat mark{background:#fbe7b5;color:inherit;border-radius:3px;padding:0 1px}
.ss-all{display:block;margin:8px 4px 2px;padding:12px;border-radius:12px;background:var(--forest);color:#fff;font-weight:800;text-align:center;text-decoration:none}
.ss-all:hover,.ss-all[aria-selected="true"]{background:var(--forest2,#09261e);color:#fff}
.ss-note{margin:4px 10px 6px;font-size:13.5px;color:#8a5a00}
.ss-empty{margin:0;padding:18px 12px;color:#66736d;text-align:center}

.shop-results-head{margin:0 0 14px;font-size:18px;color:var(--ink)}
.shop-results-head strong{color:var(--forest)}
.shop-prices{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 18px}
.shop-prices__label{margin-right:4px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#66736d}
.shop-price-chip{display:inline-flex;align-items:center;min-height:38px;padding:7px 15px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:14px;font-weight:600;text-decoration:none}
.shop-price-chip:hover{border-color:var(--forest)}
.shop-price-chip[aria-current="true"]{background:var(--forest);border-color:var(--forest);color:#fff}
.shop-active{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 20px}
.shop-active__chip{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:5px 10px 5px 14px;border-radius:999px;background:#fbe7b5;color:var(--ink);font-size:13.5px;font-weight:700;text-decoration:none}
.shop-active__chip svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round}
.shop-active__chip:hover{background:#f5d685}
.shop-active__clear{font-size:13.5px;font-weight:700;color:var(--forest);text-decoration:underline}

.shop-noresults{max-width:680px;margin:10px auto 40px;padding:32px 24px;border:1px solid var(--line);border-radius:22px;background:#fff;text-align:center}
.shop-noresults h2{margin:0 0 10px;font-size:26px;color:var(--forest)}
.shop-noresults p{color:#5b6863}
.shop-noresults__suggest{font-size:17px}
.shop-noresults__suggest a{font-weight:800;color:var(--forest);text-decoration:underline}
.shop-noresults__cats{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:18px 0;padding:0;list-style:none}
.shop-noresults__cats a{display:inline-flex;gap:6px;align-items:center;min-height:40px;padding:8px 16px;border:1px solid var(--line);border-radius:999px;color:var(--ink);font-weight:600;text-decoration:none}
.shop-noresults__cats a:hover{border-color:var(--forest)}
.shop-noresults__cats span{color:#66736d;font-weight:500}
.shop-noresults__help a{font-weight:800;color:#128c4a}

@media (max-width:640px){
  .shop-search{margin-bottom:22px}
  .shop-search__icon{margin-left:10px}
  .shop-search__submit{padding:0 16px;font-size:14px}
  .shop-search__panel{position:fixed;left:10px;right:10px;top:auto;max-height:62vh}
  .shop-prices{flex-wrap:nowrap;overflow-x:auto;margin-right:-16px;padding-right:16px;scrollbar-width:none}
  .shop-prices::-webkit-scrollbar{display:none}
  .shop-price-chip{flex:0 0 auto}
}

/* =========================================================================
   Premium storefront layer (12.0.0)
   ========================================================================= */

/* ---- Trust strip ---- */
.shop-trust{list-style:none;margin:0 0 34px;padding:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;border:1px solid #ece7de;border-radius:20px;background:#fff}
.shop-trust li{display:flex;align-items:center;gap:12px;margin:0;padding:6px 10px}
.shop-trust li+li{border-left:1px solid #f0ebe2}
.shop-trust__icon{flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#f4efe4;color:var(--forest)}
.shop-trust__icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.shop-trust strong{display:block;font-size:14.5px;color:var(--ink);line-height:1.25}
.shop-trust small{display:block;font-size:12.5px;color:#6b7771;line-height:1.35;margin-top:2px}

/* ---- Toolbar: one tidy row (price chips | count | sort) ---- */
.woocommerce .shop-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin:0 0 30px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.woocommerce .shop-toolbar .shop-results-head,
.woocommerce .shop-toolbar .shop-active{flex:1 0 100%;order:-1;margin:0}
.woocommerce .shop-toolbar .shop-prices{order:1;flex:1 1 auto;margin:0}
.woocommerce .shop-toolbar .woocommerce-result-count{order:2;margin:0;font-size:13.5px}
.woocommerce .shop-toolbar .woocommerce-ordering{order:3;margin:0}
.woocommerce .woocommerce-ordering select{font-weight:600;cursor:pointer}
.shop-cats-nav{margin-bottom:6px}

/* ---- Product cards ---- */
.woocommerce ul.products{gap:28px 22px}
.woocommerce ul.products li.product{border:1px solid #ece7de;border-radius:18px;padding:0 0 16px;background:#fff}
.woocommerce ul.products li.product:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(18,58,45,.12);border-color:#e0d8ca}
.product-media{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:#f4f0e8;margin:0 0 16px}
.woocommerce ul.products li.product .product-media img{position:absolute;inset:0;width:100%;height:100%;margin:0;aspect-ratio:auto;object-fit:cover;background:transparent;mix-blend-mode:multiply;transition:opacity .45s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.woocommerce ul.products li.product .product-media img.product-media__alt{opacity:0}
.woocommerce ul.products li.product:hover .product-media img{transform:scale(1.045)}
.woocommerce ul.products li.product:hover .product-media.has-alt img.product-media__alt{opacity:1}
.woocommerce ul.products li.product:hover .product-media.has-alt img:not(.product-media__alt){opacity:0}
.product-badge{position:absolute;z-index:2;top:12px;left:12px;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;line-height:1.2}
.product-badge--sold{background:#1c1b19;color:#fff}
.product-badge--sale{background:var(--gold);color:#1c1b19}
.product-badge--photos{top:auto;bottom:12px;left:auto;right:12px;background:rgba(255,255,255,.92);color:var(--ink);text-transform:none;letter-spacing:0;font-weight:700;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.woocommerce ul.products li.product .product-cat{padding:0 18px;margin:0 0 6px;font-size:10.5px;letter-spacing:.14em;color:#a0603f}
.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:0 18px;font-size:18px;margin:0 0 8px}
.woocommerce ul.products li.product .price{padding:0 18px;margin:0 0 16px;font-size:16.5px;color:var(--ink)}
.woocommerce ul.products li.product .button{margin:auto 18px 0;min-height:44px;background:transparent;color:var(--forest);border:1.5px solid var(--forest);font-size:13.5px;letter-spacing:.02em;transition:background .2s,color .2s}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .button:focus-visible{background:var(--forest);color:#fff}
.woocommerce ul.products li.product .button.js-cohf-add.is-loading:after{border-color:rgba(18,58,45,.25);border-top-color:var(--forest)}
.woocommerce ul.products li.product.is-new-load{animation:cohfFadeUp .45s ease both}
@keyframes cohfFadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* ---- Load more ---- */
.shop-loadmore{display:flex;flex-direction:column;align-items:center;gap:12px;margin:6px auto 26px;max-width:360px;text-align:center}
.shop-loadmore__text{margin:0;font-size:14px;color:#5b6863}
.shop-loadmore__text strong{color:var(--ink)}
.shop-loadmore__bar{width:100%;height:4px;border-radius:999px;background:var(--line);overflow:hidden}
.shop-loadmore__bar span{display:block;height:100%;border-radius:999px;background:var(--forest);transition:width .4s ease}
.shop-loadmore__btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 34px;border-radius:999px;background:var(--forest);color:#fff;font-weight:800;text-decoration:none;transition:background .2s}
.shop-loadmore__btn:hover{background:var(--forest2,#09261e);color:#fff}
.shop-loadmore__btn.is-loading{opacity:.6;pointer-events:none}

/* ---- Help band ---- */
.shop-help{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 32px;margin:40px 0 10px;padding:30px 34px;border-radius:24px;background:linear-gradient(120deg,var(--forest),#1d5241);color:#fff}
.shop-help h2{margin:0 0 6px;font-family:var(--font-display);font-size:clamp(22px,2.6vw,28px);color:#fff}
.shop-help p{margin:0;color:#d3e2da;max-width:52ch}
.shop-help__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px}
.shop-help .cart-btn{width:auto;padding:12px 24px}
.shop-help__link{color:#fff;font-weight:700;text-decoration:underline}

/* ---- Phones: Filter & sort bar and sheet ---- */
.shop-mbar,.shop-sheet{display:none}
@media (max-width:760px){
  .shop-trust{grid-template-columns:1fr 1fr;padding:10px;gap:4px;margin-bottom:26px}
  .shop-trust li{padding:8px 6px;gap:9px;align-items:flex-start}
  .shop-trust li+li{border-left:0}
  .shop-trust__icon{flex-basis:34px;width:34px;height:34px}
  .shop-trust strong{font-size:13px}
  .shop-trust small{font-size:11.5px}

  .shop-cats-nav,
  .woocommerce .shop-toolbar .shop-prices,
  .woocommerce .shop-toolbar .woocommerce-ordering,
  .woocommerce .shop-toolbar .woocommerce-result-count{display:none}
  .woocommerce .shop-toolbar{padding:0;border:0;margin:0 0 14px}
  .woocommerce .shop-toolbar:not(:has(.shop-results-head)):not(:has(.shop-active)){display:none}

  .shop-mbar{position:sticky;top:64px;z-index:15;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 -16px 18px;padding:10px 16px;background:rgba(250,248,243,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
  .shop-mbar__btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border:1.5px solid var(--forest);border-radius:999px;background:#fff;color:var(--forest);font-weight:800;font-size:14.5px;cursor:pointer}
  .shop-mbar__btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
  .shop-mbar__count{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--gold);color:var(--ink);font-size:11.5px;line-height:20px;text-align:center}
  .shop-mbar__total{font-size:13.5px;color:#5b6863;font-weight:600}

  .shop-sheet{display:block;position:fixed;inset:0;z-index:10001}
  .shop-sheet[hidden]{display:none}
  .shop-sheet__overlay{position:absolute;inset:0;background:rgba(9,38,30,.5);opacity:0;transition:opacity .25s}
  .shop-sheet.is-open .shop-sheet__overlay{opacity:1}
  .shop-sheet__panel{position:absolute;left:0;right:0;bottom:0;max-height:86vh;display:flex;flex-direction:column;background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -12px 40px rgba(9,38,30,.25);transform:translateY(100%);transition:transform .3s cubic-bezier(.2,.8,.2,1);outline:none}
  .shop-sheet.is-open .shop-sheet__panel{transform:none}
  html.shop-sheet-open{overflow:hidden}
  .shop-sheet__grab{width:44px;height:5px;margin:10px auto 0;border-radius:999px;background:#d9dfdb}
  .shop-sheet__head{display:flex;align-items:center;justify-content:space-between;padding:10px 20px 12px;border-bottom:1px solid var(--line)}
  .shop-sheet__head h2{margin:0;font-size:20px;color:var(--forest)}
  .shop-sheet__close{display:grid;place-items:center;width:40px;height:40px;min-height:0;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink)}
  .shop-sheet__close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
  .shop-sheet__body{flex:1;overflow-y:auto;padding:6px 20px 12px;-webkit-overflow-scrolling:touch}
  .shop-sheet__body section{padding:14px 0;border-bottom:1px solid #f0ece4}
  .shop-sheet__body section:last-child{border-bottom:0}
  .shop-sheet__body h3{margin:0 0 10px;font-family:var(--font-body);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#6b7771}
  .shop-sheet__list{list-style:none;margin:0;padding:0}
  .shop-sheet__list a{display:flex;align-items:center;justify-content:space-between;min-height:46px;color:var(--ink);font-size:15.5px;text-decoration:none}
  .shop-sheet__list a:after{content:"";width:20px;height:20px;border:2px solid #c9d1cc;border-radius:50%;box-sizing:border-box}
  .shop-sheet__list a[aria-current="true"]{font-weight:800;color:var(--forest)}
  .shop-sheet__list a[aria-current="true"]:after{border:6px solid var(--forest)}
  .shop-sheet__chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
  .shop-sheet__chips a{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 15px;border:1px solid var(--line);border-radius:999px;color:var(--ink);font-size:14px;font-weight:600;text-decoration:none}
  .shop-sheet__chips a span{color:#7d8984;font-weight:500;font-size:12.5px}
  .shop-sheet__chips a[aria-current="true"]{background:var(--forest);border-color:var(--forest);color:#fff}
  .shop-sheet__chips a[aria-current="true"] span{color:#cfe0d7}
  .shop-sheet__foot{display:flex;align-items:center;gap:12px;padding:12px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}
  .shop-sheet__clear{flex:0 0 auto;padding:0 6px;color:var(--forest);font-weight:700;text-decoration:underline}
  .shop-sheet__done{flex:1;min-height:50px;border:0;border-radius:999px;background:var(--forest);color:#fff;font-weight:800;font-size:15px}

  .woocommerce ul.products{gap:16px 12px}
  .product-media{margin-bottom:12px}
  .product-badge{top:8px;left:8px;font-size:10px;padding:4px 8px}
  .product-badge--photos{display:none}
  .woocommerce ul.products li.product{padding-bottom:12px;border-radius:14px}
  .woocommerce ul.products li.product .product-cat{padding:0 12px;font-size:9.5px}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{padding:0 12px;font-size:15px}
  .woocommerce ul.products li.product .price{padding:0 12px;font-size:15px;margin-bottom:12px}
  .woocommerce ul.products li.product .button{margin:auto 12px 0;min-height:40px;font-size:13px;padding:8px 10px}

  .shop-help{padding:24px 20px;border-radius:20px}
  .shop-help__actions,.shop-help .cart-btn{width:100%}
  .shop-help__actions{flex-direction:column;align-items:stretch;text-align:center}
}
@media (prefers-reduced-motion:reduce){
  .shop-sheet__panel,.shop-sheet__overlay,.woocommerce ul.products li.product .product-media img{transition:none}
  .woocommerce ul.products li.product.is-new-load{animation:none}
}

/* =========================================================================
   Checkout and cart redesign (12.3.0)
   The cart and checkout blocks sat inside the page's 70ch reading column,
   so WooCommerce rendered its narrow phone layout on desktop: a collapsed
   "Order summary" toggle on top, cramped two-column fields and the summary
   pushed to the bottom. Give them a full-width canvas, then style them.
   ========================================================================= */
.woocommerce-checkout main .prose,
.woocommerce-cart main .prose{max-width:1160px}
.woocommerce-checkout main .page-hero,
.woocommerce-cart main .page-hero{padding:46px 0}
.woocommerce-checkout main .page-hero h1,
.woocommerce-cart main .page-hero h1{font-size:clamp(32px,4vw,44px);margin:0}

/* Progress steps */
.checkout-steps{margin:0 auto 30px;max-width:620px}
.checkout-steps ol{list-style:none;margin:0;padding:0;display:flex;align-items:center}
.checkout-steps li{flex:1;display:flex;align-items:center;gap:10px;margin:0;color:#8a948f;font-size:14px;font-weight:700}
.checkout-steps li+li:before{content:"";flex:1;height:2px;margin-right:10px;background:#e2ddd2;border-radius:2px}
.checkout-steps li.is-done+li:before,.checkout-steps li.is-current:before{background:var(--forest)}
.checkout-steps a{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}
.checkout-steps__num{flex:0 0 30px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;border:2px solid #d6d0c4;background:#fff;font-size:13px}
.checkout-steps li.is-current{color:var(--forest)}
.checkout-steps li.is-current .checkout-steps__num{background:var(--forest);border-color:var(--forest);color:#fff;box-shadow:0 0 0 5px rgba(18,58,45,.12)}
.checkout-steps li.is-done{color:var(--forest)}
.checkout-steps li.is-done .checkout-steps__num{background:#e7f1eb;border-color:var(--forest);color:var(--forest)}
.checkout-steps__label{white-space:nowrap}

/* Our "Your order" list is for phones only; desktop shows the sidebar. */
@media (min-width:900px){.checkout-items{display:none}}

/* Layout: form left, sticky summary card right */
.wc-block-checkout.wc-block-components-sidebar-layout,
.wc-block-cart.wc-block-components-sidebar-layout{margin-bottom:10px}
/* No flex gap here: WooCommerce sizes main/sidebar at 65%/35%, so any gap
   pushes the sidebar onto a new line (12.3.0 bug). Space with padding. */
.is-large.wc-block-components-sidebar-layout .wc-block-components-main{padding-right:36px;box-sizing:border-box}
.is-large.wc-block-components-sidebar-layout .wc-block-components-sidebar{padding-left:0;box-sizing:border-box}
.is-large .wc-block-components-sidebar{position:sticky;top:110px;align-self:flex-start}
.wc-block-components-sidebar .wc-block-components-order-summary,
.wp-block-woocommerce-checkout-order-summary-block,
.wp-block-woocommerce-cart-order-summary-block{background:#fff;border:1px solid #e8e2d6 !important;border-radius:20px;padding:20px 22px;box-shadow:0 16px 44px rgba(18,58,45,.08)}
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title,
.wc-block-cart__totals-title{font-family:var(--font-display);font-size:22px !important;color:var(--forest);text-transform:none !important;letter-spacing:0 !important}
.wc-block-components-order-summary-item__image img{border-radius:10px}
.wc-block-components-order-summary-item__quantity{background:var(--forest) !important;color:#fff !important;border:2px solid #fff !important;box-shadow:none !important}
.wc-block-components-totals-item__label{color:#5b6863}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-size:20px !important;font-weight:800 !important;color:var(--ink)}

/* Sections as numbered cards */
.wc-block-checkout__form{counter-reset:cohfstep}
.wc-block-components-checkout-step{background:#fff;border:1px solid #e8e2d6;border-radius:20px;padding:22px 24px 8px !important;margin:0 0 18px !important}
.wc-block-components-checkout-step::after{display:none !important}
.wc-block-components-checkout-step__heading{margin:0 0 14px !important}
.wc-block-components-checkout-step__title{display:flex;align-items:center;gap:12px;font-family:var(--font-display) !important;font-size:21px !important;color:var(--forest)}
.wc-block-components-checkout-step__title:before{counter-increment:cohfstep;content:counter(cohfstep);flex:0 0 30px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--forest);color:#fff;font:800 14px/1 var(--font-body)}
.wc-block-components-checkout-step__description{color:#6b7771;font-size:14px}
.wc-block-components-checkout-step__container .wc-block-components-checkout-step__content{padding-bottom:16px}

/* Fields */
.wc-block-components-text-input input,
.wc-block-components-text-input input[type],
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.wc-block-components-textarea{border:1.5px solid #dcd5c8 !important;border-radius:14px !important;background:#fcfbf8 !important;color:var(--ink) !important;font-size:16px !important;box-shadow:none !important}
.wc-block-components-text-input input,.wc-blocks-components-select .wc-blocks-components-select__select{min-height:56px !important}
.wc-block-components-text-input input:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus,
.wc-block-components-combobox .components-combobox-control__input:focus,
.wc-block-components-textarea:focus{border-color:var(--forest) !important;background:#fff !important;box-shadow:0 0 0 4px rgba(18,58,45,.12) !important;outline:none !important}
.wc-block-components-text-input label,.wc-blocks-components-select__label{color:#6b7771 !important}
.wc-block-components-text-input.has-error input,.wc-blocks-components-select.has-error select{border-color:#c2410c !important;box-shadow:0 0 0 4px rgba(194,65,12,.1) !important}
.wc-block-components-validation-error{color:#b23a0a !important;font-weight:600}
.wc-block-components-address-form__address_2-toggle,.wc-block-components-address-card__edit{color:var(--forest) !important;font-weight:700}

/* Checkboxes */
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]{width:22px;height:22px;min-height:0 !important;border:1.5px solid #b9c4bd !important;border-radius:7px !important;background:#fff !important}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked{background:var(--forest) !important;border-color:var(--forest) !important}
.wc-block-components-checkbox .wc-block-components-checkbox__mark{fill:#fff !important}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:focus{box-shadow:0 0 0 4px rgba(18,58,45,.15) !important;outline:none !important}

/* Shipping and payment choices as selectable cards */
.wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option{border:1.5px solid #e2dcd0 !important;border-radius:16px !important;background:#fff;margin:0 0 10px !important;box-shadow:none !important;transition:border-color .2s,background .2s}
.wc-block-components-radio-control__option{padding:16px 16px 16px 52px !important}
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option-checked,
.wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control__option-checked{border-color:var(--forest) !important;background:#f4f8f5 !important;box-shadow:0 0 0 3px rgba(18,58,45,.08) !important}
.wc-block-components-radio-control--highlight-checked::after,
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option-checked::after{display:none !important}
.wc-block-components-radio-control__input{border:2px solid #b9c4bd !important;width:22px !important;height:22px !important;min-height:0 !important;left:16px !important}
.wc-block-components-radio-control__input:checked{border:7px solid var(--forest) !important;background:#fff !important}
.wc-block-components-radio-control__input:checked::before{display:none !important}
.wc-block-components-radio-control__label{font-weight:700;color:var(--ink)}
.wc-block-components-radio-control__secondary-label{font-weight:800;color:var(--forest)}
.wc-block-components-radio-control-accordion-content{padding:0 16px 14px 52px !important;color:#5b6863}

/* Coupon, notes, terms */
.wc-block-components-panel__button{font-weight:700 !important;color:var(--forest) !important}
.wc-block-checkout__terms{font-size:13.5px;color:#6b7771;margin:4px 0 14px !important}
.wc-block-checkout__terms a{color:var(--forest)}
.wc-block-checkout__actions{padding-top:6px}
.wc-block-checkout__actions_row{align-items:center;gap:16px}
.wc-block-components-checkout-return-to-cart-button{color:var(--forest) !important;font-weight:700}
.wc-block-components-checkout-place-order-button{min-height:58px !important;font-size:17px !important;letter-spacing:.01em;box-shadow:0 10px 26px rgba(18,58,45,.25) !important}
.wc-block-components-notice-banner{border-radius:14px !important}

/* Cart block */
.wc-block-cart-items{border:1px solid #e8e2d6;border-radius:20px;background:#fff;overflow:hidden}
.wc-block-cart-items th{padding:16px 20px !important;font-size:12px;letter-spacing:.1em;color:#6b7771}
.wc-block-cart-items td{padding:20px !important;border-top:1px solid #efe9de !important}
.wc-block-cart-item__image img{border-radius:12px}
.wc-block-cart-item__remove-link{color:#8a6d5f !important;font-size:13px !important}

/* Reassurance row */
.checkout-trust{list-style:none;margin:26px 0 0;padding:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border:1px solid #e8e2d6;border-radius:18px;background:#fff}
.checkout-trust li{display:flex;align-items:center;gap:12px;margin:0;padding:4px 8px}
.checkout-trust__icon{flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#eef4f0;color:var(--forest)}
.checkout-trust__icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.checkout-trust strong{display:block;font-size:14px;color:var(--ink)}
.checkout-trust small{display:block;font-size:12.5px;color:#6b7771}
.woocommerce-checkout .cart-wa-alt,.woocommerce-cart .cart-wa-alt{margin-top:22px}

@media (max-width:760px){
  .checkout-steps{margin-bottom:22px}
  .checkout-steps__label{font-size:12px;white-space:normal;line-height:1.2}
  .checkout-steps li{gap:6px}
  .checkout-steps li+li:before{margin-right:6px}
  .checkout-steps__num{flex-basis:26px;width:26px;height:26px;font-size:12px}
  .wc-block-components-checkout-step{padding:18px 16px 4px !important;border-radius:16px}
  .wc-block-components-checkout-step__title{font-size:19px !important}
  .checkout-trust{grid-template-columns:1fr;padding:10px}
}

/* ---- Shop toolbar: sort sits on the same row as the price chips ---- */
.woocommerce .shop-toolbar{background:#fff;border:1px solid #ece7de !important;border-radius:18px;padding:12px 16px !important}
.woocommerce .shop-toolbar .shop-prices{flex:1 1 0;min-width:0}
.woocommerce .shop-toolbar .woocommerce-result-count{margin-left:auto !important;white-space:nowrap}
.woocommerce .shop-toolbar .woocommerce-ordering{flex:0 0 auto}
.woocommerce .shop-toolbar .shop-results-head,.woocommerce .shop-toolbar .shop-active{padding-bottom:4px}
@media (max-width:1100px) and (min-width:761px){.woocommerce .shop-toolbar .shop-prices{flex-basis:100%}}
@media (max-width:760px){.woocommerce .shop-toolbar{background:none;border:0 !important;padding:0 !important}}

/* =========================================================================
   12.3.1 checkout fixes
   1. prototype.css sets `form{display:grid;grid-template-columns:1fr 1fr}`
      for the contact form. The checkout form inherited it, so every section
      became a cell in a two-column grid (contact top right, address left,
      delivery right, payment left, note beside payment).
   2. prototype.css gives every input 14px padding, which inflated the radio
      buttons into large dark circles sitting over their labels.
   ========================================================================= */
form.wc-block-checkout__form,
.wc-block-checkout form.wc-block-components-form,
.wc-block-cart form,
.wc-block-components-totals-coupon form,
form.wc-block-components-totals-coupon__form{display:block;grid-template-columns:none}
form.wc-block-components-totals-coupon__form{display:flex;gap:10px}
.wc-block-checkout__form > *{width:100%}

.wc-block-components-radio-control__input,
.wc-block-components-checkbox__input,
.wc-block-checkout input[type=radio],
.wc-block-checkout input[type=checkbox],
.wc-block-cart input[type=checkbox]{padding:0 !important;margin:0}
.wc-block-components-radio-control__input{width:20px !important;height:20px !important;min-width:20px;border:2px solid #9fb0a6 !important;border-radius:50% !important;background:#fff !important;top:50% !important;transform:translateY(-50%);box-sizing:border-box}
.wc-block-components-radio-control__input:checked{border:6px solid var(--forest) !important;background:#fff !important}
.wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option{border:0 !important;margin:0 !important;background:transparent !important;box-shadow:none !important}
.wc-block-components-radio-control__option-layout{gap:12px}
.wc-block-components-radio-control__label-group{align-items:center}
.wc-block-components-payment-method-icons{margin:0 !important}
.wc-block-components-checkbox{margin-top:10px}
.wc-block-components-checkbox label{align-items:center;gap:12px}

/* Actions row: Place Order full width of the form column */
.wc-block-checkout__actions_row{display:flex;flex-wrap:wrap;justify-content:space-between}
/* 12.4.1: no flex-basis here. On phones WooCommerce stacks this row as a
   column, where a 260px basis became the button's HEIGHT and the 999px
   radius turned it into a giant oval. */
.wc-block-components-checkout-place-order-button{flex:1 1 auto;max-width:none;height:auto !important;max-height:64px}
@media (max-width:760px){
  .wc-block-checkout__actions_row{flex-direction:column;align-items:stretch}
  .wc-block-components-checkout-place-order-button{flex:0 0 auto !important;width:100%;min-height:56px !important;height:56px !important}
  .wc-block-components-checkout-return-to-cart-button{align-self:center}
}

/* 12.3.2: postcode field is hidden in PHP; this is a belt-and-braces hide. */
.wc-block-components-address-form__postcode,.cohf-hidden-postcode{display:none !important}

/* 12.8.0: options note above Add to cart; tighter gap before Related. */
.product-options-note{margin:0 0 16px;padding:12px 14px;border-left:3px solid var(--gold,#d9a441);border-radius:10px;background:#fbf6ea;color:#3d4a44;font-size:14.5px;line-height:1.5}
.product-options-note strong{color:var(--forest,#123a2d)}
.woocommerce div.product .woocommerce-tabs{margin-bottom:24px}
.woocommerce div.product .woocommerce-tabs .panel{margin-bottom:0}
.woocommerce div.product .related,.woocommerce div.product .upsells{margin-top:24px;padding-top:0}
.woocommerce div.product .summary{margin-bottom:24px}

/* ==========================================================================
   13.23.0 Hope Market UX polish
   ========================================================================== */
/* Hero: show the products, lighter overlay so the crafts read through. */
.woocommerce-page .page-hero{background-position:center !important;background-size:cover !important;min-height:clamp(260px,34vw,420px);display:flex;align-items:flex-end}
.woocommerce-page .page-hero::before{content:none}
.woocommerce-page .page-hero .container{padding-bottom:clamp(28px,4vw,48px)}
.woocommerce-page .page-hero h1{font-size:clamp(38px,5vw,62px);margin:6px 0 10px}
.woocommerce-page .page-hero p{max-width:620px;font-size:clamp(15px,1.4vw,18px)}

/* Trust strip: 2 x 2 on phones instead of a long stack. */
@media (max-width:760px){
  .shop-trust{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;gap:4px}
  .shop-trust li{padding:10px 6px;align-items:flex-start}
  .shop-trust li+li{border-left:0}
  .shop-trust__icon{flex-basis:34px;width:34px;height:34px}
  .shop-trust strong{font-size:13.5px}
  .shop-trust small{font-size:12px}
}

/* Category tiles: one swipeable row on phones. */
@media (max-width:760px){
  .shop-cat-tiles__grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -20px;padding:0 20px 8px;scrollbar-width:none}
  .shop-cat-tiles__grid::-webkit-scrollbar{display:none}
  .shop-cat-tiles__grid li{flex:0 0 42%;scroll-snap-align:start}
}

/* Product cards: even rows, square photos, titles that never jump. */
.woocommerce ul.products li.product{display:flex;flex-direction:column}
.woocommerce ul.products li.product .product-media{display:block;aspect-ratio:1/1;overflow:hidden;background:#fff}
.woocommerce ul.products li.product .product-media img{width:100%;height:100%;object-fit:contain;margin:0 !important}
.woocommerce ul.products li.product .woocommerce-loop-product__title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em;line-height:1.3}
.woocommerce ul.products li.product .price{font-weight:800;color:var(--green,#163f32);font-size:17px}
.woocommerce ul.products li.product .button{margin-top:auto;width:calc(100% - 32px);align-self:center;justify-content:center;text-align:center}
.woocommerce ul.products li.product .product-cat{font-size:10.5px;letter-spacing:.12em;opacity:.8}

/* Price filter as tidy pills. */
.woocommerce .shop-toolbar .shop-prices a,.woocommerce .shop-toolbar .shop-prices button{border-radius:999px}

/* Phones: two even columns with comfortable spacing. */
@media (max-width:560px){
  .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:14.5px}
  .woocommerce ul.products li.product .price{font-size:15px}
  .woocommerce ul.products li.product .button{width:calc(100% - 20px);font-size:12.5px;min-height:42px}
}
@media (max-width:360px){
  .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
}

/* ==========================================================================
   13.26.0 Hope Market toolbar and page polish (CSS only, no markup changes)
   ========================================================================== */
/* Toolbar as one clean card: price filter left, count and sort right. */
@media (min-width:761px){
  .woocommerce .shop-toolbar{background:#fff;border:1px solid var(--line) ;border-radius:18px;padding:14px 18px;box-shadow:0 1px 2px rgba(23,35,30,.04);gap:12px 20px}
}
/* Price filter: a segmented control instead of loose links. */
.shop-prices{gap:6px}
.shop-prices__label{display:inline-flex;align-items:center;gap:6px;margin-right:6px;padding:0;color:var(--forest,#163f32);font-size:11.5px;letter-spacing:.12em}
.shop-prices__label::before{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.6 13.4 13.4 20.6a2 2 0 0 1-2.8 0L3 13V3h10l7.6 7.6a2 2 0 0 1 0 2.8Z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.6 13.4 13.4 20.6a2 2 0 0 1-2.8 0L3 13V3h10l7.6 7.6a2 2 0 0 1 0 2.8Z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.5'/%3E%3C/svg%3E") center/contain no-repeat}
.shop-price-chip{min-height:36px;padding:6px 14px;border-color:transparent;background:#f4f1ea;color:#3b4842;font-size:13.5px;font-weight:700;transition:background .2s ease,color .2s ease,box-shadow .2s ease}
.shop-price-chip:hover{background:#e8e2d4;border-color:transparent;color:var(--ink)}
.shop-price-chip[aria-current="true"]{background:var(--forest,#163f32);color:#fff;box-shadow:0 4px 12px rgba(22,63,50,.22)}
.shop-price-chip:focus-visible{outline:3px solid var(--gold,#d9a441);outline-offset:2px}
/* Result count and sort. */
.woocommerce .shop-toolbar .woocommerce-result-count{color:#6b7771;font-weight:600}
.woocommerce .woocommerce-ordering select{min-height:40px;padding:8px 38px 8px 14px;border:1px solid var(--line);border-radius:999px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23163f32' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center/16px;-webkit-appearance:none;appearance:none;font-size:14px}
.woocommerce .woocommerce-ordering select:hover{border-color:var(--forest,#163f32)}
/* Active filter chips sit neatly above the grid. */
.shop-active__chip{background:#fbefd0}
/* Category tiles: gentle lift and clearer labels. */
.shop-cat-tile{transition:transform .25s ease,box-shadow .25s ease}
.shop-cat-tile:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(23,35,30,.12)}
.shop-cat-tile__name{font-weight:800}
/* Load more and help band. */
.shop-loadmore__btn{min-height:48px;padding:12px 28px;border-radius:999px;font-weight:800}
.shop-help{border-radius:22px}
@media (prefers-reduced-motion:reduce){.shop-cat-tile,.shop-cat-tile:hover,.shop-price-chip{transition:none;transform:none}}

/* ==========================================================================
   13.27.0 Checkout polish (CSS only; WooCommerce checkout logic untouched)
   ========================================================================== */
.woocommerce-checkout .wc-block-checkout{margin-top:8px}
/* Each step as a clean white card. */
.wc-block-checkout .wc-block-components-checkout-step{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 24px 10px;margin:0 0 18px;box-shadow:0 1px 2px rgba(23,35,30,.04)}
.wc-block-checkout .wc-block-components-checkout-step::after{display:none}
.wc-block-checkout .wc-block-components-checkout-step__heading{margin:0 0 12px}
.wc-block-checkout .wc-block-components-checkout-step__title{font-family:var(--font-display);font-size:21px;color:var(--forest,#163f32)}
.wc-block-checkout .wc-block-components-checkout-step__description{color:#66736d;font-size:14px}
/* Order summary: a calm card that stays in view on desktop. */
.wc-block-checkout__sidebar{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 22px;box-shadow:0 1px 2px rgba(23,35,30,.04)}
@media (min-width:900px){.wc-block-checkout__sidebar{position:sticky;top:calc(var(--header-h,78px) + 20px)}}
.wc-block-components-order-summary-item__image img{border-radius:10px;background:#fff}
.wc-block-components-totals-footer-item{font-size:18px}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-weight:800}
/* Delivery and payment choices: clear tappable options. */
.wc-block-components-radio-control__option,.wc-block-components-radio-control-accordion-option{border-radius:12px !important}
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option-checked,.wc-block-components-radio-control-accordion-option--checked-option-highlighted{box-shadow:inset 0 0 0 2px var(--forest,#163f32) !important}
/* Place order: the one big obvious button. */
.wc-block-components-checkout-place-order-button{width:100%;min-height:56px !important;font-size:17px !important;border-radius:999px !important}
.wc-block-checkout__terms{font-size:13.5px;color:#66736d}
/* Phones: tighter cards, full-width fields. */
@media (max-width:760px){
  .wc-block-checkout .wc-block-components-checkout-step{padding:18px 16px 6px;border-radius:16px}
  .wc-block-checkout__sidebar{padding:16px;margin-top:6px}
  .wc-block-checkout .wc-block-components-checkout-step__title{font-size:19px}
}
