.woo-main { background:var(--no-cream-50); }
.woocommerce .woocommerce-breadcrumb { margin:0 0 18px; color:var(--no-muted); font-size:.83rem; }
.woocommerce .woocommerce-breadcrumb a { color:var(--no-forest-700); }
.woocommerce-products-header { margin-bottom:22px; }
.woocommerce-products-header__title.page-title { margin-bottom:10px; font-size:clamp(2.45rem,5vw,4.4rem); }
.woocommerce .woocommerce-result-count { margin:10px 0 18px; color:var(--no-muted); }
.woocommerce .woocommerce-ordering { margin:0 0 18px; }
.woocommerce .woocommerce-ordering select { width:auto; min-width:210px; background:#fff; border-color:rgba(18,54,41,.22); }

.woocommerce ul.products {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
  margin:26px 0 32px!important;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display:none!important; }
.woocommerce ul.products li.product {
  width:auto!important;
  min-width:0;
  margin:0!important;
  float:none!important;
  overflow:hidden;
  border:1px solid var(--no-border);
  border-radius:var(--no-radius);
  background:#fff;
  box-shadow:var(--no-shadow-soft);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.woocommerce ul.products li.product:hover { transform:translateY(-2px); box-shadow:var(--no-shadow); border-color:rgba(18,54,41,.26); }
.woocommerce ul.products li.product a { text-decoration:none; }
.woocommerce ul.products li.product a img {
  width:100%;
  aspect-ratio:1/1;
  margin:0!important;
  object-fit:contain;
  background:#f7f5ef;
  border-bottom:1px solid rgba(18,54,41,.08);
}
.woocommerce ul.products li.product a img.is-product-placeholder { object-fit:cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  padding:16px 16px 7px!important;
  color:var(--no-forest-950);
  font:700 1.08rem/1.14 Georgia,serif;
}
.woocommerce ul.products li.product .price { margin:0; padding:0 16px 14px; color:var(--no-charcoal)!important; font-weight:850; }
.woocommerce ul.products li.product .price del { color:var(--no-muted); opacity:.75; }
.woocommerce ul.products li.product .price ins { color:var(--no-forest-900); text-decoration:none; }
.woocommerce ul.products li.product .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  border-radius:9px;
  background:var(--no-forest-900)!important;
  color:#fff!important;
  font-weight:800!important;
}
.woocommerce ul.products li.product .button { margin:0 16px 18px!important; }
.woocommerce ul.products li.product .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { background:var(--no-forest-700)!important; color:#fff!important; }
.woocommerce span.onsale { min-width:auto; min-height:auto; left:12px!important; top:12px!important; padding:5px 9px; border-radius:999px; background:var(--no-gold)!important; color:var(--no-forest-1000)!important; font-size:.7rem; font-weight:900; line-height:1.2; }

.woocommerce nav.woocommerce-pagination ul { border:0!important; display:flex; gap:6px; }
.woocommerce nav.woocommerce-pagination ul li { border:0!important; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width:40px; min-height:40px; display:grid; place-items:center; border:1px solid var(--no-border); border-radius:8px; background:#fff; color:var(--no-forest-900); }
.woocommerce nav.woocommerce-pagination ul li span.current { background:var(--no-forest-900); color:#fff; }

.woocommerce div.product { display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.8fr); gap:clamp(32px,6vw,76px); }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width:auto!important; float:none!important; }
.woocommerce div.product .product_title { font-size:clamp(2.1rem,4vw,3.7rem); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color:var(--no-forest-950); font-size:1.35rem; font-weight:850; }
.woocommerce div.product .woocommerce-product-gallery__wrapper { overflow:hidden; border-radius:var(--no-radius); background:#f7f5ef; }
.woocommerce div.product .woocommerce-product-gallery__image img { width:100%; }
.woocommerce div.product form.cart { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.woocommerce .quantity .qty { min-height:46px; width:76px; }
.woocommerce div.product .woocommerce-tabs { grid-column:1/-1; margin-top:30px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display:flex; flex-wrap:wrap; gap:8px; padding:0!important; border-bottom:1px solid var(--no-border); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display:none!important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin:0!important; padding:0!important; border:0!important; background:transparent!important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display:none!important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding:12px 14px!important; }

.woocommerce-message, .woocommerce-info, .woocommerce-error { border:1px solid var(--no-border)!important; border-top:4px solid var(--no-forest-700)!important; border-radius:var(--no-radius-sm); background:#fff; }
.woocommerce-error { border-top-color:var(--no-rust)!important; }

.woocommerce-cart-form, .cart_totals, .woocommerce-checkout-review-order, .woocommerce form.checkout, .woocommerce-account .woocommerce-MyAccount-content, .woocommerce-account .woocommerce-MyAccount-navigation {
  border:1px solid var(--no-border); border-radius:var(--no-radius); background:#fff; box-shadow:var(--no-shadow-soft);
}
.woocommerce-cart-form { padding:18px; }
.cart_totals { padding:20px; }
.woocommerce table.shop_table { border-color:var(--no-border); border-radius:10px; }
.woocommerce table.shop_table th { color:var(--no-forest-950); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { min-height:46px; border:1px solid var(--no-border); border-radius:10px; background:#fff; }
.woocommerce-checkout #customer_details, .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { float:none!important; width:auto!important; }
.woocommerce form.checkout { padding:clamp(18px,4vw,34px); }
.woocommerce-account .woocommerce { display:grid; grid-template-columns:240px minmax(0,1fr); gap:20px; }
.woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after { display:none; }
.woocommerce-account .woocommerce-MyAccount-navigation { width:auto!important; float:none!important; padding:14px; }
.woocommerce-account .woocommerce-MyAccount-content { width:auto!important; float:none!important; padding:clamp(18px,4vw,34px); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style:none; padding:0; margin:0; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display:block; padding:10px 12px; border-radius:8px; font-weight:700; text-decoration:none; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a, .woocommerce-account .woocommerce-MyAccount-navigation a:hover { background:var(--no-sage-100); }

@media (max-width: 1180px) {
  .woocommerce ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 782px) {
  .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .woocommerce div.product { grid-template-columns:1fr; }
  .woocommerce-account .woocommerce { grid-template-columns:1fr; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { padding:12px 12px 5px!important; font-size:.98rem; }
  .woocommerce ul.products li.product .price { padding:0 12px 10px; font-size:.88rem; }
  .woocommerce ul.products li.product .button { width:calc(100% - 24px); margin:0 12px 12px!important; padding:9px 8px!important; font-size:.79rem!important; }
}
@media (max-width: 420px) {
  .woocommerce .woocommerce-ordering { float:none; width:100%; }
  .woocommerce .woocommerce-ordering select { width:100%; min-width:0; }
  .woocommerce ul.products { gap:10px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:.92rem; }
}
@media (max-width: 350px) {
  .woocommerce ul.products { grid-template-columns:1fr; }
}

/* Phase 3: curated catalog navigation */
.catalog-nav {
  clear:both;
  margin:0 0 30px;
  padding:clamp(18px,3vw,28px);
  border:1px solid var(--no-border);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--no-shadow-soft);
}
.catalog-nav__heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:20px; }
.catalog-nav__heading h2 { margin:4px 0 0; font-size:clamp(1.65rem,3vw,2.5rem); }
.catalog-nav__eyebrow { color:var(--no-forest-500); font-size:.72rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.catalog-search { display:flex; align-items:center; gap:8px; width:min(460px,100%); }
.catalog-search input[type="search"] { flex:1; min-width:0; min-height:46px; border:1px solid var(--no-border); border-radius:10px; background:#fff; padding:0 13px; }
.catalog-search button { min-height:46px; border:0; border-radius:10px; padding:0 18px; background:var(--no-forest-900); color:#fff; font-weight:850; cursor:pointer; }
.catalog-lanes { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.catalog-lane { display:flex; min-width:0; min-height:116px; flex-direction:column; justify-content:flex-end; gap:5px; padding:16px; border:1px solid var(--no-border); border-radius:14px; background:var(--no-cream-50); color:var(--no-forest-950); text-decoration:none!important; transition:transform .15s ease,border-color .15s ease,background .15s ease; }
.catalog-lane strong { font:700 1.02rem/1.12 Georgia,serif; }
.catalog-lane span { color:var(--no-muted); font-size:.78rem; line-height:1.35; }
.catalog-lane:hover,.catalog-lane:focus-visible { transform:translateY(-2px); border-color:rgba(18,54,41,.35); }
.catalog-lane.is-active { border-color:var(--no-gold); background:#fff6dc; box-shadow:inset 0 -3px 0 var(--no-gold); }
.catalog-lane--all { background:#f5f7f4; }
.catalog-chips { display:flex; gap:8px; margin-top:18px; padding-bottom:2px; overflow-x:auto; scrollbar-width:thin; }
.catalog-chip { flex:0 0 auto; display:inline-flex; align-items:center; gap:7px; min-height:38px; padding:7px 11px; border:1px solid var(--no-border); border-radius:999px; background:#fff; color:var(--no-forest-900); font-size:.8rem; font-weight:800; text-decoration:none!important; white-space:nowrap; }
.catalog-chip span { display:grid; place-items:center; min-width:22px; height:22px; border-radius:999px; background:var(--no-sage-100); font-size:.67rem; }
.catalog-chip:hover,.catalog-chip:focus-visible,.catalog-chip.is-active { border-color:var(--no-forest-700); background:var(--no-forest-900); color:#fff; }
.catalog-chip.is-active span,.catalog-chip:hover span,.catalog-chip:focus-visible span { background:rgba(255,255,255,.16); color:#fff; }
.catalog-subcats { margin-top:18px; padding-top:16px; border-top:1px solid var(--no-border); }
.catalog-subcats__label { display:block; color:var(--no-muted); font-size:.78rem; font-weight:800; }
.catalog-chips--children { margin-top:9px; }
.loop-product-category { display:block; margin:13px 16px 0; color:var(--no-forest-500); font-size:.66rem; font-weight:900; letter-spacing:.09em; line-height:1.25; text-transform:uppercase; }
.loop-product-state { display:block; margin:-5px 16px 10px; color:var(--no-muted); font-size:.72rem; font-weight:750; }
.woocommerce ul.products li.product { display:flex; flex-direction:column; }
.woocommerce ul.products li.product .woocommerce-LoopProduct-link { display:block; }
.woocommerce ul.products li.product .button { margin-top:auto!important; align-self:flex-start; }
.woocommerce ul.products li.product.outofstock { opacity:.9; }
.woocommerce ul.products li.product.outofstock .button { background:#6f7772!important; }
.woocommerce nav.woocommerce-pagination { margin-top:34px; }
.woocommerce nav.woocommerce-pagination ul { justify-content:center; flex-wrap:wrap; }

.product-search-results .woocommerce ul.products { margin-top:20px!important; }
.product-search-results__header { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:20px; }
.product-search-results__header h1 { margin:0; }
.product-search-results__count { color:var(--no-muted); font-weight:700; }

@media (max-width:1180px) {
  .catalog-lanes { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:782px) {
  .catalog-nav { margin-inline:-2px; padding:16px 14px; border-radius:14px; }
  .catalog-nav__heading { align-items:stretch; flex-direction:column; gap:14px; }
  .catalog-search { width:100%; }
  .catalog-lanes { display:flex; gap:10px; overflow-x:auto; scroll-snap-type:x proximity; padding:2px 2px 7px; }
  .catalog-lane { flex:0 0 min(76vw,280px); min-height:110px; scroll-snap-align:start; }
  .loop-product-category { margin:11px 12px 0; font-size:.6rem; }
  .loop-product-state { margin:-3px 12px 9px; }
  .woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span { min-width:42px; min-height:42px; }
}
@media (max-width:420px) {
  .catalog-search { display:grid; grid-template-columns:minmax(0,1fr) auto; }
  .catalog-search button { padding-inline:14px; }
  .catalog-lane { flex-basis:82vw; }
}

/* 0.6.1 — mobile catalog correction and overflow hardening. */
.woo-main,
.woo-shell,
.woocommerce,
.woocommerce-products-header,
.catalog-nav,
.catalog-nav__heading,
.catalog-search,
.catalog-lanes,
.catalog-chips,
.catalog-subcats,
.woocommerce ul.products,
.woocommerce ul.products li.product,
.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price {
  min-width: 0;
  max-width: 100%;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.loop-product-category,
.loop-product-state,
.catalog-lane strong,
.catalog-lane span {
  overflow-wrap: anywhere;
  word-break: normal;
}

.catalog-chip {
  max-width: min(78vw, 300px);
}
.catalog-chip:not(:hover):not(:focus-visible) {
  overflow: hidden;
  text-overflow: ellipsis;
}
.catalog-chip > span {
  flex: 0 0 auto;
}

@media (max-width: 782px) {
  .woo-shell {
    width: min(calc(100% - 22px), var(--no-shell));
    padding-block: 28px 52px;
  }

  .woocommerce-products-header {
    margin-bottom: 14px;
  }
  .woocommerce-products-header__title.page-title {
    margin-bottom: 6px;
    font-size: clamp(2.35rem, 12vw, 3.15rem);
    line-height: .98;
  }

  .catalog-nav {
    margin: 0 0 22px;
    padding: 15px 12px 13px;
    overflow: hidden;
  }
  .catalog-nav__heading {
    gap: 10px;
    margin-bottom: 12px;
  }
  .catalog-nav__heading h2 {
    max-width: 14ch;
    margin-top: 2px;
    font-size: clamp(1.45rem, 7vw, 1.9rem);
    line-height: 1.02;
  }
  .catalog-nav__eyebrow {
    font-size: .62rem;
    letter-spacing: .1em;
  }

  .catalog-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px;
  }
  .catalog-search input[type="search"] {
    min-height: 42px;
    padding-inline: 11px;
    font-size: .88rem;
  }
  .catalog-search button {
    min-height: 42px;
    padding-inline: 13px;
    font-size: .8rem;
  }

  /* Store lanes become compact swipeable tabs on phones instead of giant cards. */
  .catalog-lanes {
    display: flex;
    gap: 7px;
    margin-inline: -2px;
    padding: 1px 2px 7px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
  }
  .catalog-lane {
    flex: 0 0 auto;
    min-height: 42px;
    width: auto;
    max-width: 78vw;
    justify-content: center;
    padding: 9px 12px;
    border-radius: 999px;
    scroll-snap-align: start;
    white-space: nowrap;
    box-shadow: none;
  }
  .catalog-lane strong {
    font: 800 .82rem/1.1 system-ui, sans-serif;
    letter-spacing: 0;
  }
  .catalog-lane span {
    display: none;
  }
  .catalog-lane.is-active {
    box-shadow: inset 0 -2px 0 var(--no-gold);
  }

  .catalog-chips {
    gap: 6px;
    margin-top: 10px;
    margin-inline: -2px;
    padding: 0 2px 5px;
    overscroll-behavior-x: contain;
  }
  .catalog-chip {
    min-height: 34px;
    max-width: 68vw;
    padding: 6px 9px;
    gap: 5px;
    font-size: .72rem;
  }
  .catalog-chip span {
    min-width: 19px;
    height: 19px;
    font-size: .61rem;
  }
  .catalog-subcats {
    margin-top: 10px;
    padding-top: 10px;
  }
  .catalog-subcats__label {
    font-size: .7rem;
  }

  .woocommerce .woocommerce-result-count,
  .woocommerce .woocommerce-ordering {
    float: none;
  }
  .woocommerce .woocommerce-result-count {
    margin: 8px 0 10px;
    font-size: .86rem;
  }
  .woocommerce .woocommerce-ordering {
    width: 100%;
    margin: 0 0 14px;
  }
  .woocommerce .woocommerce-ordering select {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    font-size: .88rem;
  }

  .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px !important;
  }
  .woocommerce ul.products li.product {
    border-radius: 12px;
  }
  .woocommerce ul.products li.product a img {
    aspect-ratio: 4 / 3;
    object-fit: contain;
  }
  .woocommerce span.onsale {
    left: 7px !important;
    top: 7px !important;
    padding: 4px 7px;
    font-size: .6rem;
  }
  .loop-product-category {
    margin: 9px 10px 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: .56rem;
    letter-spacing: .065em;
  }
  .loop-product-state {
    margin: -1px 10px 6px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: .64rem;
  }
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    display: -webkit-box;
    min-height: calc(1.12em * 3);
    padding: 9px 10px 4px !important;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    font-size: .9rem;
    line-height: 1.12;
  }
  .woocommerce ul.products li.product .price {
    padding: 0 10px 8px;
    overflow-wrap: anywhere;
    font-size: .82rem;
    line-height: 1.25;
  }
  .woocommerce ul.products li.product .button {
    width: calc(100% - 20px);
    min-height: 38px;
    margin: 0 10px 10px !important;
    padding: 7px 7px !important;
    font-size: .74rem !important;
    line-height: 1.08;
    white-space: normal;
    text-align: center;
  }
}

@media (max-width: 420px) {
  .catalog-nav {
    padding-inline: 10px;
  }
  .catalog-search button {
    padding-inline: 11px;
  }
  .catalog-lane {
    max-width: 82vw;
  }
  .catalog-chip {
    max-width: 74vw;
  }
  .woocommerce ul.products {
    gap: 8px;
  }
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    min-height: calc(1.1em * 3);
    padding-inline: 9px !important;
    font-size: .85rem;
  }
  .woocommerce ul.products li.product .price {
    padding-inline: 9px;
    font-size: .78rem;
  }
  .woocommerce ul.products li.product .button {
    width: calc(100% - 18px);
    margin-inline: 9px !important;
    font-size: .7rem !important;
  }
}

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

/* 0.7.0 — Phase 4: product pages and buying experience. */
.single-product .woo-shell {
  width: min(calc(100% - 36px), 1180px);
  padding-top: clamp(26px, 4vw, 52px);
}
.single-product .woocommerce-breadcrumb {
  margin-bottom: clamp(18px, 3vw, 30px);
}
.single-product .woocommerce div.product {
  align-items: start;
  gap: clamp(26px, 5vw, 68px);
}
.single-product .woocommerce div.product div.images,
.single-product .woocommerce div.product div.summary {
  min-width: 0;
  margin-bottom: 0;
}
.single-product .woocommerce div.product div.images {
  padding: 12px;
  border: 1px solid var(--no-border);
  border-radius: var(--no-radius-lg);
  background: #fff;
  box-shadow: var(--no-shadow-soft);
}
.single-product .woocommerce-product-gallery__wrapper {
  border-radius: calc(var(--no-radius-lg) - 8px) !important;
  background: var(--no-cream-50) !important;
}
.single-product .woocommerce-product-gallery__image a {
  display: block;
}
.single-product .woocommerce-product-gallery__image img {
  display: block;
  width: 100%;
  max-height: 720px;
  object-fit: contain;
  background: var(--no-cream-50);
}
.single-product .flex-control-thumbs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px !important;
}
.single-product .flex-control-thumbs li {
  width: auto !important;
  float: none !important;
}
.single-product .flex-control-thumbs img {
  aspect-ratio: 1 / 1;
  width: 100%;
  object-fit: cover;
  border: 1px solid transparent;
  border-radius: 9px;
  background: var(--no-cream-50);
}
.single-product .flex-control-thumbs img.flex-active {
  border-color: var(--no-gold);
}

.single-product .woocommerce div.product div.summary {
  position: sticky;
  top: 112px;
  padding: clamp(22px, 3.5vw, 38px);
  border: 1px solid var(--no-border);
  border-radius: var(--no-radius-lg);
  background: #fff;
  box-shadow: var(--no-shadow-soft);
}
.admin-bar.single-product .woocommerce div.product div.summary { top: 144px; }
.single-product-eyebrow {
  margin-bottom: 11px;
  color: var(--no-forest-500);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .13em;
  line-height: 1.4;
  text-transform: uppercase;
}
.single-product .product_title {
  max-width: 14ch;
  margin-bottom: 13px !important;
  overflow-wrap: anywhere;
  font-size: clamp(2.15rem, 4.4vw, 3.8rem) !important;
  line-height: .98 !important;
}
.single-product .woocommerce-product-rating {
  margin: 0 0 14px !important;
}
.single-product .woocommerce div.product p.price,
.single-product .woocommerce div.product span.price {
  margin: 0 0 18px;
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  line-height: 1.2;
}
.single-product .woocommerce-product-details__short-description {
  margin: 0 0 20px;
  color: #3f4642;
  font-size: 1rem;
  line-height: 1.55;
}
.single-product .woocommerce-product-details__short-description > :last-child {
  margin-bottom: 0;
}
.single-product-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 22px;
}
.single-product-fact {
  min-width: 0;
  padding: 12px 13px;
  border: 1px solid var(--no-border);
  border-radius: 11px;
  background: var(--no-cream-50);
}
.single-product-fact dt {
  margin-bottom: 3px;
  color: var(--no-forest-500);
  font-size: .63rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.single-product-fact dd {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--no-forest-950);
  font-weight: 800;
  line-height: 1.25;
}
.single-product .stock {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  margin: 0 0 14px !important;
  padding: 5px 9px;
  border-radius: 999px;
  background: var(--no-sage-100);
  color: var(--no-forest-800) !important;
  font-size: .74rem !important;
  font-weight: 850;
}
.single-product .stock.out-of-stock {
  background: #f7e6e1;
  color: #8c3d31 !important;
}
.single-product .woocommerce div.product form.cart {
  margin: 4px 0 0;
  padding-top: 20px;
  border-top: 1px solid var(--no-border);
}
.single-product .woocommerce div.product form.cart .quantity {
  margin: 0 !important;
}
.single-product .woocommerce div.product form.cart .button {
  min-height: 50px;
  flex: 1 1 220px;
  padding-inline: 22px !important;
  font-size: .98rem !important;
}
.single-product .quantity .qty {
  min-height: 50px;
  width: 78px;
  border: 1px solid var(--no-border);
  border-radius: 10px;
}

/* Variable products. */
.single-product .variations_form.cart {
  display: block !important;
}
.single-product .variations {
  display: block;
  width: 100%;
  margin: 0 0 14px !important;
  border: 0 !important;
}
.single-product .variations tbody,
.single-product .variations tr,
.single-product .variations th,
.single-product .variations td {
  display: block;
  width: 100%;
}
.single-product .variations tr + tr {
  margin-top: 12px;
}
.single-product .variations th,
.single-product .variations td {
  padding: 0 !important;
  border: 0 !important;
  text-align: left !important;
}
.single-product .variations th.label {
  margin-bottom: 5px;
  color: var(--no-forest-950);
  font-size: .79rem;
  font-weight: 850;
}
.single-product .variations select {
  width: 100%;
  min-height: 48px;
  margin: 0 !important;
  border-color: var(--no-border);
  background: #fff;
}
.single-product .reset_variations {
  display: inline-block;
  margin-top: 6px;
  color: var(--no-forest-700);
  font-size: .78rem;
  font-weight: 750;
}
.single-product .single_variation_wrap {
  margin-top: 14px;
}
.single-product .woocommerce-variation-price {
  margin-bottom: 10px;
  font-weight: 850;
}
.single-product .woocommerce-variation-description {
  margin-bottom: 12px;
  color: var(--no-muted);
  font-size: .9rem;
}
.single-product .woocommerce-variation-add-to-cart {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.single-product-secondary-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 16px;
  margin-top: 18px;
  padding-top: 15px;
  border-top: 1px solid var(--no-border);
  color: var(--no-muted);
  font-size: .78rem;
}
.single-product-secondary-meta span {
  overflow-wrap: anywhere;
}
.single-product-secondary-meta a {
  color: var(--no-forest-700);
}

/* Tabs/details become a full-width reading section. */
.single-product .woocommerce div.product .woocommerce-tabs {
  grid-column: 1 / -1;
  margin: clamp(34px, 6vw, 72px) 0 0;
  padding: clamp(20px, 4vw, 38px);
  border: 1px solid var(--no-border);
  border-radius: var(--no-radius-lg);
  background: #fff;
  box-shadow: var(--no-shadow-soft);
}
.single-product .woocommerce-tabs ul.tabs {
  gap: 5px !important;
  margin: 0 0 28px !important;
  overflow-x: auto;
  flex-wrap: nowrap !important;
  scrollbar-width: thin;
}
.single-product .woocommerce-tabs ul.tabs li {
  flex: 0 0 auto;
}
.single-product .woocommerce-tabs ul.tabs li a {
  min-height: 42px;
  display: inline-flex !important;
  align-items: center;
  padding: 9px 13px !important;
  border-radius: 9px;
  color: var(--no-muted) !important;
  white-space: nowrap;
}
.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .woocommerce-tabs ul.tabs li a:hover {
  background: var(--no-sage-100);
  color: var(--no-forest-950) !important;
}
.single-product .woocommerce-Tabs-panel {
  max-width: 850px;
  margin-inline: auto !important;
  overflow-wrap: anywhere;
}
.single-product .woocommerce-Tabs-panel > h2:first-child {
  font-size: clamp(1.65rem, 3vw, 2.4rem);
}
.single-product .woocommerce-product-attributes {
  border: 0 !important;
}
.single-product .woocommerce-product-attributes th,
.single-product .woocommerce-product-attributes td {
  padding: 11px 12px !important;
  border-bottom: 1px solid var(--no-border) !important;
  background: transparent !important;
}

/* Related / upsell products. */
.single-product .related,
.single-product .upsells {
  grid-column: 1 / -1;
  margin-top: clamp(42px, 7vw, 82px);
}
.single-product .related > h2,
.single-product .upsells > h2 {
  margin-bottom: 22px;
  font-size: clamp(1.8rem, 3.4vw, 2.8rem);
}
.single-product .related ul.products,
.single-product .upsells ul.products {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

/* Password/member/unavailable states from WordPress/Woo/plugins stay visible. */
.single-product .post-password-form,
.single-product .woocommerce-info,
.single-product .woocommerce-message,
.single-product .woocommerce-error,
.single-product [class*="restricted-content"],
.single-product [class*="members-only"] {
  max-width: 100%;
}
.single-product .post-password-form {
  padding: 20px;
  border: 1px solid var(--no-border);
  border-radius: var(--no-radius);
  background: #fff;
}

@media (max-width: 782px) {
  .single-product .woo-shell {
    width: min(calc(100% - 22px), 1180px);
    padding-top: 22px;
  }
  .single-product .woocommerce-breadcrumb {
    margin-bottom: 14px;
    font-size: .72rem;
    line-height: 1.4;
  }
  .single-product .woocommerce div.product {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .single-product .woocommerce div.product div.images {
    padding: 8px;
    border-radius: 16px;
  }
  .single-product .flex-control-thumbs {
    display: flex;
    gap: 7px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
  }
  .single-product .flex-control-thumbs li {
    flex: 0 0 68px;
    scroll-snap-align: start;
  }
  .single-product .woocommerce div.product div.summary {
    position: static;
    padding: 20px 17px;
    border-radius: 16px;
  }
  .single-product .product_title {
    max-width: none;
    font-size: clamp(2rem, 10vw, 2.8rem) !important;
  }
  .single-product .woocommerce-product-details__short-description {
    font-size: .94rem;
  }
  .single-product-facts {
    grid-template-columns: 1fr 1fr;
    gap: 7px;
  }
  .single-product-fact {
    padding: 10px;
  }
  .single-product-fact dd {
    font-size: .85rem;
  }
  .single-product .woocommerce div.product form.cart {
    gap: 8px;
  }
  .single-product .woocommerce div.product form.cart .button,
  .single-product .woocommerce-variation-add-to-cart .button {
    width: 100%;
    flex-basis: 100%;
  }
  .single-product .quantity,
  .single-product .quantity .qty {
    width: 100%;
  }
  .single-product .woocommerce div.product .woocommerce-tabs {
    padding: 16px 13px 22px;
    border-radius: 16px;
    margin-top: 18px;
  }
  .single-product .woocommerce-tabs ul.tabs {
    margin-bottom: 20px !important;
  }
  .single-product .woocommerce-tabs ul.tabs li a {
    font-size: .78rem;
  }
  .single-product .related,
  .single-product .upsells {
    margin-top: 38px;
  }
  .single-product .related ul.products,
  .single-product .upsells ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 390px) {
  .single-product-facts {
    grid-template-columns: 1fr;
  }
  .single-product .related ul.products,
  .single-product .upsells ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* Named genetics collection filter. */
.catalog-collection-filter { display:grid; grid-template-columns:auto minmax(0,1fr); gap:10px 16px; align-items:center; margin-top:18px; padding:14px; border:1px solid var(--no-border); border-radius:12px; background:var(--no-cream-50); }
.catalog-collection-filter > label { color:var(--no-forest-950); font-weight:850; }
.catalog-collection-filter__controls { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:8px; align-items:center; }
.catalog-collection-filter select { min-width:0; width:100%; background:#fff; }
.catalog-collection-filter button { min-height:42px; padding:9px 14px; }
.catalog-collection-filter__clear { display:inline-flex; min-height:42px; align-items:center; justify-content:center; padding:8px 10px; color:var(--no-forest-700); font-weight:800; text-decoration:none!important; }
.catalog-collection-filter__clear:hover { color:var(--no-forest-950); text-decoration:underline!important; }

@media (max-width:782px) {
  .catalog-collection-filter { grid-template-columns:1fr; padding:12px; }
  .catalog-collection-filter__controls { grid-template-columns:minmax(0,1fr) auto; }
  .catalog-collection-filter__clear { grid-column:1/-1; justify-self:start; min-height:34px; padding:4px 0; }
}

/* 0.10.7 — Strain Library / historical genetics. */
.catalog-library-link {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:12px;
  padding:14px 16px;
  border:1px solid rgba(18,54,41,.18);
  border-radius:12px;
  background:linear-gradient(135deg,#f6f3e8,#fff);
  color:var(--no-forest-950);
  text-decoration:none!important;
}
.catalog-library-link span { display:grid; gap:2px; min-width:0; }
.catalog-library-link strong { font:700 1rem/1.2 Georgia,serif; }
.catalog-library-link small { color:var(--no-muted); font-size:.78rem; line-height:1.4; }
.catalog-library-link b { flex:0 0 auto; font-size:1.3rem; }
.catalog-library-link:hover,.catalog-library-link:focus-visible { border-color:var(--no-gold); box-shadow:var(--no-shadow-soft); }

.strain-library-hero {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:24px;
  padding:clamp(22px,4vw,38px);
  border:1px solid var(--no-border);
  border-radius:20px;
  background:linear-gradient(135deg,var(--no-cream-50),#fff);
  box-shadow:var(--no-shadow-soft);
}
.strain-library-hero h1 { margin:5px 0 10px; font-size:clamp(2.35rem,5vw,4.25rem); }
.strain-library-hero p { max-width:780px; margin:0; color:var(--no-muted); font-size:1rem; line-height:1.65; }
.strain-library-hero__shop { flex:0 0 auto; font-weight:850; text-decoration:none!important; }

.strain-library-tools {
  margin-bottom:22px;
  padding:clamp(16px,3vw,24px);
  border:1px solid var(--no-border);
  border-radius:16px;
  background:#fff;
}
.strain-library-search { width:min(620px,100%); }
.strain-library-types { margin-top:16px; }
.strain-library-filter-grid {
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1.25fr) auto auto;
  align-items:end;
  gap:12px;
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid var(--no-border);
}
.strain-library-filter-grid label { display:grid; gap:6px; min-width:0; }
.strain-library-filter-grid label > span { color:var(--no-muted); font-size:.72rem; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
.strain-library-filter-grid select { width:100%; min-height:44px; border:1px solid var(--no-border); border-radius:10px; background:#fff; padding:0 34px 0 11px; }
.strain-library-filter-grid button { min-height:44px; border:0; border-radius:10px; padding:0 16px; background:var(--no-forest-900); color:#fff; font-weight:850; cursor:pointer; }
.strain-library-filter-grid .catalog-collection-filter__clear { min-height:44px; display:inline-flex; align-items:center; }
.strain-library-results-head { display:flex; align-items:center; justify-content:space-between; margin:0 0 14px; }
.strain-library-results-head p { margin:0; color:var(--no-muted); font-weight:750; }
.strain-library-empty { padding:clamp(28px,5vw,54px); border:1px dashed var(--no-border); border-radius:16px; background:#fff; text-align:center; }
.strain-library-empty h2 { margin:0 0 8px; }
.strain-library-empty p { margin:0 0 14px; color:var(--no-muted); }

.strain-reference-notice {
  display:grid;
  gap:5px;
  margin:4px 0 18px;
  padding:14px 16px;
  border-left:4px solid var(--no-gold);
  border-radius:8px 12px 12px 8px;
  background:#fff8df;
}
.strain-reference-notice strong { color:var(--no-forest-950); }
.strain-reference-notice span { color:var(--no-muted); font-size:.88rem; line-height:1.5; }
.strain-reference-notice a { width:max-content; max-width:100%; font-size:.84rem; font-weight:850; text-decoration:none!important; }
.nancysown-product-archived .summary .price { opacity:.72; }

@media (max-width:980px) {
  .strain-library-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .strain-library-filter-grid button { width:100%; }
}
@media (max-width:782px) {
  .catalog-library-link { align-items:flex-start; }
  .strain-library-hero { align-items:flex-start; flex-direction:column; gap:16px; }
  .strain-library-filter-grid { grid-template-columns:1fr; }
  .strain-library-filter-grid .catalog-collection-filter__clear { min-height:36px; }
}
