:root{
  --sp-bg:#f6f7f3;--sp-surface:#fff;--sp-text:#1f2923;--sp-muted:#68736b;--sp-line:#dde3dc;
  --sp-accent:#2f6d45;--sp-accent-2:#204f32;--sp-soft:#eaf3ec;--sp-gold:#b48b2d;--sp-danger:#b63a2f;
  --sp-radius:18px;--sp-shadow:0 10px 30px rgba(22,38,28,.08);--sp-max:1480px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--sp-bg);color:var(--sp-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
.sp-container{width:min(var(--sp-max),calc(100% - 32px));margin-inline:auto}.sp-site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--sp-line)}
.sp-topbar{display:grid;grid-template-columns:auto minmax(280px,1fr) auto;gap:18px;align-items:center;padding:14px 0}.sp-logo{display:flex;align-items:center;gap:10px;font-weight:900;font-size:27px;letter-spacing:-.6px}.sp-logo-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,var(--sp-accent),var(--sp-accent-2));display:grid;place-items:center;color:#fff;font-weight:900}.sp-logo em{font-style:normal;color:var(--sp-accent)}
.sp-search{display:flex;align-items:center;background:#fff;border:2px solid #cfd8d0;border-radius:999px;overflow:hidden;transition:.15s}.sp-search:focus-within{border-color:var(--sp-accent);box-shadow:0 0 0 3px rgba(47,109,69,.10)}.sp-search input{flex:1;border:0;outline:0;padding:13px 16px;font-size:16px;background:transparent}.sp-search button{border:0;background:var(--sp-accent);color:#fff;padding:13px 20px;font-weight:800;cursor:pointer}.sp-market{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700}.sp-market select{border:1px solid var(--sp-line);border-radius:10px;padding:9px 34px 9px 11px;background:#fff;font-weight:700;color:var(--sp-text)}
.sp-mainnav{border-top:1px solid #eef1ed}.sp-mainnav-inner{display:flex;align-items:center;gap:8px;padding:9px 0;overflow:visible}.sp-navlink{padding:9px 13px;border-radius:999px;font-size:14px;font-weight:800;white-space:nowrap}.sp-navlink:hover,.sp-navlink.is-hot{background:var(--sp-soft);color:var(--sp-accent-2)}.sp-navlink.is-hot{color:var(--sp-danger)}.sp-menu-wrap{position:relative}.sp-mega{display:none;position:absolute;left:0;top:100%;width:min(1120px,90vw);background:#fff;border:1px solid var(--sp-line);border-radius:16px;box-shadow:var(--sp-shadow);padding:18px;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.sp-menu-wrap:hover .sp-mega,.sp-menu-wrap:focus-within .sp-mega{display:grid}.sp-mega a{padding:10px;border-radius:10px;font-weight:750}.sp-mega a:hover{background:var(--sp-soft)}
.sp-hero{padding:52px 0 34px}.sp-hero-box{background:linear-gradient(135deg,#edf5ee 0%,#fff 58%,#faf6e8 100%);border:1px solid var(--sp-line);border-radius:30px;padding:clamp(28px,5vw,68px);box-shadow:var(--sp-shadow)}.sp-eyebrow{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--sp-line);border-radius:999px;padding:7px 11px;font-size:13px;font-weight:800;color:var(--sp-accent-2)}.sp-hero h1{font-size:clamp(37px,6vw,72px);letter-spacing:-2.5px;line-height:.98;margin:20px 0 18px;max-width:900px}.sp-hero p{font-size:clamp(17px,2vw,21px);color:var(--sp-muted);max-width:820px;margin:0 0 24px}.sp-hero-search{max-width:920px}.sp-hero-search .sp-search{box-shadow:0 12px 34px rgba(22,38,28,.09)}.sp-hero-search .sp-search input{padding:17px 20px;font-size:18px}.sp-hero-search .sp-search button{padding:17px 24px}.sp-trustline{margin-top:17px;display:flex;flex-wrap:wrap;gap:14px;color:var(--sp-muted);font-size:13px;font-weight:650}
.sp-section{padding:26px 0}.sp-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px}.sp-section-head h2{font-size:clamp(25px,3vw,36px);margin:0;letter-spacing:-.8px}.sp-section-head p{margin:4px 0 0;color:var(--sp-muted)}.sp-link{color:var(--sp-accent);font-weight:800}
.sp-category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.sp-category-card{background:var(--sp-surface);border:1px solid var(--sp-line);border-radius:16px;padding:18px;min-height:125px;transition:.18s;display:flex;flex-direction:column;justify-content:space-between}.sp-category-card:hover{transform:translateY(-2px);box-shadow:var(--sp-shadow);border-color:#c5d1c6}.sp-category-icon{font-size:28px}.sp-category-card strong{font-size:16px}.sp-category-card small{color:var(--sp-muted)}.sp-category-card.sp-sustainable{background:linear-gradient(145deg,#e8f4e9,#fff);border-color:#bfd6c3}
.sp-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.sp-product-card{background:#fff;border:1px solid var(--sp-line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.sp-product-image{aspect-ratio:4/3;background:#fafafa;position:relative;display:grid;place-items:center;overflow:hidden}.sp-product-image img{width:100%;height:100%;object-fit:contain;padding:10px;transition:.2s}.sp-product-card:hover .sp-product-image img{transform:scale(1.025)}.sp-image-placeholder{color:#9ba39d;font-size:13px}.sp-badge{position:absolute;top:10px;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:900;color:#fff}.sp-badge-sale{left:10px;background:var(--sp-danger)}.sp-badge-code{right:10px;background:var(--sp-accent)}.sp-product-body{padding:15px;display:flex;flex-direction:column;flex:1}.sp-merchant{font-size:12px;color:var(--sp-muted);font-weight:800;text-transform:uppercase;letter-spacing:.35px}.sp-product-body h3{font-size:15px;line-height:1.35;margin:7px 0 12px;min-height:40px}.sp-price-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:auto;margin-bottom:10px}.sp-price{font-size:20px}.sp-price-row del{font-size:13px;color:#888}.sp-promo-mini{font-size:12px;background:#fff6d9;border:1px solid #edd78f;border-radius:10px;padding:7px 9px;margin:0 0 10px}.sp-promo-mini code{font-weight:900;background:transparent}.sp-button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:11px;background:var(--sp-accent);color:#fff;padding:10px 14px;font-weight:850;cursor:pointer}.sp-button:hover{background:var(--sp-accent-2)}.sp-button-secondary{background:#edf3ee;color:var(--sp-accent-2)}.sp-button-secondary:hover{background:#dceadf}
.sp-page-head{padding:34px 0 18px}.sp-breadcrumbs{font-size:13px;color:var(--sp-muted);display:flex;flex-wrap:wrap;gap:7px}.sp-page-head h1{font-size:clamp(34px,5vw,58px);letter-spacing:-1.8px;line-height:1;margin:16px 0 10px}.sp-page-head p{color:var(--sp-muted);font-size:17px;max-width:900px}.sp-subcats{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0 4px}.sp-subcat{background:#fff;border:1px solid var(--sp-line);border-radius:999px;padding:9px 12px;font-weight:750;font-size:14px}.sp-subcat:hover{background:var(--sp-soft);border-color:#c4d3c6}
.sp-filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:12px;background:#fff;border:1px solid var(--sp-line);border-radius:15px;margin:0 0 18px}.sp-filters label{font-size:12px;font-weight:800;color:var(--sp-muted)}.sp-filters input,.sp-filters select{display:block;margin-top:4px;border:1px solid var(--sp-line);border-radius:9px;padding:9px 10px;min-width:110px;background:#fff}.sp-result-count{margin-left:auto;font-size:13px;font-weight:800;color:var(--sp-muted)}
.sp-promo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.sp-promo-card{background:#fff;border:1px solid var(--sp-line);border-radius:18px;padding:20px;box-shadow:0 5px 18px rgba(22,38,28,.04)}.sp-promo-label{font-size:12px;font-weight:900;color:var(--sp-accent);text-transform:uppercase;letter-spacing:.35px}.sp-promo-card h3{font-size:20px;margin:7px 0}.sp-codebox{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#f4f7f2;border:1px dashed #a9bbaa;border-radius:10px;padding:10px 12px;margin:12px 0}.sp-codebox code{font-size:16px;font-weight:900}
.sp-pagination{margin:26px 0}.sp-pagination ul{display:flex;list-style:none;padding:0;gap:7px;flex-wrap:wrap}.sp-pagination a,.sp-pagination span{display:grid;place-items:center;min-width:38px;height:38px;border:1px solid var(--sp-line);background:#fff;border-radius:9px;font-weight:750}.sp-pagination .current{background:var(--sp-accent);color:#fff;border-color:var(--sp-accent)}
.sp-empty{padding:34px;background:#fff;border:1px dashed #cbd4cc;border-radius:18px;text-align:center;color:var(--sp-muted)}.sp-index-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.sp-index-card{background:#fff;border:1px solid var(--sp-line);border-radius:14px;padding:15px}.sp-index-card strong{display:block}.sp-index-card small{color:var(--sp-muted)}
.sp-affiliate-note{font-size:12px;color:var(--sp-muted);padding:20px 0 6px}.sp-site-footer{margin-top:42px;background:#17251d;color:#dce7df}.sp-footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;padding:42px 0}.sp-site-footer a{color:#dce7df}.sp-site-footer small{color:#aebdb3}.sp-footer-links{display:grid;gap:8px}.sp-footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:16px 0;color:#9fb0a5;font-size:12px}
@media(max-width:1100px){.sp-category-grid{grid-template-columns:repeat(4,1fr)}.sp-product-grid{grid-template-columns:repeat(3,1fr)}.sp-mega{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.sp-topbar{grid-template-columns:auto 1fr;gap:10px}.sp-logo{font-size:23px}.sp-topbar>.sp-search{grid-column:1/-1;grid-row:2}.sp-market{justify-self:end}.sp-mainnav-inner{overflow-x:auto}.sp-menu-wrap:hover .sp-mega,.sp-menu-wrap:focus-within .sp-mega{display:none}.sp-category-grid{grid-template-columns:repeat(2,1fr)}.sp-product-grid{grid-template-columns:repeat(2,1fr)}.sp-promo-grid{grid-template-columns:1fr 1fr}.sp-index-grid{grid-template-columns:repeat(2,1fr)}.sp-footer-inner{grid-template-columns:1fr 1fr}.sp-footer-inner>div:first-child{grid-column:1/-1}.sp-result-count{width:100%;margin-left:0}}
@media(max-width:520px){.sp-container{width:min(100% - 20px,var(--sp-max))}.sp-market label{display:none}.sp-market select{max-width:125px}.sp-hero{padding-top:26px}.sp-hero-box{border-radius:22px;padding:24px}.sp-hero h1{letter-spacing:-1.5px}.sp-category-grid{grid-template-columns:1fr 1fr;gap:9px}.sp-category-card{padding:14px;min-height:112px}.sp-product-grid{grid-template-columns:1fr 1fr;gap:9px}.sp-product-body{padding:11px}.sp-product-body h3{font-size:14px}.sp-price{font-size:17px}.sp-promo-grid,.sp-index-grid{grid-template-columns:1fr}.sp-footer-inner{grid-template-columns:1fr}.sp-footer-inner>div:first-child{grid-column:auto}.sp-filters{align-items:stretch}.sp-filters label{flex:1 1 120px}.sp-filters input,.sp-filters select{width:100%;min-width:0}}
/* V1.3: country/language controls + coupon filters */
.sp-market{flex-wrap:wrap;justify-content:flex-end}.sp-market-control{display:flex;align-items:center;gap:6px}.sp-market-control label{white-space:nowrap}.sp-promo-filters .sp-filter-search{flex:1 1 260px}.sp-promo-filters .sp-filter-search input{width:100%;min-width:220px}.sp-filter-reset{align-self:center;font-size:13px;font-weight:800;color:var(--sp-muted);padding:9px 4px}.sp-filter-reset:hover{color:var(--sp-accent)}
@media(max-width:820px){.sp-market{max-width:270px}.sp-market-control label{display:none}.sp-promo-filters .sp-filter-search{flex-basis:100%}}

/* Dedupe-test: details are available without repeating a full-sized product tile. */
.sp-product-group { min-width: 0; display: flex; flex-direction: column; }
.sp-product-group > .sp-product-card { flex: 1; }
.sp-variant-offers { padding: 8px 12px; border: 1px solid #dde4ec; border-radius: 9px; margin: 0 0 12px; font-size: 13px; background: #fff; }
.sp-variant-offers summary { cursor: pointer; font-weight: 600; }
.sp-variant-offers ul { max-height: 210px; overflow-y: auto; list-style: none; padding: 0; margin: 9px 0 0; }
.sp-variant-offers li { padding: 6px 0; border-top: 1px solid #edf0f5; }

/* 1.3.4 – store navigation separate from merchants' source taxonomies. */
.sp-seller-subcats { margin: 12px 0 6px; padding: 12px 14px; border: 1px solid var(--sp-line); background: #fff; border-radius: 14px; }
.sp-seller-subcats > summary { cursor: pointer; color: var(--sp-accent-2); font-size: 14px; font-weight: 750; }
.sp-seller-subcats > .sp-subcats { margin-top: 12px; }
