:root {
  --ras-canvas: #f7f5ef;
  --ras-surface: #ffffff;
  --ras-text: #20231f;
  --ras-muted: #667067;
  --ras-brand: #1f513b;
  --ras-brand-hover: #173f2e;
  --ras-accent: #b74432;
  --ras-harvest: #e8b34f;
  --ras-border: #d9ded7;
  --ras-soft-green: #edf3ee;
  --ras-error: #b42318;
  --ras-error-bg: #fef3f2;
  --ras-shadow: 0 8px 24px rgb(25 45 34 / 8%);
  --ras-radius: 12px;
  --ras-radius-large: 16px;
  --ras-container: 1280px;
  --ras-safe-bottom: env(safe-area-inset-bottom, 0px);
  --ras-header-height: 64px;
  --ras-admin-offset: 0px;
  /* Compatibility aliases used by the batch plugin. */
  --ras-soil: var(--ras-text);
  --ras-leaf: var(--ras-brand);
  --ras-leaf-deep: var(--ras-brand-hover);
  --ras-leaf-soft: var(--ras-soft-green);
  --ras-tomato: var(--ras-accent);
  --ras-cream: var(--ras-canvas);
  --ras-paper: var(--ras-surface);
  --ras-sun: var(--ras-harvest);
}

*, *::before, *::after { box-sizing: border-box; }
html { width: 100%; max-width: 100%; scroll-behavior: smooth; }
body {
  width: 100%;
  max-width: 100%;
  min-height: 100vh;
  margin: 0;
  color: var(--ras-text);
  background: var(--ras-canvas);
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
  font-size: 16px;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
img, video, iframe { display: block; max-width: 100%; height: auto; }
button, input, select, textarea { max-width: 100%; font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: var(--ras-brand); text-underline-offset: .16em; }
a:hover { color: var(--ras-brand-hover); }
h1, h2, h3, h4 { color: var(--ras-text); line-height: 1.2; letter-spacing: -.02em; }
:focus-visible { outline: 3px solid var(--ras-harvest); outline-offset: 2px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.skip-link:focus { z-index: 99999; top: 8px; left: 8px; width: auto; height: auto; clip: auto; padding: .7rem 1rem; border-radius: 8px; background: #fff; }
.site-container { width: min(100% - 32px, var(--ras-container)); min-width: 0; margin-inline: auto; }
.site-main { min-height: 65vh; padding: 1rem 0 calc(5.5rem + var(--ras-safe-bottom)); }

/* Header */
.admin-bar { --ras-admin-offset: 32px; }
.site-header {
  position: sticky;
  z-index: 30;
  top: var(--ras-admin-offset);
  border-bottom: 1px solid var(--ras-border);
  background: rgb(255 255 255 / 96%);
  backdrop-filter: blur(14px);
}
.site-header-inner {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) 44px 44px;
  gap: .65rem;
  align-items: center;
  width: min(100% - 24px, var(--ras-container));
  min-height: var(--ras-header-height);
  margin-inline: auto;
}
.site-brand { display: block; min-width: 0; }
.site-brand img, .site-brand .custom-logo { width: 64px; height: 48px; object-fit: contain; object-position: left center; }
.header-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px;
  min-width: 0;
  height: 44px;
  overflow: hidden;
  border: 1px solid var(--ras-border);
  border-radius: 10px;
  background: #f4f6f3;
}
.header-search:focus-within { border-color: var(--ras-brand); background: var(--ras-surface); box-shadow: 0 0 0 3px rgb(31 81 59 / 10%); }
.header-search input { min-width: 0; height: 100%; padding: 0 .8rem; border: 0; outline: 0; color: var(--ras-text); background: transparent; font-size: .9rem; }
.header-search button { display: grid; width: 44px; border: 0; place-items: center; color: #fff; background: var(--ras-brand); cursor: pointer; }
.header-search svg, .header-cart svg, .header-account svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.header-cart, .header-account {
  position: relative;
  display: inline-grid;
  width: 44px;
  min-width: 44px;
  height: 44px;
  justify-self: end;
  place-items: center;
  border: 1px solid var(--ras-border);
  border-radius: 10px;
  color: var(--ras-brand);
  background: var(--ras-surface);
  text-decoration: none;
}
.header-cart-label, .header-account-label { display: none; }
.ras-cart-count { display: inline-grid; min-width: 19px; height: 19px; padding: 0 4px; place-items: center; border-radius: 999px; color: #fff; background: var(--ras-accent); font-size: .67rem; font-weight: 700; line-height: 1; }
.header-cart .ras-cart-count { position: absolute; top: -6px; right: -6px; border: 2px solid #fff; }
.primary-nav { display: none; }
.woocommerce-checkout:not(.woocommerce-order-received) .site-header-inner { grid-template-columns: 1fr; justify-items: center; }
.woocommerce-checkout:not(.woocommerce-order-received) .site-brand img,
.woocommerce-checkout:not(.woocommerce-order-received) .site-brand .custom-logo { width: 82px; object-position: center; }
.woocommerce-checkout:not(.woocommerce-order-received) .header-search,
.woocommerce-checkout:not(.woocommerce-order-received) .header-account,
.woocommerce-checkout:not(.woocommerce-order-received) .header-cart,
.woocommerce-checkout:not(.woocommerce-order-received) .primary-nav { display: none; }

/* Home and shared section headings */
.home-hero-wrap { margin-top: 0; }
.home-section { padding-top: 2.3rem; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.section-heading span { display: block; margin-bottom: .15rem; color: var(--ras-muted); font-size: .75rem; font-weight: 600; letter-spacing: .05em; }
.section-heading h2 { margin: 0; font-size: clamp(1.5rem, 6vw, 2rem); }
.section-heading > a { display: inline-flex; min-height: 44px; align-items: center; font-size: .86rem; font-weight: 600; white-space: nowrap; text-decoration: none; }

/* Category grid */
.ras-category-nav { margin-top: 1.8rem; margin-bottom: 0; }
.ras-category-heading { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .9rem; }
.ras-category-heading > div { display: grid; min-width: 0; }
.ras-category-heading > div > span { margin-bottom: .05rem; color: var(--ras-muted); font-size: .7rem; font-weight: 600; letter-spacing: .05em; }
.ras-category-heading strong { color: var(--ras-text); font-size: 1.3rem; line-height: 1.25; }
.ras-category-toggle { display: none; min-height: 44px; align-items: center; gap: .2rem; padding: 0 .5rem 0 .8rem; border: 1px solid #cad8ce; border-radius: 999px; color: var(--ras-brand); background: #fff; font-size: .75rem; font-weight: 650; cursor: pointer; }
.ras-category-nav.is-enhanced .ras-category-toggle { display: inline-flex; }
.ras-category-toggle:hover { border-color: #aebfb3; background: #f3f7f4; }
.ras-category-toggle:focus-visible { outline: 3px solid rgb(31 81 59 / 15%); outline-offset: 2px; border-color: var(--ras-brand); }
.ras-category-toggle svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; transition: transform .2s ease; }
.ras-category-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.category-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem .45rem; }
.category-grid.is-collapsible:not(.is-expanded) .category-tile:nth-child(n+9) { display: none; }
.category-tile {
  display: grid;
  min-width: 0;
  grid-template-rows: auto minmax(2.2em, auto);
  justify-items: center;
  align-content: start;
  gap: .5rem;
  padding: 0;
  color: var(--ras-text);
  background: transparent;
  text-align: center;
  text-decoration: none;
}
.category-icon { display: grid; width: min(100%, 66px); aspect-ratio: 1; place-items: center; border: 1px solid #d8e1da; border-radius: 50%; color: var(--ras-brand); background: #f1f5f1; box-shadow: 0 5px 14px rgb(28 54 39 / 5%); transition: border-color .18s ease, color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.category-icon svg { width: 49%; height: 49%; fill: currentColor; stroke: none; }
.category-label { max-width: 9.5em; min-width: 0; color: var(--ras-text); font-size: .72rem; font-weight: 620; line-height: 1.18; overflow-wrap: anywhere; }
.category-tile:hover { color: var(--ras-brand); }
.category-tile:hover .category-icon { border-color: #adc2b3; background: #e9f1eb; box-shadow: 0 8px 18px rgb(28 54 39 / 9%); transform: translateY(-2px); }
.category-tile.is-current .category-icon { border-color: var(--ras-brand); color: #fff; background: var(--ras-brand); box-shadow: 0 7px 18px rgb(31 81 59 / 18%); }
.category-tile.is-current .category-label { color: var(--ras-brand); font-weight: 700; }

.promise-section { display: grid; gap: 0; margin-top: 2.5rem; padding: 0; border-top: 1px solid var(--ras-border); border-bottom: 1px solid var(--ras-border); }
.promise-section article { display: grid; grid-template-columns: 48px minmax(0, 1fr); grid-template-areas: "number title" "number copy"; min-width: 0; gap: .05rem .8rem; padding: 1rem 0; border-bottom: 1px solid var(--ras-border); }
.promise-section article:last-child { border-bottom: 0; }
.promise-section article > span { grid-area: number; align-self: center; color: var(--ras-brand); font-size: 1.25rem; font-weight: 700; text-align: center; }
.promise-section h3 { grid-area: title; margin: 0; font-size: .98rem; }
.promise-section p { grid-area: copy; margin: .15rem 0 0; color: var(--ras-muted); font-size: .82rem; }

/* Product cards */
.woocommerce ul.products, .woocommerce-page ul.products, .home-main ul.products {
  display: grid !important;
  grid-template-columns: 1fr;
  grid-auto-rows: auto;
  align-items: start;
  clear: both;
  gap: .75rem;
  margin: 0;
  padding: 0;
}
.woocommerce ul.products::before, .woocommerce ul.products::after, .home-main ul.products::before, .home-main ul.products::after { display: none; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products.columns-4 li.product,
.woocommerce-page ul.products.columns-4 li.product,
.home-main ul.products li.product,
.home-main ul.products.columns-4 li.product {
  display: flex;
  float: none !important;
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
  flex-direction: column;
  overflow: visible;
  position: relative;
  container-name: ras-product-card;
  container-type: inline-size;
  border: 1px solid #e1e5e1;
  border-radius: 16px;
  background: var(--ras-surface);
  box-shadow: 0 5px 18px rgb(30 50 38 / 5%);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.woocommerce ul.products li.product:hover, .home-main ul.products li.product:hover { border-color: #c7d1c9; box-shadow: 0 9px 24px rgb(30 50 38 / 8%); transform: translateY(-2px); }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link, .home-main ul.products li.product a.woocommerce-LoopProduct-link { display: flex; min-width: 0; flex: 0 0 auto; flex-direction: column; color: inherit; text-decoration: none; }
.woocommerce ul.products li.product a img, .home-main ul.products li.product a img {
  width: 100%;
  aspect-ratio: 4 / 3;
  margin: 0;
  padding: 6%;
  object-fit: contain;
  object-position: center;
  border-radius: 15px 15px 0 0;
  background: #fff;
}
.ras-card-category { width: calc(100% - 1.36rem); min-height: 1.3em; align-self: flex-start; margin: .58rem .68rem 0; overflow: hidden; color: #718077; font-size: .68rem; font-weight: 500; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .home-main ul.products li.product .woocommerce-loop-product__title { display: -webkit-box; min-height: 2.55em; margin: .24rem .68rem .12rem; padding: 0; overflow: hidden; font-size: .9rem; font-weight: 650; line-height: 1.28; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.woocommerce ul.products li.product .price, .home-main ul.products li.product .price { min-height: 1.5em; margin: .08rem .68rem .55rem; color: var(--ras-text); font-size: 1.02rem; font-weight: 750; line-height: 1.25; }
.woocommerce ul.products li.product .price del, .home-main ul.products li.product .price del { color: var(--ras-muted); font-size: .8rem; font-weight: 400; }
.woocommerce ul.products li.product .price ins, .home-main ul.products li.product .price ins { color: var(--ras-accent); text-decoration: none; }
.woocommerce ul.products li.product span.onsale, .woocommerce-page ul.products li.product span.onsale, .home-main ul.products li.product span.onsale { position: absolute !important; z-index: 3; top: .55rem !important; right: auto !important; left: .55rem !important; display: inline-flex !important; width: auto !important; min-width: 0 !important; min-height: 0 !important; align-self: flex-start; align-items: center; margin: 0 !important; padding: .28rem .52rem !important; border-radius: 999px !important; color: #fff; background: var(--ras-accent); font-size: .66rem; font-weight: 650; line-height: 1.2; }
.ras-card-actions { display: grid; min-height: 145px; grid-template-columns: minmax(0, 1fr); gap: .42rem; margin: .05rem .62rem .62rem; }
.ras-quick-add { grid-template-columns: minmax(0, 1fr); }
.ras-variation-quick-add { position: relative; z-index: 1; grid-template-columns: minmax(0, 1fr) !important; }
.woocommerce ul.products li.product.ras-variation-open, .home-main ul.products li.product.ras-variation-open { z-index: 25; }
.ras-variation-picker { position: relative; display: grid; gap: 0; }
.ras-variation-picker > span { display: none; }
.ras-variation-picker select { width: 100%; min-width: 0; min-height: 44px; padding: 0 2.2rem 0 .7rem; border: 1px solid var(--ras-border); border-radius: 10px; color: var(--ras-text); background-color: #fff; font-size: .78rem; }
.ras-custom-variation .ras-variation-picker select { position: absolute; width: 1px; height: 1px; min-height: 0; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; opacity: 0; pointer-events: none; }
.ras-variation-trigger { position: relative; display: flex; width: 100%; min-width: 0; min-height: 44px; align-items: center; padding: .55rem 2.25rem .55rem .72rem; border: 1px solid var(--ras-border); border-radius: 11px; color: var(--ras-text); background: #f8f9f7; font-size: .78rem; font-weight: 600; line-height: 1.25; text-align: left; cursor: pointer; }
.ras-variation-trigger span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ras-variation-trigger::after { position: absolute; top: 50%; right: .8rem; width: 8px; height: 8px; border-right: 1.8px solid var(--ras-brand); border-bottom: 1.8px solid var(--ras-brand); content: ""; transform: translateY(-68%) rotate(45deg); transition: transform .18s ease; }
.ras-variation-trigger:focus-visible { outline: 0; border-color: var(--ras-brand); box-shadow: 0 0 0 3px rgb(31 81 59 / 10%); }
.ras-custom-variation.is-menu-open .ras-variation-trigger { color: var(--ras-brand); border-color: var(--ras-brand); background: #fff; box-shadow: 0 0 0 3px rgb(31 81 59 / 10%); }
.ras-custom-variation.is-menu-open .ras-variation-trigger::after { transform: translateY(-30%) rotate(225deg); }
.ras-variation-menu { position: absolute; z-index: 40; top: calc(100% + .4rem); right: 0; left: 0; display: none; max-height: 264px; overflow-y: auto; overscroll-behavior: contain; border: 1px solid #c9d6cc; border-radius: 13px; background: #fff; box-shadow: 0 18px 38px rgb(22 45 31 / 18%); }
.ras-custom-variation.is-menu-open .ras-variation-menu { display: grid; }
.ras-variation-option { position: relative; display: grid; width: 100%; min-width: 0; min-height: 46px; grid-template-columns: minmax(0, 1fr) 20px; align-items: center; gap: .55rem; padding: .62rem .72rem; border: 0; border-bottom: 1px solid #edf0ed; color: var(--ras-text); background: #fff; font-size: .78rem; font-weight: 550; line-height: 1.35; text-align: left; cursor: pointer; }
.ras-variation-option:last-child { border-bottom: 0; }
.ras-variation-option::after { color: transparent; content: "✓"; font-size: .8rem; font-weight: 800; text-align: center; }
.ras-variation-option:hover, .ras-variation-option:focus-visible { outline: 0; color: var(--ras-brand); background: #f3f7f4; box-shadow: inset 3px 0 var(--ras-brand); }
.ras-variation-option.is-selected { color: var(--ras-brand); background: var(--ras-soft-green); font-weight: 700; }
.ras-variation-option.is-selected::after { color: var(--ras-brand); }
.ras-card-action-note { display: flex; min-height: 44px; align-items: center; justify-content: center; padding: .45rem .6rem; border: 1px solid #e2e5e2; border-radius: 11px; color: var(--ras-muted); background: #f7f8f6; font-size: .72rem; font-weight: 550; text-align: center; }
.ras-card-single-spec { justify-content: flex-start; gap: .4rem; color: var(--ras-brand); border-color: #d8e4db; background: var(--ras-soft-green); }
.ras-card-single-spec::before { display: grid; width: 18px; height: 18px; flex: 0 0 auto; place-items: center; border-radius: 50%; color: #fff; background: var(--ras-brand); content: "✓"; font-size: 11px; font-weight: 800; }
.ras-quantity { display: grid; width: 100%; min-width: 0; height: 44px; grid-template-columns: 44px minmax(34px, 1fr) 44px; overflow: hidden; border: 1px solid var(--ras-border); border-radius: 11px; background: #fff; }
.ras-quantity.is-disabled { border-color: #dde0dd; background: #f1f2f1; opacity: .72; }
.ras-quantity button { display: grid; width: 44px; min-width: 0; height: 44px; padding: 0; border: 0; place-items: center; color: var(--ras-brand); background: transparent; font-size: 1rem; font-weight: 700; line-height: 1; cursor: pointer; }
.ras-quantity button:disabled { color: #9ba09b; cursor: not-allowed; }
.ras-quantity input { width: 100%; min-width: 0; height: 44px; padding: 0; border: 0; border-right: 1px solid var(--ras-border); border-left: 1px solid var(--ras-border); border-radius: 0; background: #fff; font-size: .86rem; text-align: center; appearance: textfield; }
.ras-quantity input::-webkit-inner-spin-button { margin: 0; appearance: none; }
.ras-add-button, .ras-select-options { display: inline-flex; min-width: 0; min-height: 44px; align-items: center; justify-content: center; border: 0; border-radius: 11px; font-size: .76rem; font-weight: 650; white-space: nowrap; }
.ras-add-button { padding: .45rem .55rem; color: #fff; background: var(--ras-brand); cursor: pointer; }
.ras-add-button:hover, .ras-select-options:hover { color: #fff; background: var(--ras-brand-hover); }
.ras-add-button:disabled { color: #737973; background: #e5e7e5; cursor: not-allowed; opacity: 1; }
.ras-add-button:disabled:hover { color: #737973; background: #e5e7e5; }
.ras-quick-add.is-added .ras-add-button { background: #567760; }
.ras-card-actions .ras-select-options { margin: 0; padding: .55rem; color: #fff; background: var(--ras-brand); text-decoration: none; }
.ras-stock-out { display: flex; min-height: 36px; align-items: center; gap: .4rem; margin: auto .75rem .65rem; color: var(--ras-muted); font-size: .75rem; font-weight: 500; }
.ras-stock-out::before { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: #a9b0aa; content: ""; }
.ras-stock-button { min-height: 44px; justify-content: center; margin: auto .75rem .75rem; border-radius: 12px; background: #e5e7e5; color: #737973; font-size: .86rem; font-weight: 700; }
.ras-card-actions .ras-stock-button { margin: 0; }
.ras-stock-button::before { display: none; }
.ras-stock-pending { color: #746328; }
.ras-stock-pending::before { background: var(--ras-harvest); }

@container ras-product-card (min-width: 205px) {
  .ras-card-actions,
  .ras-quick-add,
  .ras-variation-quick-add {
    min-height: 95px;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .3rem;
  }
  .ras-card-actions > .ras-card-action-note,
  .ras-card-actions > .ras-variation-picker { grid-column: 1 / -1; }
  .ras-card-actions > .ras-quantity { grid-column: 1; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ras-card-actions > .ras-quantity button { width: 100%; }
  .ras-card-actions > .ras-add-button,
  .ras-card-actions > .ras-select-options,
  .ras-card-actions > .ras-stock-button { grid-column: 2; }
}

/* Shop, search and pagination */
.woocommerce-main { padding-top: .7rem; }
.woocommerce-products-header { margin: .1rem 0 .4rem; }
.woocommerce-products-header::before { display: none; }
.woocommerce-products-header__title { margin: 0; font-size: clamp(1.55rem, 6vw, 2rem); }
.term-description { max-width: 60ch; color: var(--ras-muted); font-size: .9rem; }
.ras-shop-batch { margin: .4rem 0 0; }
.woocommerce-main .ras-category-nav { margin-top: .8rem; }
.woocommerce-main .ras-category-heading { min-height: 40px; margin-bottom: .55rem; }
.woocommerce-main .ras-category-heading > div > span { margin-bottom: 0; font-size: .62rem; }
.woocommerce-main .ras-category-heading strong { font-size: 1.12rem; }
.woocommerce-main .ras-category-toggle { min-height: 40px; padding-right: .45rem; padding-left: .7rem; font-size: .69rem; }
.woocommerce-main .category-grid { gap: .68rem .3rem; }
.woocommerce-main .category-icon { width: min(100%, 52px); }
.woocommerce-main .category-label { max-width: 8.5em; font-size: .65rem; line-height: 1.12; }
.ras-category-nav-dense .category-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .62rem .22rem; }
.ras-category-nav-dense .category-icon { width: min(100%, 64px); }
.ras-category-nav-dense .category-icon svg { width: 54%; height: 54%; }
.ras-category-nav-dense .category-label { max-width: 7.2em; font-size: .64rem; }
.woocommerce .woocommerce-result-count { float: left; margin: 1rem 0; color: var(--ras-muted); font-size: .82rem; line-height: 44px; }
.woocommerce .woocommerce-ordering { float: right; width: min(54%, 220px); margin: .7rem 0 .8rem; }
.woocommerce .woocommerce-ordering select { width: 100%; min-height: 44px; padding: 0 .7rem; border: 1px solid var(--ras-border); border-radius: 10px; color: var(--ras-text); background: var(--ras-surface); font-size: .82rem; }
.woocommerce nav.woocommerce-pagination { clear: both; margin-top: 1.5rem; }
.woocommerce nav.woocommerce-pagination ul { display: flex; max-width: 100%; flex-wrap: wrap; justify-content: center; gap: .35rem; border: 0; white-space: normal; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { display: grid; min-width: 44px; min-height: 44px; padding: 0 .45rem; place-items: center; border: 1px solid var(--ras-border); border-radius: 10px; background: var(--ras-surface); }
.woocommerce nav.woocommerce-pagination ul li span.current { color: #fff; border-color: var(--ras-brand); background: var(--ras-brand); }

/* Product detail */
.woocommerce div.product { min-width: 0; }
.woocommerce div.product::before, .woocommerce div.product::after { display: none; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { float: none; width: 100%; }
.woocommerce div.product div.images { width: 100%; max-width: 560px; min-height: 0; margin: 0 auto 1.2rem; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
.woocommerce div.product div.images .flex-viewport { width: 100%; aspect-ratio: 1; overflow: hidden; border: 1px solid var(--ras-border); border-radius: var(--ras-radius-large); background: var(--ras-surface); }
.woocommerce div.product div.images .woocommerce-product-gallery__image,
.woocommerce div.product div.images .woocommerce-product-gallery__image > a { display: grid; width: 100%; height: 100%; place-items: center; }
.woocommerce div.product div.images img { width: 100%; height: 100%; max-height: 560px; padding: 7%; border-radius: 0; object-fit: contain; object-position: center; background: #fff; }
.woocommerce div.product div.images .flex-control-thumbs { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .6rem; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 64px; }
.woocommerce div.product div.images .flex-control-thumbs img { width: 64px; height: 64px; padding: 5px; border: 1px solid var(--ras-border); border-radius: 8px; }
.woocommerce div.product .product_title { margin: 0 0 .55rem; font-size: clamp(1.75rem, 8vw, 2.55rem); overflow-wrap: anywhere; }
.woocommerce div.product p.price, .woocommerce div.product span.price { margin: 0 0 .8rem; color: var(--ras-text); font-size: 1.35rem; font-weight: 700; }
.woocommerce div.product p.stock { font-size: .88rem; }
.woocommerce div.product p.out-of-stock { color: var(--ras-muted); }
.ras-product-pickup-note { display: grid; gap: .1rem; margin: 1rem 0; padding: .8rem .9rem; border-left: 3px solid var(--ras-brand); border-radius: 0 10px 10px 0; background: var(--ras-soft-green); }
.ras-product-pickup-note strong { color: var(--ras-brand); font-size: .9rem; }
.ras-product-pickup-note span { color: var(--ras-muted); font-size: .8rem; }
.woocommerce div.product form.cart { position: sticky; z-index: 12; bottom: calc(72px + var(--ras-safe-bottom)); display: flex; gap: .6rem; margin: 1.2rem 0; padding: .65rem; border: 1px solid var(--ras-border); border-radius: 12px; background: rgb(255 255 255 / 96%); box-shadow: var(--ras-shadow); backdrop-filter: blur(12px); }
.woocommerce div.product form.cart div.quantity { margin: 0; }
.woocommerce .quantity .qty { width: 68px; min-height: 48px; border: 1px solid var(--ras-border); border-radius: 10px; }
.woocommerce div.product form.cart .button { min-height: 48px; flex: 1; border-radius: 10px; background: var(--ras-brand); }
.woocommerce div.product form.cart.variations_form { position: static; display: grid; gap: 0; margin-top: 1rem; padding: .9rem; border-radius: 16px; background: #fff; box-shadow: none; backdrop-filter: none; }
.woocommerce div.product form.cart.variations_form .variations { width: 100%; margin: 0; }
.woocommerce div.product form.cart.variations_form .variations th,
.woocommerce div.product form.cart.variations_form .variations td { display: block; padding: 0; text-align: left; }
.woocommerce div.product form.cart.variations_form .variations th { margin-bottom: .35rem; }
.woocommerce div.product form.cart.variations_form .variations select { width: 100%; min-height: 48px; padding: 0 .8rem; border: 1px solid var(--ras-border); border-radius: 12px; background: #fff; }
.woocommerce div.product form.cart.ras-product-variations-enhanced .variations { display: none; }
.ras-product-options { display: grid; gap: 1rem; }
.ras-product-option-group { display: grid; gap: .55rem; }
.ras-product-option-heading { display: flex; min-height: 28px; align-items: center; justify-content: space-between; gap: .75rem; }
.ras-product-option-heading strong { color: var(--ras-text); font-size: .92rem; font-weight: 700; }
.ras-product-option-heading span { color: var(--ras-muted); font-size: .75rem; font-weight: 500; text-align: right; }
.ras-product-option-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
.ras-product-option { position: relative; display: flex; min-width: 0; min-height: 52px; align-items: center; padding: .68rem 2.25rem .68rem .8rem; border: 1px solid #d9dfda; border-radius: 12px; color: var(--ras-text); background: #fff; font: inherit; font-size: .86rem; font-weight: 600; line-height: 1.3; text-align: left; cursor: pointer; transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease; }
.ras-product-option::after { position: absolute; top: 50%; right: .75rem; display: grid; width: 19px; height: 19px; border: 1.5px solid #bac3bc; border-radius: 50%; color: transparent; content: "✓"; font-size: 12px; font-weight: 800; line-height: 1; place-items: center; transform: translateY(-50%); }
.ras-product-option:hover { border-color: #9fb4a5; background: #fbfcfb; }
.ras-product-option.is-selected { border-color: var(--ras-brand); background: var(--ras-soft-green); box-shadow: inset 0 0 0 1px var(--ras-brand); }
.ras-product-option.is-selected::after { color: #fff; border-color: var(--ras-brand); background: var(--ras-brand); }
.ras-product-option:focus-visible { outline: 3px solid rgb(29 82 58 / 20%); outline-offset: 2px; }
.ras-product-option:disabled { color: #9a9f9a; border-color: #e3e5e3; background: #f3f4f3; cursor: not-allowed; }
.woocommerce div.product form.cart.variations_form .single_variation_wrap { display: grid; gap: .7rem; margin-top: .9rem; padding-top: .8rem; border-top: 1px solid var(--ras-border); }
.woocommerce div.product form.cart.variations_form .single_variation:empty { display: none; }
.woocommerce div.product form.cart.variations_form .woocommerce-variation-price { margin-bottom: .1rem; }
.woocommerce div.product form.cart.variations_form .woocommerce-variation-price .price { margin: 0; color: var(--ras-accent); font-size: 1.15rem; }
.woocommerce div.product form.cart.variations_form .woocommerce-variation-availability { display: none; }
.woocommerce div.product form.cart.variations_form .woocommerce-variation-add-to-cart { display: grid !important; grid-template-columns: 128px minmax(0, 1fr); gap: .55rem; align-items: stretch; }
.woocommerce div.product form.cart.variations_form .ras-product-quantity { display: grid; width: 128px; height: 48px; grid-template-columns: 40px 48px 40px; overflow: hidden; border: 1px solid var(--ras-border); border-radius: 11px; background: #fff; }
.woocommerce div.product form.cart.variations_form .ras-product-quantity .ras-product-qty-button { display: grid; width: 40px; height: 48px; padding: 0; border: 0; place-items: center; color: var(--ras-brand); background: transparent; font-size: 1.05rem; font-weight: 700; cursor: pointer; }
.woocommerce div.product form.cart.variations_form .ras-product-quantity .qty { width: 48px; min-width: 0; min-height: 48px; padding: 0; border: 0; border-right: 1px solid var(--ras-border); border-left: 1px solid var(--ras-border); border-radius: 0; background: #fff; font-size: .9rem; font-weight: 650; text-align: center; appearance: textfield; }
.woocommerce div.product form.cart.variations_form .ras-product-quantity .qty::-webkit-inner-spin-button { margin: 0; appearance: none; }
.woocommerce div.product form.cart.variations_form .ras-product-quantity.is-disabled { border-color: #e0e3e0; background: #eff1ef; }
.woocommerce div.product form.cart.variations_form .ras-product-quantity.is-disabled .ras-product-qty-button,
.woocommerce div.product form.cart.variations_form .ras-product-quantity.is-disabled .qty { color: #9ca19d; border-color: #e0e3e0; background: #eff1ef; cursor: not-allowed; }
.woocommerce div.product form.cart.variations_form .single_add_to_cart_button { width: 100%; min-height: 48px; padding: .65rem .8rem; color: #fff; background: var(--ras-brand); font-size: .9rem; font-weight: 700; }
.woocommerce div.product form.cart.variations_form .single_add_to_cart_button:disabled,
.woocommerce div.product form.cart.variations_form .single_add_to_cart_button.disabled { color: #777d78; background: #e4e7e4; cursor: not-allowed; opacity: 1; }
.woocommerce div.product form.cart.variations_form .single_add_to_cart_button:disabled:hover,
.woocommerce div.product form.cart.variations_form .single_add_to_cart_button.disabled:hover { color: #777d78; background: #e4e7e4; }
.woocommerce div.product .product_meta { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin-top: 1rem; color: var(--ras-muted); font-size: .78rem; }
.woocommerce div.product .product_meta .sku_wrapper { display: none; }
.woocommerce div.product .woocommerce-tabs { clear: both; margin-top: 2rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; gap: 1rem; margin: 0; padding: 0; overflow: visible; border-bottom: 1px solid var(--ras-border); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { flex: 0 0 auto; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: inline-flex; min-height: 44px; align-items: center; padding: 0 .25rem; font-weight: 600; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--ras-brand); box-shadow: inset 0 -2px var(--ras-brand); }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 780px; margin: 0; padding: 1.25rem 0; color: var(--ras-muted); background: transparent; }
.woocommerce div.product .woocommerce-tabs .panel h2:first-child { margin-top: 0; font-size: 1.2rem; }
.related.products { clear: both; padding-top: 2rem; }
.related.products > h2 { font-size: 1.5rem; }

/* Buttons, notices and forms */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; border-radius: 10px; }
.woocommerce button.button.alt, .woocommerce a.button.alt, .woocommerce #payment #place_order, .woocommerce .wc-proceed-to-checkout a.checkout-button { color: #fff; background: var(--ras-brand); font-weight: 600; }
.woocommerce button.button.alt:hover, .woocommerce a.button.alt:hover, .woocommerce #payment #place_order:hover, .woocommerce .wc-proceed-to-checkout a.checkout-button:hover { color: #fff; background: var(--ras-brand-hover); }
.woocommerce-message, .woocommerce-info, .woocommerce-error { margin: 0 0 1rem; padding: .9rem 1rem .9rem 2.8rem; border: 1px solid var(--ras-border); border-top: 1px solid var(--ras-border); border-radius: 10px; background: var(--ras-surface); box-shadow: none; font-size: .86rem; }
.woocommerce-message { border-left: 3px solid var(--ras-brand); }
.woocommerce-info { border-left: 3px solid #50758a; }
.woocommerce-error { border-color: #efc8c4; border-left: 3px solid var(--ras-error); background: var(--ras-error-bg); }
.woocommerce form .form-row { float: none; width: 100%; margin: 0 0 .9rem; }
.woocommerce form .form-row label { color: var(--ras-text); font-size: .84rem; font-weight: 600; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container .select2-selection--single { width: 100%; min-height: 48px; padding: .6rem .75rem; border: 1px solid var(--ras-border); border-radius: 10px; color: var(--ras-text); background: #fff; }
.woocommerce form .form-row textarea { min-height: 110px; }
.select2-container .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 28px; }

/* Cart */
.woocommerce-cart .content-card { padding: 0; border: 0; background: transparent; }
.woocommerce-cart .content-card article > h1 { margin: .25rem 0 1rem; font-size: clamp(1.75rem, 8vw, 2.3rem); }
.woocommerce-cart .woocommerce-cart-form { min-width: 0; padding: 0; border: 0; background: transparent; }
.woocommerce-cart table.shop_table { margin: 0; border: 0; border-collapse: collapse; }
.woocommerce-cart table.shop_table_responsive, .woocommerce-cart table.shop_table_responsive tbody { display: block; width: 100%; }
.woocommerce-cart table.shop_table_responsive thead { display: none; }
.woocommerce-cart table.shop_table_responsive tbody { display: grid; gap: .65rem; }
.woocommerce-cart table.shop_table_responsive tr.woocommerce-cart-form__cart-item { display: grid; grid-template-columns: 84px minmax(0, 1fr) 44px; grid-template-areas: "thumbnail name remove" "thumbnail price remove" "quantity quantity subtotal"; gap: .4rem .65rem; width: 100%; min-width: 0; padding: .75rem; border: 1px solid var(--ras-border); border-radius: 12px; background: var(--ras-surface); }
.woocommerce-cart table.shop_table_responsive tr.woocommerce-cart-form__cart-item td { display: flex !important; width: auto; min-width: 0; padding: 0 !important; border: 0; background: transparent !important; text-align: left !important; }
.woocommerce-cart table.shop_table_responsive tr.woocommerce-cart-form__cart-item td::before { display: none !important; content: none !important; }
.woocommerce-cart table.cart td.product-thumbnail { grid-area: thumbnail; display: block !important; }
.woocommerce-cart table.cart td.product-thumbnail a { display: block; }
.woocommerce-cart table.cart td.product-thumbnail img { width: 84px !important; height: 84px !important; margin: 0; padding: 6px; border: 1px solid var(--ras-border); border-radius: 10px; object-fit: contain; background: #fff; }
.woocommerce-cart table.cart td.product-name { grid-area: name; display: block !important; align-self: end; font-size: .92rem; font-weight: 600; line-height: 1.35; }
.woocommerce-cart table.cart td.product-name > a { display: block; color: var(--ras-text); text-decoration: none; }
.woocommerce-cart table.cart td.product-name dl.variation { display: flex; flex-wrap: wrap; gap: .1rem .35rem; margin: .2rem 0 0; color: var(--ras-muted); font-size: .7rem; font-weight: 400; }
.woocommerce-cart table.cart td.product-name dl.variation dt, .woocommerce-cart table.cart td.product-name dl.variation dd, .woocommerce-cart table.cart td.product-name dl.variation p { float: none; margin: 0; padding: 0; }
.woocommerce-cart table.cart td.product-price { grid-area: price; color: var(--ras-muted); font-size: .75rem; }
.woocommerce-cart table.cart td.product-remove { grid-area: remove; align-self: start; justify-content: flex-end; }
.woocommerce-cart table.cart td.product-quantity { grid-area: quantity; align-items: center; padding-top: .15rem !important; }
.woocommerce-cart table.cart td.product-subtotal { grid-area: subtotal; align-items: center; align-self: end; justify-content: flex-end; padding-top: .15rem !important; color: var(--ras-text); font-size: .92rem; font-weight: 700; text-align: right !important; white-space: nowrap; }
.woocommerce a.remove { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 10px; color: var(--ras-error) !important; background: transparent; }
.woocommerce a.remove:hover { color: #fff !important; background: var(--ras-error); }
.woocommerce-cart .ras-cart-quantity { display: grid; grid-template-columns: 44px 42px 44px; height: 44px; overflow: hidden; border: 1px solid var(--ras-border); border-radius: 10px; background: #fff; }
.woocommerce-cart .ras-cart-quantity .ras-cart-qty-button { display: grid; width: 44px; height: 44px; padding: 0; border: 0; place-items: center; color: var(--ras-brand); background: transparent; font-size: 1.05rem; font-weight: 700; cursor: pointer; }
.woocommerce-cart .ras-cart-quantity .qty { width: 42px; min-width: 0; min-height: 44px; padding: 0; border: 0; border-right: 1px solid var(--ras-border); border-left: 1px solid var(--ras-border); border-radius: 0; background: #fff; text-align: center; appearance: textfield; }
.woocommerce-cart .ras-cart-quantity .qty::-webkit-inner-spin-button { margin: 0; appearance: none; }
.woocommerce-cart table.cart td.actions, .woocommerce-cart table.cart tr.ras-cart-actions-row { display: none !important; }
.woocommerce-cart .cart-collaterals { margin-top: .8rem; }
.woocommerce-cart .cart-collaterals .cart_totals { float: none; width: 100%; padding: 1rem; border: 1px solid var(--ras-border); border-radius: 12px; background: var(--ras-surface); }
.woocommerce-cart .cart_totals h2 { margin: 0 0 .5rem; font-size: 1.15rem; }
.woocommerce-cart .cart_totals table { width: 100%; margin-bottom: .3rem; border: 0; }
.woocommerce-cart .cart_totals table th, .woocommerce-cart .cart_totals table td { padding: .65rem 0; border-color: var(--ras-border); }
.woocommerce-cart .cart_totals table th { color: var(--ras-muted); font-size: .8rem; text-align: left; }
.woocommerce-cart .cart_totals table td { text-align: right; }
.woocommerce-cart .cart_totals .order-total td { color: var(--ras-text); font-size: 1.15rem; }
.woocommerce-cart .cart_totals .wc-proceed-to-checkout { display: none; }
.woocommerce-cart .return-to-shop .button { width: 100%; color: #fff; background: var(--ras-brand); }

/* Checkout */
.woocommerce-checkout .content-card { padding: 0; border: 0; background: transparent; }
.woocommerce-checkout .content-card article > h1 { margin: .25rem 0 1rem; font-size: clamp(1.75rem, 8vw, 2.3rem); }
.woocommerce-checkout form.checkout { min-width: 0; }
.woocommerce-checkout .col2-set, .woocommerce-checkout .woocommerce-checkout-review-order { min-width: 0; padding: 1rem; border: 1px solid var(--ras-border); border-radius: 12px; background: var(--ras-surface); }
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { float: none; width: 100%; }
.woocommerce-checkout .woocommerce-billing-fields h3, .woocommerce-checkout #order_review_heading { margin: 0 0 .85rem; font-size: 1.15rem; }
.woocommerce-checkout .woocommerce-additional-fields h3 { margin: 1.2rem 0 .75rem; font-size: 1.05rem; }
.woocommerce-checkout .ras-checkout-pickup { margin: 1rem 0 0; padding: 1rem 0 0; border: 0; border-top: 1px solid var(--ras-border); border-radius: 0; background: transparent; }
.woocommerce-checkout .ras-checkout-pickup h3 { margin: 0 0 .25rem; font-size: 1.05rem; }
.woocommerce-checkout .ras-checkout-cycle, .woocommerce-checkout .ras-phone-disclosure { color: var(--ras-muted); font-size: .78rem; }
.woocommerce-checkout #order_review_heading { margin: 1.25rem 0 .7rem; }
.woocommerce-checkout .woocommerce-checkout-review-order table { border: 0; }
.woocommerce-checkout .woocommerce-checkout-review-order table th, .woocommerce-checkout .woocommerce-checkout-review-order table td { padding: .7rem .25rem; border-color: var(--ras-border); }
.woocommerce-checkout #payment { border-radius: 10px; background: var(--ras-soft-green); }
.woocommerce-checkout #payment ul.payment_methods { border-color: #d7e1da; }
.woocommerce-checkout #payment div.payment_box { background: #dfe9e2; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #dfe9e2; }
.woocommerce-checkout #payment #place_order { width: 100%; min-height: 52px; margin: .5rem 0 0; }
.woocommerce-order-overview { display: grid; gap: .45rem; padding: 0 !important; }
.woocommerce ul.order_details li { float: none; margin: 0; padding: .7rem; border: 0; border-radius: 10px; background: var(--ras-soft-green); }

/* Transient add-to-cart feedback */
.ras-cart-toast-region {
  position: fixed;
  z-index: 80;
  right: 12px;
  bottom: calc(80px + var(--ras-safe-bottom));
  left: 12px;
  display: grid;
  min-height: 52px;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: .65rem;
  align-items: center;
  padding: .75rem .85rem;
  border: 1px solid #b8d0c0;
  border-radius: 12px;
  color: var(--ras-brand);
  background: rgb(255 255 255 / 98%);
  box-shadow: 0 12px 32px rgb(25 45 34 / 18%);
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  pointer-events: none;
}
.ras-cart-toast-region:empty { display: none; }
.ras-cart-toast-region.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.ras-cart-toast-region.ras-toast-error { border-color: #e6b8af; color: var(--ras-error); background: #fff7f5; }
.ras-cart-toast-icon { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; color: #fff; background: var(--ras-brand); font-size: .78rem; font-weight: 800; }
.ras-cart-toast-region.ras-toast-error .ras-cart-toast-icon { background: var(--ras-error); }
.ras-cart-toast-copy { min-width: 0; font-size: .82rem; font-weight: 700; line-height: 1.4; overflow-wrap: anywhere; }

/* Content, footer and mobile navigation */
.content-card { padding: clamp(1rem, 4vw, 2rem); border: 1px solid var(--ras-border); border-radius: 12px; background: var(--ras-surface); }
.content-card h1 { margin-top: 0; }

/* Customer account */
.woocommerce-account .content-card { padding: clamp(1rem, 3vw, 1.6rem); }
.woocommerce-account .content-card article > h1 { margin: 0 0 1rem; font-size: clamp(1.7rem, 7vw, 2.25rem); }
.woocommerce-account .woocommerce { display: grid; gap: 1rem; min-width: 0; }
.woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after { display: none !important; content: none !important; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-account .woocommerce-MyAccount-navigation { float: none; width: 100%; min-width: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; margin: 0; padding: .45rem; border: 1px solid var(--ras-border); border-radius: 14px; background: #f5f7f4; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { grid-column: 1 / -1; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: flex; min-height: 44px; align-items: center; padding: .55rem .75rem; border-radius: 10px; color: var(--ras-muted); font-size: .8rem; font-weight: 650; text-decoration: none; white-space: nowrap; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { color: #fff; background: var(--ras-brand); }
.woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; min-width: 0; }
.woocommerce-account .woocommerce-MyAccount-content > :first-child { margin-top: 0; }
.woocommerce-account .u-columns { display: grid; gap: 1rem; }
.woocommerce-account .u-column1, .woocommerce-account .u-column2 { float: none; width: 100%; margin: 0; padding: 1rem; border: 1px solid var(--ras-border); border-radius: 14px; background: #fff; }
.woocommerce-account form.login, .woocommerce-account form.register, .woocommerce-account form.edit-account, .woocommerce-account .woocommerce-address-fields { display: grid; gap: .75rem; margin: 0; padding: 0; border: 0; }
.woocommerce-account form .form-row { float: none; width: 100%; margin: 0; }
.woocommerce-account form input.input-text, .woocommerce-account form select { width: 100%; min-height: 46px; border: 1px solid var(--ras-border); border-radius: 10px; background: #fff; }
.woocommerce-account form button.button { min-height: 46px; border-radius: 10px; color: #fff; background: var(--ras-brand); }
.woocommerce-account .woocommerce-Addresses { display: grid; gap: .8rem; }
.woocommerce-account .woocommerce-Address { float: none; width: 100%; padding: 1rem; border: 1px solid var(--ras-border); border-radius: 13px; }
.woocommerce-account table.shop_table { border-color: var(--ras-border); border-radius: 12px; }
.ras-account-overview { display: grid; gap: 1rem; }
.ras-account-welcome { display: grid; gap: .2rem; padding: 1.15rem; border: 1px solid #d7e3da; border-radius: 14px; background: var(--ras-soft-green); }
.ras-account-welcome span, .ras-account-welcome small { color: var(--ras-muted); }
.ras-account-welcome strong { color: var(--ras-brand); font-size: 1.25rem; }
.ras-account-admin { display: grid; gap: .8rem; align-items: center; padding: 1rem 1.1rem; border-radius: 14px; color: #fff; background: var(--ras-brand); }
.ras-account-admin strong { display: block; color: #fff; font-size: 1.05rem; }
.ras-account-admin span { color: rgb(255 255 255 / 76%); font-size: .78rem; }
.ras-account-admin a { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: .55rem 1rem; border-radius: 10px; color: var(--ras-brand); background: #fff; font-size: .82rem; font-weight: 700; text-decoration: none; }
.ras-account-shortcuts { display: grid; gap: .65rem; }
.ras-account-shortcuts a { display: grid; gap: .15rem; min-height: 72px; align-content: center; padding: .85rem 1rem; border: 1px solid var(--ras-border); border-radius: 12px; color: var(--ras-text); background: #fff; text-decoration: none; }
.ras-account-shortcuts a span { color: var(--ras-muted); font-size: .75rem; }
.site-footer { padding: 2rem 0 calc(5.5rem + var(--ras-safe-bottom)); color: #dce5df; background: #183c2c; }
.site-footer-inner { display: grid; gap: 1rem; width: min(100% - 32px, var(--ras-container)); margin-inline: auto; }
.site-footer strong { color: #fff; font-size: .9rem; }
.site-footer p { margin: .3rem 0; color: #bac9c0; font-size: .8rem; }
.site-footer a { display: inline-flex; min-height: 36px; align-items: center; color: #fff; }
.site-footer-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem; width: min(100% - 32px, var(--ras-container)); margin: 1rem auto 0; padding-top: .8rem; border-top: 1px solid rgb(255 255 255 / 14%); color: #9eb1a5; font-size: .72rem; }
.site-footer-meta ul { display: flex; flex-wrap: wrap; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.mobile-bottom-nav {
  position: fixed;
  z-index: 40;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  min-height: calc(68px + var(--ras-safe-bottom));
  padding: 6px 8px calc(6px + var(--ras-safe-bottom));
  border-top: 1px solid var(--ras-border);
  background: rgb(255 255 255 / 97%);
  box-shadow: 0 -6px 20px rgb(25 45 34 / 7%);
  backdrop-filter: blur(14px);
}
.mobile-bottom-nav > a, .mobile-bottom-nav > button { position: relative; display: grid; min-width: 0; min-height: 54px; place-items: center; align-content: center; gap: 2px; border: 0; border-radius: 8px; color: var(--ras-muted); background: transparent; font-size: .67rem; text-align: center; text-decoration: none; }
.mobile-bottom-nav > a:hover, .mobile-bottom-nav > button:hover { color: var(--ras-brand); background: var(--ras-soft-green); }
.mobile-bottom-nav svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.mobile-bottom-nav .ras-cart-count { position: absolute; top: 2px; left: calc(50% + 8px); }
.mobile-checkout-bar {
  position: fixed;
  z-index: 42;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, 44%);
  gap: .75rem;
  align-items: center;
  min-height: calc(76px + var(--ras-safe-bottom));
  padding: 9px 12px calc(9px + var(--ras-safe-bottom));
  border-top: 1px solid var(--ras-border);
  background: rgb(255 255 255 / 98%);
  box-shadow: 0 -8px 24px rgb(25 45 34 / 10%);
}
.mobile-checkout-total { display: grid; min-width: 0; line-height: 1.2; }
.mobile-checkout-total > span, .mobile-checkout-total small { color: var(--ras-muted); font-size: .72rem; }
.mobile-checkout-total strong { margin-top: .15rem; overflow: hidden; color: var(--ras-text); font-size: 1.15rem; text-overflow: ellipsis; white-space: nowrap; }
.mobile-checkout-bar > a { display: flex; min-height: 52px; align-items: center; justify-content: center; border-radius: 10px; color: #fff; background: var(--ras-brand); font-size: .94rem; font-weight: 700; text-decoration: none; }
.mobile-checkout-bar > a:hover { color: #fff; background: var(--ras-brand-hover); }

@media (max-width: 759px) {
  .woocommerce-cart .mobile-checkout-bar { bottom: calc(68px + var(--ras-safe-bottom)); min-height: 72px; padding: 9px 12px; }
  .woocommerce-cart .ras-cart-toast-region { bottom: calc(148px + var(--ras-safe-bottom)); }
  .woocommerce-cart .site-main, .woocommerce-cart .site-footer { padding-bottom: calc(10.5rem + var(--ras-safe-bottom)); }
}

@media (min-width: 360px) {
  .woocommerce ul.products, .woocommerce-page ul.products, .home-main ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 679px) {
  .woocommerce .woocommerce-result-count { display: none; }
  .woocommerce .woocommerce-ordering { float: none; width: 100%; margin: .65rem 0 .8rem; }
  .woocommerce-cart .woocommerce-error, .woocommerce-cart .woocommerce-info, .woocommerce-cart .woocommerce-message { padding: .8rem .8rem .8rem 2.55rem; font-size: .8rem; line-height: 1.5; }
}

@media (max-width: 782px) {
  .admin-bar { --ras-admin-offset: 46px; }
}

@media (min-width: 680px) {
  :root { --ras-header-height: 72px; }
  .site-header-inner { grid-template-columns: 88px minmax(280px, 620px) max-content max-content; min-height: var(--ras-header-height); justify-content: space-between; }
  .site-brand img, .site-brand .custom-logo { width: 88px; height: 54px; }
  .header-search { height: 46px; }
  .header-cart, .header-account { width: auto; min-width: 104px; grid-auto-flow: column; gap: .45rem; padding: 0 .75rem; }
  .header-cart-label, .header-account-label { display: inline; font-size: .8rem; font-weight: 600; }
  .ras-category-heading strong { font-size: 1.45rem; }
  .category-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 1.05rem .7rem; }
  .category-grid.is-collapsible:not(.is-expanded) .category-tile:nth-child(n+9) { display: none; }
  .category-icon { width: min(100%, 76px); }
  .category-label { font-size: .78rem; }
  .woocommerce-main .ras-category-heading strong { font-size: 1.2rem; }
  .woocommerce-main .category-grid { gap: .9rem .55rem; }
  .woocommerce-main .category-icon { width: min(100%, 60px); }
  .woocommerce-main .category-label { font-size: .7rem; }
  .ras-category-nav-dense .category-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: .85rem .45rem; }
  .ras-category-nav-dense .category-icon { width: min(100%, 68px); }
  .ras-category-nav-dense .category-label { max-width: 8.5em; font-size: .7rem; }
  .ras-card-actions,
  .ras-quick-add,
  .ras-variation-quick-add {
    min-height: 95px;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .3rem;
  }
  .ras-card-actions > .ras-card-action-note,
  .ras-card-actions > .ras-variation-picker { grid-column: 1 / -1; }
  .ras-card-actions > .ras-quantity { grid-column: 1; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ras-card-actions > .ras-quantity button { width: 100%; }
  .ras-card-actions > .ras-add-button,
  .ras-card-actions > .ras-select-options,
  .ras-card-actions > .ras-stock-button { grid-column: 2; padding-right: .2rem; padding-left: .2rem; font-size: .68rem; }
  .woocommerce ul.products, .woocommerce-page ul.products, .home-main ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
  .promise-section { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .promise-section article { grid-template-columns: 42px minmax(0, 1fr); padding: 1.1rem .8rem; border-right: 1px solid var(--ras-border); border-bottom: 0; }
  .promise-section article:last-child { border-right: 0; }
  .site-footer-inner { grid-template-columns: 1.4fr 1fr; }
  .woocommerce table.shop_table .product-thumbnail { display: table-cell; }
	.woocommerce-account .woocommerce { grid-template-columns: 220px minmax(0, 1fr); align-items: start; gap: 1.25rem; }
	.woocommerce-account .woocommerce > .woocommerce-notices-wrapper, .woocommerce-account .u-columns { grid-column: 1 / -1; }
	.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation { grid-column: 1; }
	.woocommerce-account .woocommerce > .woocommerce-MyAccount-content { grid-column: 2; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul { grid-template-columns: 1fr; min-width: 0; padding: .5rem; }
	.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { grid-column: auto; margin-top: .35rem; padding-top: .35rem; border-top: 1px solid var(--ras-border); }
	.woocommerce-account .u-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.woocommerce-account .woocommerce-Addresses { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ras-account-shortcuts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ras-account-admin { grid-template-columns: minmax(0, 1fr) max-content; }
}

@media (min-width: 760px) and (max-width: 899px) {
  .mobile-bottom-nav { display: none; }
  .mobile-checkout-bar { right: 1rem; bottom: 1rem; left: auto; width: 420px; border: 1px solid var(--ras-border); border-radius: 12px; }
  .ras-cart-toast-region { right: 1.25rem; bottom: 1.25rem; left: auto; width: 360px; }
  .site-main { padding-bottom: 2.5rem; }
  .site-footer { padding-bottom: 2rem; }
}

@media (min-width: 900px) {
  .primary-nav { display: block; border-top: 1px solid var(--ras-border); background: #fff; }
  .primary-nav ul { display: flex; gap: 1.5rem; width: min(100% - 32px, var(--ras-container)); margin: 0 auto; padding: .55rem 0; list-style: none; }
  .primary-nav a { color: var(--ras-text); font-size: .82rem; font-weight: 600; text-decoration: none; }
  .site-main { padding: 1.25rem 0 3rem; }
  .home-hero-wrap { margin-top: .25rem; }
  .woocommerce ul.products, .woocommerce-page ul.products, .home-main ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.15rem; }
  .woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(340px, .75fr); gap: 2.5rem; align-items: start; }
  .woocommerce div.product div.images { grid-column: 1; margin: 0 auto; }
  .woocommerce div.product div.summary { grid-column: 2; padding-top: 1rem; }
  .woocommerce div.product form.cart { position: static; box-shadow: none; }
  .woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related.products { grid-column: 1 / -1; }
  .related.products ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .woocommerce-cart .content-card article > .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 360px); gap: 1.25rem; align-items: start; }
  .woocommerce-cart .content-card article > .woocommerce > .woocommerce-notices-wrapper,
  .woocommerce-cart .content-card article > .woocommerce > .woocommerce-error,
  .woocommerce-cart .content-card article > .woocommerce > .woocommerce-info,
  .woocommerce-cart .content-card article > .woocommerce > .woocommerce-message { grid-column: 1 / -1; }
  .woocommerce-cart .woocommerce-cart-form { grid-column: 1; }
  .woocommerce-cart table.shop_table_responsive tr.woocommerce-cart-form__cart-item { grid-template-columns: 80px minmax(0, 1fr) 132px minmax(80px, auto) 44px; grid-template-areas: "thumbnail name quantity subtotal remove" "thumbnail price quantity subtotal remove"; padding: .8rem; }
  .woocommerce-cart table.cart td.product-thumbnail img { width: 80px !important; height: 80px !important; }
  .woocommerce-cart table.cart td.product-quantity { align-items: center; justify-content: center; }
  .woocommerce-cart table.cart td.product-subtotal { align-items: center; justify-content: flex-end; }
  .woocommerce-cart table.cart td.product-remove { align-items: center; justify-content: flex-end; }
  .woocommerce-cart .cart-collaterals { grid-column: 2; margin: 0; }
  .woocommerce-cart .cart-collaterals .cart_totals { position: sticky; top: calc(var(--ras-header-height) + 1rem); }
  .woocommerce-cart .cart_totals .wc-proceed-to-checkout { display: block; padding: .7rem 0 0; }
  .woocommerce-cart .cart_totals .wc-proceed-to-checkout a { margin: 0; }
  .woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 410px); gap: 0 1.5rem; align-items: start; }
  .woocommerce-checkout form.checkout > .col2-set { grid-column: 1; grid-row: 1 / span 3; }
  .woocommerce-checkout form.checkout > #order_review_heading { grid-column: 2; grid-row: 1; margin-top: 0; }
  .woocommerce-checkout form.checkout > #order_review { grid-column: 2; grid-row: 2; position: sticky; top: calc(var(--ras-header-height) + 1rem); }
  .mobile-bottom-nav, .mobile-checkout-bar { display: none; }
  .ras-cart-toast-region { right: 1.5rem; bottom: 1.5rem; left: auto; width: 360px; }
  .site-footer { padding-bottom: 2rem; }
}

@media (min-width: 1100px) {
  .woocommerce ul.products, .woocommerce-page ul.products, .home-main ul.products { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .related.products ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
