.owner-bar{max-width:1200px;display:flex;justify-content:space-between;gap:20px;margin:0 auto 14px;font-size:12px;color:var(--muted);padding:0 4px}.owner-bar a{color:var(--green);font-weight:700}.owner-bar a:hover{text-decoration:underline;text-underline-offset:4px}
.category-photo{display:block;width:100%;height:auto;aspect-ratio:1.65;object-fit:cover;background:#eef1ef}@media(min-width:1450px){.category-photo{aspect-ratio:1.85}}@media(max-width:600px){.category-photo{aspect-ratio:1.12}}
.skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0}
.no-photo{width:100%;aspect-ratio:1;background:#eef1ef;color:#626b78;display:grid;place-items:center;font-size:12px}.category-card .no-photo{aspect-ratio:1.65}.items-list .no-photo{width:90px;flex:0 0 90px}.personal-context{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;background:#edf5f0;color:#164e3e;border-radius:8px;margin-bottom:24px;line-height:1.7;font-size:12px}.personal-context strong{font-weight:700;overflow-wrap:anywhere}.personal-context>span{font-size:11px}.item-price{font-size:16px;font-weight:700;margin-top:6px;color:var(--green);font-variant-numeric:tabular-nums}.item-price.missing-price{color:var(--muted);font-size:12px;font-weight:400}body[data-theme=contrast] .personal-context{background:#34533e;color:#d2ebdc}body[data-theme=warm] .personal-context{background:#f1e5d3;color:#785532}@media(max-width:600px){.personal-context{align-items:flex-start;flex-direction:column;gap:4px}.category-card .no-photo{aspect-ratio:1.12}.items-list .no-photo{width:76px;flex-basis:76px}}
.banner-strip{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 0 26px;border-radius:10px}.banner-strip img{display:block;flex:0 0 100%;width:100%;aspect-ratio:3.2;object-fit:cover;scroll-snap-align:start;border-radius:10px;background:#e3e7e4}
.public-documents{list-style:none;padding:0;margin:28px 0}.public-documents li{border-bottom:1px solid var(--line)}.public-documents a{padding:20px 0;display:flex;flex-direction:column;gap:8px;overflow-wrap:anywhere}.public-documents strong{font-size:16px;color:var(--green)}.public-documents span{font-size:12px;color:var(--muted)}.public-documents a:hover strong{text-decoration:underline;text-underline-offset:4px}.store-loading{padding:60px 0;color:var(--muted);text-align:center}
body[data-theme=warm]{background:#eee9e1;color:#302820;--green:#785532;--muted:#746554;--line:#e4dcd0}
body[data-theme=warm] .site,body[data-theme=warm] .category-card{background:#fffcf6}body[data-theme=warm] .search-field{background:#f7f1e9;border-color:#ddd0c0}body[data-theme=warm] .search-field input{color:#302820}body[data-theme=warm] .brand-mark i,body[data-theme=warm] .view-switch button[aria-pressed=true]{background:var(--green)}body[data-theme=warm] .view-switch{background:#f5eee3;border-color:#ddd0c0}body[data-theme=warm] .text-button{background:#f1e5d3}body[data-theme=warm] #navigation>a[aria-current]{color:#302820}
body[data-theme=contrast]{background:#15211c;color:#f1f5f2;--green:#a2d5b7;--muted:#b8c8be;--line:#46584e}
body[data-theme=contrast] .site,body[data-theme=contrast] .category-card{background:#24362c}body[data-theme=contrast] .category-card{border-color:var(--line)}body[data-theme=contrast] .search-field{background:#2e4438;border-color:#566c5d}body[data-theme=contrast] .search-field input{color:#f1f5f2}body[data-theme=contrast] .brand-mark i{background:#a2d5b7}body[data-theme=contrast] .category-label svg{color:#c0d8c9}body[data-theme=contrast] #navigation>a[aria-current]{color:#f1f5f2}body[data-theme=contrast] .view-switch{background:#2d4437;border-color:#566c5d}body[data-theme=contrast] .view-switch button{color:#d2e2d8}body[data-theme=contrast] .view-switch button[aria-pressed=true]{background:#a2d5b7;color:#153925}body[data-theme=contrast] .text-button{background:#34533e;color:#d2ebdc}body[data-theme=contrast] .text-button:hover{background:#41634c}body[data-theme=contrast] .icon-button{color:#c4e8d2}body[data-theme=contrast] .breadcrumbs li+li:before{color:#b8c8be}body[data-theme=contrast] a:focus-visible,body[data-theme=contrast] button:focus-visible{outline-color:#a2d5b7}
@media(max-width:600px){.owner-bar{padding:12px 20px;margin:0;background:#f3f7f4;font-size:11px}.banner-strip img{aspect-ratio:2}.banner-strip{margin-bottom:24px}body[data-theme=contrast] .owner-bar{background:#233d2e}}
/* Catalog ordering keeps the existing quiet green controls and flat rows. */
.product-photo { display: block; object-fit: contain; background: #f2f4f3; width: 100%; height: auto; aspect-ratio: 1; }
.add-to-cart { background: #edf5f0; color: #164e3e; border: 1px solid #c8dcd0; border-radius: 8px; padding: 10px 16px; min-height: 44px; font-size: 13px; font-weight: 700; }
.add-to-cart:hover { background: #dcebe1; }
.items-grid .add-to-cart { margin-top: 12px; justify-self: start; }
.items-list .item-copy { flex: 1; min-width: 0; }
.items-list .add-to-cart { flex-shrink: 0; }
.items-list .product-photo { height: 110px; object-fit: contain; }
.more-items { margin-top: 24px; }
.cart-items { list-style: none; padding: 0; margin: 28px 0; }
.cart-row { display: flex; align-items: center; gap: 22px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.cart-row > .photo, .cart-row > .no-photo { width: 96px; height: 96px; min-height: 96px; flex: 0 0 96px; border-radius: 8px; }
.cart-row > .no-photo { display: grid; place-items: center; text-align: center; padding: 8px; }
.cart-product { flex: 1; min-width: 0; }
.cart-product h2 { font-size: 16px; line-height: 1.6; overflow-wrap: anywhere; }
.quantity-control { display: flex; align-items: center; border: 1px solid var(--line); border-radius: 8px; }
.quantity-control button { width: 40px; height: 44px; border: 0; background: transparent; color: var(--green); font-size: 20px; }
.quantity-control input { width: 56px; height: 44px; border: 0; background: transparent; text-align: center; font: inherit; color: inherit; }
.cart-remove { min-height: 44px; padding: 8px; border: 0; background: transparent; color: #943e31; font-size: 12px; }
.cart-checkout { max-width: 580px; margin: 36px 0 20px auto; }
.cart-sync { font-size: 12px; color: var(--muted); line-height: 1.7; }
.cart-storage-status { margin: 16px 52px 0; padding: 14px 16px; border: 1px solid var(--line); border-radius: 8px; font-size: 13px; line-height: 1.8; overflow-wrap: anywhere; }
.cart-storage-status[hidden] { display: none; }
.cart-storage-status button { display: inline; border: 0; background: transparent; color: var(--green); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; padding: 8px 4px; min-height: 44px; }
.order-history { margin-top: 48px; padding-top: 28px; border-top: 1px solid var(--line); }
.order-history h2 { font-size: 24px; letter-spacing: -.025em; }
.order-history > p { max-width: 70ch; margin-top: 12px; font-size: 14px; line-height: 1.8; color: var(--muted); }
.order-history > ul { list-style: none; padding: 0; margin: 24px 0 0; }
.order-history > ul > li { border-top: 1px solid var(--line); padding: 18px 0; }
.order-history summary { cursor: pointer; min-height: 44px; line-height: 1.6; overflow-wrap: anywhere; }
.order-history summary strong { font-size: 16px; }
.order-history summary > span { display: block; margin: 6px 0 0 18px; color: var(--muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.order-history summary:focus-visible { outline: 3px solid var(--green); outline-offset: 4px; }
.order-history-items { list-style: none; padding: 0; margin: 18px 0; max-width: 720px; }
.order-history-items li { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding: 10px 0; font-size: 14px; line-height: 1.6; }
.order-history-items span { overflow-wrap: anywhere; min-width: 0; }
.order-history-items strong { flex-shrink: 0; font-variant-numeric: tabular-nums; }
.cart-total { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; font-size: 20px; }
.cart-checkout .panel-hint, .personal-order-note { color: var(--muted); font-size: 13px; line-height: 1.8; margin-top: 12px; }
#checkout-form { display: flex; flex-direction: column; gap: 10px; margin-top: 28px; }
#checkout-form > label { font-size: 14px; margin-top: 10px; }
#checkout-form > input, #checkout-form > select { border: 1px solid var(--line); padding: 12px 14px; border-radius: 8px; min-height: 46px; font: inherit; background: transparent; color: inherit; width: 100%; }
.checkout-check { display: flex; gap: 12px; align-items: flex-start; line-height: 1.7; cursor: pointer; }
.checkout-check input { width: 18px; height: 18px; flex: 0 0 18px; margin-top: 3px; }
.checkout-check a { text-decoration: underline; text-underline-offset: 3px; color: var(--green); }
.checkout-submit { margin-top: 20px; min-height: 48px; align-self: flex-start; }
.checkout-error, .checkout-notice { color: #943e31; font-size: 14px; line-height: 1.8; margin-top: 16px; }
.text-button:disabled { opacity: .55; cursor: default; }
.catalog-cart-actions { flex-shrink: 0; }
.items-grid .catalog-cart-actions { margin-top: 12px; }
.items-grid .catalog-cart-actions .add-to-cart { margin-top: 0; }
.catalog-quantity { display: inline-flex; align-items: center; border: 1px solid var(--green); border-radius: 8px; background: #edf5f0; color: var(--green); }
.catalog-quantity button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 7px; background: transparent; color: inherit; font-size: 22px; }
.catalog-quantity button:hover { background: #dcebe1; }
.catalog-quantity button:disabled { opacity: .45; }
.catalog-quantity output { min-width: 34px; padding: 0 4px; text-align: center; font-size: 14px; font-weight: 750; font-variant-numeric: tabular-nums; }
.floating-cart { position: fixed; right: max(24px, calc((100vw - 1200px) / 2 + 24px)); bottom: calc(24px + env(safe-area-inset-bottom, 0px)); z-index: 20; display: flex; align-items: center; gap: 12px; min-height: 56px; max-width: calc(100vw - 40px); padding: 12px 18px; border-radius: 12px; background: var(--green); color: #fff; box-shadow: 0 8px 24px #102d2929; font-size: 15px; font-weight: 700; }
.floating-cart[hidden] { display: none; }
.floating-cart:hover { background: #103e30; }
.floating-cart-count { min-width: 28px; padding: 4px 8px; border-radius: 6px; background: #fff; color: var(--green); text-align: center; font-size: 13px; font-variant-numeric: tabular-nums; }
.has-floating-cart .site { padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
body[data-theme=warm] .catalog-quantity { background: #f1e5d3; }
body[data-theme=warm] .catalog-quantity button:hover { background: #e9d7bc; }
body[data-theme=warm] .floating-cart:hover { background: #604021; }
body[data-theme=contrast] .catalog-quantity { background: #34533e; color: #d2ebdc; }
body[data-theme=contrast] .catalog-quantity button:hover { background: #41634c; }
body[data-theme=contrast] .floating-cart { color: #153925; }
body[data-theme=contrast] .floating-cart:hover { background: #b5e4c9; }
body[data-theme=contrast] .floating-cart-count { background: #153925; color: #d2ebdc; }
@media(max-width:600px) {
  .cart-storage-status { margin: 16px 20px 0; }
  .order-history { margin-top: 32px; }
  .order-history h2 { font-size: 22px; }
  .items-list .item { flex-wrap: wrap; gap: 12px; }
  .items-list .item-copy { flex-basis: calc(100% - 100px); }
  .items-list .product-photo { height: 76px; }
  .items-list .catalog-cart-actions { margin-left: 88px; }
  .floating-cart { left: 20px; right: 20px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); }
  .floating-cart-count { margin-left: auto; }
  .cart-row { flex-wrap: wrap; gap: 12px; }
  .cart-row > .photo, .cart-row > .no-photo { width: 76px; height: 76px; min-height: 76px; flex-basis: 76px; }
  .cart-product { flex-basis: calc(100% - 88px); }
  .cart-product h2 { font-size: 14px; }
  .cart-row .quantity-control { margin-left: 88px; }
  .cart-checkout { margin-top: 28px; }
}

.store-logo { width: 48px; height: 40px; object-fit: contain; flex-shrink: 0; }
.category-section-heading{flex-wrap:wrap}.category-section-heading>.category-tools{display:flex;align-items:center;gap:16px}.category-tree-list,.category-tree-children{list-style:none;margin:0;padding:0}.category-tree-list{border-top:1px solid var(--line)}.category-node{border-bottom:1px solid var(--line)}.category-node>summary{display:flex;align-items:center;gap:12px;min-height:64px;padding:12px 4px;list-style:none;cursor:pointer}.category-node>summary::-webkit-details-marker{display:none}.category-node>summary:focus-visible{outline:3px solid var(--green);outline-offset:-3px;border-radius:4px}.category-node>summary:hover{color:var(--green)}.category-node>summary>svg{width:18px;height:18px;color:var(--green)}.category-node[open]>summary>svg{transform:rotate(90deg)}.category-node-name{font-size:16px;font-weight:700;line-height:1.5;overflow-wrap:anywhere;min-width:0}.category-node-count{margin-left:auto;flex-shrink:0;font-size:12px;line-height:1.5;color:var(--muted);font-variant-numeric:tabular-nums}.category-node-thumb{width:40px;height:40px;object-fit:cover;border-radius:5px;flex-shrink:0}.category-node-body{padding-left:20px}.category-tree-children{border-top:1px solid var(--line)}.category-tree-children>li:last-child>.category-node{border-bottom:0}.category-node-products{padding:16px 0 24px}.category-products-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px;flex-wrap:wrap}.category-products-heading h3{font-size:15px;line-height:1.6;font-weight:700}.category-products-heading h3 .count{margin-left:8px}.category-node-products .items-grid{margin-top:16px}
@media(max-width:600px){.category-section-heading>.category-tools{gap:10px}.category-node>summary{min-height:60px;gap:8px}.category-node-name{font-size:14px}.category-node-count{font-size:11px;max-width:64px;text-align:right}.category-node-thumb{width:32px;height:32px}.category-node-body{padding-left:12px}.category-node-products .items-list .item{gap:10px}.category-node-products .items-list .photo,.category-node-products .items-list .no-photo{width:48px;flex-basis:48px;height:48px}.category-node-products .items-list .item-copy{flex-basis:calc(100% - 58px)}.category-node-products .items-list .catalog-cart-actions{margin-left:0;width:100%;display:flex;justify-content:flex-end}.category-node-products .items-grid{grid-template-columns:1fr}.category-products-heading{gap:10px}.category-products-heading h3{font-size:13px}}
.header .brand { max-width: 50%; }
.header .brand > span:last-child { overflow-wrap: anywhere; }
.age-gate { width: min(480px, calc(100vw - 40px)); max-height: calc(100dvh - 40px); padding: 36px; border: 1px solid var(--line); border-radius: 14px; background: #fff; color: #111722; }
.age-gate::backdrop { background: #10241be6; }
.age-gate-logo { width: 72px; height: 64px; object-fit: contain; margin-bottom: 20px; }
.age-store-name { font-size: 14px; font-weight: 700; color: var(--muted); overflow-wrap: anywhere; }
.age-gate h1 { font-size: 32px; line-height: 1.25; letter-spacing: -.025em; margin: 16px 0; }
.age-gate > p:not(.age-store-name) { font-size: 15px; line-height: 1.8; color: #626b78; }
.age-gate-actions { display: flex; flex-direction: column; gap: 12px; margin-top: 28px; }
.age-gate-actions button,.age-gate-actions a { min-height: 48px; text-align: center; }
.age-secondary { border: 0; background: transparent; color: #626b78; font-size: 14px; border-radius: 8px; padding: 12px; }
body[data-theme=contrast] .age-gate { background: #24362c; color: #f1f5f2; }
body[data-theme=contrast] .age-gate > p,body[data-theme=contrast] .age-secondary { color: #b8c8be; }
body[data-theme=warm] .age-gate { background: #fffcf6; color: #302820; }
@media(max-width:600px) { .header .brand { max-width: calc(100% - 56px); }.age-gate { padding: 24px; }.age-gate h1 { font-size: 28px; } }
@media(max-width:600px){.category-node-products .no-photo{overflow:hidden;padding:4px;text-align:center}.category-node-products .no-photo span{font-size:10px;line-height:1.3;overflow-wrap:anywhere;max-width:100%}}

.store-description{white-space:pre-line;overflow-wrap:anywhere}

#checkout-form > select { background: #fff; color: #182c22; max-width: 100%; }
.delivery-description { white-space: pre-line; overflow-wrap: anywhere; }
body[data-theme=warm] #checkout-form > select { background: #fffcf6; color: #302820; }
body[data-theme=contrast] #checkout-form > select { background: #24362c; color: #f1f5f2; }

.delivery-address { display: grid; gap: 10px; }
.delivery-address:empty { display: none; }
.delivery-address label { font-size: 14px; margin-top: 10px; }
.delivery-address textarea { width: 100%; min-height: 96px; resize: vertical; border: 1px solid var(--line); padding: 12px 14px; border-radius: 8px; font: inherit; background: #fff; color: #182c22; }
body[data-theme=warm] .delivery-address textarea { background: #fffcf6; color: #302820; }
body[data-theme=contrast] .delivery-address textarea { background: #24362c; color: #f1f5f2; }

.delivery-address textarea:focus-visible { outline: 3px solid var(--green); outline-offset: 4px; }
