body.htshop-page { --htshop-green:#284f39; --htshop-ink:#20392b; --htshop-cream:#f5f6ed; --htshop-line:#dce4d8; background:#fbfcf8; color:var(--htshop-ink); }
.htshop-main { padding-bottom:40px; }
.htshop-container { width:min(1180px,calc(100% - 40px)); margin:auto; }
.htshop-hero { padding:54px 0; text-align:center; background:var(--htshop-cream); }
.htshop-hero h1 { font-size:clamp(36px,5vw,56px); line-height:1.15; color:var(--htshop-ink); margin:12px 0 18px; }
.htshop-hero p:not(.htshop-eyebrow) { max-width:660px; margin:0 auto 24px; font-size:18px; line-height:1.6; }
.htshop-eyebrow { color:var(--htshop-green); text-transform:uppercase; letter-spacing:.1em; font-size:12px; font-weight:700; }
.htshop-button { display:inline-block; padding:12px 22px; background:var(--htshop-green,#284f39); color:#fff!important; border:0; border-radius:999px; font-weight:700; text-decoration:none; font-size:14px; line-height:1.4; }
.htshop-button:hover { background:#193b28; }
.htshop-main a:focus-visible,.htshop-main button:focus-visible,.htshop-main select:focus-visible { outline:3px solid #8da95f; outline-offset:3px; }
.htshop-collections { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; padding:40px 0; }
.htshop-collection { border:1px solid var(--htshop-line); background:#fff; border-radius:18px; overflow:hidden; }
.htshop-collection-image { display:block; height:240px; box-sizing:border-box; background:#f5f6ed; padding:12px; }
.htshop-collection-image img { width:100%; height:100%; object-fit:contain; display:block; object-position:center; }
.htshop-collection > div { padding:22px; }
.htshop-collection h2 { font-size:25px; margin:0 0 12px; }
.htshop-collection p { min-height:52px; font-size:16px; line-height:1.6; }
.htshop-products h2 { font-size:clamp(28px,3vw,36px); color:var(--htshop-ink); }
.htshop-products { padding-top:40px; scroll-margin-top:100px; }
.htshop-filters { display:flex; align-items:flex-end; gap:16px; margin:24px 0; flex-wrap:wrap; }
.htshop-filters label { display:grid; gap:7px; font-weight:600; font-size:14px; }
.htshop-filters select { min-width:220px; padding:11px 14px; font-size:16px; border:1px solid var(--htshop-line); border-radius:8px; background:#fff; }
body.htshop-page .htshop-main ul.products { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; align-content:start; grid-auto-rows:max-content; margin:24px 0!important; }
body.htshop-page .htshop-main ul.products::before,body.htshop-page .htshop-main ul.products::after { display:none!important; }
body.htshop-page .htshop-main ul.products li.product { width:auto!important; float:none!important; margin:0!important; padding:15px!important; border:1px solid var(--htshop-line); border-radius:14px; background:#fff; display:flex; flex-direction:column; text-align:center; }
body.htshop-page .htshop-main ul.products li.product img { height:170px; width:100%; object-fit:contain; margin:0 0 12px; }
body.htshop-page .htshop-main .woocommerce-loop-product__title { font-size:17px!important; line-height:1.4; }
body.htshop-page .htshop-main .star-rating { display:none!important; }
body.htshop-page .htshop-main ul.products li.product .button { margin-top:auto; border-radius:999px; background:var(--htshop-green,#284f39); color:#fff; padding:10px 14px; font-size:13px; }
body.htshop-page .htshop-main ul.products li.product .price { color:var(--htshop-ink); font-size:16px; margin:12px 0; }
.htshop-shipping { text-align:center; padding:24px 16px; background:var(--htshop-cream); border-radius:12px; font-size:17px; font-weight:700; color:var(--htshop-green); margin-top:30px; }
@media(max-width:767px) { .htshop-hero { padding:36px 0; } .htshop-collections { grid-template-columns:1fr; gap:18px; } .htshop-collection { display:block; } .htshop-collection-image { height:210px; padding:12px; } .htshop-collection > div { padding:18px; } .htshop-collection h2 { font-size:22px; } .htshop-collection p { min-height:0; font-size:15px; } body.htshop-page .htshop-main ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } body.htshop-page .htshop-main ul.products li.product { padding:12px!important; } body.htshop-page .htshop-main ul.products li.product img { height:135px; } .htshop-filters label { flex:1; } .htshop-filters select { min-width:0; width:100%; } }

/* V6: gifts, accessories and a product grid that changes in place. */
.htshop-ritual { padding:25px 0 35px; }
.htshop-ritual h2 { color:#20392b; font-size:clamp(26px,3vw,34px); margin-bottom:22px; }
.htshop-ritual-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.htshop-ritual-card { display:grid; grid-template-columns:140px 1fr; gap:20px; align-items:center; padding:22px; background:#f5f6ed; border:1px solid #dce4d8; border-radius:16px; }
.htshop-ritual-image img { width:100%; height:145px; object-fit:contain; }
.htshop-ritual-card h3 { color:#20392b; font-size:23px; margin:0 0 10px; }
.htshop-ritual-card p { font-size:16px; line-height:1.6; margin:0 0 16px; }
.htshop-gift-banner { padding:34px 0; background:#f5f6ed; margin-top:30px; }
.htshop-gift-banner > div { display:flex; align-items:center; justify-content:space-between; gap:25px; }
.htshop-gift-banner h2 { color:#20392b; font-size:clamp(26px,3vw,34px); margin:0 0 8px; }
.htshop-gift-banner p { margin:0; color:#435843; font-size:17px; }
.htshop-page .htshop-ritual .htshop-container { width:100%; }
.htshop-page #htshop-results .woocommerce-result-count,.htshop-page #htshop-results .woocommerce-ordering { display:none!important; }
.htshop-pager:not([hidden]) { display:flex; justify-content:center; gap:14px; margin-top:24px; }
.htshop-pager button { background:#284f39; color:#fff; border:0; border-radius:999px; padding:12px 28px; font-weight:700; }
.htshop-pager button:disabled { background:#e2e7da; color:#66735e; cursor:default; }
.htshop-update-status { text-align:center; font-size:14px; color:#435843; min-height:1.5em; }
#htshop-results[aria-busy=true] ul.products { opacity:.55; pointer-events:none; }
/* No-JS fallback: show only previous/next links, without page numbers or counts. */
.htshop-page #htshop-results .woocommerce-pagination li { display:none; }
.htshop-page #htshop-results .woocommerce-pagination li:has(a.prev),.htshop-page #htshop-results .woocommerce-pagination li:has(a.next) { display:inline-block; }
@media(max-width:767px) { .htshop-ritual-grid { grid-template-columns:1fr; } .htshop-ritual-card { grid-template-columns:100px 1fr; padding:18px; gap:15px; } .htshop-ritual-image img { height:120px; } .htshop-gift-banner > div { flex-direction:column; align-items:flex-start; } }

/* V7: category layouts and explicit product navigation. */
body.htshop-page .htshop-main .product-excerpt { display:none!important; }
.htshop-native-pager { display:flex; justify-content:center; gap:14px; margin:24px 0; }
.htshop-native-pager a { display:inline-block; padding:12px 28px; border-radius:999px; background:#284f39; color:#fff; text-decoration:none; font-weight:700; }
.htshop-native-pager[hidden] { display:none!important; }
.htshop-category-links { display:flex; flex-wrap:wrap; gap:10px; padding-top:30px; }
.htshop-category-links a { padding:9px 16px; border-radius:999px; border:1px solid #dce4d8; color:#284f39; background:#f5f6ed; text-decoration:none; font-size:14px; }
.htshop-category-wellness { background:#284f39; color:#fff; text-align:center; padding:45px 20px; margin-top:38px; }
.htshop-category-wellness h2 { color:#fff; font-size:clamp(29px,4vw,43px); }
.htshop-category-wellness p { max-width:740px; margin:16px auto; line-height:1.6; }
.htshop-category-wellness .htshop-eyebrow { color:#e6eccf; }
.htshop-category-wellness .htshop-button { background:#fff; color:#284f39!important; }
