/*
Theme Name: Green Store
Template: storefront
Version: 1.0
Text Domain: green-store
*/

:root{
  --gs-green:#9acd4f;
  --gs-green-dark:#7db332;
  --gs-green-soft:#d8ebb3;
  --gs-ink:#1a1a1a;
  --gs-ink-soft:#5e5e5e;
  --gs-line:#e8e8e8;
  --gs-bg:#f5f5f3;
  --gs-panel:#ffffff;
  --gs-black:#060606;
}

body{
  background:var(--gs-bg);
  color:var(--gs-ink);
  font-family:Arial,sans-serif;
}

.home .site-header,
.home #masthead{
  display:none !important;
}

.home .site-content,
.home .col-full,
.home .content-area,
.home .site-main,
.home .hentry,
.home .entry-content{
  margin:0;
  padding:0;
  width:100%;
  max-width:none;
}

.home .widget-area,
.home .entry-header{
  display:none;
}

.home .storefront-breadcrumb,
.home .storefront-handheld-footer-bar{
  display:none !important;
}

.home #colophon .site-info{
  display:none !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border:0 !important;
}

.gs-homepage{
  overflow:hidden;
}

.gs-wrap{
  width:min(1180px,100% - 36px);
  margin:0 auto;
}

.gs-topbar .gs-wrap,
.gs-header .gs-wrap{
  width:min(1380px,100% - 36px);
}

.gs-section{
  padding:56px 0;
}

.gs-h2{
  margin:0;
  color:var(--gs-ink);
  font-size:38px;
  line-height:1.02;
  font-weight:800;
  letter-spacing:-0.03em;
}

.gs-heading{
  max-width:760px;
  margin-bottom:28px;
}

.gs-heading p{
  margin:14px 0 0;
  color:var(--gs-ink-soft);
  font-size:15px;
  line-height:1.65;
}

.gs-heading--compact{
  max-width:780px;
}

.gs-btn,
.gs-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 22px;
  border-radius:4px;
  text-decoration:none;
  font-size:14px;
  font-weight:700;
  transition:all .2s ease;
}

.gs-btn{
  background:var(--gs-green);
  color:#111;
}

.gs-btn:hover{
  background:#b4dc6f;
  color:#111;
}

.gs-link{
  background:var(--gs-green);
  color:#111;
}

.gs-link:hover{
  background:#b4dc6f;
  color:#111;
}

.gs-hero{
  position:relative;
  min-height:640px;
  padding:52px 0 24px;
  color:#fff;
  background:
    linear-gradient(90deg,rgba(7,14,13,.86) 0%,rgba(7,14,13,.62) 38%,rgba(7,14,13,.18) 100%),
    linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.45)),
    var(--gs-hero-image) center/cover no-repeat;
}

.gs-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:150px;
  background:linear-gradient(180deg,rgba(6,6,6,0) 0%,rgba(6,6,6,.55) 100%);
  pointer-events:none;
}

.gs-hero__inner{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-start;
  min-height:500px;
}

.gs-hero__copy{
  width:min(440px,100%);
  padding-top:8px;
}

.gs-hero__brand{
  margin-bottom:34px;
  color:#fff;
  font-size:20px;
  font-weight:800;
  letter-spacing:.08em;
}

.gs-hero h1{
  margin:0;
  color:#fff;
  font-size:56px;
  line-height:.98;
  font-weight:800;
  letter-spacing:-0.05em;
}

.gs-hero__lead{
  max-width:320px;
  margin:20px 0 26px;
  color:rgba(255,255,255,.9);
  font-size:16px;
  line-height:1.55;
}

.gs-hero__actions{
  position:relative;
  z-index:2;
  margin-bottom:20px;
}

.gs-logos{
  position:relative;
  z-index:1;
  width:min(720px,100%);
  margin-top:12px;
  padding:14px 18px 16px;
  border-radius:3px;
  background:rgba(17,24,22,.78);
  backdrop-filter:blur(10px);
}

.gs-logos__label{
  margin:0 0 10px;
  color:#d5d8d6;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.gs-logos__items{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  align-items:center;
}

.gs-logo{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  opacity:.92;
}

.gs-logo img{
  max-height:24px;
  width:auto;
}

.gs-cats{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:26px;
}

.gs-cat{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 16px;
  border:1px solid #d5d5d0;
  background:#fff;
  color:#505050;
  border-radius:4px;
  text-decoration:none;
  font-size:11px;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.gs-cat:hover{
  border-color:var(--gs-green-dark);
  color:#202020;
}

.gs-grid{
  display:grid;
  gap:22px;
}

.gs-grid--products{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.gs-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:100%;
  background:var(--gs-panel);
  border:1px solid var(--gs-line);
}

.gs-card:hover{
  box-shadow:0 18px 50px rgba(0,0,0,.08);
}

.gs-sale{
  position:absolute;
  top:12px;
  left:12px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:0 9px;
  background:var(--gs-green);
  color:#1f2a10;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
}

.gs-card__img{
  display:block;
  aspect-ratio:1 / 1;
  background:#f3f3f1;
}

.gs-card__img img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.gs-card__body{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:16px 16px 18px;
}

.gs-card__title{
  margin:0 0 10px;
  font-size:14px;
  line-height:1.35;
  font-weight:800;
}

.gs-card__title a{
  color:var(--gs-ink);
  text-decoration:none;
}

.gs-card__title a:hover{
  color:#000;
}

.gs-card__feat{
  min-height:54px;
  margin-bottom:18px;
  color:#707070;
  font-size:12px;
  line-height:1.55;
}

.gs-card__price{
  margin-top:auto;
  color:var(--gs-ink);
  font-size:18px;
  font-weight:800;
}

.gs-card__price del{
  margin-right:7px;
  color:#9b9b9b;
  font-size:13px;
  font-weight:500;
}

.gs-card__price ins{
  color:var(--gs-ink);
  text-decoration:none;
}

.gs-card__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  margin-top:14px;
  padding:0 14px;
  align-self:flex-start;
  background:var(--gs-green);
  color:#111;
  border-radius:2px;
  text-decoration:none;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.gs-card__btn:hover{
  background:#b4dc6f;
  color:#111;
}

.gs-promo-row{
  display:grid;
  grid-template-columns:1.05fr 1.5fr 1.25fr;
  gap:16px;
  padding:6px 0 24px;
}

.gs-promo{
  position:relative;
  min-height:210px;
  overflow:hidden;
  text-decoration:none;
}

.gs-promo--copy{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:26px;
  background:#e5e7dc;
}

.gs-promo__eyebrow{
  display:block;
  margin-bottom:16px;
  color:#6d734f;
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.gs-promo--copy h3,
.gs-promo--product h3{
  margin:0;
  font-size:34px;
  line-height:.95;
  font-weight:800;
  letter-spacing:-0.04em;
}

.gs-promo--copy p{
  max-width:250px;
  margin:14px 0 0;
  color:#555;
  font-size:14px;
  line-height:1.55;
}

.gs-promo--image,
.gs-promo--product{
  display:flex;
  align-items:flex-end;
  padding:24px;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}

.gs-promo--image::before,
.gs-promo--product::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.72) 100%);
}

.gs-promo--image span,
.gs-promo--product h3,
.gs-promo--product p,
.gs-promo__badge{
  position:relative;
  z-index:1;
}

.gs-promo--image span{
  color:#fff;
  font-size:22px;
  font-weight:800;
  line-height:1.05;
}

.gs-promo--product{
  flex-direction:column;
  justify-content:flex-end;
  align-items:flex-start;
  color:#fff;
}

.gs-promo__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  margin-bottom:12px;
  padding:0 12px;
  background:rgba(154,205,79,.92);
  color:#111;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.gs-promo--product h3{
  max-width:260px;
  color:#fff;
  font-size:26px;
}

.gs-promo--product p{
  margin:10px 0 0;
  color:#fff;
  font-size:18px;
  font-weight:800;
}

.gs-promo--product del{
  color:rgba(255,255,255,.72);
}

.gs-solution-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-auto-rows:160px;
  gap:14px;
}

.gs-solution{
  position:relative;
  display:flex;
  align-items:flex-end;
  padding:18px;
  overflow:hidden;
  text-decoration:none;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}

.gs-solution::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.78) 100%);
}

.gs-solution span{
  position:relative;
  z-index:1;
  color:#fff;
  font-size:22px;
  line-height:1.05;
  font-weight:800;
}

.gs-solution--1,
.gs-solution--2{
  grid-column:span 6;
  grid-row:span 2;
}

.gs-solution--3,
.gs-solution--4,
.gs-solution--5{
  grid-column:span 4;
}

.gs-story{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr);
  gap:0;
  background:#fff;
}

.gs-story__media{
  min-height:420px;
  background:#dfe5d4;
}

.gs-story__media a,
.gs-story__media img{
  display:block;
  width:100%;
  height:100%;
}

.gs-story__media img{
  object-fit:cover;
}

.gs-story__content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:44px;
  background:#f3f4ef;
}

.gs-story__content p{
  margin:16px 0 18px;
  color:#595959;
  font-size:15px;
  line-height:1.65;
}

.gs-list{
  margin:0 0 22px;
  padding-left:18px;
  color:#3f3f3f;
  font-size:14px;
  line-height:1.7;
}

.gs-mini-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.gs-mini-card{
  background:#fff;
  border:1px solid var(--gs-line);
}

.gs-mini-card__img{
  display:block;
  aspect-ratio:16 / 9;
  background:#eceee6;
}

.gs-mini-card__img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.gs-mini-card__body{
  padding:18px;
}

.gs-mini-card h3{
  margin:0 0 10px;
  font-size:16px;
  line-height:1.3;
  font-weight:800;
}

.gs-mini-card h3 a{
  color:var(--gs-ink);
  text-decoration:none;
}

.gs-mini-card p{
  margin:0 0 12px;
  color:#686868;
  font-size:13px;
  line-height:1.6;
}

.gs-mini-card__link{
  color:#5d7d2b;
  font-size:12px;
  font-weight:800;
  letter-spacing:.05em;
  text-decoration:none;
  text-transform:uppercase;
}

.gs-feature-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  padding:0 0 54px;
}

.gs-feature-card{
  min-height:160px;
  padding:28px 24px;
  background:#fff;
  border:1px solid var(--gs-line);
}

.gs-feature-card h3{
  margin:0 0 10px;
  font-size:22px;
  line-height:1.05;
  font-weight:800;
}

.gs-feature-card p{
  margin:0;
  color:#666;
  font-size:14px;
  line-height:1.6;
}

.gs-newsletter{
  margin-top:18px;
  padding:26px 0;
  background:var(--gs-green-soft);
}

.gs-newsletter__inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(380px,520px);
  gap:28px;
  align-items:center;
}

.gs-newsletter__copy h2{
  margin:0 0 8px;
  font-size:22px;
  line-height:1.05;
  font-weight:800;
  letter-spacing:-0.03em;
  text-transform:uppercase;
}

.gs-newsletter__copy p{
  margin:0;
  color:#4c553b;
  font-size:14px;
}

.gs-newsletter__form{
  display:grid;
  grid-template-columns:minmax(0,1fr) 160px;
  gap:10px;
}

.gs-newsletter__form input{
  height:46px;
  padding:0 14px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  color:#222;
}

.gs-newsletter__form button{
  height:46px;
  border:0;
  background:#fff;
  color:#1d1d1d;
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
}

.gs-newsletter__form button:hover{
  background:#f2f2f0;
}

.site-footer{
  margin-top:0;
  padding:54px 0 0;
  background:var(--gs-black);
  color:#d8d8d8;
}

.site-footer a{
  color:#d8d8d8;
}

.site-footer .widget-title{
  margin-bottom:12px;
  color:#fff;
  font-size:13px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.site-footer .widget{
  color:#b7b7b7;
  font-size:13px;
}

.site-footer ul{
  margin:0;
  list-style:none;
}

.site-footer li{
  margin-bottom:8px;
}

.site-footer .site-info{
  margin-top:30px;
  padding:16px 0 22px;
  border-top:1px solid rgba(255,255,255,.08);
  color:#8d8d8d;
  font-size:12px;
}

@media (max-width:1080px){
  .gs-h2{
    font-size:32px;
  }

  .gs-grid--products{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .gs-promo-row{
    grid-template-columns:1fr;
  }

  .gs-solution-grid{
    grid-auto-rows:180px;
  }

  .gs-solution--1,
  .gs-solution--2,
  .gs-solution--3,
  .gs-solution--4,
  .gs-solution--5{
    grid-column:span 6;
    grid-row:span 1;
  }

  .gs-story{
    grid-template-columns:1fr;
  }

  .gs-mini-grid,
  .gs-feature-grid,
  .gs-newsletter__inner{
    grid-template-columns:1fr;
  }
}

@media (max-width:720px){
  .gs-wrap{
    width:min(100% - 24px,1180px);
  }

  .gs-hero{
    min-height:auto;
    padding:36px 0 20px;
  }

  .gs-hero__inner{
    min-height:auto;
  }

  .gs-hero h1{
    font-size:38px;
  }

  .gs-hero__brand{
    margin-bottom:24px;
    font-size:16px;
  }

  .gs-logos{
    margin-top:20px;
  }

  .gs-h2{
    font-size:28px;
  }

  .gs-grid--products,
  .gs-mini-grid,
  .gs-feature-grid,
  .gs-newsletter__form{
    grid-template-columns:1fr;
  }

  .gs-solution-grid{
    grid-template-columns:1fr;
    grid-auto-rows:200px;
  }

  .gs-solution--1,
  .gs-solution--2,
  .gs-solution--3,
  .gs-solution--4,
  .gs-solution--5{
    grid-column:auto;
  }

  .gs-story__content{
    padding:30px 24px;
  }
}

/* CATALOG */
body.post-type-archive-product,
body.tax-product_cat{
  background:#f6f6f4;
}

body.post-type-archive-product #masthead,
body.tax-product_cat #masthead,
body.post-type-archive-product #masthead.site-header,
body.tax-product_cat #masthead.site-header,
body.post-type-archive-product .storefront-primary-navigation,
body.tax-product_cat .storefront-primary-navigation{
  display:none !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border:0 !important;
}

body.post-type-archive-product #colophon .site-info,
body.tax-product_cat #colophon .site-info,
body.post-type-archive-product .storefront-handheld-footer-bar,
body.tax-product_cat .storefront-handheld-footer-bar{
  display:none !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

.gs-catalog-page{
  padding-bottom:48px;
}

.gs-archive-hero{
  position:relative;
  min-height:220px;
  margin-bottom:24px;
  color:#fff;
  background:
    linear-gradient(90deg,rgba(10,16,14,.88) 0%,rgba(10,16,14,.42) 48%,rgba(10,16,14,.2) 100%),
    var(--gs-archive-image) center/cover no-repeat;
}

.gs-archive-hero__inner{
  display:flex;
  align-items:flex-end;
  min-height:220px;
  padding:28px 0;
}

.gs-archive-hero__content{
  max-width:560px;
}

.gs-archive-hero__eyebrow{
  margin-bottom:10px;
  color:#d7dfd8;
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.gs-archive-hero h1{
  margin:0;
  color:#fff;
  font-size:42px;
  line-height:1;
  font-weight:800;
  letter-spacing:-0.04em;
}

.gs-archive-hero p{
  max-width:460px;
  margin:14px 0 0;
  color:rgba(255,255,255,.9);
  font-size:15px;
  line-height:1.6;
}

.gs-archive-layout{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:22px;
  align-items:start;
}

.gs-archive-sidebar{
  position:sticky;
  top:24px;
}

.gs-filter-card{
  margin-bottom:16px;
  padding:18px 16px;
  background:#fff;
  border:1px solid #e7e7e2;
}

.gs-filter-card h2{
  margin:0 0 14px;
  color:#1b1b1b;
  font-size:14px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.gs-filter-list{
  margin:0;
  padding:0;
  list-style:none;
}

.gs-filter-list li + li{
  border-top:1px solid #efefea;
}

.gs-filter-list a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:40px;
  color:#434343;
  text-decoration:none;
  font-size:13px;
  line-height:1.35;
}

.gs-filter-list a:hover,
.gs-filter-list a.is-active{
  color:#1f1f1f;
  font-weight:700;
}

.gs-filter-list em{
  color:#8b8b8b;
  font-style:normal;
  font-size:12px;
}

.gs-archive-main{
  min-width:0;
}

.gs-archive-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
  padding:14px 16px;
  background:#fff;
  border:1px solid #e7e7e2;
}

.gs-archive-toolbar .woocommerce-result-count{
  margin:0;
  color:#616161;
  font-size:13px;
}

.gs-archive-toolbar .woocommerce-ordering{
  margin:0;
}

.gs-archive-toolbar .orderby{
  min-width:220px;
  height:40px;
  padding:0 12px;
  border:1px solid #dbdbd5;
  background:#fff;
  color:#232323;
  font-size:13px;
}

.woocommerce ul.products{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin:0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after{
  display:none;
}

.woocommerce ul.products li.product.gs-loop-card{
  position:relative;
  width:auto;
  float:none;
  margin:0;
  padding:14px 14px 16px;
  background:#fff;
  border:1px solid #e6e6e0;
  box-shadow:none;
}

.woocommerce ul.products li.product.gs-loop-card:hover{
  box-shadow:0 16px 40px rgba(0,0,0,.06);
}

.gs-loop-card__badge{
  position:absolute;
  top:10px;
  left:10px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:0 8px;
  background:var(--gs-green);
  color:#1e2a0b;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.gs-loop-card__image{
  display:block;
  aspect-ratio:1 / 1;
  margin-bottom:12px;
  background:#f3f3f0;
}

.gs-loop-card__image img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.gs-loop-card__body{
  display:flex;
  flex-direction:column;
  min-height:168px;
}

.gs-loop-card__title{
  margin:0 0 8px !important;
  padding:0 !important;
  color:#1f1f1f;
  font-size:13px !important;
  line-height:1.35;
  font-weight:800;
}

.gs-loop-card__title a{
  color:#1f1f1f;
  text-decoration:none;
}

.gs-loop-card__text{
  min-height:46px;
  margin-bottom:12px;
  color:#727272;
  font-size:11px;
  line-height:1.55;
}

.gs-loop-card__price{
  margin-top:auto;
  color:#1a1a1a;
  font-size:17px;
  font-weight:800;
}

.gs-loop-card__price del{
  margin-right:6px;
  color:#969696;
  font-size:12px;
  font-weight:500;
}

.gs-loop-card__price ins{
  text-decoration:none;
}

.woocommerce a.button.gs-loop-card__button,
.woocommerce button.button.gs-loop-card__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  margin-top:12px;
  padding:0 12px;
  border:0;
  background:var(--gs-green);
  color:#121212;
  border-radius:0;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.woocommerce a.button.gs-loop-card__button:hover,
.woocommerce button.button.gs-loop-card__button:hover{
  background:#b4dc6f;
  color:#121212;
}

.gs-archive-pagination{
  margin-top:22px;
}

.woocommerce nav.woocommerce-pagination ul{
  border:0;
}

.woocommerce nav.woocommerce-pagination ul li{
  border-right:0;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a{
  min-width:38px;
  min-height:38px;
  border:1px solid #deded8;
  margin-right:6px;
  line-height:36px;
}

.woocommerce nav.woocommerce-pagination ul li span.current{
  background:var(--gs-green);
  color:#141414;
}

@media (max-width:1180px){
  .gs-archive-layout{
    grid-template-columns:220px minmax(0,1fr);
  }

  .woocommerce ul.products{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:900px){
  .gs-archive-layout{
    grid-template-columns:1fr;
  }

  .gs-archive-sidebar{
    position:static;
  }

  .gs-archive-toolbar{
    flex-direction:column;
    align-items:stretch;
  }

  .gs-archive-toolbar .orderby{
    width:100%;
    min-width:0;
  }

  .woocommerce ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:640px){
  .gs-archive-hero{
    min-height:180px;
  }

  .gs-archive-hero__inner{
    min-height:180px;
    padding:22px 0;
  }

  .gs-archive-hero h1{
    font-size:30px;
  }

  .woocommerce ul.products{
    grid-template-columns:1fr;
  }
}

/* PRICE FILTER */
.gs-price-filter__row{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
}

.gs-price-filter__row input{
  width:100%;
  min-width:0;
  height:38px;
  padding:0 10px;
  border:1px solid #dbdbd5;
  background:#fff;
  color:#232323;
  font-size:13px;
}

.gs-price-filter__sep{
  color:#9a9a9a;
}

.gs-price-filter button{
  width:100%;
  height:38px;
  border:0;
  background:#111;
  color:#fff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
}

.gs-price-filter button:hover{
  background:#2a2a2a;
}

.gs-filter-reset{
  display:inline-block;
  margin-top:10px;
  color:#5d7d2b;
  font-size:12px;
  font-weight:700;
  text-decoration:underline;
}

/* ============================
   SHOP SHELL
   ============================ */
body.gs-shop-shell{
  background:#f6f6f4;
  color:var(--gs-ink);
  font-family:Arial,sans-serif;
}

.gs-shop{
  display:flex;
  flex-direction:column;
  min-height:100vh;
}

.gs-shop-content{
  flex:1;
}

.gs-topbar{
  background:var(--gs-black);
  color:#cfcfcf;
  font-size:12px;
}

.gs-topbar__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:38px;
}

.gs-topbar ul{
  display:flex;
  gap:20px;
  margin:0;
  padding:0;
  list-style:none;
}

.gs-topbar a{
  color:#cfcfcf;
  text-decoration:none;
}

.gs-topbar a:hover{
  color:#fff;
}

.gs-header{
  background:#fff;
  border-bottom:1px solid #e8e8e3;
}

.gs-header__inner{
  display:flex;
  align-items:center;
  gap:20px;
  min-height:78px;
  padding:10px 0;
}

.gs-header__logo{
  display:inline-flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
  text-decoration:none;
}

.gs-header__mark{
  width:26px;
  height:26px;
  border-radius:4px 13px 4px 13px;
  background:var(--gs-green);
}

.gs-header__name{
  color:#111;
  font-size:20px;
  font-weight:800;
  letter-spacing:-0.02em;
}

.gs-nav{
  flex:1;
  min-width:0;
  display:flex;
  align-items:center;
}

.gs-nav__list{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 18px;
  margin:0;
  padding:0;
  list-style:none;
}

.gs-nav__item{
  position:relative;
}

.gs-nav__item > a{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  color:#232323;
  font-size:12px;
  font-weight:700;
  letter-spacing:.05em;
  line-height:1.2;
  text-transform:uppercase;
  text-decoration:none;
}

.gs-nav__item > a:hover,
.gs-nav__item.is-active > a{
  color:#5d7d2b;
}

.gs-nav__drop{
  position:absolute;
  top:100%;
  left:0;
  z-index:30;
  min-width:270px;
  margin:0;
  padding:10px 0;
  list-style:none;
  background:#fff;
  border:1px solid #e6e6e0;
  box-shadow:0 22px 50px rgba(0,0,0,.1);
  opacity:0;
  visibility:hidden;
  transform:translateY(6px);
  transition:all .18s ease;
}

.gs-nav__item.has-children:hover .gs-nav__drop{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.gs-nav__drop a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 16px;
  color:#3d3d3d;
  font-size:13px;
  text-decoration:none;
}

.gs-nav__drop a:hover{
  background:#f4f5f0;
  color:#202020;
}

.gs-nav__drop em{
  color:#9a9a9a;
  font-style:normal;
  font-size:11px;
}

.gs-header__actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
}

.gs-search .woocommerce-product-search{
  display:flex;
  align-items:center;
  height:42px;
  border:1px solid #dedcd5;
  background:#fff;
}

.gs-search .search-field{
  width:170px;
  height:40px;
  padding:0 12px;
  border:0;
  background:transparent;
  color:#232323;
  font-size:13px;
  box-shadow:none;
}

.gs-search button[type="submit"]{
  height:40px;
  margin:0;
  padding:0 14px;
  border:0;
  background:var(--gs-green);
  color:#111;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  white-space:nowrap;
  text-transform:uppercase;
  cursor:pointer;
}

.gs-search button[type="submit"]:hover{
  background:#b4dc6f;
}

.gs-cart{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:42px;
  padding:0 16px;
  background:#111;
  color:#fff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-decoration:none;
}

.gs-cart:hover{
  background:#2a2a2a;
  color:#fff;
}

.gs-cart__count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  padding:0 5px;
  border-radius:999px;
  background:var(--gs-green);
  color:#111;
  font-size:11px;
}

.gs-footer{
  margin-top:auto;
  background:var(--gs-black);
  color:#b9b9b9;
}

.gs-footer__grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:28px;
  padding:52px 0 36px;
}

.gs-footer__brand{
  margin-bottom:12px;
  color:#fff;
  font-size:20px;
  font-weight:800;
}

.gs-footer__text{
  margin:0;
  color:#9d9d9d;
  font-size:13px;
  line-height:1.6;
}

.gs-footer h3{
  margin:0 0 14px;
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.gs-footer ul{
  margin:0;
  padding:0;
  list-style:none;
}

.gs-footer li{
  margin-bottom:9px;
  font-size:13px;
}

.gs-footer a{
  color:#b9b9b9;
  text-decoration:none;
}

.gs-footer a:hover{
  color:#fff;
}

.gs-footer__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 0 24px;
  border-top:1px solid rgba(255,255,255,.08);
  color:#8a8a8a;
  font-size:12px;
}

/* ============================
   SINGLE PRODUCT
   ============================ */
.gs-shop-content > #primary.content-area{
  float:none;
  width:100%;
  margin:0;
  padding:0;
}

.gs-shop-content > #primary > #main.site-main{
  width:min(1180px,100% - 36px);
  margin:0 auto;
  padding:40px 0 64px;
}

.gs-shop-content .single-product div.product{
  display:flex;
  flex-wrap:wrap;
  gap:0 40px;
}

.gs-shop-content .single-product div.product .woocommerce-product-gallery{
  float:none;
  width:calc(58% - 40px);
  margin:0;
}

.gs-shop-content .single-product div.product .summary.entry-summary{
  float:none;
  width:calc(42% - 40px);
  margin:0;
}

.gs-shop-content .single-product div.product .woocommerce-tabs,
.gs-shop-content .single-product div.product .related,
.gs-shop-content .single-product div.product .up-sells,
.gs-shop-content .single-product div.product .storefront-product-pagination{
  flex:0 0 100%;
  width:100%;
}

.gs-shop-content .single-product .summary .product_title{
  margin:0 0 10px;
  font-size:34px;
  line-height:1.1;
  font-weight:800;
  letter-spacing:-0.03em;
}

.gs-shop-content .single-product .summary .price{
  margin:0 0 18px;
  color:#141414;
  font-size:30px;
  font-weight:800;
}

.gs-shop-content .single-product .summary .price del{
  margin-right:8px;
  color:#9b9b9b;
  font-size:18px;
  font-weight:500;
}

.gs-shop-content .single-product .summary .price ins{
  text-decoration:none;
}

.gs-shop-content .single-product .summary .woocommerce-product-details__short-description{
  margin-bottom:22px;
  color:#5f5f5f;
  font-size:14px;
  line-height:1.7;
}

.gs-shop-content .single-product .summary form.cart{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-bottom:20px;
}

.gs-shop-content .single-product .quantity .qty{
  height:48px;
  padding:0 8px;
  border:1px solid #dbdbd5;
  border-radius:0;
  background:#fff;
}

.gs-shop-content .single-product .summary .single_add_to_cart_button{
  min-height:48px;
  padding:0 26px;
  border:0;
  border-radius:0;
  background:var(--gs-green);
  color:#111;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.gs-shop-content .single-product .summary .single_add_to_cart_button:hover{
  background:#b4dc6f;
  color:#111;
}

.gs-shop-content .single-product .summary .product_meta{
  padding-top:16px;
  border-top:1px solid #e6e6e0;
  color:#6d6d6d;
  font-size:12px;
}

.gs-shop-content .single-product .woocommerce-tabs{
  margin-top:48px;
  border-top:1px solid #e6e6e0;
}

.gs-shop-content .single-product .woocommerce-tabs ul.tabs{
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  margin:0;
  padding:0;
  list-style:none;
  border:0;
}

.gs-shop-content .single-product .woocommerce-tabs ul.tabs::before{
  display:none;
}

.gs-shop-content .single-product .woocommerce-tabs ul.tabs li{
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
}

.gs-shop-content .single-product .woocommerce-tabs ul.tabs li::before,
.gs-shop-content .single-product .woocommerce-tabs ul.tabs li::after{
  display:none;
}

.gs-shop-content .single-product .woocommerce-tabs ul.tabs li a{
  display:inline-flex;
  align-items:center;
  min-height:54px;
  padding:0;
  color:#4a4a4a;
  font-size:12px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  text-decoration:none;
}

.gs-shop-content .single-product .woocommerce-tabs ul.tabs li.active a{
  color:#111;
  box-shadow:inset 0 -2px 0 var(--gs-green-dark);
}

.gs-shop-content .single-product .woocommerce-tabs .panel{
  margin:0;
  padding:26px 0 0;
}

.gs-shop-content .single-product .related.products,
.gs-shop-content .single-product .up-sells.products{
  margin-top:56px;
}

.gs-shop-content .single-product .related.products > h2,
.gs-shop-content .single-product .up-sells.products > h2{
  margin:0 0 22px;
  font-size:26px;
  font-weight:800;
  letter-spacing:-0.03em;
  text-transform:uppercase;
}

@media (max-width:1100px){
  .gs-header__inner{
    flex-wrap:wrap;
    gap:14px;
    padding:14px 0;
  }

  .gs-nav{
    order:3;
    flex:1 0 100%;
  }

  .gs-nav__list{
    flex-wrap:wrap;
    gap:14px;
  }

  .gs-nav__item > a{
    min-height:auto;
  }

  .gs-nav__drop{
    position:static;
    display:none;
    opacity:1;
    visibility:visible;
    transform:none;
    box-shadow:none;
    border:0;
    padding:6px 0 0;
  }

  .gs-header__actions{
    margin-left:auto;
  }

  .gs-search .search-field{
    width:150px;
  }
}

@media (max-width:900px){
  .gs-shop-content .single-product div.product .woocommerce-product-gallery,
  .gs-shop-content .single-product div.product .summary.entry-summary{
    width:100%;
  }
}

@media (max-width:720px){
  .gs-topbar__usp{
    display:none;
  }

  .gs-topbar__inner{
    justify-content:center;
  }

  .gs-search{
    display:none;
  }

  .gs-footer__grid{
    grid-template-columns:1fr;
    gap:22px;
    padding:36px 0 26px;
  }

  .gs-footer__bottom{
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
  }
}

/* ============================
   CART / CHECKOUT / ACCOUNT
   ============================ */
.gs-page__inner{
  padding:40px 0 64px;
}

.gs-page__title{
  margin:0 0 26px;
  color:#111;
  font-size:34px;
  line-height:1.1;
  font-weight:800;
  letter-spacing:-0.03em;
}

.gs-page .wc-block-components-button{
  border-radius:0;
  box-shadow:none;
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.gs-page .wc-block-cart__submit-button,
.gs-page .wc-block-components-checkout-place-order-button{
  min-height:50px;
  border:0;
  background:var(--gs-green);
  color:#111;
}

.gs-page .wc-block-cart__submit-button:hover,
.gs-page .wc-block-components-checkout-place-order-button:hover{
  background:#b4dc6f;
  color:#111;
}

.gs-page .wc-block-cart-items{
  border:1px solid #e6e6e0;
  background:#fff;
}

.gs-page .wc-block-cart-items__header{
  border-bottom:1px solid #e6e6e0;
  background:#f4f5f0;
  color:#5c5c5c;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.gs-page .wc-block-cart-items__row{
  border-bottom:1px solid #efefea;
}

.gs-page .wc-block-cart-item__image img{
  border-radius:0;
}

.gs-page .wc-block-components-product-name{
  color:#111;
  font-size:14px;
  font-weight:700;
  text-decoration:none;
}

.gs-page .wc-block-components-product-price,
.gs-page .wc-block-components-product-price__value{
  color:#111;
  font-weight:800;
}

.gs-page .wc-block-cart-item__remove-link{
  color:#7a7a7a;
  font-size:12px;
}

.gs-page .wc-block-components-quantity-selector{
  border:1px solid #dbdbd5;
  border-radius:0;
  background:#fff;
}

.gs-page .wc-block-components-quantity-selector__button{
  background:#f4f5f0;
  color:#111;
}

.gs-page .wc-block-components-quantity-selector__button:hover{
  background:#e8eae0;
}

.gs-page .wc-block-components-quantity-selector__input{
  border:0;
  background:#fff;
  color:#111;
}

.gs-page .wc-block-cart__sidebar .wc-block-components-totals-wrapper{
  padding:20px;
  border:1px solid #e6e6e0;
  border-radius:0;
  background:#fff;
}

.gs-page .wc-block-components-totals-item{
  color:#3f3f3f;
  font-size:13px;
}

.gs-page .wc-block-components-totals-item__label{
  color:#5c5c5c;
}

.gs-page .wc-block-components-totals-footer-item{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #e6e6e0;
}

.gs-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.gs-page .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount{
  color:#111;
  font-size:19px;
  font-weight:800;
}

.gs-page .wc-block-components-panel__button,
.gs-page .wc-block-components-totals-coupon-link{
  color:#5d7d2b;
  font-weight:700;
}

.gs-page .wc-block-components-totals-coupon__input{
  min-height:42px;
  border:1px solid #dbdbd5;
  border-radius:0;
}

.gs-page .wc-block-components-totals-coupon__button{
  min-height:42px;
  border:0;
  border-radius:0;
  background:#111;
  color:#fff;
}

.gs-page .wc-block-components-text-input input,
.gs-page .wc-block-components-textarea,
.gs-page .wc-block-components-select select{
  min-height:46px;
  border:1px solid #dbdbd5;
  border-radius:0;
  background:#fff;
  color:#232323;
}

.gs-page .wc-block-components-title,
.gs-page .wc-block-components-checkout-step__title{
  color:#111;
  font-size:13px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.gs-page .wc-block-components-checkout-step__heading{
  margin-bottom:14px;
}

.gs-page .wc-block-components-notice-banner{
  border-radius:0;
}

.gs-page .wc-block-cart__empty-cart__title{
  color:#111;
  font-size:24px;
  font-weight:800;
}

/* Empty cart / empty state */
.gs-page .wp-block-woocommerce-empty-cart-block{
  padding:8px 0 10px;
}

.gs-page .wp-block-woocommerce-empty-cart-block .wp-block-separator{
  margin:32px auto;
  border-color:#e6e6e0;
}

.gs-page .wp-block-woocommerce-empty-cart-block .wp-block-heading{
  color:#111;
  font-size:28px;
  font-weight:800;
  letter-spacing:-0.02em;
}

.gs-page .wp-block-woocommerce-empty-cart-block .wp-block-paragraph{
  margin:16px 0 0;
}

.gs-page .wp-block-woocommerce-empty-cart-block .wp-block-paragraph a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 24px;
  border-radius:4px;
  background:var(--gs-green);
  color:#111;
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-decoration:none;
}

.gs-page .wp-block-woocommerce-empty-cart-block .wp-block-paragraph a:hover{
  background:#b4dc6f;
  color:#111;
}

.gs-page .wc-block-grid__product-title,
.gs-page .wc-block-grid__product-title a{
  color:#111;
  font-size:14px;
  font-weight:700;
}

.gs-page .wc-block-grid__product-price,
.gs-page .wc-block-grid__product-price .woocommerce-Price-amount{
  color:#111;
  font-weight:800;
}

.gs-page .wc-block-grid__product-add-to-cart .wp-block-button__link{
  min-height:44px;
  padding:0 20px;
  border-radius:4px;
  background:var(--gs-green);
  color:#111;
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

/* Checkout layout */
.gs-page .wc-block-checkout__sidebar{
  padding:0;
}

.gs-page .wc-block-checkout__main,
.gs-page .wc-block-checkout__sidebar{
  padding-top:0;
}

.gs-page .wc-block-components-checkout-step{
  padding:0 0 26px;
  border-bottom:1px solid #e6e6e0;
  background:transparent;
}

.gs-page .wc-block-components-checkout-step:last-of-type{
  border-bottom:0;
}

.gs-page .wc-block-components-checkout-step__container{
  padding-left:0;
}

.gs-page .wc-block-components-checkout-step__description{
  color:#6b6b6b;
  font-size:13px;
}

.gs-page .wc-block-components-order-summary,
.gs-page .wc-block-components-order-summary-item{
  border-radius:0;
}

.gs-page .wc-block-components-order-summary-item{
  border-bottom:1px solid #efefea;
  padding:14px 0;
  font-size:13px;
}

.gs-page .wc-block-components-order-summary-item:last-child{
  border-bottom:0;
}

.gs-page .wc-block-components-order-summary__content{
  background:transparent;
}

.gs-page .wc-block-components-panel__content{
  border-radius:0;
}

.gs-page .wc-block-components-sidebar-layout .wc-block-components-main{
  padding-right:32px;
}

/* Express payment */
.gs-page .wc-block-components-express-payment__title,
.gs-page .wc-block-components-express-payment-continue-rule span{
  color:#8a8a8a;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.gs-page .wc-block-components-express-payment-continue-rule::before,
.gs-page .wc-block-components-express-payment-continue-rule::after{
  border-color:#e6e6e0;
}

/* Notices */
.gs-page .wc-block-components-notice-banner.is-info,
.gs-page .wc-block-components-notice-banner.is-success{
  border-color:#cdd6bd;
  background:#f4f5f0;
  color:#3f3f3f;
}

.gs-page .wc-block-components-notice-banner.is-error{
  border-color:#e0b6b0;
  background:#fbf1ef;
}

.gs-page .wc-block-components-notice-banner__content a{
  color:#5d7d2b;
  font-weight:700;
}

/* Text-link buttons keep the plain link look */
.gs-page .wc-block-components-button.is-link,
.gs-page .wc-block-components-checkout-return-to-cart-button{
  min-height:0;
  padding:0;
  background:none;
  color:#5d7d2b;
  text-decoration:underline;
}

.gs-page .wc-block-components-button.is-link:hover,
.gs-page .wc-block-components-checkout-return-to-cart-button:hover{
  background:none;
  color:#111;
}

/* Account page */
.gs-page .woocommerce h2,
.gs-page .woocommerce h3{
  margin:0 0 16px;
  color:#111;
  font-size:20px;
  font-weight:800;
  letter-spacing:-0.02em;
}

.gs-page .woocommerce-form-login__rememberme{
  color:#3f3f3f;
  font-size:13px;
}

.gs-page .woocommerce-LostPassword a,
.gs-page .woocommerce-EditAccountForm legend{
  color:#5d7d2b;
  font-weight:700;
}

.gs-page .woocommerce-MyAccount-content{
  padding:24px;
  border:1px solid #e6e6e0;
  background:#fff;
}

.gs-page .woocommerce-MyAccount-content p,
.gs-page .woocommerce-MyAccount-content address{
  color:#3f3f3f;
  font-size:14px;
  line-height:1.65;
}

.gs-page .woocommerce-MyAccount-content a{
  color:#5d7d2b;
  font-weight:700;
}

.gs-page .woocommerce-Addresses .woocommerce-Address{
  padding:20px;
  border:1px solid #e6e6e0;
  background:#fff;
}

.gs-page .woocommerce-orders-table__cell,
.gs-page .woocommerce-table--order-details{
  font-size:13px;
}

.gs-page .woocommerce-table--order-details th{
  color:#5c5c5c;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* Classic WooCommerce markup (account page) */
.gs-page .woocommerce form.login,
.gs-page .woocommerce form.register{
  padding:24px;
  border:1px solid #e6e6e0;
  border-radius:0;
  background:#fff;
}

.gs-page .woocommerce form .form-row input.input-text,
.gs-page .woocommerce form .form-row textarea{
  min-height:46px;
  padding:0 12px;
  border:1px solid #dbdbd5;
  border-radius:0;
}

.gs-page .woocommerce button.button,
.gs-page .woocommerce a.button,
.gs-page .woocommerce input.button{
  min-height:46px;
  padding:0 22px;
  border-radius:0;
  background:var(--gs-green);
  color:#111;
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.gs-page .woocommerce button.button:hover,
.gs-page .woocommerce a.button:hover,
.gs-page .woocommerce input.button:hover{
  background:#b4dc6f;
  color:#111;
}

.gs-page .woocommerce-MyAccount-navigation ul{
  margin:0 0 24px;
  padding:0;
  list-style:none;
  border:1px solid #e6e6e0;
  background:#fff;
}

.gs-page .woocommerce-MyAccount-navigation li a{
  display:block;
  padding:12px 16px;
  border-bottom:1px solid #efefea;
  color:#3f3f3f;
  font-size:13px;
  text-decoration:none;
}

.gs-page .woocommerce-MyAccount-navigation li.is-active a{
  color:#111;
  font-weight:800;
  box-shadow:inset 3px 0 0 var(--gs-green);
}

.gs-page .woocommerce-message,
.gs-page .woocommerce-info,
.gs-page .woocommerce-error{
  border-radius:0;
  border-top:0;
  background:#f4f5f0;
  color:#3f3f3f;
}

.gs-page .woocommerce-message{
  border-left:4px solid var(--gs-green);
}

@media (max-width:900px){
  .gs-page .wc-block-cart__sidebar{
    margin-top:26px;
  }
}

@media (max-width:640px){
  .gs-page__title{
    font-size:26px;
  }

  .gs-page .wc-block-cart-items__header{
    display:none;
  }
}

/* ============================
   ASSISTANT
   ============================ */
.gs-assistant{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:120;
}

.gs-assistant__toggle{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:54px;
  padding:0 18px;
  border:0;
  border-radius:999px;
  background:#111;
  color:#fff;
  box-shadow:0 20px 50px rgba(0,0,0,.2);
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  cursor:pointer;
}

.gs-assistant__toggle:hover{
  background:#222;
}

.gs-assistant__toggle-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background:var(--gs-green);
  box-shadow:0 0 0 6px rgba(154,205,79,.14);
}

.gs-assistant__panel{
  width:min(380px,calc(100vw - 24px));
  margin-top:12px;
  margin-left:auto;
  border:1px solid #e6e6e0;
  background:#fff;
  box-shadow:0 30px 70px rgba(0,0,0,.18);
}

.gs-assistant__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:18px 18px 14px;
  border-bottom:1px solid #ecece6;
  background:#f4f5f0;
}

.gs-assistant__head strong{
  display:block;
  margin:0 0 4px;
  color:#111;
  font-size:16px;
  font-weight:800;
}

.gs-assistant__head p{
  margin:0;
  color:#5f5f5f;
  font-size:13px;
  line-height:1.5;
}

.gs-assistant__close{
  width:34px;
  height:34px;
  border:0;
  background:#fff;
  color:#111;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}

.gs-assistant__body{
  padding:18px;
}

.gs-assistant__intro p{
  margin:0 0 14px;
  color:#555;
  font-size:13px;
  line-height:1.6;
}

.gs-assistant__topics{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:14px;
}

.gs-assistant__topics button{
  min-height:34px;
  padding:0 12px;
  border:1px solid #dcdcd5;
  background:#fff;
  color:#242424;
  font-size:11px;
  font-weight:700;
  letter-spacing:.03em;
  cursor:pointer;
}

.gs-assistant__topics button:hover{
  border-color:var(--gs-green-dark);
  color:#111;
}

.gs-assistant__answer{
  margin-bottom:14px;
  padding:14px;
  border:1px solid #e6e6e0;
  background:#f9f9f6;
  color:#3f3f3f;
  font-size:13px;
  line-height:1.6;
}

.gs-assistant__notice{
  margin-bottom:14px;
  padding:12px 14px;
  border-left:4px solid #bfc7af;
  background:#f4f5f0;
  color:#3f3f3f;
  font-size:13px;
}

.gs-assistant__notice.is-success{
  border-left-color:var(--gs-green);
}

.gs-assistant__notice.is-error{
  border-left-color:#d78374;
  background:#fbf1ef;
}

.gs-assistant__form{
  display:grid;
  gap:12px;
}

.gs-assistant__form label{
  display:grid;
  gap:6px;
}

.gs-assistant__form span{
  color:#111;
  font-size:12px;
  font-weight:700;
}

.gs-assistant__form input,
.gs-assistant__form textarea{
  width:100%;
  min-height:46px;
  padding:0 12px;
  border:1px solid #dbdbd5;
  border-radius:0;
  background:#fff;
  color:#232323;
  font-size:13px;
  box-sizing:border-box;
}

.gs-assistant__form textarea{
  min-height:110px;
  padding:12px;
  resize:vertical;
}

.gs-assistant__form button{
  min-height:48px;
  border:0;
  background:var(--gs-green);
  color:#111;
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
}

.gs-assistant__form button:hover{
  background:#b4dc6f;
}

@media (max-width:720px){
  .gs-assistant{
    right:12px;
    bottom:12px;
    left:12px;
  }

  .gs-assistant__toggle{
    width:100%;
    justify-content:center;
  }

  .gs-assistant__panel{
    width:100%;
  }
}
