:root {
  --snw-green-900: #25341f;
  --snw-green-800: #35492d;
  --snw-green-700: #527045;
  --snw-green-600: #6f965c;
  --snw-green-100: #e7efe2;
  --snw-cream: #f6ecd8;
  --snw-paper: #fdfbf6;
  --snw-white: #ffffff;
  --snw-ink: #243020;
  --snw-muted: #66705f;
  --snw-border: #dfe5da;
  --snw-danger: #a43a32;
  --snw-shadow: 0 20px 50px rgba(37, 52, 31, 0.12);
  --snw-radius: 22px;
  --snw-serif: Georgia, 'Times New Roman', serif;
  --snw-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.snw-site { margin: 0; color: var(--snw-ink); background: var(--snw-paper); font-family: var(--snw-sans); font-size: 16px; line-height: 1.65; }
body.admin-bar .snw-header { top: 32px; }
a { color: var(--snw-green-700); text-decoration: none; }
a:hover { color: var(--snw-green-900); }
img { max-width: 100%; height: auto; }
h1, h2, h3, h4 { margin: 0 0 0.6em; color: var(--snw-green-900); font-family: var(--snw-serif); line-height: 1.08; }
h1 { font-size: clamp(2.7rem, 5.6vw, 5.4rem); letter-spacing: -0.04em; }
h2 { font-size: clamp(2rem, 3.5vw, 3.5rem); letter-spacing: -0.025em; }
h3 { font-size: 1.35rem; }
p { margin: 0 0 1.25em; }
.screen-reader-text, .snw-skip-link { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
.snw-skip-link:focus { z-index: 9999; top: 10px; left: 10px; width: auto; height: auto; padding: 10px 14px; clip: auto; background: #fff; }
.snw-container { width: min(1220px, calc(100% - 40px)); margin-inline: auto; }
.snw-main { min-height: 65vh; }

.snw-header { position: sticky; z-index: 1000; top: 0; border-bottom: 1px solid rgba(37,52,31,.08); background: rgba(253,251,246,.94); backdrop-filter: blur(16px); }
.snw-header__inner { display: grid; grid-template-columns: minmax(230px,1fr) auto minmax(230px,1fr); align-items: center; min-height: 78px; gap: 24px; }
.snw-brand { display: flex; align-items: center; gap: 12px; color: var(--snw-green-900); }
.snw-brand img, .snw-brand .custom-logo { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; }
.snw-brand__copy { display: flex; flex-direction: column; line-height: 1.15; }
.snw-brand__copy strong { font-family: var(--snw-serif); font-size: 1.3rem; }
.snw-brand__copy small { margin-top: 5px; color: var(--snw-muted); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
.snw-nav ul { display: flex; align-items: center; gap: 30px; margin: 0; padding: 0; list-style: none; }
.snw-nav a { color: var(--snw-ink); font-size: .95rem; font-weight: 650; }
.snw-nav .current-menu-item > a, .snw-nav a:hover { color: var(--snw-green-600); }
.snw-header__actions { display: flex; justify-content: flex-end; align-items: center; gap: 10px; }
.snw-menu-toggle { display: none; border: 0; background: none; }
.snw-menu-toggle > span:not(.screen-reader-text) { display: block; width: 23px; height: 2px; margin: 5px 0; background: var(--snw-green-900); }

.snw-button, body.snw-site .button, body.snw-site button.button, body.snw-site input.button, body.snw-site #respond input#submit { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 18px; border: 1px solid var(--snw-green-600); border-radius: 10px; color: #fff; background: var(--snw-green-600); font-family: var(--snw-sans); font-size: .92rem; font-weight: 750; line-height: 1.2; cursor: pointer; transition: transform .18s ease, background .18s ease, box-shadow .18s ease; }
.snw-button:hover, body.snw-site .button:hover, body.snw-site button.button:hover { color: #fff; background: var(--snw-green-800); transform: translateY(-1px); box-shadow: 0 8px 24px rgba(37,52,31,.16); }
.snw-button--ghost { color: var(--snw-green-700); background: transparent; }
.snw-button--ghost:hover { color: #fff; }
.snw-button--large { min-height: 54px; padding: 14px 24px; border-radius: 12px; font-size: 1rem; }
.snw-button--cream { border-color: var(--snw-cream); color: var(--snw-green-900); background: var(--snw-cream); }
.snw-button--cream:hover { color: var(--snw-green-900); background: #fff; }
.snw-cart-count { display: inline-grid; place-items: center; min-width: 21px; height: 21px; padding: 0 5px; border-radius: 99px; color: #fff; background: var(--snw-green-800); font-size: .72rem; }

.snw-hero { overflow: hidden; padding: clamp(64px,8vw,120px) 0; background: radial-gradient(circle at 82% 10%, #edf3e9 0, transparent 28%), linear-gradient(135deg,#fdfbf6 0%,#f8f3e7 100%); }
.snw-hero__grid { display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: clamp(40px,7vw,100px); }
.snw-eyebrow { display: inline-block; margin-bottom: 18px; color: var(--snw-green-600); font-size: .76rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.snw-hero__copy > p { max-width: 660px; color: var(--snw-muted); font-size: clamp(1.05rem,1.5vw,1.3rem); }
.snw-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 32px 0; }
.snw-hero__proof { display: flex; flex-wrap: wrap; gap: 10px 20px; color: var(--snw-green-800); font-size: .9rem; font-weight: 650; }
.snw-hero__visual { position: relative; padding: 24px; }
.snw-hero__visual::before { position: absolute; inset: 3% 0 0 6%; border-radius: 42% 58% 55% 45%; background: var(--snw-green-100); content: ''; transform: rotate(-5deg); }
.snw-hero__visual img { position: relative; z-index: 1; aspect-ratio: 1; border-radius: 42% 58% 47% 53% / 48% 43% 57% 52%; object-fit: cover; box-shadow: var(--snw-shadow); }
.snw-hero__card { position: absolute; z-index: 2; right: 0; bottom: 14%; display: flex; flex-direction: column; min-width: 205px; padding: 18px 20px; border: 1px solid rgba(255,255,255,.75); border-radius: 15px; background: rgba(255,255,255,.92); box-shadow: var(--snw-shadow); }
.snw-hero__card strong { color: var(--snw-green-800); }
.snw-hero__card span { color: var(--snw-muted); font-size: .82rem; }

.snw-strip { color: #fff; background: var(--snw-green-800); }
.snw-strip__grid { display: grid; grid-template-columns: repeat(4,1fr); }
.snw-strip__grid > div { display: flex; flex-direction: column; padding: 24px 30px; border-right: 1px solid rgba(255,255,255,.13); }
.snw-strip__grid > div:last-child { border-right: 0; }
.snw-strip strong { font-family: var(--snw-serif); font-size: 1.18rem; }
.snw-strip span { opacity: .74; font-size: .78rem; }

.snw-section { padding: clamp(72px,9vw,120px) 0; }
.snw-section--tint { background: #f3f4ed; }
.snw-section__heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 42px; }
.snw-section__heading--center { justify-content: center; text-align: center; }
.snw-section__heading h2 { margin-bottom: 0; }
.snw-empty { padding: 60px; border: 1px dashed var(--snw-border); border-radius: var(--snw-radius); text-align: center; }
.snw-story { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(40px,8vw,110px); }
.snw-story__visual img { aspect-ratio: 1; border-radius: 34px; object-fit: cover; box-shadow: var(--snw-shadow); }
.snw-story p { max-width: 650px; color: var(--snw-muted); font-size: 1.08rem; }
.snw-check-list { display: grid; gap: 10px; padding: 0; list-style: none; }
.snw-check-list li::before { margin-right: 10px; color: var(--snw-green-600); content: '✓'; font-weight: 900; }
.snw-steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.snw-steps > div { padding: 28px; border: 1px solid var(--snw-border); border-radius: 18px; background: #fff; }
.snw-steps > div > span { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 24px; border-radius: 50%; color: #fff; background: var(--snw-green-600); font-family: var(--snw-serif); font-size: 1.2rem; font-weight: 700; }
.snw-steps p { color: var(--snw-muted); font-size: .92rem; }
.snw-cta { padding: 80px 0; color: #fff; background: var(--snw-green-800); }
.snw-cta h2 { max-width: 780px; margin: 0; color: #fff; }
.snw-cta .snw-eyebrow { color: #c9ddb8; }
.snw-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }

.snw-page-hero { padding: 78px 0 56px; text-align: center; background: linear-gradient(180deg,#edf3e9,#fdfbf6); }
.snw-page-hero h1 { font-size: clamp(2.4rem,5vw,4.5rem); }
.snw-content { padding-block: 60px 100px; }
.snw-prose { max-width: 850px; }
.snw-prose h2, .snw-prose h3 { margin-top: 1.5em; }
.snw-prose table { width: 100%; border-collapse: collapse; }
.snw-prose th, .snw-prose td { padding: 12px; border: 1px solid var(--snw-border); text-align: left; }
.snw-article-card { padding: 30px 0; border-bottom: 1px solid var(--snw-border); }
.snw-empty-page { display: grid; align-items: center; min-height: 65vh; text-align: center; }

.snw-shop-shell { padding: 60px 0 100px; }
.woocommerce .woocommerce-breadcrumb { margin-bottom: 28px; color: var(--snw-muted); }
.woocommerce .woocommerce-products-header { margin-bottom: 38px; text-align: center; }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; margin: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; overflow: hidden; border: 1px solid var(--snw-border); border-radius: 18px; background: #fff; transition: transform .2s ease, box-shadow .2s ease; }
.woocommerce ul.products li.product:hover { transform: translateY(-4px); box-shadow: var(--snw-shadow); }
.woocommerce ul.products li.product a img { aspect-ratio: 1; margin: 0; object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 20px 20px 4px; font-family: var(--snw-serif); font-size: 1.25rem; }
.woocommerce ul.products li.product .price { display: block; padding: 0 20px; color: var(--snw-green-700); font-size: 1.05rem; font-weight: 800; }
.woocommerce ul.products li.product .button { width: calc(100% - 40px); margin: 18px 20px 22px; }
.woocommerce span.onsale { top: 14px; left: 14px; min-width: auto; min-height: auto; padding: 7px 12px; border-radius: 99px; background: var(--snw-green-600); line-height: 1.2; }
.single-product div.product { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(38px,6vw,80px); }
.single-product div.product .woocommerce-product-gallery, .single-product div.product .summary { float: none !important; width: auto !important; }
.single-product div.product .woocommerce-product-gallery img { border-radius: 20px; }
.single-product .product_title { font-size: clamp(2.3rem,4vw,4rem); }
.single-product .price { color: var(--snw-green-600) !important; font-size: 1.7rem !important; font-weight: 850; }
.single-product .woocommerce-product-details__short-description { color: var(--snw-muted); }
.single-product form.cart { display: flex; gap: 10px; margin: 26px 0 !important; }
.woocommerce .quantity .qty { min-height: 46px; border: 1px solid var(--snw-border); border-radius: 8px; }
.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; padding-top: 40px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--snw-border); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border: 0; background: transparent; }
.woocommerce table.shop_table { border-color: var(--snw-border); border-radius: 14px; background: #fff; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container--default .select2-selection--single { min-height: 48px; padding: 10px 12px; border: 1px solid var(--snw-border); border-radius: 9px; background: #fff; }
.woocommerce-checkout #customer_details, .woocommerce-checkout-review-order { padding: 26px; border: 1px solid var(--snw-border); border-radius: 18px; background: #fff; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--snw-green-600); background: #fff; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--snw-green-600); }

.snw-footer { padding: 70px 0 26px; color: rgba(255,255,255,.72); background: var(--snw-green-900); }
.snw-footer__grid { display: grid; grid-template-columns: 1.4fr repeat(3,1fr); gap: 50px; }
.snw-footer__grid h2 { color: #fff; font-family: var(--snw-sans); font-size: .9rem; letter-spacing: .08em; text-transform: uppercase; }
.snw-footer__grid a, .snw-footer__grid span { display: block; margin: 8px 0; color: rgba(255,255,255,.7); font-size: .88rem; }
.snw-footer__grid a:hover { color: #fff; }
.snw-footer__brand { display: flex; align-items: center; gap: 12px; color: #fff; font-family: var(--snw-serif); font-size: 1.3rem; }
.snw-footer__brand img { width: 52px; height: 52px; border-radius: 50%; }
.snw-footer__bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 50px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.1); font-size: .78rem; }
.snw-footer__bottom a { color: rgba(255,255,255,.72); }
.snw-floating-wa { position: fixed; z-index: 999; right: 20px; bottom: 20px; display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; color: #fff; background: #25d366; box-shadow: 0 10px 30px rgba(0,0,0,.2); font-size: .8rem; font-weight: 900; }
.snw-floating-wa:hover { color: #fff; transform: translateY(-2px); }

@media (max-width: 980px) {
  body.admin-bar .snw-header { top: 46px; }
  .snw-header__inner { grid-template-columns: 1fr auto; }
  .snw-menu-toggle { display: block; justify-self: end; }
  .snw-nav { position: absolute; top: 100%; right: 20px; left: 20px; display: none; padding: 18px; border: 1px solid var(--snw-border); border-radius: 14px; background: var(--snw-paper); box-shadow: var(--snw-shadow); }
  .snw-nav.is-open { display: block; }
  .snw-nav ul { flex-direction: column; align-items: stretch; gap: 8px; }
  .snw-nav a { display: block; padding: 10px; }
  .snw-header__actions { display: none; }
  .snw-hero__grid, .snw-story { grid-template-columns: 1fr; }
  .snw-hero__copy { text-align: center; }
  .snw-hero__copy > p { margin-inline: auto; }
  .snw-hero__actions, .snw-hero__proof { justify-content: center; }
  .snw-hero__visual { max-width: 670px; margin: auto; }
  .snw-strip__grid, .snw-steps { grid-template-columns: repeat(2,1fr); }
  .snw-strip__grid > div:nth-child(2) { border-right: 0; }
  .woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .single-product div.product { grid-template-columns: 1fr; }
  .woocommerce div.product .woocommerce-tabs { grid-column: auto; }
  .snw-footer__grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 620px) {
  .snw-container { width: min(100% - 28px,1220px); }
  .snw-header__inner { min-height: 68px; }
  .snw-brand img, .snw-brand .custom-logo { width: 44px; height: 44px; }
  .snw-brand__copy strong { font-size: 1.08rem; }
  .snw-brand__copy small { display: none; }
  .snw-hero { padding-top: 55px; }
  .snw-hero__visual { padding: 8px; }
  .snw-hero__card { right: -4px; bottom: 5%; min-width: 175px; padding: 14px; }
  .snw-strip__grid, .snw-steps, .snw-footer__grid { grid-template-columns: 1fr; }
  .snw-strip__grid > div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.13); }
  .snw-section__heading, .snw-cta__inner, .snw-footer__bottom { align-items: flex-start; flex-direction: column; }
  .woocommerce ul.products { grid-template-columns: 1fr; }
  .snw-footer__grid { gap: 28px; }
}

