/* ==========================================================================
   WrapStoria — Botanical Commerce Override
   Load LAST, after all legacy stylesheets.
   System fonts only. No external deps.
   ========================================================================== */

/* ---------- 1. Tokens ---------- */
:root{
  --evergreen:#183127;
  --evergreen-2:#24483a;
  --sage:#71806a;
  --sage-light:#dbe3d8;
  --blush:#e8aaa0;
  --blush-light:#f6dfda;
  --ivory:#f7f3ed;
  --paper:#fffdf9;
  --ink:#18231d;
  --muted:#687169;
  --line:#d7ddd4;
  --white:#fff;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
  --serif:ui-serif,Georgia,"Iowan Old Style","Times New Roman",serif;
  --radius:14px;
  --radius-sm:10px;
  --radius-lg:22px;
  --shadow-sm:0 1px 2px rgba(24,49,39,.06),0 2px 8px rgba(24,49,39,.05);
  --shadow:0 4px 14px rgba(24,49,39,.08),0 1px 3px rgba(24,49,39,.06);
  --shadow-lg:0 18px 44px rgba(24,49,39,.12);
  --tap:44px;
  --wrap:1240px;
  --tr:.2s ease;
}

/* ---------- 2. Reset & base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden;scroll-behavior:smooth}
html,body{max-width:100%;overflow-x:hidden}
body{
  margin:0;
  background:var(--ivory);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.ws-locked{overflow:hidden}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--evergreen-2);text-decoration:none;transition:color var(--tr)}
a:hover,a:focus{color:var(--evergreen)}
h1,h2,h3,h4,h5,h6{
  font-family:var(--sans);
  color:var(--evergreen);
  line-height:1.2;
  letter-spacing:-.01em;
  margin:0 0 .55em;
  font-weight:700;
  word-break:normal;
  overflow-wrap:break-word;
  hyphens:none;
}
h1{font-size:clamp(28px,3.6vw,40px)}
h2{font-size:clamp(23px,2.6vw,30px)}
h3{font-size:clamp(19px,1.9vw,23px)}
h4{font-size:clamp(17px,1.5vw,19px)}
p{margin:0 0 1rem}
ul,ol{padding-left:1.15rem}
hr{border:0;border-top:1px solid var(--line);margin:2rem 0}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
small,.small{font-size:.85em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px;width:100%}
.screen-reader-text,.visually-hidden{
  position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);
  white-space:nowrap;border:0;padding:0;margin:-1px;
}
:focus-visible{outline:3px solid var(--sage);outline-offset:3px;border-radius:4px}
::selection{background:var(--sage-light);color:var(--evergreen)}

/* ---------- 3. Buttons & forms ---------- */
.btn,.button,.wp-block-button__link,input[type=submit],button[type=submit],.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  min-height:var(--tap);padding:.7em 1.35em;
  background:var(--evergreen);color:var(--white);
  border:1px solid var(--evergreen);border-radius:999px;
  font-size:15px;font-weight:600;line-height:1.1;text-align:center;text-decoration:none;
  cursor:pointer;transition:background var(--tr),color var(--tr),border-color var(--tr),transform var(--tr);
}
.btn:hover,.button:hover,.wp-block-button__link:hover,input[type=submit]:hover,button[type=submit]:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover{
  background:var(--evergreen-2);border-color:var(--evergreen-2);color:var(--white);transform:translateY(-1px)
}
.btn-ghost,.button.alt,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{
  background:var(--white);color:var(--evergreen);border-color:var(--line)
}
.btn-ghost:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{
  background:var(--sage-light);color:var(--evergreen);border-color:var(--sage)
}
.btn-blush{background:var(--blush);border-color:var(--blush);color:var(--evergreen)}
.btn-blush:hover{background:var(--blush-light);border-color:var(--blush);color:var(--evergreen)}
input[type=text],input[type=email],input[type=search],input[type=tel],input[type=url],input[type=password],input[type=number],select,textarea{
  width:100%;min-height:var(--tap);padding:.62em .85em;
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius-sm);
  font-size:16px;line-height:1.35;box-shadow:none;transition:border-color var(--tr),box-shadow var(--tr)
}
textarea{min-height:130px;padding:.75em .85em;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--sage);outline:0;box-shadow:0 0 0 3px rgba(113,128,106,.22)}
label{display:block;font-size:14px;font-weight:600;color:var(--evergreen);margin-bottom:.35em}

/* ---------- 4. Announcement ---------- */
.announcement{
  background:var(--evergreen);color:var(--sage-light);
  font-size:13.5px;letter-spacing:.01em;text-align:center;
  padding:8px 16px;line-height:1.4
}
.announcement a{color:var(--white);text-decoration:underline;text-underline-offset:2px}

/* ---------- 5. Header ---------- */
.site-header{
  position:sticky;top:0;z-index:900;
  background:rgba(255,253,249,.96);
  -webkit-backdrop-filter:saturate(150%) blur(8px);
  backdrop-filter:saturate(150%) blur(8px);
  border-bottom:1px solid var(--line);
}
.header-inner{
  max-width:var(--wrap);margin:0 auto;
  display:flex;align-items:center;gap:22px;
  padding:10px 24px;min-height:68px;width:100%
}
.brand,.brand-link{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto;text-decoration:none;color:inherit}
.brand-logo,.footer-logo{height:46px;width:auto;max-height:54px;object-fit:contain}
.brand-lockup{display:flex;align-items:center;gap:10px}
.brand-name{
  font-family:var(--serif);font-size:22px;font-weight:600;
  letter-spacing:-.01em;color:var(--evergreen);line-height:1
}
.brand-dot{width:8px;height:8px;border-radius:50%;background:var(--blush);display:inline-block}

/* Desktop nav */
.primary-nav{margin:0 auto}
.primary-nav ul{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.primary-nav a{
  display:inline-flex;align-items:center;min-height:var(--tap);
  padding:0 12px;border-radius:999px;
  font-size:15px;font-weight:600;color:var(--evergreen);white-space:nowrap
}
.primary-nav a:hover,.primary-nav a:focus,
.primary-nav .current-menu-item>a,.primary-nav .current_page_item>a{background:var(--sage-light);color:var(--evergreen)}

.header-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex:0 0 auto}
.header-search{position:relative;display:flex;align-items:center}
.header-search input[type=search]{
  height:var(--tap);min-height:var(--tap);width:210px;
  padding:0 40px 0 16px;border-radius:999px;background:var(--ivory);border-color:var(--line)
}
.header-search button{
  position:absolute;right:4px;top:50%;transform:translateY(-50%);
  width:36px;height:36px;display:grid;place-items:center;
  background:transparent;border:0;border-radius:50%;color:var(--evergreen)
}
.header-search button:hover{background:var(--sage-light)}
.cart-button,.header-cart>a,.header-actions .cart-button{
  display:inline-flex;align-items:center;gap:7px;position:relative;
  min-height:var(--tap);padding:0 14px;border-radius:999px;
  background:var(--white);border:1px solid var(--line);color:var(--evergreen);
  font-size:14px;font-weight:600
}
.cart-button:hover{border-color:var(--sage);background:var(--sage-light)}
.cart-button .count,.header-cart .count{
  display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;
  background:var(--blush);color:var(--evergreen);border-radius:999px;font-size:12px;font-weight:700
}
.menu-toggle{
  display:none;width:var(--tap);height:var(--tap);
  background:var(--white);border:1px solid var(--line);border-radius:12px;
  color:var(--evergreen);align-items:center;justify-content:center
}
.menu-toggle:hover{background:var(--sage-light)}

/* Mobile nav panel */
.mobile-navigation{
  display:none;background:var(--paper);border-top:1px solid var(--line);
  padding:12px 24px 22px;max-height:80vh;overflow-y:auto
}
.mobile-navigation.open,.mobile-navigation.is-open{display:block}
.mobile-navigation ul{list-style:none;margin:0;padding:0}
.mobile-navigation li+li{border-top:1px solid var(--line)}
.mobile-navigation a{
  display:flex;align-items:center;min-height:var(--tap);
  padding:6px 2px;font-size:16px;font-weight:600;color:var(--evergreen)
}
.mobile-navigation a:hover{color:var(--evergreen-2)}
.mobile-navigation .menu-cta{margin-top:14px;display:flex;flex-direction:column;gap:10px}
.mobile-navigation .menu-cta .btn{width:100%}

/* ---------- 6. Home front page ---------- */
.ws-home{overflow-x:clip}
.ws-home section{padding:clamp(40px,5vw,72px) 0}

/* Hero */
.ws2-hero{position:relative;background:linear-gradient(180deg,var(--ivory) 0%,var(--sage-light) 100%);padding:clamp(36px,4.6vw,76px) 0!important}
.ws2-hero .ws2-hero-inner{
  max-width:var(--wrap);margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,3.4vw,56px);align-items:center
}
.ws2-hero-copy h1{font-size:clamp(30px,3.9vw,46px);line-height:1.1;margin-bottom:.5em;letter-spacing:-.02em}
.ws2-hero-copy p{font-size:clamp(16px,1.25vw,18px);color:var(--muted);max-width:54ch}
.ws2-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.ws2-hero-eyebrow,.ws2-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--sage);margin-bottom:14px
}
.ws2-hero-media{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);background:var(--sage-light)}
.ws2-hero-media img{width:100%;height:100%;min-height:280px;aspect-ratio:4/3;object-fit:cover}

/* Metrics */
.ws2-metrics{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0!important}
.ws2-metrics ul,.ws2-metrics .ws2-metrics-list{
  max-width:var(--wrap);margin:0 auto;padding:0 24px;
  list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:18px 26px
}
.ws2-metrics li,.ws2-metrics .ws2-metric{
  display:flex;flex-direction:column;gap:4px;padding-left:16px;border-left:3px solid var(--blush)
}
.ws2-metrics .value,.ws2-metrics .ws2-metric-value{font-size:clamp(24px,2.6vw,32px);font-weight:700;color:var(--evergreen);line-height:1;letter-spacing:-.02em}
.ws2-metrics .label,.ws2-metrics .ws2-metric-label{font-size:14px;color:var(--muted);line-height:1.35}

/* Categories */
.ws2-categories{background:var(--ivory)}
.ws2-categories .ws2-section-head,.ws2-products .ws2-section-head,.ws2-journal .ws2-section-head,.ws2-process .ws2-section-head{
  max-width:var(--wrap);margin:0 auto 28px;padding:0 24px;
  display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px
}
.ws2-categories h2,.ws2-products h2,.ws2-journal h2,.ws2-process h2{margin:0}
.ws2-categories .ws2-section-head p,.ws2-products .ws2-section-head p,.ws2-journal .ws2-section-head p{margin:6px 0 0;color:var(--muted);max-width:60ch}
.ws2-categories .ws2-grid,.ws2-category-grid{
  max-width:var(--wrap);margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px
}
.ws2-category-card,.ws2-categories .ws2-cat{
  display:flex;flex-direction:column;background:var(--paper);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  transition:box-shadow var(--tr),transform var(--tr),border-color var(--tr)
}
.ws2-category-card:hover,.ws2-categories .ws2-cat:hover{box-shadow:var(--shadow);transform:translateY(-2px);border-color:var(--sage)}
.ws2-category-card img,.ws2-categories .ws2-cat img{aspect-ratio:16/11;object-fit:cover;width:100%}
.ws2-category-card .body,.ws2-categories .ws2-cat .body{padding:18px 20px 22px}
.ws2-category-card h3,.ws2-categories .ws2-cat h3{margin:0 0 6px;font-size:19px}
.ws2-category-card p,.ws2-categories .ws2-cat p{margin:0;color:var(--muted);font-size:14.5px}

/* Process */
.ws2-process{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ws2-process .ws2-steps,.ws2-process ol{
  max-width:var(--wrap);margin:0 auto;padding:0 24px;
  list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:22px
}
.ws2-process li,.ws2-process .ws2-step{
  background:var(--ivory);border:1px solid var(--line);border-radius:var(--radius);padding:24px 22px
}
.ws2-process .num,.ws2-process .step-num{
  display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;
  background:var(--evergreen);color:var(--white);font-size:14px;font-weight:700;margin-bottom:14px
}
.ws2-process h3{margin:0 0 8px;font-size:18px}
.ws2-process p{margin:0;color:var(--muted);font-size:15px}

/* Products */
.ws2-products{background:var(--ivory)}
.ws2-products .ws2-product-grid,.ws2-products ul.products{
  max-width:var(--wrap);margin:0 auto;padding:0 24px;
  list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:22px
}
.ws2-products .ws2-product-card{
  display:flex;flex-direction:column;background:var(--paper);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  transition:box-shadow var(--tr),transform var(--tr)
}
.ws2-products .ws2-product-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.ws2-products .ws2-product-card img{aspect-ratio:1;object-fit:cover;width:100%}
.ws2-products .ws2-product-card .body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.ws2-products .ws2-product-card h3{margin:0;font-size:16.5px;line-height:1.3}
.ws2-products .ws2-product-card .price{font-weight:700;color:var(--evergreen);font-size:15px;margin-top:auto}

/* Custom / CTA */
.ws2-custom{background:var(--evergreen);color:var(--ivory)}
.ws2-custom .ws2-custom-inner{
  max-width:var(--wrap);margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,3vw,48px);align-items:center
}
.ws2-custom h2{color:var(--white)}
.ws2-custom p{color:var(--sage-light);max-width:56ch}
.ws2-custom .btn{background:var(--blush);border-color:var(--blush);color:var(--evergreen)}
.ws2-custom .btn:hover{background:var(--blush-light);border-color:var(--blush-light)}
.ws2-custom-media{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.ws2-custom-media img{aspect-ratio:4/3;object-fit:cover;width:100%}

/* Journal */
.ws2-journal{background:var(--white)}
.ws2-journal .ws2-journal-grid,.ws2-journal .ws2-grid{
  max-width:var(--wrap);margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px
}
.ws2-journal .ws2-journal-card,.ws2-journal article{
  display:flex;flex-direction:column;background:var(--paper);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  transition:box-shadow var(--tr),transform var(--tr)
}
.ws2-journal .ws2-journal-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.ws2-journal img{aspect-ratio:16/10;object-fit:cover;width:100%}
.ws2-journal .body{padding:18px 20px 22px}
.ws2-journal h3{font-size:18px;margin:0 0 8px;line-height:1.3}
.ws2-journal p{margin:0;color:var(--muted);font-size:14.5px}

/* ---------- 7. Shop / catalog ---------- */
.ws-catalog,.woocommerce-page .wrap{padding-top:28px}
.breadcrumb,.woocommerce-breadcrumb{
  max-width:var(--wrap);margin:0 auto;padding:14px 24px 0;
  font-size:13.5px;color:var(--muted)
}
.woocommerce-breadcrumb a{color:var(--sage)}
.woocommerce-breadcrumb a:hover{color:var(--evergreen)}

.woocommerce ul.products{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;margin:0;padding:0 24px 48px;list-style:none;float:none!important;width:auto!important
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  width:auto!important;margin:0!important;float:none!important;clear:none!important;
  display:flex;flex-direction:column;background:var(--paper);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  padding:0!important;text-align:left;transition:box-shadow var(--tr),transform var(--tr)
}
.woocommerce ul.products li.product:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.woocommerce ul.products li.product a img{aspect-ratio:1;object-fit:cover;width:100%;margin:0!important}
.woocommerce ul.products li.product .ws-card-body,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3{
  padding:14px 18px 0;margin:0;font-size:16.5px;line-height:1.3;color:var(--evergreen)
}
.woocommerce ul.products li.product .price{
  padding:6px 18px 0;color:var(--evergreen);font-weight:700;font-size:15px
}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button{
  margin:14px 18px 18px;align-self:flex-start;width:calc(100% - 36px)
}

/* Filters / toolbar */
.ws-shop-toolbar,.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{
  color:var(--muted);font-size:14px;margin-bottom:18px
}
.ws-shop-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.woocommerce .woocommerce-ordering select{min-width:210px}
.woocommerce .products-filter a,
.woocommerce .woocommerce-widget-layered-nav-list a{
  display:inline-flex;align-items:center;min-height:38px;padding:0 14px;
  border:1px solid var(--line);border-radius:999px;background:var(--white);
  color:var(--evergreen);font-size:14px;font-weight:600;margin:0 6px 8px 0
}
.woocommerce .products-filter a:hover{background:var(--sage-light);border-color:var(--sage)}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul li{
  border:0!important;display:inline-flex;gap:6px;margin:0;padding:0 24px 40px
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  min-width:var(--tap);height:var(--tap);display:grid;place-items:center;
  border:1px solid var(--line);border-radius:10px;background:var(--white);
  color:var(--evergreen);font-weight:600
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--evergreen);color:var(--white);border-color:var(--evergreen)}

/* ---------- 8. Single product ---------- */
.product-page,.woocommerce div.product{width:100%;clear:both}
.woocommerce div.product .ws-product-wrap{
  max-width:var(--wrap);margin:0 auto;padding:8px 24px 56px
}
.woocommerce div.product div.images,
.woocommerce div.product .woocommerce-product-gallery{
  width:56%!important;float:left!important;margin:0!important;position:relative
}
.woocommerce div.product div.summary,
.woocommerce div.product .summary.entry-summary{
  width:44%!important;float:right!important;margin:0!important;padding:0 0 0 clamp(20px,2.4vw,40px)!important
}
.woocommerce div.product .product_title,
.product-page h1.product_title{
  font-size:38px!important;font-size:clamp(26px,3vw,38px)!important;
  line-height:1.12!important;word-break:normal!important;overflow-wrap:break-word!important;
  margin:0 0 .35em;color:var(--evergreen)
}
/* Gallery */
.woocommerce div.product .woocommerce-product-gallery__wrapper{
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--white);margin:0
}
.woocommerce div.product .woocommerce-product-gallery__wrapper img{width:100%;height:auto;display:block}
.woocommerce div.product .woocommerce-product-gallery__image:first-child img{aspect-ratio:1;object-fit:cover}
.woocommerce div.product .flex-control-thumbs,
.woocommerce div.product .ws-gallery-thumbs{
  display:flex!important;flex-wrap:nowrap;gap:10px;list-style:none;margin:12px 0 0!important;padding:0 0 6px;
  overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch
}
.woocommerce div.product .flex-control-thumbs li{width:84px!important;flex:0 0 84px;margin:0!important;scroll-snap-align:start}
.woocommerce div.product .flex-control-thumbs img{
  width:100%;aspect-ratio:1;object-fit:cover;border:2px solid var(--line);
  border-radius:10px;opacity:.85;transition:opacity var(--tr),border-color var(--tr)
}
.woocommerce div.product .flex-control-thumbs img.flex-active,
.woocommerce div.product .flex-control-thumbs img:hover{border-color:var(--sage);opacity:1}

/* Summary card */
.woocommerce div.product .summary{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  padding:clamp(22px,2.4vw,32px)!important;box-shadow:var(--shadow-sm)
}
.woocommerce div.product .summary>div,.ws-product-page .summary>div{margin-bottom:14px!important}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  font-size:clamp(22px,2.2vw,26px);font-weight:700;color:var(--evergreen);margin:0 0 .35em!important
}
.woocommerce div.product p.price del{color:var(--muted);font-size:.7em;font-weight:500}
.woocommerce div.product p.price ins{text-decoration:none;color:var(--evergreen)}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--muted);font-size:15.5px;line-height:1.65}
.woocommerce div.product .woocommerce-product-details__short-description p{margin:0 0 .8em}

/* ws-vp value prop chips */
.ws-vp{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0;padding:0;list-style:none}
.ws-vp li{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--sage-light);color:var(--evergreen);
  font-size:13px;font-weight:600;padding:6px 12px;border-radius:999px;line-height:1
}
.ws-vp.compact{gap:6px;margin:12px 0}

/* Variations */
.woocommerce div.product .variations{width:100%;border-collapse:separate;border-spacing:0 12px;margin:0}
.woocommerce div.product .variations th,
.woocommerce div.product .variations td{border:0;padding:0;vertical-align:middle;text-align:left}
.woocommerce div.product .variations th{width:auto;padding-right:14px;font-size:14px;font-weight:600;color:var(--evergreen);white-space:nowrap}
.woocommerce div.product .variations select{min-width:0;width:100%;max-width:100%}
.woocommerce div.product .swatch-wrapper,.woocommerce div.product .ws-swatch{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:var(--tap);min-width:var(--tap);padding:6px 12px;
  border:1px solid var(--line);border-radius:10px;background:var(--white);
  cursor:pointer;margin:0 8px 8px 0;font-size:14px;font-weight:600;color:var(--evergreen)
}
.woocommerce div.product .swatch-wrapper.selected,
.woocommerce div.product .swatch-wrapper:hover{border-color:var(--sage);background:var(--sage-light)}
.woocommerce div.product .ws-variation-cards{display:flex;flex-wrap:wrap;gap:10px}
.woocommerce div.product .ws-variation-card{
  flex:1 1 140px;min-width:130px;padding:14px;border:1px solid var(--line);
  border-radius:var(--radius-sm);background:var(--white);cursor:pointer;text-align:left
}
.woocommerce div.product .ws-variation-card.selected{border-color:var(--sage);background:var(--sage-light)}

/* Quantity + add to cart */
.woocommerce div.product .quantity,
.woocommerce .quantity{
  display:inline-flex;align-items:center;border:1px solid var(--line);
  border-radius:999px;background:var(--white);overflow:hidden;height:var(--tap);margin-right:12px;vertical-align:middle
}
.woocommerce .quantity input.qty{
  width:64px!important;height:100%;border:0!important;text-align:center;
  font-size:16px;font-weight:600;background:transparent;-moz-appearance:textfield;padding:0;
}
.woocommerce .quantity input.qty::-webkit-outer-spin-button,
.woocommerce .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:20px 0 0}
.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart button.single_add_to_cart_button{
  flex:1 1 200px;min-height:52px;font-size:16px;margin:0!important;border-radius:999px
}
.woocommerce div.product .ws-quote-btn{
  flex:1 1 200px;min-height:52px;border-radius:999px;
  background:var(--white);color:var(--evergreen);border:1px solid var(--evergreen);
  display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;cursor:pointer
}
.woocommerce div.product .ws-quote-btn:hover{background:var(--sage-light)}
.woocommerce div.product .product_meta{
  margin-top:18px;padding-top:16px;border-top:1px solid var(--line);
  font-size:13.5px;color:var(--muted)
}
.woocommerce div.product .product_meta a{color:var(--sage)}
.woocommerce div.product .stock.in-stock{color:var(--sage);font-weight:600}
.woocommerce div.product .stock.out-of-stock{color:#9a3a2c;font-weight:600}

/* ---------- 9. Tabs & product story ---------- */
.woocommerce div.product .woocommerce-tabs,
.ws-product-story{
  clear:both!important;width:100%;float:none!important;margin:56px 0 0;padding-top:32px;border-top:1px solid var(--line)
}
.woocommerce div.product .woocommerce-tabs ul.tabs{
  display:flex!important;flex-wrap:nowrap;gap:6px;list-style:none;margin:0 0 24px!important;padding:0 0 4px!important;
  overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--line)
}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  margin:0!important;padding:0!important;background:none!important;border:0!important;flex:0 0 auto;scroll-snap-align:start
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display:inline-flex;align-items:center;min-height:var(--tap);white-space:nowrap;
  padding:0 18px!important;border-radius:999px;background:var(--white);border:1px solid var(--line);
  color:var(--evergreen);font-size:14.5px;font-weight:600
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{background:var(--evergreen);color:var(--white);border-color:var(--evergreen)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none!important;content:none!important}
.woocommerce div.product .woocommerce-tabs .panel{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  padding:clamp(22px,2.6vw,34px);margin:0;box-shadow:var(--shadow-sm)
}
.woocommerce div.product .woocommerce-tabs .panel h2{font-size:20px;margin-top:0}

.ws-story-overview{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:start}
.ws-story-summary{color:var(--muted);font-size:15.5px}
.ws-story-card,.ws-story-detail{
  background:var(--ivory);border:1px solid var(--line);border-radius:var(--radius);
  padding:20px 22px;margin:0 0 16px
}
.ws-story-card h3,.ws-story-detail h3{font-size:17px;margin:0 0 8px}
.ws-product-accordion{border-top:1px solid var(--line);margin-top:8px}
.ws-product-accordion details,.ws-product-accordion .acc-item{border-bottom:1px solid var(--line)}
.ws-product-accordion summary,.ws-product-accordion .acc-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  min-height:var(--tap);padding:14px 4px;cursor:pointer;font-weight:600;color:var(--evergreen);list-style:none
}
.ws-product-accordion summary::-webkit-details-marker{display:none}
.ws-product-accordion summary::after{content:"+";font-size:20px;font-weight:400;color:var(--sage);line-height:1}
.ws-product-accordion details[open] summary::after{content:"\2013"}
.ws-product-accordion .acc-body,.ws-product-accordion details>div{padding:0 4px 18px;color:var(--muted);font-size:15px}

.ws-planning-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;padding:0;list-style:none}
.ws-planning-links a{
  display:inline-flex;align-items:center;min-height:var(--tap);padding:0 16px;
  background:var(--white);border:1px solid var(--line);border-radius:999px;
  color:var(--evergreen);font-size:14px;font-weight:600
}
.ws-planning-links a:hover{background:var(--sage-light);border-color:var(--sage)}
.ws-bulk-order{
  background:var(--sage-light);border:1px solid var(--sage);border-radius:var(--radius);
  padding:20px 22px;margin-top:20px
}
.ws-bulk-order h3{margin:0 0 8px;font-size:18px}
.ws-bulk-order p{margin:0 0 14px;color:var(--evergreen-2);font-size:14.5px}

/* ---------- 10. Below-tabs independent grids ---------- */
.ws-related-guides,.ws-related-products{clear:both!important;width:100%;float:none!important;margin:56px 0 0}
.ws-related-guides h2,.ws-related-products h2{font-size:clamp(21px,2.3vw,26px);margin:0 0 20px}
.ws-guide-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px
}
.ws-related-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px
}
.ws-guide-card,.ws-related-card{
  display:flex;flex-direction:column;background:var(--paper);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  transition:box-shadow var(--tr),transform var(--tr)
}
.ws-guide-card:hover,.ws-related-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.ws-guide-card img,.ws-related-card img{aspect-ratio:16/10;object-fit:cover;width:100%}
.ws-related-card img{aspect-ratio:1}
.ws-guide-card .body,.ws-related-card .body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.ws-guide-card h3,.ws-related-card h3{font-size:17px;margin:0;line-height:1.3}
.ws-guide-card p{color:var(--muted);font-size:14.5px;margin:0}
.ws-related-card .price{color:var(--evergreen);font-weight:700;font-size:15px;margin-top:auto}
.ws-guide-card .meta,.ws-related-card .meta{font-size:12.5px;color:var(--sage);letter-spacing:.03em;text-transform:uppercase;font-weight:700}

/* ---------- 11. Reviews ---------- */
#reviews{clear:both;margin-top:44px;padding-top:32px;border-top:1px solid var(--line)}
#reviews h2,#reviews h3{font-size:clamp(20px,2.2vw,24px)}
#reviews ol.commentlist{list-style:none;margin:0;padding:0}
#reviews ol.commentlist li.comment{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  padding:20px 22px;margin:0 0 14px;list-style:none
}
#reviews .comment_container{display:flex;gap:16px;align-items:flex-start}
#reviews .comment_container img.avatar{width:48px;height:48px;border-radius:50%;flex:0 0 48px}
#reviews .comment-text{margin:0;border:0;padding:0;flex:1}
#reviews .meta{color:var(--muted);font-size:13.5px;margin:0 0 8px}
#reviews .description p{font-size:15px;line-height:1.65}
#review_form_wrapper{margin-top:28px}
#review_form{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  padding:clamp(20px,2.4vw,30px)
}
#review_form .comment-form-rating{margin-bottom:16px}
#review_form p.stars{display:inline-flex;gap:6px;margin:0;line-height:1}
#review_form p.stars a{
  display:inline-flex;align-items:center;justify-content:center;
  width:var(--tap);height:var(--tap);
  color:#c9a227;font-size:20px;line-height:1;
  text-decoration:none;border-radius:8px;position:relative;overflow:visible;text-indent:0
}
#review_form p.stars a::before{
  content:"\2605";display:inline-block;color:#d9d2c4;font-size:22px;line-height:1;
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)
}
#review_form p.stars a:hover::before,
#review_form p.stars a:focus::before,
#review_form p.stars a.active::before,
#review_form p.stars a[aria-checked="true"]::before{color:#e0a800}
#review_form p.stars a:hover~a::before,
#review_form p.stars.selected a::before{color:#d9d2c4}
#review_form p.stars a:hover::before{color:#e0a800}
.woocommerce .star-rating,
.woocommerce p.stars a,
.woocommerce .comment-form-rating{color:#e0a800}
.woocommerce .star-rating::before{color:#d9d2c4}
.woocommerce .star-rating span::before{color:#e0a800}
#review_form .comment-form-author,
#review_form .comment-form-email{margin-bottom:16px}
#review_form textarea{min-height:140px}
#review_form .form-submit{margin:16px 0 0}

/* ---------- 12. Content pages ---------- */
.ws-page,.page-template-default .entry-content,
.single-post .entry-content,.ws-policy,
.woocommerce-page .woocommerce-customer-details{
  max-width:780px;margin:0 auto;padding:0 24px
}
.ws-page h1,.entry-content h1,.ws-policy h1{font-size:clamp(26px,3vw,36px);margin-bottom:.5em}
.entry-content h2{margin-top:1.6em}
.entry-content h3{margin-top:1.3em}
.entry-content p,.ws-page p{font-size:16.5px;line-height:1.75}
.entry-content ul,.entry-content ol{font-size:16.5px;line-height:1.75}
.entry-content blockquote{
  margin:1.4em 0;padding:16px 22px;border-left:4px solid var(--blush);
  background:var(--paper);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--evergreen-2)
}
.ws-table-wrap,.entry-content table{overflow-x:auto;display:block;width:100%}
.entry-content table{border-collapse:collapse;min-width:520px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}
.entry-content th,.entry-content td{border:1px solid var(--line);padding:10px 14px;text-align:left;font-size:15px}
.entry-content th{background:var(--sage-light);color:var(--evergreen);font-weight:700}

/* ---------- 13. Cart & checkout ---------- */
.woocommerce-cart .wrap,.woocommerce-checkout .wrap{padding-top:28px;padding-bottom:56px}
.woocommerce table.shop_table{
  width:100%;border:1px solid var(--line);border-radius:var(--radius);
  background:var(--paper);border-collapse:separate;border-spacing:0;overflow:hidden;margin:0 0 28px
}
.woocommerce table.shop_table th{
  background:var(--sage-light);color:var(--evergreen);font-weight:700;
  font-size:14px;text-align:left;padding:14px 16px;border-bottom:1px solid var(--line)
}
.woocommerce table.shop_table td{padding:16px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:15px}
.woocommerce table.shop_table tr:last-child td{border-bottom:0}
.woocommerce table.shop_table .product-thumbnail img{width:64px;height:64px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.woocommerce table.shop_table .product-remove a{
  display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;
  background:var(--ivory);border:1px solid var(--line);color:#9a3a2c;font-size:18px;line-height:1
}
.woocommerce table.shop_table .product-remove a:hover{background:var(--blush-light)}
.woocommerce table.shop_table .quantity .qty{width:70px}
.woocommerce .cart .actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.woocommerce .cart .coupon{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.woocommerce .cart .coupon .input-text{min-width:200px;flex:1 1 200px}
.woocommerce .cart_totals,
.woocommerce .cart-collaterals .cart_totals{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;width:100%;float:none
}
.woocommerce .cart_totals table{border:0;background:transparent}
.woocommerce .cart_totals table th{background:transparent;padding:10px 0;border-bottom:1px solid var(--line)}
.woocommerce .cart_totals table td{padding:10px 0;border-bottom:1px solid var(--line);text-align:right}
.woocommerce .cart_totals table tr:last-child th,
.woocommerce .cart_totals table tr:last-child td{border-bottom:0}
.woocommerce .cart_totals .checkout-button,
.woocommerce .wc-proceed-to-checkout a.checkout-button{
  display:flex;width:100%;min-height:54px;margin-top:16px;
  background:var(--evergreen)!important;color:var(--white)!important;
  border:1px solid var(--evergreen)!important;font-size:16.5px;font-weight:700
}
.woocommerce .cart_totals .checkout-button:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover{background:var(--evergreen-2)!important;color:var(--white)!important}
.woocommerce .woocommerce-checkout #payment{background:transparent;border-radius:var(--radius)}
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce .woocommerce-checkout-review-order{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin:0 0 24px
}
.woocommerce .select2-container .select2-selection--single{min-height:var(--tap);border-color:var(--line);border-radius:var(--radius-sm)}
.woocommerce .form-row{margin-bottom:16px}
.woocommerce .form-row label{font-size:14px;font-weight:600;color:var(--evergreen)}

/* Notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error{
  background:var(--paper);border:1px solid var(--line);border-left-width:5px;
  border-radius:var(--radius-sm);color:var(--evergreen);padding:14px 18px;margin:0 0 20px;list-style:none;font-size:15px
}
.woocommerce-message,.woocommerce-notices-wrapper .woocommerce-message{border-left-color:var(--sage)}
.woocommerce-info,.woocommerce-notices-wrapper .woocommerce-info{border-left-color:var(--evergreen-2)}
.woocommerce-error,.woocommerce-notices-wrapper .woocommerce-error{border-left-color:#b4553f}
.woocommerce-message .button,.woocommerce-info .button,.woocommerce-error .button{
  background:var(--evergreen);color:var(--white);border-color:var(--evergreen);min-height:38px;padding:0 16px;font-size:14px;margin-left:12px
}

/* ---------- 14. Footer ---------- */
.site-footer{background:var(--evergreen);color:var(--sage-light);margin-top:64px;font-size:15px;line-height:1.6}
.site-footer a{color:var(--white);text-decoration:none}
.site-footer a:hover,.site-footer a:focus{color:var(--blush-light);text-decoration:underline;text-underline-offset:2px}
.footer-top{
  max-width:var(--wrap);margin:0 auto;padding:clamp(36px,4.6vw,64px) 24px 40px;
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px
}
.footer-lead{grid-column:1/-1;font-size:clamp(17px,1.6vw,20px);color:var(--ivory);max-width:60ch;margin:0 0 8px}
.footer-column h3,.footer-column h4,.footer-column .footer-head{
  color:var(--white);font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin:0 0 14px
}
.footer-links{list-style:none;margin:0;padding:0}
.footer-links li{margin:0 0 8px}
.footer-contact{font-size:14.5px;line-height:1.6}
.footer-contact a{word-break:break-word;overflow-wrap:break-word}
.footer-brand{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.footer-logo{height:46px;max-height:54px;width:auto;filter:brightness(0) invert(1)}
.footer-brand-name{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--white);line-height:1.1}
.footer-address{font-style:normal;color:var(--sage-light);font-size:14.5px;line-height:1.6;max-width:34ch;word-break:break-word;overflow-wrap:break-word}
.footer-bottom{
  max-width:var(--wrap);margin:0 auto;padding:20px 24px 32px;
  border-top:1px solid rgba(219,227,216,.25);
  display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;justify-content:space-between;
  font-size:13.5px;color:var(--sage-light)
}
.footer-bottom a{color:var(--sage-light)}
.footer-bottom a:hover{color:var(--white)}

/* ---------- 15. Modal ---------- */
.wst-quote-modal,.ws-modal{
  position:fixed;inset:0;z-index:1200;display:none;
  align-items:center;justify-content:center;padding:20px;
  background:rgba(24,49,39,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)
}
.wst-quote-modal.open,.wst-quote-modal.is-open,.ws-modal.open{display:flex}
.wst-quote-modal .modal-content,.ws-modal-dialog,
.wst-quote-modal>div:not(.modal-overlay){
  width:100%;max-width:640px;max-height:88vh;overflow-y:auto;
  background:var(--paper);border-radius:var(--radius-lg);
  padding:clamp(22px,3vw,36px);box-shadow:var(--shadow-lg);position:relative
}
.wst-quote-modal .modal-close,.ws-modal-close{
  position:absolute;top:12px;right:12px;width:var(--tap);height:var(--tap);
  display:grid;place-items:center;background:var(--ivory);border:1px solid var(--line);
  border-radius:50%;color:var(--evergreen);font-size:20px;line-height:1;cursor:pointer
}
.wst-quote-modal .modal-close:hover,.ws-modal-close:hover{background:var(--sage-light)}

/* ---------- 16. Breakpoints ---------- */
@media (max-width:1024px){
  .header-search input[type=search]{width:170px}
  .primary-nav a{padding:0 9px;font-size:14.5px}
  .ws2-hero .ws2-hero-inner{grid-template-columns:1fr 1fr;gap:28px}
  .ws2-metrics ul,.ws2-metrics .ws2-metrics-list{grid-template-columns:repeat(2,1fr)}
  .ws2-categories .ws2-grid,.ws2-category-grid{grid-template-columns:repeat(2,1fr)}
  .ws2-process .ws2-steps,.ws2-process ol{grid-template-columns:repeat(2,1fr)}
  .ws2-products .ws2-product-grid,.ws2-products ul.products{grid-template-columns:repeat(2,1fr)}
  .ws2-journal .ws2-journal-grid,.ws2-journal .ws2-grid{grid-template-columns:repeat(2,1fr)}
  .ws2-custom .ws2-custom-inner{grid-template-columns:1fr}
  .woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ws-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ws-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-top{grid-template-columns:1fr 1fr;gap:28px}
  .footer-lead{grid-column:1/-1}
}

@media (max-width:760px){
  body{font-size:15px}
  .wrap,.ws2-hero .ws2-hero-inner,.ws2-categories .ws2-grid,.ws2-process .ws2-steps,
  .ws2-products .ws2-product-grid,.ws2-journal .ws2-journal-grid,
  .woocommerce ul.products,.ws2-custom .ws2-custom-inner,
  .footer-top,.footer-bottom{
    padding-left:18px;padding-right:18px
  }
  .header-inner{padding:10px 18px;gap:12px;min-height:62px}
  .brand-logo{height:40px;max-height:44px}
  .brand-name{font-size:19px}
  .primary-nav,.header-search{display:none!important}
  .menu-toggle{display:inline-flex}
  .mobile-navigation{display:none}
  .mobile-navigation.open,.mobile-navigation.is-open{display:block}

  /* Home stack */
  .ws2-hero .ws2-hero-inner{grid-template-columns:1fr;gap:26px}
  .ws2-hero-media{order:-1}
  .ws2-hero-media img{min-height:220px;aspect-ratio:16/10}
  .ws2-metrics ul,.ws2-metrics .ws2-metrics-list{grid-template-columns:1fr 1fr;gap:14px}
  .ws2-categories .ws2-grid,.ws2-category-grid,
  .ws2-process .ws2-steps,.ws2-process ol,
  .ws2-products .ws2-product-grid,.ws2-products ul.products,
  .ws2-journal .ws2-journal-grid,.ws2-journal .ws2-grid{grid-template-columns:1fr}

  /* Horizontal scroll cards */
  .ws-related-guides,
  .ws-related-products{margin-top:40px}
  .ws-guide-grid,.ws-related-grid{
    display:flex!important;grid-template-columns:none!important;
    gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;padding-bottom:14px;margin:0 -18px;padding-left:18px;padding-right:18px
  }
  .ws-guide-card,.ws-related-card{
    flex:0 0 auto;width:min(82vw,320px);scroll-snap-align:start
  }

  /* Product: single column */
  .woocommerce div.product div.images,
  .woocommerce div.product .woocommerce-product-gallery,
  .woocommerce div.product div.summary,
  .woocommerce div.product .summary.entry-summary{
    float:none!important;width:100%!important;padding:0!important;margin:0 0 24px!important
  }
  .woocommerce div.product .product_title,
  .product-page h1.product_title{font-size:28px!important;line-height:1.12!important}
  .woocommerce div.product .summary{padding:20px!important}
  .woocommerce div.product .flex-control-thumbs li{width:72px!important;flex:0 0 72px}
  .ws-story-overview{grid-template-columns:1fr;gap:18px}

  /* Shop */
  .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}

  /* Footer */
  .site-footer{margin-top:48px}
  .footer-top{grid-template-columns:1fr;gap:26px;padding-top:32px;padding-bottom:28px}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:10px}
}

@media (max-width:520px){
  body{font-size:15px;line-height:1.6}
  .wrap,.ws2-hero .ws2-hero-inner,.ws2-categories .ws2-grid,.ws2-process .ws2-steps,
  .ws2-products .ws2-product-grid,.ws2-journal .ws2-journal-grid,
  .woocommerce ul.products,.ws2-custom .ws2-custom-inner,
  .footer-top,.footer-bottom{padding-left:14px;padding-right:14px}
  .header-inner{padding:8px 14px}
  .brand-logo{height:36px;max-height:40px}
  .brand-name{font-size:18px}
  .cart-button,.header-cart>a{padding:0 11px;font-size:13.5px}

  h1{font-size:26px}
  h2{font-size:21px}
  h3{font-size:18px}
  .ws2-hero-copy h1{font-size:29px}
  .ws2-hero-actions .btn{width:100%}
  .ws2-hero-actions{flex-direction:column;align-items:stretch}
  .ws2-metrics ul,.ws2-metrics .ws2-metrics-list{grid-template-columns:1fr}

  .woocommerce ul.products{grid-template-columns:1fr;gap:16px}
  .woocommerce div.product .product_title,
  .product-page h1.product_title{font-size:26px!important}
  .woocommerce div.product form.cart{flex-direction:column;align-items:stretch}
  .woocommerce div.product form.cart .quantity{width:100%;justify-content:space-between;margin-right:0;margin-bottom:10px}
  .woocommerce .quantity input.qty{width:auto;flex:1;text-align:center}
  .woocommerce div.product form.cart .button,
  .woocommerce div.product .ws-quote-btn{width:100%;flex:1 1 100%}

  .ws-guide-card,.ws-related-card{width:min(86vw,300px)}

  .woocommerce table.shop_table td,
  .woocommerce table.shop_table th{padding:12px 10px;font-size:14px}
  .woocommerce .cart .actions{flex-direction:column;align-items:stretch}
  .woocommerce .cart .coupon{width:100%}
  .woocommerce .cart .coupon .input-text{min-width:0;flex:1 1 auto}
  .woocommerce .cart_totals{padding:18px}

  .wst-quote-modal .modal-content,
  .ws-modal-dialog{padding:22px 16px;max-height:92vh}

  .footer-brand-name{font-size:20px}
}

/* ---------- 17. Utility / safety ---------- */
.clear::after,.clearfix::after{content:"";display:table;clear:both}
.woocommerce::after,.woocommerce div.product::after{content:"";display:table;clear:both}
.woocommerce .blockUI.blockOverlay{background:rgba(247,243,237,.75)!important}
.woocommerce a.remove{color:#9a3a2c!important}
.woocommerce a.remove:hover{background:#9a3a2c!important;color:var(--white)!important}
.print-only{display:none}
@media print{
  .site-header,.site-footer,.announcement,.menu-toggle{display:none!important}
}


/* ---------- 18. Final visual and commerce overrides (2026-10-05) ---------- */
html,body{max-width:100%;overflow-x:hidden}
*,*::before,*::after{box-sizing:border-box}

/* Product gallery and purchase summary must fill their grid tracks. */
.product-page>div.product{width:100%;max-width:100%;min-width:0}
.product-page>div.product .woocommerce-product-gallery,
.product-page>div.product div.images,
.product-page>div.product .summary.entry-summary,
.product-page>div.product div.summary{
  width:100%!important;min-width:0!important;float:none!important;margin:0!important
}
.product-page>div.product .summary.entry-summary,
.product-page>div.product div.summary{padding:clamp(22px,2.4vw,32px)!important}

@media (min-width:1024px){
  .product-page>div.product{
    display:grid!important;
    grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr)!important;
    gap:clamp(32px,5vw,64px)!important;
    align-items:start
  }
  .product-page>div.product .woocommerce-product-gallery,
  .product-page>div.product div.images{grid-column:1/2!important}
  .product-page>div.product .summary.entry-summary,
  .product-page>div.product div.summary{grid-column:2/3!important}
}
@media (max-width:1023px){
  .product-page>div.product{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;
    gap:clamp(22px,4vw,32px)!important
  }
  .product-page>div.product .woocommerce-product-gallery,
  .product-page>div.product div.images,
  .product-page>div.product .summary.entry-summary,
  .product-page>div.product div.summary{grid-column:1/-1!important}
}

/* Header: direct nav links, clear brand lockup and complete controls. */
.header-inner{position:relative;display:flex!important;align-items:center;min-width:0;gap:clamp(12px,2vw,24px)}
.site-header .brand{
  display:inline-flex;align-items:center;gap:10px;flex:0 1 auto;
  min-width:0;max-width:260px;white-space:nowrap
}
.site-header .brand-logo{width:46px!important;height:46px!important;max-width:46px!important;object-fit:contain;flex:0 0 46px}
.site-header .brand-name{
  display:block;min-width:0;max-width:190px;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;font-size:22px;line-height:1.1
}
.primary-nav{min-width:0}
.primary-nav>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;flex:0 0 auto}
.header-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;margin-left:auto}
.icon-button,.search-toggle{
  width:44px!important;height:44px!important;min-width:44px;min-height:44px;
  display:inline-grid!important;place-items:center;padding:0!important;
  border:1px solid var(--line)!important;border-radius:50%!important;
  background:var(--white)!important;color:var(--evergreen)!important
}
.menu-toggle{
  position:relative;width:44px;height:44px;min-width:44px;min-height:44px;
  align-items:center;justify-content:center;padding:0;border:1px solid var(--line);
  border-radius:12px;background:var(--white);color:var(--evergreen);z-index:902
}
.menu-lines,.menu-lines::before,.menu-lines::after{
  display:block;width:22px;height:2px;border-radius:999px;background:currentColor
}
.menu-lines{position:relative}
.menu-lines::before,.menu-lines::after{content:"";position:absolute;left:0}
.menu-lines::before{top:-7px}.menu-lines::after{top:7px}
.menu-toggle[aria-expanded="true"] .menu-lines{background:transparent}
.menu-toggle[aria-expanded="true"] .menu-lines::before{top:0;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-lines::after{top:0;transform:rotate(-45deg)}
.cart-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;white-space:nowrap}
.cart-button .count,.cart-button .cart-count{
  display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;
  border-radius:999px;background:var(--blush);color:var(--evergreen);
  font-size:12px;font-weight:700;line-height:1
}

@media (min-width:1101px){
  .primary-nav{
    display:flex!important;align-items:center;justify-content:center;
    flex:1 1 auto;gap:clamp(4px,.8vw,14px)
  }
  .primary-nav>a{padding:0 clamp(7px,.65vw,12px);font-size:clamp(12.5px,.72vw,14.5px)}
  .menu-toggle{display:none!important}
}
@media (max-width:1100px){
  .menu-toggle{display:inline-flex!important;order:2}
  .primary-nav{display:none!important}
  .primary-nav.is-open{
    display:flex!important;position:absolute;left:0;right:0;top:100%;
    flex-direction:column;align-items:stretch;gap:0;padding:10px 18px;
    background:var(--paper);border:1px solid var(--line);border-radius:0 0 16px 16px;
    box-shadow:var(--shadow);z-index:901
  }
  .primary-nav.is-open>a{
    width:100%;justify-content:flex-start;padding:7px 10px;
    border-bottom:1px solid var(--line);border-radius:0
  }
  .primary-nav.is-open>a:last-child{border-bottom:0}
  .header-actions{order:3}
  .header-search:not([hidden]){
    display:flex!important;position:absolute;left:18px;right:18px;top:calc(100% + 8px);
    padding:12px;background:var(--paper);border:1px solid var(--line);
    border-radius:14px;box-shadow:var(--shadow);z-index:903
  }
  .header-search:not([hidden]) input[type=search]{width:100%;min-width:0}
}
@media (max-width:520px){
  .site-header .brand{max-width:175px;gap:8px}
  .site-header .brand-logo{width:38px!important;height:38px!important;max-width:38px!important;flex-basis:38px}
  .site-header .brand-name{font-size:18px;max-width:125px}
}

/* Custom-packaging copy contrast. */
.ws2-custom__text{color:#445149!important}

/* Product tabs: quiet editorial underline, not heavy pills. */
.woocommerce div.product .woocommerce-tabs ul.tabs{
  display:flex!important;flex-wrap:nowrap!important;gap:clamp(18px,3vw,38px)!important;
  margin:0 0 24px!important;padding:0!important;overflow-x:auto;
  scroll-padding-inline:4px;scrollbar-width:thin;border-bottom:1px solid var(--line)!important;
  background:transparent!important
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none!important;content:none!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  flex:0 0 auto!important;margin:0!important;padding:0!important;
  border:0!important;border-radius:0!important;background:transparent!important
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  min-height:46px;padding:0 2px!important;border:0!important;border-radius:0!important;
  background:transparent!important;color:#445149!important;
  font-size:14px;font-weight:650;letter-spacing:.035em;text-transform:uppercase
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;
  border-radius:999px;background:transparent;transition:background-color .2s ease
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:focus-visible{
  color:var(--evergreen)!important;background:transparent!important
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:focus-visible::after{background:var(--blush)}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:focus-visible{
  outline:2px solid var(--evergreen);outline-offset:4px
}
.woocommerce div.product .woocommerce-tabs .panel{color:#24342d!important}
.woocommerce div.product .woocommerce-tabs .panel p,
.woocommerce div.product .woocommerce-tabs .panel li,
.woocommerce div.product .woocommerce-tabs .panel dd{color:#445149!important}

/* Footer: lead first, then a real four-column link grid. */
.site-footer{overflow:hidden}
.footer-top{
  display:flex!important;flex-direction:column;align-items:stretch;
  gap:clamp(28px,4vw,44px)!important;padding-top:clamp(38px,5vw,64px)!important;
  padding-bottom:clamp(32px,4vw,48px)!important
}
.footer-lead{
  display:flex;flex-direction:column;align-items:flex-start;
  width:100%;max-width:620px!important;margin:0!important;color:var(--ivory)
}
.footer-brand-lockup{
  display:inline-flex!important;align-items:center;gap:10px;margin:0 0 16px;
  color:var(--white);text-decoration:none
}
.footer-brand-lockup .footer-logo{width:50px!important;height:50px!important;max-width:50px!important;object-fit:contain;filter:none}
.footer-links{
  grid-column:1/-1;width:100%;min-width:0;
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(22px,3vw,38px)!important
}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}
.footer-column h3{margin:0 0 8px}
.footer-column>a{display:inline-flex;align-items:center;min-height:38px;max-width:100%}
.footer-contact,.footer-address{color:var(--sage-light);line-height:1.65}
.footer-address{max-width:32ch}
.site-footer .button-light{
  display:inline-flex;align-items:center;justify-content:center;min-height:46px;
  padding:0 20px;border:1px solid var(--white)!important;border-radius:999px;
  background:var(--white)!important;color:var(--evergreen)!important;font-weight:700
}
.site-footer .button-light:hover,.site-footer .button-light:focus-visible{
  background:var(--blush-light)!important;color:var(--evergreen)!important;border-color:var(--blush-light)!important
}
@media (max-width:1024px){
  .footer-links{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .footer-links{grid-template-columns:minmax(0,1fr);gap:22px!important}
  .footer-column{padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.14)}
  .footer-column:last-child{border-bottom:0}
}

/* ---------- 19. Launch refinement 1.4.2 ---------- */

/* Desktop brand lockup and navigation: never crop or overlap labels. */
.site-header .header-inner{overflow:visible!important}
.site-header .brand{
  flex:0 0 auto!important;min-width:max-content!important;max-width:none!important;
  overflow:visible!important;white-space:nowrap!important
}
.site-header .brand-logo{
  width:42px!important;height:42px!important;max-width:42px!important;flex:0 0 42px!important
}
.site-header .brand-name{
  display:inline-block!important;max-width:none!important;overflow:visible!important;
  text-overflow:clip!important;white-space:nowrap!important;font-size:21px!important;
  letter-spacing:.01em!important;text-transform:none!important
}
.primary-nav>a{overflow:visible!important;text-overflow:clip!important;white-space:nowrap!important}

@media (min-width:1481px){
  .primary-nav{
    display:flex!important;align-items:center;justify-content:center;flex:1 1 auto;
    gap:clamp(2px,.45vw,8px)!important;min-width:0
  }
  .primary-nav>a{
    padding:0 clamp(6px,.48vw,10px)!important;
    font-size:clamp(11.5px,.68vw,13px)!important;letter-spacing:.035em!important
  }
  .menu-toggle{display:none!important}
}
@media (max-width:1480px){
  .menu-toggle{display:inline-flex!important;order:2}
  .primary-nav{display:none!important}
  .primary-nav.is-open{
    display:flex!important;position:absolute;left:var(--ws2-pad,24px);right:var(--ws2-pad,24px);
    top:calc(100% + 1px);flex-direction:column;align-items:stretch;gap:0!important;
    padding:10px 18px!important;background:var(--paper)!important;
    border:1px solid var(--line)!important;border-radius:0 0 16px 16px;
    box-shadow:var(--shadow);z-index:901
  }
  .primary-nav.is-open>a{
    width:100%;justify-content:center!important;padding:9px 12px!important;
    border-bottom:1px solid var(--line);border-radius:0;text-align:center
  }
  .primary-nav.is-open>a:last-child{border-bottom:0}
}
@media (max-width:560px){
  .site-header .brand{min-width:0!important}
  .site-header .brand-logo{width:34px!important;height:34px!important;max-width:34px!important;flex-basis:34px!important}
  .site-header .brand-name{font-size:16px!important}
  .header-inner{gap:8px!important}
  .header-actions{gap:5px!important}
  .cart-button{padding-inline:9px!important}
}

/* Homepage hero: concise copy with stronger editorial rhythm. */
.ws2-hero__copy{max-width:720px}
.ws2-hero__eyebrow{
  margin:0 0 14px;font-size:12px;font-weight:750;letter-spacing:.14em;
  text-transform:uppercase;color:#526459
}
.ws2-hero__title{
  max-width:14ch;margin:0 0 18px;font-size:clamp(38px,5.2vw,76px);
  line-height:.98;letter-spacing:-.045em
}
.ws2-hero__lead{max-width:46ch!important;font-size:clamp(16px,1.2vw,19px);line-height:1.65;color:#445149!important}

/* Built for trade buyers: progressive, accessible reveal and count motion. */
.ws2-metrics{position:relative;overflow:hidden}
.ws2-metrics__item{
  transition:opacity .55s ease,transform .55s cubic-bezier(.2,.8,.2,1);
  will-change:opacity,transform
}
html.ws-has-motion .ws2-metrics:not(.is-in-view) .ws2-metrics__item{opacity:0;transform:translateY(22px)}
.ws2-metrics.is-in-view .ws2-metrics__item{opacity:1;transform:none}
.ws2-metrics.is-in-view .ws2-metrics__item:nth-child(2){transition-delay:.09s}
.ws2-metrics.is-in-view .ws2-metrics__item:nth-child(3){transition-delay:.18s}
.ws2-metrics.is-in-view .ws2-metrics__item:nth-child(4){transition-delay:.27s}
.ws2-metrics__value{font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){
  .ws2-metrics__item{opacity:1!important;transform:none!important;transition:none!important}
}

/* Bordered UI elements keep content optically centered. */
.ws2-button,.button,.woocommerce button.button,.woocommerce a.button,
.woocommerce input.button,.single_add_to_cart_button,
.ws2-categories__link,.ws2-process__step,.ws2-products__link,
.ws-guide-card,.ws-related-card,.ws-story-card,.ws-bulk-order,
.wst-option-card,.ws-vp,.catalog-filters button{
  text-align:center!important
}
.ws2-button,.button,.woocommerce button.button,.woocommerce a.button,
.woocommerce input.button,.single_add_to_cart_button{
  justify-content:center!important;align-items:center!important
}
.ws2-categories__link,.ws2-products__link,.ws-guide-card>a,.ws-related-card>a{
  align-items:center!important
}
.ws-vp-table th,.ws-vp-table td{text-align:center!important}

/* Real PayPal Payments plugin placement below the native purchase action. */
.product-page .summary .ppc-button-wrapper{
  display:block!important;clear:both!important;width:100%!important;max-width:520px;
  min-height:76px;margin:18px auto 22px!important;padding:14px!important;
  border:1px solid var(--line)!important;border-radius:14px;background:#fff!important;
  text-align:center!important;overflow:visible!important
}
.product-page .summary .ppc-button-wrapper::before{
  content:"Secure express checkout with PayPal";display:block;margin:0 0 10px;
  color:#445149;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase
}
.product-page .summary .ppc-button-wrapper>div,
.product-page .summary .ppc-button-wrapper iframe{width:100%!important;max-width:100%!important}
.product-page .summary [id^="ppc-button-"]{min-height:45px}

/* Product details, guides and related products are separate full-width rows. */
.product-page>div.product>.woocommerce-tabs,
.product-page>div.product>.ws-related-guides,
.product-page>div.product>.ws-related-products{
  grid-column:1/-1!important;width:100%!important;max-width:100%!important;
  min-width:0!important;float:none!important;clear:both!important
}
.product-page>div.product>.ws-related-guides{display:block!important;margin-top:clamp(48px,6vw,76px)!important}
.product-page>div.product>.ws-related-products{
  display:block!important;margin-top:clamp(56px,7vw,88px)!important;
  padding-top:clamp(36px,4vw,52px);border-top:1px solid var(--line)
}
.product-page .ws-guide-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.product-page .ws-related-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
@media (max-width:1024px){
  .product-page .ws-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .product-page .ws-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:640px){
  .product-page .ws-guide-grid,.product-page .ws-related-grid{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;
    overflow:visible!important;margin-inline:0!important;padding-inline:0!important
  }
  .product-page .ws-guide-card,.product-page .ws-related-card{width:100%!important}
}

/* Footer: lead at left, four navigation groups at its right. */
.site-footer .footer-top{
  display:grid!important;grid-template-columns:minmax(320px,.78fr) minmax(0,1.65fr)!important;
  align-items:start!important;gap:clamp(44px,6vw,96px)!important
}
.site-footer .footer-lead{
  grid-column:auto!important;width:auto!important;max-width:520px!important;
  align-self:start!important
}
.site-footer .footer-links{
  grid-column:auto!important;width:100%!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:clamp(20px,2.4vw,38px)!important;align-content:start
}
.site-footer .footer-column{align-items:center!important;text-align:center!important}
.site-footer .footer-column>a{justify-content:center!important;text-align:center!important}
.site-footer .footer-address{text-align:center!important;margin-inline:auto}
@media (max-width:1180px){
  .site-footer .footer-top{grid-template-columns:minmax(260px,.8fr) minmax(0,1.25fr)!important}
  .site-footer .footer-links{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:820px){
  .site-footer .footer-top{grid-template-columns:minmax(0,1fr)!important}
  .site-footer .footer-lead{max-width:620px!important}
}
@media (max-width:560px){
  .site-footer .footer-links{grid-template-columns:minmax(0,1fr)!important}
}

/* ---------- 20. Final alignment refinement 1.4.3 ---------- */

/* Footer: compact lead + aligned 2 by 2 navigation matrix. */
.site-footer .footer-top{
  grid-template-columns:minmax(300px,.82fr) minmax(0,1.45fr)!important;
  gap:clamp(42px,6vw,88px)!important;
  padding-top:clamp(44px,5vw,68px)!important;
  padding-bottom:clamp(34px,4vw,52px)!important
}
.site-footer .footer-lead{justify-content:flex-start!important}
.site-footer .footer-links{
  grid-template-columns:repeat(2,minmax(210px,1fr))!important;
  grid-auto-flow:row!important;align-items:start!important;align-content:start!important;
  column-gap:clamp(36px,5vw,72px)!important;row-gap:clamp(26px,3vw,40px)!important
}
.site-footer .footer-column{
  width:100%!important;align-items:center!important;text-align:center!important;
  justify-content:flex-start!important;padding:0!important;border:0!important
}
.site-footer .footer-column h3{width:100%;text-align:center!important;margin:0 0 10px!important}
.site-footer .footer-column>a{width:fit-content!important;justify-content:center!important;margin-inline:auto!important}
.site-footer .footer-contact p{max-width:30ch;margin:.5rem auto 0!important;text-align:center!important}
.site-footer .footer-address{max-width:34ch!important;margin-inline:auto!important;text-align:center!important}
.site-footer .footer-bottom{padding-top:20px!important;padding-bottom:24px!important}
@media (max-width:880px){
  .site-footer .footer-top{grid-template-columns:minmax(0,1fr)!important}
  .site-footer .footer-lead{max-width:620px!important}
}
@media (max-width:560px){
  .site-footer .footer-links{grid-template-columns:minmax(0,1fr)!important;row-gap:24px!important}
}

/* Product tabs, panels and bordered content: centered as one visual system. */
.woocommerce div.product .woocommerce-tabs ul.tabs{
  justify-content:center!important;text-align:center!important
}
.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  text-align:center!important;justify-content:center!important
}
.woocommerce div.product .woocommerce-tabs .panel{
  width:min(100%,1080px)!important;margin-inline:auto!important;text-align:center!important
}
.woocommerce div.product .woocommerce-tabs .panel>p,
.woocommerce div.product .woocommerce-tabs .panel>h2,
.woocommerce div.product .woocommerce-tabs .panel>h3{
  margin-left:auto!important;margin-right:auto!important;text-align:center!important
}
.ws-product-story,.ws-story-overview,.ws-story-summary,.ws-product-accordion{
  width:100%!important;margin-left:auto!important;margin-right:auto!important
}
.ws-story-overview{
  display:block!important;grid-template-columns:none!important;
  max-width:900px!important;margin-inline:auto!important;text-align:center!important
}
.ws-story-overview .eyebrow{
  display:block!important;width:100%!important;margin:0 auto 14px!important;text-align:center!important
}
.ws-story-overview p,.ws-story-overview strong{
  max-width:760px!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important
}
.ws-story-summary{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(16px,2.4vw,26px)!important;max-width:960px!important
}
.ws-story-card{
  display:flex!important;flex-direction:column!important;align-items:center!important;
  justify-content:flex-start!important;text-align:center!important
}
.ws-story-card h2,.ws-story-card p,.ws-story-card ul,.ws-story-card li{
  text-align:center!important;margin-left:auto!important;margin-right:auto!important
}
.ws-story-card ul{width:fit-content!important;padding-left:1.2em!important}
.ws-story-card li::marker{text-align:center}
.ws-product-accordion{max-width:960px!important}
.ws-story-detail summary,.ws-story-detail__body,
.wrapstoria-specifications th,.wrapstoria-specifications td,
.wrapstoria-how-to-use li,.wrapstoria-faq dt,.wrapstoria-faq dd{
  text-align:center!important
}

/* Reviews: center the panel, copy, controls and form card. */
.woocommerce-Tabs-panel--reviews #reviews,
.woocommerce-Tabs-panel--reviews #comments,
.woocommerce-Tabs-panel--reviews #review_form_wrapper,
.woocommerce-Tabs-panel--reviews #review_form,
.woocommerce-Tabs-panel--reviews #respond{
  width:min(100%,860px)!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important
}
.woocommerce-Tabs-panel--reviews #review_form{
  display:block!important
}
.woocommerce-Tabs-panel--reviews .comment-form{
  width:100%!important;margin-inline:auto!important;justify-content:center!important;text-align:center!important
}
.woocommerce-Tabs-panel--reviews .comment-form>p,
.woocommerce-Tabs-panel--reviews .comment-form>div,
.woocommerce-Tabs-panel--reviews label{
  text-align:center!important
}
.woocommerce-Tabs-panel--reviews input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.woocommerce-Tabs-panel--reviews textarea{
  margin-left:auto!important;margin-right:auto!important;text-align:left!important
}
.woocommerce-Tabs-panel--reviews .comment-form-rating p.stars,
.woocommerce-Tabs-panel--reviews .comment-form-rating p.stars span{
  display:flex!important;align-items:center!important;justify-content:center!important;
  gap:8px!important;width:100%!important;margin:8px auto 0!important
}
.woocommerce-Tabs-panel--reviews .comment-form-rating p.stars a{
  position:relative!important;display:grid!important;place-items:center!important;
  width:42px!important;height:42px!important;overflow:visible!important;
  text-indent:-9999px!important;text-decoration:none!important
}
.woocommerce-Tabs-panel--reviews .comment-form-rating p.stars a::before{
  content:"☆"!important;position:absolute!important;inset:0!important;
  display:grid!important;place-items:center!important;text-indent:0!important;
  font-family:Georgia,"Times New Roman",serif!important;font-size:32px!important;
  line-height:1!important;color:#5f725f!important
}
.woocommerce-Tabs-panel--reviews .comment-form-rating p.stars a:hover::before,
.woocommerce-Tabs-panel--reviews .comment-form-rating p.stars a:focus-visible::before,
.woocommerce-Tabs-panel--reviews .comment-form-rating p.stars a.active::before,
.woocommerce-Tabs-panel--reviews .comment-form-rating p.stars.selected a::before{
  content:"★"!important;color:#b5862e!important
}
.woocommerce-Tabs-panel--reviews .form-submit{text-align:center!important}
.woocommerce-Tabs-panel--reviews .form-submit input[type=submit]{display:inline-flex!important;margin-inline:auto!important}
@media (max-width:720px){
  .ws-story-summary{grid-template-columns:minmax(0,1fr)!important}
}

/* ---------- 21. Footer + product content refinement 1.4.4 ---------- */
.site-footer .footer-top{
  grid-template-columns:minmax(280px,.82fr) minmax(360px,1.18fr)!important;
  gap:clamp(42px,7vw,110px)!important
}
.site-footer .footer-lead h2{
  max-width:12ch!important;margin:.65rem 0 1rem!important;
  font-size:clamp(30px,3.25vw,48px)!important;line-height:1.02!important
}
.site-footer .footer-lead>p{max-width:39ch!important;margin-bottom:16px!important}
.site-footer .footer-contact-inline{
  display:flex;flex-direction:column;align-items:flex-start;gap:8px;
  max-width:42ch;margin-top:4px
}
.site-footer .footer-contact-inline .footer-email{
  color:var(--ivory)!important;font-size:.82rem!important;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;text-decoration:underline;
  text-underline-offset:5px
}
.site-footer .footer-contact-inline .footer-address{
  max-width:42ch!important;margin:0!important;text-align:left!important;
  color:var(--sage-light)!important;font-size:.84rem;line-height:1.65;font-style:normal
}
.site-footer .footer-links{
  grid-template-columns:repeat(2,minmax(170px,1fr))!important;
  gap:clamp(28px,5vw,72px)!important
}
.site-footer .footer-policy-strip{
  display:flex;align-items:center;justify-content:center;gap:clamp(28px,4vw,58px);
  padding-top:22px;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.22)
}
.site-footer .footer-policy-strip h3{
  flex:0 0 auto;margin:0;color:var(--ivory)!important;
  font-size:.76rem;letter-spacing:.16em;text-transform:uppercase
}
.site-footer .footer-policy-strip nav{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;
  gap:12px clamp(24px,4vw,56px)
}
.site-footer .footer-policy-strip a{
  color:var(--ivory)!important;font-size:.76rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;text-decoration:underline;
  text-underline-offset:5px
}
.site-footer .footer-policy-strip a:hover,
.site-footer .footer-policy-strip a:focus-visible{color:var(--sage-light)!important}
.site-footer .footer-bottom{border-top:0!important}
@media (max-width:820px){
  .site-footer .footer-top{grid-template-columns:minmax(0,1fr)!important}
  .site-footer .footer-contact-inline{align-items:flex-start}
}
@media (max-width:640px){
  .site-footer .footer-policy-strip{flex-direction:column;gap:16px}
  .site-footer .footer-policy-strip nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:14px}
  .site-footer .footer-policy-strip a{text-align:center}
}

/* Every Description and Reviews element is optically centered, including nested plugin content. */
.product-page .woocommerce-Tabs-panel--description,
.product-page .woocommerce-Tabs-panel--description :where(h1,h2,h3,h4,h5,h6,p,div,span,strong,em,li,dt,dd,summary,th,td),
.product-page .woocommerce-Tabs-panel--reviews,
.product-page .woocommerce-Tabs-panel--reviews :where(h1,h2,h3,h4,h5,h6,p,div,span,strong,em,li,dt,dd,summary){
  text-align:center!important
}
.product-page .woocommerce-Tabs-panel--description :where(section,article,div,table,ul,ol,dl),
.product-page .woocommerce-Tabs-panel--reviews :where(section,article,div,form,fieldset,table,ul,ol,dl){
  margin-left:auto!important;margin-right:auto!important
}
.product-page .woocommerce-Tabs-panel--description :where(ul,ol),
.product-page .woocommerce-Tabs-panel--reviews :where(ul,ol){
  padding-left:0!important;list-style-position:inside!important
}
.product-page .woocommerce-Tabs-panel--description :where(input,textarea,select),
.product-page .woocommerce-Tabs-panel--reviews :where(input,textarea,select){
  margin-left:auto!important;margin-right:auto!important
}
.product-page .woocommerce-Tabs-panel--description :where(.ws-story-card,.ws-story-detail,.ws-bulk-order,table),
.product-page .woocommerce-Tabs-panel--reviews :where(#review_form_wrapper,.comment-form){
  max-width:960px!important
}

/* ---------- 22. Cart, footer and absolute centering refinement 1.4.5 ---------- */

/* Cart: release the editorial-page width cap and keep the two columns separated. */
body.woocommerce-cart main.inner-page,
body.woocommerce-cart .editorial-page,
body.woocommerce-cart .entry-content,
body.page-id-8 main.inner-page,
body.page-id-8 .editorial-page,
body.page-id-8 .entry-content{
  width:100%!important;max-width:none!important;min-width:0!important
}
body.woocommerce-cart .wp-block-woocommerce-cart,
body.page-id-8 .wp-block-woocommerce-cart{
  width:min(100%,1180px)!important;max-width:1180px!important;
  margin-left:auto!important;margin-right:auto!important;box-sizing:border-box
}
body.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart,
body.page-id-8 .wc-block-components-sidebar-layout.wc-block-cart{
  display:grid!important;grid-template-columns:minmax(0,1.72fr) minmax(320px,.82fr)!important;
  align-items:start!important;gap:clamp(28px,4vw,54px)!important;width:100%!important
}
body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .wc-block-cart__sidebar,
body.page-id-8 .wc-block-cart__main,
body.page-id-8 .wc-block-cart__sidebar{
  width:auto!important;max-width:none!important;min-width:0!important;
  margin:0!important;padding-left:0!important;padding-right:0!important
}
body.woocommerce-cart .wc-block-cart__main,
body.page-id-8 .wc-block-cart__main{grid-column:1!important}
body.woocommerce-cart .wc-block-cart__sidebar,
body.page-id-8 .wc-block-cart__sidebar{grid-column:2!important}
body.woocommerce-cart .wc-block-cart-items,
body.page-id-8 .wc-block-cart-items{width:100%!important;table-layout:fixed!important}
body.woocommerce-cart .wc-block-cart-items__header,
body.page-id-8 .wc-block-cart-items__header{padding-inline:0!important}
body.woocommerce-cart .wc-block-cart-item__wrap,
body.page-id-8 .wc-block-cart-item__wrap{min-width:0!important;overflow-wrap:anywhere}
body.woocommerce-cart .wc-block-components-sidebar,
body.page-id-8 .wc-block-components-sidebar{
  border:1px solid var(--line)!important;border-radius:16px;padding:22px!important;
  background:rgba(255,255,255,.52)!important;box-sizing:border-box
}
body.woocommerce-cart .wc-block-cart__submit-container,
body.page-id-8 .wc-block-cart__submit-container{width:100%!important}
@media (max-width:900px){
  body.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart,
  body.page-id-8 .wc-block-components-sidebar-layout.wc-block-cart{
    grid-template-columns:minmax(0,1fr)!important;gap:26px!important
  }
  body.woocommerce-cart .wc-block-cart__main,
  body.woocommerce-cart .wc-block-cart__sidebar,
  body.page-id-8 .wc-block-cart__main,
  body.page-id-8 .wc-block-cart__sidebar{grid-column:1!important}
}

/* Footer: policies live directly under Explore and Work With Us; less unused black space. */
.site-footer .footer-top{
  grid-template-columns:minmax(270px,.78fr) minmax(430px,1.22fr)!important;
  align-items:start!important;gap:clamp(42px,7vw,104px)!important;
  padding-top:clamp(32px,4vw,52px)!important;padding-bottom:clamp(26px,3vw,40px)!important
}
.site-footer .footer-navigation{
  display:flex;flex-direction:column;align-items:stretch;gap:20px;min-width:0
}
.site-footer .footer-navigation .footer-links{
  width:100%!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(26px,6vw,88px)!important
}
.site-footer .footer-navigation .footer-column{gap:2px!important}
.site-footer .footer-navigation .footer-column>a{min-height:34px!important}
.site-footer .footer-navigation .footer-policy-strip{
  width:100%;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:center;justify-items:center;gap:12px 18px;
  margin-top:2px;padding:18px 0 0!important;
  border-top:1px solid rgba(255,255,255,.2)!important;border-bottom:0!important
}
.site-footer .footer-navigation .footer-policy-strip a{
  width:100%;text-align:center!important;white-space:normal
}
.site-footer .footer-bottom{
  padding-top:16px!important;padding-bottom:18px!important;
  border-top:1px solid rgba(255,255,255,.2)!important
}
@media (max-width:900px){
  .site-footer .footer-top{grid-template-columns:minmax(0,1fr)!important}
  .site-footer .footer-navigation{width:100%}
}
@media (max-width:640px){
  .site-footer .footer-navigation .footer-policy-strip{
    grid-template-columns:repeat(2,minmax(0,1fr))!important
  }
}

/* Description and Reviews share one page-centered axis on every product. */
.single-product main.product-page>div.product>.woocommerce-tabs{
  grid-column:1/-1!important;justify-self:stretch!important;clear:both!important;
  width:100%!important;max-width:100%!important;min-width:0!important;
  margin-left:0!important;margin-right:0!important;box-sizing:border-box!important
}
.single-product .woocommerce-tabs .woocommerce-Tabs-panel{
  width:100%!important;max-width:none!important;min-width:0!important;
  margin-left:0!important;margin-right:0!important;box-sizing:border-box!important
}
.single-product .woocommerce-Tabs-panel--description>.ws-product-story,
.single-product .woocommerce-Tabs-panel--reviews>#reviews{
  width:min(100%,860px)!important;max-width:860px!important;
  margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important
}
.single-product .woocommerce-Tabs-panel--description .ws-story-overview,
.single-product .woocommerce-Tabs-panel--description .ws-story-summary,
.single-product .woocommerce-Tabs-panel--description .ws-product-accordion,
.single-product .woocommerce-Tabs-panel--description .ws-bulk-order,
.single-product .woocommerce-Tabs-panel--description .ws-planning-links{
  width:100%!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important;
  box-sizing:border-box!important;text-align:center!important
}
.single-product .woocommerce-Tabs-panel--description .ws-bulk-actions,
.single-product .woocommerce-Tabs-panel--description .ws-planning-links{
  display:flex!important;justify-content:center!important;align-items:center!important;flex-wrap:wrap!important
}
@media (max-width:720px){
  .single-product .woocommerce-tabs .woocommerce-Tabs-panel{
    padding-left:16px!important;padding-right:16px!important
  }
}

/* ---------- 23. Unified volume pricing table 1.4.6 ---------- */
.single-product .summary.entry-summary .ws-vp{
  display:block!important;width:100%!important;max-width:100%!important;
  margin:0 0 20px!important;padding:0!important;overflow:hidden!important;
  border:1px solid #d8d5ca!important;border-radius:14px!important;
  background:#fffdfa!important;box-shadow:0 8px 24px rgba(25,45,37,.055)!important
}
.single-product .summary.entry-summary .ws-vp-head{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:12px!important;width:100%!important;padding:13px 16px!important;
  background:#f5f0e8!important;border-bottom:1px solid #ddd8ce!important;
  box-sizing:border-box!important
}
.single-product .summary.entry-summary .ws-vp-title{
  font-size:14px!important;font-weight:750!important;letter-spacing:.01em!important;color:#14241d!important
}
.single-product .summary.entry-summary .ws-vp-sub{
  font-size:12px!important;color:#68736d!important;text-align:right!important
}
.single-product .summary.entry-summary .ws-vp-table{
  width:100%!important;margin:0!important;border:0!important;border-collapse:collapse!important;
  table-layout:fixed!important;background:#fffdfa!important
}
.single-product .summary.entry-summary .ws-vp-table th,
.single-product .summary.entry-summary .ws-vp-table td{
  width:33.333%!important;padding:12px 10px!important;border:0!important;
  border-bottom:1px solid #e6e1d8!important;text-align:center!important;vertical-align:middle!important
}
.single-product .summary.entry-summary .ws-vp-table th{
  background:#fbfaf6!important;color:#5a695f!important;font-size:10.5px!important;
  font-weight:750!important;letter-spacing:.08em!important;text-transform:uppercase!important
}
.single-product .summary.entry-summary .ws-vp-table td{
  color:#24342d!important;font-size:13px!important;font-variant-numeric:tabular-nums
}
.single-product .summary.entry-summary .ws-vp-table td.ws-empty{
  width:100%!important;padding:14px 12px!important;background:#fffdfa!important
}
.single-product .summary.entry-summary .ws-vp-quote,
.single-product .summary.entry-summary .ws-empty a{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:36px;padding:0 16px!important;border:1px solid #617467!important;border-radius:999px!important;
  color:#203b31!important;background:#f7faf6!important;font-weight:700!important;
  text-decoration:none!important;transition:background-color .2s ease,color .2s ease,border-color .2s ease
}
.single-product .summary.entry-summary .ws-vp-quote:hover,
.single-product .summary.entry-summary .ws-vp-quote:focus-visible,
.single-product .summary.entry-summary .ws-empty a:hover,
.single-product .summary.entry-summary .ws-empty a:focus-visible{
  color:#fff!important;background:#203b31!important;border-color:#203b31!important
}
.single-product .summary.entry-summary .ws-moq-note{
  margin:0!important;padding:11px 14px 12px!important;border-top:0!important;
  background:#faf8f2!important;color:#667169!important;font-size:11.5px!important;
  line-height:1.5!important;text-align:center!important
}
.single-product .summary.entry-summary .ws-moq-note a{
  color:#203b31!important;font-weight:700!important;text-decoration:underline!important;
  text-underline-offset:3px
}
.single-product .summary.entry-summary .ws-vp-table tr.ws-on td{
  background:#eef4eb!important;color:#14241d!important;font-weight:700!important
}
@media (max-width:520px){
  .single-product .summary.entry-summary .ws-vp-head{
    align-items:flex-start!important;flex-direction:column!important;gap:3px!important
  }
  .single-product .summary.entry-summary .ws-vp-sub{text-align:left!important}
  .single-product .summary.entry-summary .ws-vp-table th,
  .single-product .summary.entry-summary .ws-vp-table td{padding:10px 5px!important;font-size:10.5px!important}
  .single-product .summary.entry-summary .ws-vp-quote,
  .single-product .summary.entry-summary .ws-empty a{width:100%!important;padding-inline:10px!important}
}

/* ---------- 24. Cart spacing + final footer order 1.4.7 ---------- */
body.woocommerce-cart .wc-block-cart-items th,
body.page-id-8 .wc-block-cart-items th{
  padding:14px 18px!important;text-align:center!important;vertical-align:middle!important;
  line-height:1.35!important
}
body.woocommerce-cart .wc-block-cart-items td,
body.page-id-8 .wc-block-cart-items td{
  padding-top:20px!important;padding-bottom:20px!important;vertical-align:middle!important
}
body.woocommerce-cart .wc-block-cart-items .wc-block-cart-items__header span,
body.page-id-8 .wc-block-cart-items .wc-block-cart-items__header span{
  display:block!important;width:100%!important;text-align:center!important
}
body.woocommerce-cart .wc-block-cart-item__total,
body.page-id-8 .wc-block-cart-item__total{
  padding-left:14px!important;padding-right:14px!important;text-align:center!important
}
.site-footer .footer-lead>.eyebrow{margin-bottom:12px!important}
.site-footer .footer-lead>p{margin-top:0!important}
.site-footer .footer-navigation{justify-content:center!important}
.site-footer .footer-policy-strip--bottom{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:center!important;justify-items:center!important;gap:12px 18px!important;
  padding-top:17px!important;padding-bottom:20px!important;
  border-top:1px solid rgba(255,255,255,.2)!important;border-bottom:0!important
}
.site-footer .footer-policy-strip--bottom a{
  width:100%!important;text-align:center!important;color:var(--ivory)!important;
  font-size:.76rem!important;font-weight:700!important;letter-spacing:.08em!important;
  text-transform:uppercase!important;text-decoration:underline!important;text-underline-offset:5px!important
}
.site-footer .footer-policy-strip--bottom a:hover,
.site-footer .footer-policy-strip--bottom a:focus-visible{color:var(--sage-light)!important}
@media (max-width:640px){
  .site-footer .footer-policy-strip--bottom{
    grid-template-columns:repeat(2,minmax(0,1fr))!important
  }
}


