/* Superior Bag, site-wide modern layer.
   Every rule is scoped to body.sb-modern so nothing applies until the class is added.
   !important is used only where old theme, WooCommerce or Customizer rules already use it or load later. */

:root{
  --sb-forest:#0B3D24;
  --sb-forest-deep:#0A3320;
  --sb-forest-mid:#0F5230;
  --sb-pine:#14592F;
  --sb-green:#1F8A45;
  --sb-bright:#2BA84A;
  --sb-ink:#14180F;
  --sb-text:#14180F;
  --sb-text-soft:#3A4034;
  --sb-muted:#5C6357;
  --sb-cream:#F6F5EF;
  --sb-mist:#F2F5F0;
  --sb-mint:#E7F0E7;
  --sb-white:#fff;
  --sb-line:rgba(20,24,15,.12);
  --sb-line-strong:rgba(20,24,15,.2);
  --sb-danger:#B42318;
  --sb-radius-sm:10px;
  --sb-radius:14px;
  --sb-radius-lg:20px;
  --sb-ease:cubic-bezier(.2,.7,.2,1);
  --sb-lift:0 22px 40px -20px rgba(11,61,36,.45);
  --sb-wrap:1180px;
  --sb-gutter:28px;
  --sb-display:"Bricolage Grotesque",system-ui,sans-serif;
  --sb-body:"Spline Sans",system-ui,-apple-system,sans-serif;
  --sb-mono:"Space Mono",ui-monospace,Menlo,monospace;
}

/* ---------- 0. Base + container ---------- */
body.sb-modern{
  font-family:var(--sb-body);
  color:var(--sb-ink);
  background:var(--sb-cream);
  -webkit-font-smoothing:antialiased;
}
/* old theme hard-codes 1120/960/767/640/480/420/315px widths, which overflow phones */
.sb-modern .container{
  width:auto !important;
  max-width:var(--sb-wrap) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:var(--sb-gutter) !important;
  padding-right:var(--sb-gutter) !important;
}
.sb-modern ::selection{ background:var(--sb-bright); color:#fff; }

/* ---------- 1. Top stripe + header ---------- */
.sb-modern header{ background:var(--sb-white); border-bottom:1px solid var(--sb-line); z-index:50; }
.sb-modern header .top-stripe{ background:var(--sb-forest-deep); }
.sb-modern header .top-stripe .social{ display:none; }

.sb-modern header > .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  padding-top:18px !important;
  padding-bottom:18px !important;
}
.sb-modern header > .container::before,
.sb-modern header > .container::after{ display:none; }
.sb-modern .hlogo{ flex:0 0 auto; width:176px !important; padding:0 !important; margin:0 !important; }
.sb-modern .hlogo .logo{ display:block; width:100%; height:auto; margin:0 !important; padding:0 !important; }

.sb-modern header #nav-menu{
  float:none;
  width:auto;
  flex:1 1 auto;
  background:transparent;
  margin:0;
  text-align:left;
}
.sb-modern header #nav-menu > div{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
}
.sb-modern header #nav-menu ul.menu{
  display:flex;
  align-items:center;
  gap:2px;
  float:none !important;
  margin:0;
  padding:0;
}
.sb-modern header #nav-menu ul li,
.sb-modern header #nav-menu ul li:first-child{
  background:transparent;
  color:var(--sb-ink);
  font-weight:400;
  font-size:1rem !important;
  text-transform:none;
  border-radius:999px;
}
.sb-modern header #nav-menu ul li:hover,
.sb-modern header #nav-menu .current-menu-item,
.sb-modern header #nav-menu .current-menu-ancestor{
  background:transparent !important;
  color:var(--sb-ink);
}
.sb-modern header #nav-menu ul li a{
  font-family:var(--sb-body);
  font-weight:600;
  font-size:.95rem;
  letter-spacing:0;
  color:var(--sb-ink);
  padding:10px 16px;
  border-radius:999px;
  transition:background .2s var(--sb-ease), color .2s var(--sb-ease);
}
.sb-modern header #nav-menu > div > ul > li > a:hover,
.sb-modern header #nav-menu > div > ul > li:hover > a{ background:var(--sb-mint); color:var(--sb-pine); }
.sb-modern header #nav-menu > div > ul > li.current-menu-item > a,
.sb-modern header #nav-menu > div > ul > li.current-menu-ancestor > a,
.sb-modern header #nav-menu > div > ul > li.current-menu-parent > a{ color:var(--sb-green); }
.sb-modern header #nav-menu > div > ul > li.menu-item-has-children > a::after{
  content:"";
  display:inline-block;
  width:6px; height:6px;
  margin:0 0 3px 8px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);
  opacity:.6;
}

/* dropdowns */
.sb-modern header #nav-menu ul ul{
  top:calc(100% + 6px);
  min-width:230px;
  padding:8px;
  background:var(--sb-white);
  border:1px solid var(--sb-line);
  border-radius:var(--sb-radius);
  box-shadow:0 24px 48px -24px rgba(11,61,36,.45);
  display:block;
}
.sb-modern header #nav-menu ul li:hover ul{ width:auto; }
.sb-modern header #nav-menu ul ul::before{
  content:"";
  position:absolute;
  left:0; right:0; top:-10px; height:10px;
}
.sb-modern header #nav-menu ul ul li,
.sb-modern header #nav-menu ul ul li:first-child{
  display:block;
  width:100%;
  background:transparent;
  color:var(--sb-ink);
  border-radius:var(--sb-radius-sm);
}
.sb-modern header #nav-menu ul ul li:hover{ background:var(--sb-mint) !important; }
.sb-modern header #nav-menu ul ul li a{
  font-weight:500;
  font-size:.92rem;
  padding:10px 14px;
  border-radius:var(--sb-radius-sm);
  color:var(--sb-ink);
}
.sb-modern header #nav-menu ul ul li a:hover{ background:transparent; color:var(--sb-pine); }

/* header CTA */
.sb-modern header .CTAgreenbutton{
  flex:0 0 auto;
  margin:0 !important;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 22px !important;
  background:var(--sb-green) !important;
  color:#fff !important;
  font-family:var(--sb-body);
  font-weight:600;
  font-size:.92rem !important;
  text-transform:none;
  letter-spacing:0;
  border-radius:999px;
  white-space:nowrap;
  transition:background .2s var(--sb-ease), transform .2s var(--sb-ease);
}
.sb-modern header .CTAgreenbutton:hover{
  background:var(--sb-pine) !important;
  color:#fff !important;
  transform:translateY(-1px);
}


/* ---------- 2. Title band ---------- */
.sb-modern section.title{
  position:relative;
  overflow:hidden;
  background:var(--sb-forest) !important;
}
.sb-modern section.title::before{
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.04) 0 2px,transparent 2px 22px);
  pointer-events:none;
}
.sb-modern section.title .container{ position:relative; z-index:1; }

/* product pages: the band names the product line, the product name stays the H1 below */
.sb-modern section.title .sb-band-kicker{
  font-family:var(--sb-mono);
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--sb-bright);
  margin:0 0 12px;
  display:flex;
  align-items:center;
  gap:12px;
}
.sb-modern section.title .sb-band-kicker::before{ content:""; width:34px; height:1px; background:var(--sb-bright); }
.sb-modern section.title .sb-band-title{
  font-family:var(--sb-display);
  font-weight:800;
  font-size:clamp(1.9rem,4vw,2.8rem);
  line-height:1.05;
  letter-spacing:-.02em;
  margin:0;
}
.sb-modern section.title .sb-band-title a{ color:#fff; text-decoration:none; transition:color .2s; }
.sb-modern section.title .sb-band-title a:hover{ color:var(--sb-bright); }

/* ---------- 3. Content typography ---------- */
.sb-modern section.primary .content{
  font-family:var(--sb-body);
  font-size:1.0625rem;
  line-height:1.7;
  color:var(--sb-text);
}
/* readable line length on blog posts, left edge stays aligned with the title band */
.sb-modern.single-post section.primary .content > *{ max-width:780px; }
.sb-modern.single-post section.primary .content > table,
.sb-modern.single-post section.primary .content > figure,
.sb-modern.single-post section.primary .content > .wp-block-table{ max-width:100%; }

.sb-modern section.primary .content p{ margin:0 0 1.1em; color:var(--sb-text); }
.sb-modern section.primary .content strong,
.sb-modern section.primary .content b{ color:var(--sb-ink); font-weight:700; }

.sb-modern section.primary .content h1,
.sb-modern section.primary .content h2,
.sb-modern section.primary .content h3,
.sb-modern section.primary .content h4{
  font-family:var(--sb-display);
  color:var(--sb-ink);
  letter-spacing:-.02em;
  text-transform:none;
  border:0;
  background:none;
}
.sb-modern section.primary .content h2{
  font-weight:800;
  font-size:clamp(1.55rem,2.6vw,2.05rem);
  line-height:1.15;
  margin:1.9em 0 .6em;
  padding:0;
}
.sb-modern section.primary .content h3{
  font-weight:800;
  font-size:1.3rem;
  line-height:1.25;
  margin:1.6em 0 .5em;
}
.sb-modern section.primary .content h4{
  font-weight:700;
  font-size:1.1rem;
  line-height:1.3;
  text-align:left;
  margin:1.4em 0 .5em;
}
.sb-modern section.primary .content h4 span{ background:none; padding:0; }
.sb-modern section.primary .content > h2:first-child,
.sb-modern section.primary .content > h3:first-child,
.sb-modern section.primary .content > .date + h2{ margin-top:0; }

.sb-modern section.primary .content a{ color:var(--sb-pine); }
.sb-modern section.primary .content p a,
.sb-modern section.primary .content li a,
.sb-modern section.primary .content td a{
  color:var(--sb-pine);
  font-weight:600;
  border-bottom:0;
  text-decoration:underline;
  text-decoration-color:rgba(31,138,69,.45);
  text-decoration-thickness:2px;
  text-underline-offset:3px;
  transition:color .2s, text-decoration-color .2s;
}
.sb-modern section.primary .content p a:hover,
.sb-modern section.primary .content li a:hover,
.sb-modern section.primary .content td a:hover{ color:var(--sb-green); text-decoration-color:var(--sb-green); border-bottom:0; }

.sb-modern section.primary .content ul:not(.products):not(.tabs):not(.page-numbers):not(.wc_payment_methods):not(.woocommerce-shipping-methods):not(.woocommerce-error):not(.woocommerce-message):not(.woocommerce-info):not(.gform_fields){
  list-style:none;
  margin:0 0 1.2em;
  padding:0;
}
.sb-modern section.primary .content ul:not(.products):not(.tabs):not(.page-numbers):not(.wc_payment_methods):not(.woocommerce-shipping-methods):not(.woocommerce-error):not(.woocommerce-message):not(.woocommerce-info):not(.gform_fields) > li{
  position:relative;
  padding-left:1.5em;
  margin:0 0 .5em;
}
.sb-modern section.primary .content ul:not(.products):not(.tabs):not(.page-numbers):not(.wc_payment_methods):not(.woocommerce-shipping-methods):not(.woocommerce-error):not(.woocommerce-message):not(.woocommerce-info):not(.gform_fields) > li::before{
  content:"";
  position:absolute;
  left:.2em;
  top:.68em;
  width:7px;
  height:7px;
  border-radius:2px;
  background:var(--sb-green);
}
.sb-modern section.primary .content ol{ margin:0 0 1.2em 1.3em; padding:0; }
.sb-modern section.primary .content ol > li{ margin:0 0 .5em; padding-left:.3em; }
.sb-modern section.primary .content ol > li::marker{ color:var(--sb-green); font-weight:700; }

.sb-modern section.primary .content blockquote{
  margin:1.6em 0;
  padding:18px 22px;
  background:var(--sb-white);
  border-left:4px solid var(--sb-green);
  border-radius:0 var(--sb-radius) var(--sb-radius) 0;
  color:var(--sb-ink);
}
.sb-modern section.primary .content hr{ border:0; height:1px; background:var(--sb-line); margin:2em 0; }
.sb-modern section.primary .content img{ border-radius:12px; }
.sb-modern section.primary .content iframe{ border-radius:var(--sb-radius); max-width:100%; }

/* generic tables inside page and post content (Woo and .sb-table have their own) */
.sb-modern section.primary .content table:not(.shop_table):not(.sb-table):not(.woocommerce-product-attributes):not(.sb-hours):not(.shop_attributes):not(.variations){
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:var(--sb-white);
  border:1px solid var(--sb-line);
  border-radius:12px;
  overflow:hidden;
  font-size:.95rem;
  margin:1.6em 0;
}
.sb-modern section.primary .content table:not(.shop_table):not(.sb-table):not(.woocommerce-product-attributes):not(.sb-hours):not(.shop_attributes):not(.variations) th{
  background:var(--sb-forest);
  color:#fff;
  font-family:var(--sb-display);
  font-weight:700;
  text-align:left;
  padding:13px 16px;
}
.sb-modern section.primary .content table:not(.shop_table):not(.sb-table):not(.woocommerce-product-attributes):not(.sb-hours):not(.shop_attributes):not(.variations) td{
  padding:12px 16px;
  border-top:1px solid var(--sb-line);
  vertical-align:top;
}
.sb-modern section.primary .content table:not(.shop_table):not(.sb-table):not(.woocommerce-product-attributes):not(.sb-hours):not(.shop_attributes):not(.variations) tr:first-child td{ border-top:0; }
.sb-modern section.primary .content table:not(.shop_table):not(.sb-table):not(.woocommerce-product-attributes):not(.sb-hours):not(.shop_attributes):not(.variations) tbody tr:nth-child(even) td{ background:var(--sb-mist); }

/* old PDF download link */
.sb-modern section.primary .content .pdf{
  border-radius:var(--sb-radius);
  border-color:var(--sb-line);
  font-family:var(--sb-body);
  font-weight:600;
  color:var(--sb-ink);
}

/* ---------- 4. Neutralize 2019 Customizer rules inside page content ---------- */
.sb-modern section.primary .elementor p{
  font-weight:400 !important;
  color:var(--sb-text) !important;
  line-height:1.7;
}
.sb-modern section.primary .elementor h3{
  font-size:1.3rem !important;
  color:var(--sb-ink) !important;
  padding-bottom:0;
}
.sb-modern section.primary .elementor img{ box-shadow:none; }
.sb-modern section.primary .elementor-widget-text-editor{ font-family:var(--sb-body); color:var(--sb-text); }

/* ---------- 5. Buttons + form fields ---------- */
.sb-modern section.primary a.button,
.sb-modern section.primary button.button,
.sb-modern section.primary input.button,
.sb-modern section.primary button[type="submit"],
.sb-modern section.primary input[type="submit"],
.sb-modern section.primary #respond input#submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:var(--sb-green) !important;
  color:#fff !important;
  font-family:var(--sb-body) !important;
  font-weight:600 !important;
  font-size:.95rem !important;
  line-height:1.2 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  text-decoration:none !important;
  text-shadow:none !important;
  border:0 !important;
  border-radius:999px !important;
  padding:13px 26px !important;
  box-shadow:none !important;
  cursor:pointer;
  transition:background .2s var(--sb-ease), transform .2s var(--sb-ease), opacity .2s;
}
.sb-modern section.primary a.button:hover,
.sb-modern section.primary button.button:hover,
.sb-modern section.primary input.button:hover,
.sb-modern section.primary button[type="submit"]:hover,
.sb-modern section.primary input[type="submit"]:hover{
  background:var(--sb-pine) !important;
  color:#fff !important;
  transform:translateY(-1px);
}
.sb-modern section.primary .button:disabled,
.sb-modern section.primary .button.disabled,
.sb-modern section.primary .button[disabled]{ opacity:.45 !important; transform:none !important; cursor:not-allowed; }
.sb-modern section.primary .button.loading{ opacity:.6 !important; }
.sb-modern section.primary .button.loading::after{ top:auto !important; right:12px !important; }

/* secondary buttons (cart update, return to shop) */
.sb-modern section.primary button[name="update_cart"],
.sb-modern section.primary .return-to-shop .button,
.sb-modern section.primary .woocommerce-MyAccount-content .button:not(.alt){
  background:var(--sb-white) !important;
  color:var(--sb-pine) !important;
  box-shadow:inset 0 0 0 1.5px var(--sb-green) !important;
}
.sb-modern section.primary button[name="update_cart"]:hover,
.sb-modern section.primary .return-to-shop .button:hover{ background:var(--sb-mint) !important; color:var(--sb-pine) !important; }

.sb-modern section.primary input[type="text"],
.sb-modern section.primary input[type="email"],
.sb-modern section.primary input[type="tel"],
.sb-modern section.primary input[type="password"],
.sb-modern section.primary input[type="number"],
.sb-modern section.primary input[type="search"],
.sb-modern section.primary input[type="url"],
.sb-modern section.primary input.input-text,
.sb-modern section.primary select,
.sb-modern section.primary textarea{
  font-family:var(--sb-body) !important;
  font-size:.97rem !important;
  color:var(--sb-ink) !important;
  background-color:var(--sb-white) !important;
  border:1.5px solid rgba(20,24,15,.16) !important;
  border-radius:var(--sb-radius-sm) !important;
  padding:12px 14px !important;
  line-height:1.4 !important;
  box-shadow:none !important;
  outline:none;
  transition:border-color .2s, box-shadow .2s;
}
.sb-modern section.primary select{
  padding-right:40px !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2314592F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right 14px center !important;
  -webkit-appearance:none;
  appearance:none;
  cursor:pointer;
}
.sb-modern section.primary input:focus,
.sb-modern section.primary select:focus,
.sb-modern section.primary textarea:focus{
  border-color:var(--sb-green) !important;
  box-shadow:0 0 0 4px rgba(31,138,69,.14) !important;
}
.sb-modern section.primary label{
  font-family:var(--sb-body);
  font-size:.88rem;
  font-weight:600;
  color:var(--sb-ink);
}
.sb-modern section.primary .required{ color:var(--sb-danger); text-decoration:none; border:0; }
.sb-modern section.primary input[type="checkbox"],
.sb-modern section.primary input[type="radio"]{ accent-color:var(--sb-green); width:17px; height:17px; vertical-align:-3px; }

/* Gravity Forms (Request Sample, and any future forms) */
.sb-modern section.primary .gform_wrapper .gform_fields{ row-gap:18px !important; }
.sb-modern section.primary .gform_wrapper .gfield_label,
.sb-modern section.primary .gform_wrapper legend.gfield_label{
  font-family:var(--sb-body) !important;
  font-size:.88rem !important;
  font-weight:600 !important;
  color:var(--sb-ink) !important;
  margin-bottom:6px !important;
}
.sb-modern section.primary .gform_wrapper .gfield_required{ color:var(--sb-danger) !important; font-size:.78rem !important; font-weight:500; }
.sb-modern section.primary .gform_wrapper .gform-field-label--type-sub,
.sb-modern section.primary .gform_wrapper .ginput_complex label{
  font-family:var(--sb-body) !important;
  font-size:.78rem !important;
  font-weight:500 !important;
  color:var(--sb-muted) !important;
  padding-top:4px;
}
.sb-modern section.primary .gform_wrapper .ginput_complex{ row-gap:12px !important; }
.sb-modern section.primary .gform_wrapper .gfield_description{ font-size:.85rem !important; color:var(--sb-muted) !important; }
.sb-modern section.primary .gform_wrapper .gfield_error input,
.sb-modern section.primary .gform_wrapper .gfield_error select,
.sb-modern section.primary .gform_wrapper .gfield_error textarea{ border-color:var(--sb-danger) !important; }
.sb-modern section.primary .gform_wrapper .gfield_validation_message,
.sb-modern section.primary .gform_wrapper .validation_message{
  background:transparent !important;
  border:0 !important;
  padding:6px 0 0 !important;
  color:var(--sb-danger) !important;
  font-size:.85rem !important;
}
.sb-modern section.primary .gform_wrapper .gform_validation_errors{
  background:#FEF3F2 !important;
  border:1px solid rgba(180,35,24,.25) !important;
  border-radius:var(--sb-radius-sm) !important;
  box-shadow:none !important;
}
.sb-modern section.primary .gform_wrapper .gform_validation_errors > h2{ font-family:var(--sb-body) !important; font-size:.95rem !important; color:var(--sb-danger) !important; margin:0 !important; }
.sb-modern section.primary .gform_wrapper .gform_footer{ margin-top:10px !important; padding-top:0 !important; }
.sb-modern section.primary .gform_wrapper .gform_footer input[type="submit"]{ width:100%; padding:16px 26px !important; font-size:1rem !important; }
.sb-modern section.primary .gform_confirmation_message{
  background:var(--sb-mint);
  border-left:4px solid var(--sb-green);
  border-radius:var(--sb-radius-sm);
  padding:18px 20px;
  color:var(--sb-ink);
  font-weight:600;
}

/* Request Sample page */
.sb-modern section.primary .sb-sample-page{
  display:grid;
  grid-template-columns:minmax(0,5fr) minmax(0,7fr);
  gap:56px;
  align-items:start;
}
.sb-modern section.primary .sb-sample-page::before,
.sb-modern section.primary .sb-sample-page::after{ content:none; }
.sb-modern section.primary .sb-sample-intro{ position:sticky; top:32px; }
.sb-modern section.primary .sb-sample-intro .sb-label{
  font-family:var(--sb-mono);
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--sb-green);
  margin:0 0 14px;
}
.sb-modern section.primary .sb-sample-intro h2{ margin:0 0 16px; font-size:clamp(1.8rem,3vw,2.4rem); line-height:1.08; }
.sb-modern section.primary .sb-sample-form{
  background:var(--sb-white);
  border:1px solid var(--sb-line);
  border-radius:var(--sb-radius-lg);
  padding:32px;
  box-shadow:0 30px 60px -40px rgba(11,61,36,.35);
}

/* ---------- 6. WooCommerce notices ---------- */
.sb-modern .woocommerce-message,
.sb-modern .woocommerce-info,
.sb-modern .woocommerce-error,
.sb-modern .woocommerce-noreviews,
.sb-modern p.no-comments{
  background:var(--sb-white) !important;
  color:var(--sb-ink) !important;
  font-family:var(--sb-body);
  font-size:.97rem;
  border:1px solid var(--sb-line) !important;
  border-left:4px solid var(--sb-green) !important;
  border-radius:var(--sb-radius-sm) !important;
  padding:16px 20px 16px 50px !important;
  margin:0 0 24px !important;
  box-shadow:none;
  line-height:1.5;
}
.sb-modern .woocommerce-message::before,
.sb-modern .woocommerce-info::before{ color:var(--sb-green) !important; top:1.05em !important; left:1.2em !important; }
.sb-modern .woocommerce-error{ border-left-color:var(--sb-danger) !important; }
.sb-modern .woocommerce-error::before{ color:var(--sb-danger) !important; top:1.05em !important; left:1.2em !important; }
.sb-modern .woocommerce-message .button,
.sb-modern .woocommerce-info .button{ float:right; margin:-6px 0 -6px 16px; padding:9px 18px !important; font-size:.88rem !important; }

/* ---------- 7. Product grid + cards (shop, categories, related, /products/, /order-now/) ---------- */
.sb-modern section.primary ul.products{
  display:grid !important;
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:18px;
  margin:0 0 44px !important;
  padding:0 !important;
  list-style:none;
}
.sb-modern section.primary ul.products::before,
.sb-modern section.primary ul.products::after{ content:none !important; display:none !important; }

.sb-modern section.primary ul.products li.product{
  float:none !important;
  width:auto !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 16px 16px !important;
  display:flex !important;
  flex-direction:column;
  text-align:left !important;
  background:var(--sb-white) !important;
  border:1px solid var(--sb-line) !important;
  border-radius:var(--sb-radius);
  overflow:hidden;
  box-shadow:0 1px 2px rgba(11,61,36,.05) !important;
  transition:transform .3s var(--sb-ease), box-shadow .3s var(--sb-ease), border-color .3s;
}
.sb-modern section.primary ul.products li.product:hover{
  transform:translateY(-4px);
  box-shadow:var(--sb-lift) !important;
  border-color:rgba(31,138,69,.35) !important;
  background:var(--sb-white) !important;
}
.sb-modern section.primary ul.products li.product::before{ content:none; }

.sb-modern section.primary ul.products li.product > a:first-child{
  display:block;
  margin:0 -16px 14px;
  padding:16px;
  background:var(--sb-mist);
  border-bottom:1px solid var(--sb-line);
}
.sb-modern section.primary ul.products li.product > a:first-child img{
  display:block;
  width:100% !important;
  height:auto;
  aspect-ratio:1/1;
  object-fit:contain;
  margin:0 !important;
  box-shadow:none !important;
  border-radius:8px;
  mix-blend-mode:multiply;
  transition:transform .4s var(--sb-ease);
}
.sb-modern section.primary ul.products li.product:hover > a:first-child img{ transform:scale(1.04); }

.sb-modern section.primary ul.products li.product .cat{
  display:block;
  order:0;
  margin:0 0 6px;
  font-family:var(--sb-mono);
  font-size:.62rem;
  line-height:1.5;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--sb-muted);
}
.sb-modern section.primary ul.products li.product .cat{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.sb-modern section.primary ul.products li.product .cat a{
  color:inherit;
  font-weight:400;
  text-decoration:none;
  margin:0;
}
.sb-modern section.primary ul.products li.product .cat a:hover{ color:var(--sb-green); text-decoration:none; }

.sb-modern section.primary ul.products li.product .style_no{
  display:block;
  text-align:left;
  margin:0 0 4px;
  font-family:var(--sb-mono);
  font-size:.72rem;
  letter-spacing:.08em;
  color:var(--sb-green);
}
.sb-modern section.primary ul.products li.product .style_no::before{ content:"SKU "; color:var(--sb-muted); }
.sb-modern section.primary ul.products li.product .style_no:empty{ display:none; }

.sb-modern section.primary ul.products li.product h6,
.sb-modern section.primary ul.products li.product h2.woocommerce-loop-product__title{
  font-family:var(--sb-display);
  font-weight:800;
  font-size:1.02rem;
  line-height:1.25;
  letter-spacing:-.01em;
  color:var(--sb-ink);
  margin:0 0 6px;
  padding:0;
  text-align:left;
}
.sb-modern section.primary ul.products li.product h6 a{ color:inherit; text-decoration:none; }
.sb-modern section.primary ul.products li.product h6 a:hover{ color:var(--sb-green); text-decoration:none; }

.sb-modern section.primary ul.products li.product span.quantity{
  display:block;
  text-align:left;
  font-family:var(--sb-body);
  font-size:.85rem;
  color:var(--sb-muted);
  margin:0 0 10px;
}
.sb-modern section.primary ul.products li.product .price{
  display:block;
  margin:auto 0 12px !important;
  text-align:left !important;
  font-family:var(--sb-display);
  font-weight:800;
  font-size:1.2rem !important;
  color:var(--sb-pine) !important;
  line-height:1.2;
}
.sb-modern section.primary ul.products li.product .price del{ color:var(--sb-muted); font-weight:600; font-size:.85em; opacity:.8; }
.sb-modern section.primary ul.products li.product .price ins{ text-decoration:none; }
.sb-modern section.primary ul.products li.product .price small,
.sb-modern section.primary ul.products li.product .price .wholesale_price_title{
  display:block;
  font-family:var(--sb-mono);
  font-weight:400;
  font-size:.62rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--sb-muted);
}

.sb-modern section.primary ul.products li.product a.button,
.sb-modern section.primary ul.products li.product a.add_to_cart_button{
  display:flex !important;
  width:100%;
  margin:0 !important;
  padding:11px 16px !important;
  font-size:.88rem !important;
}
.sb-modern section.primary ul.products li.product a.added_to_cart{
  position:static !important;
  display:block;
  width:auto;
  margin:10px 0 0;
  padding:0 !important;
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
  text-align:center;
  font-family:var(--sb-body);
  font-weight:600;
  font-size:.85rem;
  color:var(--sb-pine) !important;
  text-decoration:none;
}
.sb-modern section.primary ul.products li.product a.added_to_cart::after{ content:" \2192"; }

/* archive header: category description, result count, sorting */
.sb-modern section.primary .term-description,
.sb-modern section.primary .page-description{ margin:0 0 36px; }
.sb-modern section.primary .term-description h2:first-child{ margin-top:0; }
/* product-area copy stays a softer gray so the product cards lead */
.sb-modern section.primary .term-description p,
.sb-modern section.primary .term-description li,
.sb-modern section.primary .page-description p,
.sb-modern.single-product section.primary .woocommerce-Tabs-panel p,
.sb-modern.single-product section.primary .woocommerce-Tabs-panel li,
.sb-modern.single-product section.primary .woocommerce-product-details__short-description p{ color:var(--sb-text-soft); }
.sb-modern.page-template-four-columns section.primary .elementor p,
.sb-modern.page-template-four-columns section.primary .elementor li{ color:var(--sb-text-soft) !important; }
.sb-modern section.primary .woocommerce-result-count{
  font-family:var(--sb-mono);
  font-size:.72rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--sb-muted);
  margin:12px 0 22px !important;
}
.sb-modern section.primary .woocommerce-ordering{ margin:0 0 22px !important; }
.sb-modern section.primary .woocommerce-ordering select{ padding:10px 40px 10px 16px !important; border-radius:999px !important; font-size:.9rem !important; }

/* pagination */
.sb-modern section.primary nav.woocommerce-pagination{ text-align:center; margin:8px 0 12px; }
.sb-modern section.primary nav.woocommerce-pagination ul{
  display:inline-flex !important;
  gap:8px;
  border:0 !important;
  margin:0 !important;
  font-size:1rem;
}
.sb-modern section.primary nav.woocommerce-pagination ul li{ border:0 !important; overflow:visible; float:none; }
.sb-modern section.primary nav.woocommerce-pagination ul li::before{ content:none !important; }
.sb-modern section.primary nav.woocommerce-pagination ul li a,
.sb-modern section.primary nav.woocommerce-pagination ul li span{
  min-width:44px;
  height:44px;
  padding:0 14px !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:var(--sb-body);
  font-weight:600 !important;
  font-size:.95rem;
  color:var(--sb-ink);
  background:var(--sb-white);
  border:1px solid var(--sb-line);
  border-radius:999px;
  text-decoration:none;
}
.sb-modern section.primary nav.woocommerce-pagination ul li a:hover{ background:var(--sb-mint) !important; color:var(--sb-pine) !important; border-color:transparent; }
.sb-modern section.primary nav.woocommerce-pagination ul li span.current{ background:var(--sb-green) !important; color:#fff !important; border-color:var(--sb-green); }

/* ---------- 8. Single product ---------- */
.sb-modern.single-product section.primary div.product{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  column-gap:56px;
  row-gap:48px;
  align-items:start;
}
.sb-modern.single-product section.primary div.product > *{ grid-column:1 / -1; }
.sb-modern.single-product section.primary div.product > div.images,
.sb-modern.single-product section.primary div.product > .woocommerce-product-gallery{
  grid-column:1;
  float:none !important;
  width:auto !important;
  margin:0 !important;
  background:var(--sb-white);
  border:1px solid var(--sb-line);
  border-radius:var(--sb-radius-lg);
  padding:28px;
}
.sb-modern.single-product section.primary div.product .woocommerce-product-gallery img{
  border-radius:12px;
  box-shadow:none !important;
}
.sb-modern.single-product section.primary div.product .flex-control-thumbs{ display:flex; gap:10px; margin-top:14px !important; }
.sb-modern.single-product section.primary div.product .flex-control-thumbs li{ width:72px !important; float:none !important; margin:0 !important; }
.sb-modern.single-product section.primary div.product .flex-control-thumbs li::before{ content:none !important; }
.sb-modern.single-product section.primary div.product .flex-control-thumbs img{ border:1px solid var(--sb-line); border-radius:8px; opacity:.6; }
.sb-modern.single-product section.primary div.product .flex-control-thumbs img.flex-active,
.sb-modern.single-product section.primary div.product .flex-control-thumbs img:hover{ opacity:1; border-color:var(--sb-green); }

.sb-modern.single-product section.primary div.product > div.summary{
  grid-column:2;
  float:none !important;
  width:auto !important;
  margin:0 !important;
  padding-top:8px;
}
.sb-modern.single-product section.primary div.product .product_title{
  font-family:var(--sb-display);
  font-weight:800;
  font-size:clamp(1.7rem,3vw,2.35rem);
  line-height:1.1;
  letter-spacing:-.02em;
  color:var(--sb-ink);
  margin:0 0 14px;
}
.sb-modern.single-product section.primary div.product .summary p.price,
.sb-modern.single-product section.primary div.product .summary span.price{
  font-family:var(--sb-display);
  font-weight:800;
  font-size:1.9rem !important;
  color:var(--sb-pine) !important;
  margin:0 0 20px;
}
.sb-modern.single-product section.primary div.product .woocommerce-product-details__short-description{ margin:0 0 22px; }
.sb-modern.single-product section.primary div.product form.cart{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  gap:12px;
  margin:0 0 28px !important;
  padding:0 0 28px;
  border-bottom:1px solid var(--sb-line);
}
.sb-modern.single-product section.primary div.product form.cart::before,
.sb-modern.single-product section.primary div.product form.cart::after{ content:none; }
.sb-modern.single-product section.primary div.product form.cart div.quantity{ float:none; margin:0 !important; display:flex; }
.sb-modern.single-product section.primary div.product form.cart .qty{
  width:84px !important;
  height:52px;
  text-align:center;
  border-radius:999px !important;
  font-weight:600 !important;
}
.sb-modern.single-product section.primary div.product form.cart button.single_add_to_cart_button{
  float:none !important;
  height:52px;
  padding:0 34px !important;
  font-size:1rem !important;
}
.sb-modern.single-product section.primary div.product .product_meta{
  font-family:var(--sb-mono);
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--sb-muted);
  line-height:1.7;
}
.sb-modern.single-product section.primary div.product .product_meta > span{ display:block; margin:0 0 6px; }
.sb-modern.single-product section.primary div.product .product_meta .sku{ color:var(--sb-ink); }
.sb-modern.single-product section.primary div.product .product_meta a{
  color:var(--sb-pine);
  font-weight:700;
  text-decoration:none;
  border:0;
}
.sb-modern.single-product section.primary div.product .product_meta a:hover{ color:var(--sb-green); }

/* tabs */
.sb-modern.single-product section.primary div.product .woocommerce-tabs{
  float:none !important;
  width:auto !important;
  clear:both;
  background:var(--sb-white);
  border:1px solid var(--sb-line);
  border-radius:var(--sb-radius-lg);
  padding:10px 32px 32px;
}
.sb-modern.single-product section.primary div.product .woocommerce-tabs ul.tabs{
  display:flex;
  gap:26px;
  margin:0 0 26px !important;
  padding:0 !important;
  border-bottom:1px solid var(--sb-line);
  overflow:visible;
}
.sb-modern.single-product section.primary div.product .woocommerce-tabs ul.tabs::before{ content:none !important; }
.sb-modern.single-product section.primary div.product .woocommerce-tabs ul.tabs li{
  background:none !important;
  border:0 !important;
  border-radius:0 !important;
  margin:0 !important;
  padding:0 !important;
}
.sb-modern.single-product section.primary div.product .woocommerce-tabs ul.tabs li::before,
.sb-modern.single-product section.primary div.product .woocommerce-tabs ul.tabs li::after{ content:none !important; display:none !important; }
.sb-modern.single-product section.primary div.product .woocommerce-tabs ul.tabs li a{
  display:block;
  padding:16px 0 14px !important;
  font-family:var(--sb-body);
  font-weight:600 !important;
  font-size:.97rem;
  color:var(--sb-muted) !important;
  border-bottom:2px solid transparent;
  margin-bottom:-1px;
  text-decoration:none;
}
.sb-modern.single-product section.primary div.product .woocommerce-tabs ul.tabs li.active a,
.sb-modern.single-product section.primary div.product .woocommerce-tabs ul.tabs li a:hover{
  color:var(--sb-ink) !important;
  border-bottom-color:var(--sb-green);
}
.sb-modern.single-product section.primary div.product .woocommerce-tabs .panel{
  padding:0 !important;
  margin:0 !important;
}
.sb-modern.single-product section.primary div.product .woocommerce-tabs .panel > h2:first-child{
  font-size:1.25rem;
  margin:0 0 12px;
}
.sb-modern section.primary table.shop_attributes,
.sb-modern section.primary table.woocommerce-product-attributes{
  border:1px solid var(--sb-line) !important;
  border-radius:12px;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  margin:0;
}
.sb-modern section.primary table.shop_attributes th,
.sb-modern section.primary table.woocommerce-product-attributes th{
  width:34%;
  background:var(--sb-mist);
  font-family:var(--sb-mono);
  font-weight:400;
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--sb-muted);
  padding:13px 16px !important;
  border:0 !important;
  border-top:1px solid var(--sb-line) !important;
}
.sb-modern section.primary table.shop_attributes td,
.sb-modern section.primary table.woocommerce-product-attributes td{
  padding:13px 16px !important;
  font-style:normal !important;
  border:0 !important;
  border-top:1px solid var(--sb-line) !important;
  background:var(--sb-white) !important;
}
.sb-modern section.primary table.shop_attributes tr:first-child th,
.sb-modern section.primary table.shop_attributes tr:first-child td,
.sb-modern section.primary table.woocommerce-product-attributes tr:first-child th,
.sb-modern section.primary table.woocommerce-product-attributes tr:first-child td{ border-top:0 !important; }
.sb-modern section.primary table.shop_attributes td p{ margin:0; padding:0 !important; }

@media (min-width:961px){
  .sb-modern section.primary .related.products ul.products,
  .sb-modern section.primary .upsells.products ul.products{ grid-template-columns:repeat(4,minmax(0,1fr)); }
}
/* the Description tab label already says "Description" */
.sb-modern.single-product section.primary div.product .woocommerce-Tabs-panel--description > h2:first-child{ display:none; }
.sb-modern section.primary .content h2 a,
.sb-modern section.primary .content h3 a,
.sb-modern section.primary .content h4 a{ color:inherit; text-decoration:none; font-weight:inherit; }
.sb-modern section.primary .content h2 a:hover,
.sb-modern section.primary .content h3 a:hover,
.sb-modern section.primary .content h4 a:hover{ color:var(--sb-green); }
.sb-modern section.primary .related.products > h2,
.sb-modern section.primary .upsells.products > h2{
  font-family:var(--sb-display);
  font-weight:800;
  font-size:clamp(1.5rem,2.4vw,1.9rem);
  letter-spacing:-.02em;
  color:var(--sb-ink);
  border:0 !important;
  margin:0 0 22px !important;
}

/* ---------- 9. Cart, checkout, account ---------- */
.sb-modern section.primary table.shop_table{
  background:var(--sb-white);
  border:1px solid var(--sb-line) !important;
  border-radius:var(--sb-radius) !important;
  border-collapse:separate !important;
  border-spacing:0;
  overflow:hidden;
  margin:0 0 28px !important;
  font-size:.97rem;
}
.sb-modern section.primary table.shop_table th{
  font-family:var(--sb-mono);
  font-weight:400 !important;
  font-size:.7rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--sb-muted);
  background:var(--sb-mist);
  padding:14px 18px !important;
}
.sb-modern section.primary table.shop_table td{
  padding:16px 18px !important;
  border-top:1px solid var(--sb-line) !important;
  vertical-align:middle;
}
.sb-modern section.primary table.shop_table tbody th,
.sb-modern section.primary table.shop_table tfoot th,
.sb-modern section.primary table.shop_table tfoot td{ border-top:1px solid var(--sb-line) !important; background:var(--sb-white); }
.sb-modern section.primary table.shop_table .product-name a{ color:var(--sb-ink); font-weight:600; text-decoration:none; }
.sb-modern section.primary table.shop_table .product-name a:hover{ color:var(--sb-green); }
.sb-modern section.primary table.shop_table .product-thumbnail img{
  width:64px !important;
  border-radius:10px;
  background:var(--sb-mist);
  border:1px solid var(--sb-line);
  box-shadow:none !important;
}
.sb-modern section.primary table.shop_table .product-subtotal,
.sb-modern section.primary table.shop_table .order-total td{ font-weight:700; color:var(--sb-ink); }
.sb-modern section.primary table.shop_table a.remove{
  width:28px; height:28px;
  line-height:26px;
  font-size:1.2rem;
  border:1px solid var(--sb-line);
  color:var(--sb-muted) !important;
  border-radius:999px;
}
.sb-modern section.primary table.shop_table a.remove:hover{ background:var(--sb-danger) !important; border-color:var(--sb-danger); color:#fff !important; }
.sb-modern section.primary table.shop_table td.actions .coupon{ display:flex; gap:10px; align-items:center; }
.sb-modern section.primary table.shop_table td.actions .coupon .input-text{ width:200px !important; border-radius:999px !important; }
.sb-modern section.primary table.shop_table .product-meta{ font-family:var(--sb-mono); font-size:.7rem !important; letter-spacing:.06em; text-transform:uppercase; color:var(--sb-muted) !important; margin-top:4px !important; }

.sb-modern section.primary .cart-collaterals .cart_totals,
.sb-modern section.primary .woocommerce-checkout-review-order,
.sb-modern section.primary .woocommerce-form-login,
.sb-modern section.primary .woocommerce-form-register,
.sb-modern section.primary form.woocommerce-ResetPassword,
.sb-modern section.primary .woocommerce-MyAccount-content{
  background:var(--sb-white);
  border:1px solid var(--sb-line) !important;
  border-radius:var(--sb-radius-lg) !important;
  padding:28px !important;
}
.sb-modern section.primary .cart-collaterals .cart_totals table.shop_table{ border:0 !important; border-radius:0 !important; margin:0 0 18px !important; }
.sb-modern section.primary .cart-collaterals .cart_totals table.shop_table th{ background:transparent; }
.sb-modern section.primary .cart_totals > h2,
.sb-modern section.primary #order_review_heading,
.sb-modern section.primary .woocommerce-billing-fields > h3,
.sb-modern section.primary .woocommerce-shipping-fields > h3,
.sb-modern section.primary .woocommerce-additional-fields > h3,
.sb-modern section.primary .woocommerce > h2,
.sb-modern section.primary .u-column1 > h2,
.sb-modern section.primary .u-column2 > h2{
  font-family:var(--sb-display);
  font-weight:800;
  font-size:1.4rem;
  letter-spacing:-.02em;
  color:var(--sb-ink);
  border:0 !important;
  margin:0 0 18px !important;
}
.sb-modern section.primary .wc-proceed-to-checkout a.checkout-button{
  display:flex !important;
  width:100%;
  padding:16px 24px !important;
  font-size:1.02rem !important;
  margin:0 !important;
}
.sb-modern section.primary .cart-empty{ font-size:1.05rem; }

.sb-modern section.primary #payment{
  background:var(--sb-mist) !important;
  border-radius:var(--sb-radius) !important;
}
.sb-modern section.primary #payment ul.payment_methods{ border-bottom-color:var(--sb-line) !important; padding:18px !important; }
.sb-modern section.primary #payment div.payment_box{
  background:var(--sb-white) !important;
  border:1px solid var(--sb-line);
  border-radius:var(--sb-radius-sm) !important;
  color:var(--sb-text) !important;
}
.sb-modern section.primary #payment div.payment_box::before{ display:none !important; }
.sb-modern section.primary #payment #place_order{ width:100%; padding:17px 24px !important; font-size:1.05rem !important; }
.sb-modern section.primary .woocommerce form .form-row{ padding:0 0 12px; margin:0; }
.sb-modern section.primary .select2-container .select2-selection--single{
  height:48px !important;
  border:1.5px solid rgba(20,24,15,.16) !important;
  border-radius:var(--sb-radius-sm) !important;
}
.sb-modern section.primary .select2-container .select2-selection--single .select2-selection__rendered{ line-height:45px !important; padding-left:14px !important; font-family:var(--sb-body); color:var(--sb-ink); }
.sb-modern section.primary .select2-container .select2-selection--single .select2-selection__arrow{ height:46px !important; right:8px !important; }

.sb-modern section.primary .woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; }
.sb-modern section.primary .woocommerce-MyAccount-navigation ul li{ padding:0 !important; margin:0 !important; }
.sb-modern section.primary .woocommerce-MyAccount-navigation ul li::before{ content:none !important; }
.sb-modern section.primary .woocommerce-MyAccount-navigation ul li a{
  display:block;
  padding:11px 16px;
  border-radius:var(--sb-radius-sm);
  font-weight:600;
  color:var(--sb-ink);
  text-decoration:none;
}
.sb-modern section.primary .woocommerce-MyAccount-navigation ul li a:hover{ background:var(--sb-mint); color:var(--sb-pine); }
.sb-modern section.primary .woocommerce-MyAccount-navigation ul li.is-active a{ background:var(--sb-green); color:#fff; }
.sb-modern section.primary .lost_password a{ color:var(--sb-pine); font-weight:600; }

/* ---------- 10. About page ---------- */
.sb-modern.page-template-about-us .founder,
.sb-modern.page-template-about-us .main{ float:none; width:auto; padding:0; }
.sb-modern.page-template-about-us .founder:not(:has(*)){ display:none; }
.sb-modern.page-template-about-us .main{ max-width:820px; }
/* two columns only when the founder block actually has content */
.sb-modern.page-template-about-us section.primary > .container:has(.founder *){
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:48px;
  align-items:start;
}
.sb-modern.page-template-about-us section.primary > .container::before,
.sb-modern.page-template-about-us section.primary > .container::after{ content:none; }
.sb-modern.page-template-about-us .founder img{ border-radius:var(--sb-radius); }
.sb-modern.page-template-about-us .main iframe{ width:100%; height:auto; aspect-ratio:16/9; }
.sb-modern table.aboutus{ width:100%; border-collapse:separate; border-spacing:0; border:1px solid var(--sb-line); border-radius:12px; overflow:hidden; background:var(--sb-white); }
.sb-modern table.aboutus tr,
.sb-modern table.aboutus tr:nth-child(even){ background:transparent; }
.sb-modern table.aboutus td{ padding:12px 16px; font-size:.97rem; border-top:1px solid var(--sb-line); }
.sb-modern table.aboutus tr:first-child td{ border-top:0; }
.sb-modern table.aboutus td:first-child{ font-family:var(--sb-mono); font-weight:700; color:var(--sb-green); width:90px; }

/* ---------- 11. Single blog post ---------- */
.sb-modern.single-post section.primary .content > .date{
  display:block;
  font-family:var(--sb-mono);
  font-style:normal;
  font-size:.74rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--sb-green);
  margin:0 0 20px;
}
.sb-modern.single-post section.primary .content.single{ padding-bottom:0; }
.sb-modern.single-post section.primary .content > a.moretag{
  position:static;
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:28px;
  padding:12px 22px;
  background:var(--sb-white);
  color:var(--sb-pine);
  font-family:var(--sb-body);
  font-weight:600;
  font-size:.92rem;
  text-transform:none;
  text-decoration:none;
  border-radius:999px;
  box-shadow:inset 0 0 0 1.5px var(--sb-green);
  transition:background .2s;
}
.sb-modern.single-post section.primary .content > a.moretag:hover{ background:var(--sb-mint); }

/* ---------- 12. Footer ---------- */
.sb-modern footer{
  background:var(--sb-forest);
  color:rgba(255,255,255,.72);
  font-family:var(--sb-body);
  position:relative;
  overflow:hidden;
}
.sb-modern footer::before{
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 2px,transparent 2px 24px);
  pointer-events:none;
}
.sb-modern footer > .container.content{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:36px;
  padding-top:64px !important;
  padding-bottom:48px !important;
}
.sb-modern footer > .container::before,
.sb-modern footer > .container::after{ content:none; }
.sb-modern footer .quarter{ float:none; width:auto; }
.sb-modern footer h5{
  font-family:var(--sb-mono);
  font-weight:400;
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--sb-bright);
  margin:0 0 14px;
}
.sb-modern footer h5:not(:first-child){ margin-top:26px; }
.sb-modern footer h5 a,
.sb-modern footer .nav h5 a{ color:inherit !important; text-decoration:none; display:inline; padding:0; font-size:inherit; }
.sb-modern footer h5 a:hover{ color:#fff !important; }
.sb-modern footer .content p{
  color:rgba(255,255,255,.6);
  font-size:.95rem;
  line-height:1.6;
  margin:0 0 14px;
}
.sb-modern footer a,
.sb-modern footer .content p a{
  color:rgba(255,255,255,.86);
  text-decoration:none;
  border:0 !important;
  transition:color .2s;
}
.sb-modern footer .nav a{ display:block; padding:4px 0; font-size:.95rem; }
.sb-modern footer a:hover,
.sb-modern footer .content p a:hover{ color:var(--sb-bright); text-decoration:none; }
.sb-modern footer .social:empty{ display:none; }
.sb-modern footer > .copyright{
  position:relative;
  z-index:1;
  background:rgba(0,0,0,.22);
  border-top:1px solid rgba(255,255,255,.08);
  padding:18px 0;
  font-family:var(--sb-body);
  font-size:.85rem;
  color:rgba(255,255,255,.55);
}
.sb-modern footer > .copyright .copyright{ background:none; padding:0; color:inherit; }
.sb-modern footer > .copyright a{ color:rgba(255,255,255,.8); }

/* ---------- 13. Responsive ---------- */
@media (max-width:1100px){
  .sb-modern header #nav-menu ul li a{ padding:10px 11px; font-size:.9rem; }
  .sb-modern header > .container{ gap:18px; }
}

@media (max-width:960px){
  /* theme hides #nav-menu and shows slicknav here; put the menu button on the logo row */
  .sb-modern header{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    position:relative;
  }
  .sb-modern header .top-stripe{ grid-column:1 / -1; }
  .sb-modern header > .container{ grid-column:1; margin:0 !important; padding-top:14px !important; padding-bottom:14px !important; }
  .sb-modern .hlogo{ width:150px !important; display:block; }
  .sb-modern #nav-mobile{ grid-column:2; display:block; padding-right:var(--sb-gutter); }
  .sb-modern .slicknav_menu{ position:static; background:transparent; width:auto; }
  .sb-modern .slicknav_menu::before,
  .sb-modern .slicknav_menu::after{ content:none; }
  .sb-modern .slicknav_btn{
    width:auto;
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:10px 16px;
    margin:0 !important;
    background:var(--sb-white);
    border:1.5px solid var(--sb-line-strong);
    border-radius:999px;
  }
  .sb-modern .slicknav_menu .slicknav_menutxt{
    color:var(--sb-ink);
    text-shadow:none;
    font-family:var(--sb-body);
    font-weight:600;
    font-size:.92rem;
  }
  .sb-modern .slicknav_menu .slicknav_icon{ margin:0; }
  .sb-modern .slicknav_menu .slicknav_icon-bar{ background:var(--sb-ink); box-shadow:none; }
  .sb-modern .slicknav_btn.slicknav_open{ background:var(--sb-ink); border-color:var(--sb-ink); }
  .sb-modern .slicknav_btn.slicknav_open .slicknav_menutxt{ color:#fff; }
  .sb-modern .slicknav_btn.slicknav_open .slicknav_icon-bar{ background:#fff; }
  .sb-modern .slicknav_nav{
    position:absolute;
    left:0;
    right:0;
    top:100%;
    z-index:60;
    background:var(--sb-white) !important;
    border-top:1px solid var(--sb-line);
    border-bottom:0;
    box-shadow:0 30px 50px -30px rgba(11,61,36,.55);
    max-height:75vh;
    overflow-y:auto !important;
    padding:6px 0 14px;
  }
  .sb-modern .slicknav_nav ul{ background:var(--sb-mist) !important; margin:0; }
  .sb-modern .slicknav_nav li{ border-top:1px solid var(--sb-line); }
  .sb-modern .slicknav_nav > li:first-child{ border-top:0; }
  .sb-modern .slicknav_nav a,
  .sb-modern .slicknav_nav .slicknav_item > :first-child{
    color:var(--sb-ink) !important;
    font-family:var(--sb-body);
    font-weight:600;
    font-size:1rem;
    text-transform:none;
    padding:15px var(--sb-gutter) !important;
    background:transparent !important;
    text-shadow:none !important;
  }
  .sb-modern .slicknav_nav *{ text-shadow:none !important; }
  .sb-modern .slicknav_nav .slicknav_row{ padding:0 !important; justify-content:space-between; }
  .sb-modern .slicknav_nav .slicknav_arrow{ margin-right:var(--sb-gutter); color:var(--sb-green); }
  .sb-modern .slicknav_nav ul a{ font-weight:500; font-size:.95rem; padding-left:calc(var(--sb-gutter) + 16px) !important; }
  .sb-modern .slicknav_nav a:hover{ color:var(--sb-green) !important; }
  .sb-modern .slicknav_nav li.sb-mobile-cta{ border-top:0; padding:12px var(--sb-gutter) 0; }
  .sb-modern .slicknav_nav li.sb-mobile-cta a{
    display:block;
    text-align:center;
    background:var(--sb-green) !important;
    color:#fff !important;
    border-radius:999px;
    padding:14px 20px !important;
  }
  .sb-modern .slicknav_nav li.sb-mobile-cta a:hover{ background:var(--sb-pine) !important; color:#fff !important; }

  .sb-modern section.primary .sb-sample-page{ grid-template-columns:minmax(0,1fr); gap:28px; }
  .sb-modern section.primary .sb-sample-intro{ position:static; }


  .sb-modern footer > .container.content{ grid-template-columns:repeat(2,minmax(0,1fr)); }

  .sb-modern.single-product section.primary div.product{ grid-template-columns:minmax(0,1fr); row-gap:32px; }
  .sb-modern.single-product section.primary div.product > div.images,
  .sb-modern.single-product section.primary div.product > .woocommerce-product-gallery,
  .sb-modern.single-product section.primary div.product > div.summary{ grid-column:1; }

  .sb-modern.page-template-about-us section.primary > .container{ grid-template-columns:minmax(0,1fr); }
}

@media (max-width:767px){
  .sb-modern footer .container{ padding-left:var(--sb-gutter) !important; padding-right:var(--sb-gutter) !important; }
  .sb-modern section.primary .woocommerce-ordering{ float:none; }
  .sb-modern section.primary .woocommerce-result-count{ float:none; margin-bottom:10px !important; }
  .sb-modern section.primary table.shop_table_responsive tr td{ padding:10px 16px !important; }
  .sb-modern section.primary table.shop_table td.actions .coupon{ flex-direction:column; align-items:stretch; }
  .sb-modern section.primary table.shop_table td.actions .coupon .input-text{ width:100% !important; }
  .sb-modern.single-product section.primary div.product .woocommerce-tabs{ padding:6px 20px 24px; }
}

@media (max-width:600px){
  :root{ --sb-gutter:20px; }
  .sb-modern section.primary ul.products{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .sb-modern section.primary ul.products li.product{ padding:0 12px 12px !important; }
  .sb-modern section.primary ul.products li.product > a:first-child{ margin:0 -12px 12px; padding:12px; }
  .sb-modern section.primary ul.products li.product .cat{ display:none; }
  .sb-modern section.primary ul.products li.product h6{ font-size:.95rem; }
  .sb-modern section.primary ul.products li.product .price{ font-size:1.05rem !important; }
  .sb-modern section.primary ul.products li.product a.button{ padding:10px 10px !important; font-size:.82rem !important; }
  .sb-modern footer > .container.content{ grid-template-columns:minmax(0,1fr); gap:28px; padding-top:48px !important; }
  .sb-modern.single-product section.primary div.product > div.images,
  .sb-modern.single-product section.primary div.product > .woocommerce-product-gallery{ padding:16px; }
  .sb-modern section.primary .sb-sample-form{ padding:22px; }
}
