/*
Theme Name: Temsta Social Seller
Theme URI: https://temsta.com/
Description: Astra child theme for Temsta One social sellers using WooCommerce.
Author: Temsta Systems
Template: astra
Version: 1.14.5.1
Text Domain: temsta-social-seller
*/

:root{
  --ts-bg:#ffffff;
  --ts-text:#151515;
  --ts-muted:#6b7280;
  --ts-line:#ececec;
  --ts-card:#f7f7f7;
  --ts-accent:#111111;
  --ts-accent-contrast:#ffffff;
  --ts-radius:20px;
  --ts-shadow:0 12px 40px rgba(0,0,0,.07);
  --ts-container:1200px;
}

body{
  background:var(--ts-bg);
  color:var(--ts-text);
}
.site-content .ast-container,
#primary{
  max-width:none;
  padding:0;
}
#primary{margin:0}
.ast-separate-container .ast-article-single{padding:0}
.ts-wrap{max-width:var(--ts-container);margin:auto;padding:0 20px}
.ts-section{padding:64px 0}
.ts-section--soft{background:#fafafa}
.ts-eyebrow{
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:700;
  margin-bottom:10px;
}
.ts-title{
  font-size:clamp(30px,5vw,58px);
  line-height:1.02;
  letter-spacing:-.035em;
  margin:0 0 14px;
}
.ts-subtitle{
  font-size:clamp(16px,2vw,20px);
  max-width:650px;
  color:var(--ts-muted);
  margin:0 0 24px;
}
.ts-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 22px;
  border-radius:999px;
  background:var(--ts-accent);
  color:var(--ts-accent-contrast)!important;
  text-decoration:none!important;
  font-weight:700;
}
.ts-btn--ghost{
  background:transparent;
  color:var(--ts-text)!important;
  border:1px solid #d9d9d9;
}

.ts-hero{
  position:relative;
  min-height:72vh;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:#e9e9e9;
}
.ts-hero__media{
  position:absolute;
  inset:0;
}
.ts-hero__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.ts-hero__overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.64),rgba(0,0,0,.08) 70%);
}
.ts-hero__content{
  position:relative;
  z-index:2;
  color:#fff;
  padding:90px 20px 70px;
  width:min(760px,100%);
  margin-left:max(0px,calc((100vw - var(--ts-container))/2));
}
.ts-hero__content .ts-subtitle{color:rgba(255,255,255,.85)}
.ts-hero .ts-btn{
  background:#fff;
  color:#111!important;
}

.ts-section-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-end;
  margin-bottom:30px;
}
.ts-section-head h2{
  margin:0;
  font-size:clamp(26px,3vw,40px);
}
.ts-section-head a{
  color:inherit;
  text-decoration:none;
  font-weight:700;
}

.ts-cat-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.ts-cat-card{
  position:relative;
  border-radius:var(--ts-radius);
  overflow:hidden;
  min-height:320px;
  background:#eee;
  text-decoration:none!important;
  color:#fff!important;
}
.ts-cat-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  position:absolute;
  inset:0;
  transition:transform .35s ease;
}
.ts-cat-card:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(0,0,0,.62),rgba(0,0,0,.03) 60%);
}
.ts-cat-card span{
  position:absolute;
  z-index:2;
  left:20px;
  right:20px;
  bottom:18px;
  font-size:22px;
  font-weight:800;
}
.ts-cat-card:hover img{transform:scale(1.035)}

.ts-promo{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  border-radius:28px;
  overflow:hidden;
  background:#111;
  color:#fff;
}
.ts-promo__copy{padding:55px}
.ts-promo__copy h2{
  color:#fff;
  font-size:clamp(28px,4vw,52px);
  margin:0 0 15px;
}
.ts-promo__copy p{color:rgba(255,255,255,.82)}
.ts-promo__media img{
  width:100%;
  height:100%;
  min-height:340px;
  object-fit:cover;
}

.ts-trust{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.ts-trust__item{
  border:1px solid var(--ts-line);
  border-radius:18px;
  padding:24px;
}
.ts-trust__item strong{
  display:block;
  margin-bottom:7px;
  font-size:17px;
}
.ts-trust__item p{margin:0;color:var(--ts-muted)}

.ts-insta-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:8px;
}
.ts-insta-grid a{
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:10px;
  background:#eee;
}
.ts-insta-grid img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .25s ease;
}
.ts-insta-grid a:hover img{transform:scale(1.04)}

.ts-mobile-nav{
  display:none;
}

/* Woo product cards */
.woocommerce ul.products{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
  margin:0!important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product{
  width:auto!important;
  margin:0!important;
  float:none!important;
}
.woocommerce ul.products li.product a img{
  border-radius:16px;
  margin-bottom:12px!important;
  aspect-ratio:4/5;
  object-fit:cover;
  background:#f3f3f3;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:16px!important;
  padding:0!important;
  margin:0 0 5px!important;
  color:var(--ts-text);
}
.woocommerce ul.products li.product .price{
  color:var(--ts-text)!important;
  font-weight:700!important;
}
.woocommerce ul.products li.product .button{
  border-radius:999px!important;
  margin-top:10px!important;
}

/* Single product polishing */
.single-product .product .images img{border-radius:18px}
.single-product div.product .product_title{
  font-size:clamp(30px,4vw,48px);
  letter-spacing:-.025em;
}
.single-product div.product p.price{
  font-size:24px!important;
  font-weight:800;
}
.ts-product-trust{
  margin:22px 0;
  display:grid;
  gap:8px;
  padding:16px 18px;
  background:#f8f8f8;
  border-radius:14px;
}
.ts-product-trust div{font-size:14px}

/* Mobile */
@media (max-width: 921px){
  .ts-hero{min-height:66vh}
  .ts-cat-grid{grid-template-columns:repeat(2,1fr)}
  .ts-cat-card{min-height:260px}
  .ts-promo{grid-template-columns:1fr}
  .ts-promo__copy{padding:36px 24px}
  .ts-trust{grid-template-columns:1fr}
  .ts-insta-grid{grid-template-columns:repeat(3,1fr)}
  .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .ts-section{padding:46px 0}

  .ts-mobile-nav{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    position:fixed;
    z-index:9999;
    bottom:0;
    left:0;
    right:0;
    background:#fff;
    border-top:1px solid #e7e7e7;
    padding:max(8px,env(safe-area-inset-bottom)) 8px 8px;
    box-shadow:0 -8px 30px rgba(0,0,0,.06);
  }
  .ts-mobile-nav a{
    text-decoration:none!important;
    color:#222!important;
    text-align:center;
    font-size:11px;
    font-weight:700;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:2px;
  }
  .ts-mobile-nav .ts-icon{font-size:20px;line-height:1.2}
  body{padding-bottom:68px}
}


/* =========================
   Product page v1.1
   ========================= */
.single-product div.product{
  max-width:var(--ts-container);
  margin:0 auto;
  padding:44px 20px 80px;
}
.single-product div.product .summary{
  position:sticky;
  top:28px;
}
.single-product .woocommerce-product-gallery{
  margin-bottom:32px!important;
}
.single-product .woocommerce-product-gallery__image{
  overflow:hidden;
  border-radius:18px;
  background:#f4f4f4;
}
.single-product .flex-control-thumbs{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px;
  margin-top:10px!important;
}
.single-product .flex-control-thumbs li{
  width:auto!important;
  float:none!important;
}
.single-product .flex-control-thumbs img{
  border-radius:10px;
  aspect-ratio:1/1;
  object-fit:cover;
}
.single-product div.product .woocommerce-product-details__short-description{
  color:var(--ts-muted);
  font-size:16px;
  line-height:1.65;
}
.single-product div.product form.cart{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:20px 0!important;
}
.single-product div.product form.cart .quantity{
  margin:0!important;
}
.single-product div.product form.cart .button{
  min-height:50px;
  border-radius:999px!important;
  padding:0 24px!important;
  font-weight:800!important;
}
.single-product .ts-buy-now{
  background:#fff!important;
  color:#111!important;
  border:1px solid #111!important;
}
.ts-product-actions{
  display:flex;
  gap:10px;
  margin:12px 0 0;
}
.ts-share-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  border:1px solid #dadada;
  border-radius:999px;
  padding:0 18px;
  background:#fff;
  color:#111;
  font-weight:700;
  cursor:pointer;
}
.ts-share-feedback{
  font-size:13px;
  color:var(--ts-muted);
  align-self:center;
}
.ts-product-trust{
  margin:22px 0;
  display:grid;
  gap:0;
  padding:0;
  background:#fff;
  border:1px solid var(--ts-line);
  border-radius:16px;
  overflow:hidden;
}
.ts-product-trust div{
  font-size:14px;
  padding:13px 16px;
  border-bottom:1px solid var(--ts-line);
}
.ts-product-trust div:last-child{border-bottom:0}

.ts-delivery-card{
  margin:18px 0 0;
  border-radius:16px;
  background:#f7f7f7;
  padding:17px 18px;
}
.ts-delivery-card strong{
  display:block;
  margin-bottom:5px;
}
.ts-delivery-card p{
  margin:0;
  color:var(--ts-muted);
  font-size:14px;
}

.single-product .product_meta{
  padding-top:18px;
  border-top:1px solid var(--ts-line);
  color:var(--ts-muted);
  font-size:13px;
}
.single-product .woocommerce-tabs{
  margin-top:60px;
}
.single-product .woocommerce-tabs ul.tabs{
  display:flex;
  gap:24px;
  padding:0!important;
  margin:0 0 24px!important;
  border-bottom:1px solid var(--ts-line);
}
.single-product .woocommerce-tabs ul.tabs:before,
.single-product .woocommerce-tabs ul.tabs li:before,
.single-product .woocommerce-tabs ul.tabs li:after{display:none!important}
.single-product .woocommerce-tabs ul.tabs li{
  border:0!important;
  background:transparent!important;
  margin:0!important;
  padding:0!important;
}
.single-product .woocommerce-tabs ul.tabs li a{
  padding:14px 0!important;
}
.single-product section.related.products,
.single-product section.upsells.products{
  margin-top:70px;
}

.ts-mobile-buybar{
  display:none;
}

@media(max-width:921px){
  .single-product div.product{
    padding:18px 16px 100px;
  }
  .single-product div.product .summary{
    position:static;
  }
  .single-product div.product .product_title{
    font-size:32px;
    margin-top:8px;
  }
  .single-product .woocommerce-tabs ul.tabs{
    gap:14px;
    overflow-x:auto;
    white-space:nowrap;
  }
  .single-product div.product form.cart{
    align-items:stretch;
  }
  .single-product div.product form.cart .single_add_to_cart_button,
  .single-product div.product form.cart .ts-buy-now{
    flex:1 1 calc(50% - 5px);
  }
  .ts-mobile-buybar{
    display:flex;
    position:fixed;
    z-index:10000;
    left:0;
    right:0;
    bottom:68px;
    background:#fff;
    border-top:1px solid #e5e5e5;
    padding:10px 14px;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    box-shadow:0 -7px 25px rgba(0,0,0,.06);
  }
  .ts-mobile-buybar__price{
    min-width:0;
  }
  .ts-mobile-buybar__price small{
    display:block;
    color:var(--ts-muted);
    line-height:1.1;
  }
  .ts-mobile-buybar__price strong{
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .ts-mobile-buybar button{
    border:0;
    border-radius:999px;
    background:var(--ts-accent);
    color:var(--ts-accent-contrast);
    min-height:44px;
    padding:0 18px;
    font-weight:800;
  }
}


/* =========================
   Temsta storefront header v1.2
   ========================= */

.site-header,
#masthead{
  display:none!important;
}

.home .site-content,
.home #content,
.home .site-content > .ast-container,
.home #primary,
.home .site-main{
  margin-top:0!important;
  padding-top:0!important;
}
.home .site-content > .ast-container{
  max-width:none!important;
  padding-left:0!important;
  padding-right:0!important;
}

.ts-store-header{
  position:relative;
  z-index:999;
  background:#fff;
  border-bottom:1px solid #ececec;
}
.ts-store-header__announcement{
  text-align:center;
  padding:8px 16px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
  background:#111;
  color:#fff;
}
.ts-store-header__inner{
  max-width:var(--ts-container);
  margin:0 auto;
  padding:16px 20px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:28px;
}
.ts-store-brand{
  display:flex;
  align-items:center;
  min-width:0;
  color:var(--ts-text)!important;
  text-decoration:none!important;
}
.ts-store-brand img{
  display:block;
  max-height:44px;
  width:auto;
}
.ts-store-brand__name{
  font-weight:900;
  font-size:24px;
  letter-spacing:-.025em;
  white-space:nowrap;
}
.ts-store-nav{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:26px;
}
.ts-store-nav a{
  color:var(--ts-text)!important;
  text-decoration:none!important;
  font-weight:700;
  font-size:14px;
}
.ts-store-nav a:hover{opacity:.65}
.ts-store-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}
.ts-store-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 14px;
  border:1px solid #e5e5e5;
  border-radius:999px;
  text-decoration:none!important;
  color:var(--ts-text)!important;
  font-size:13px;
  font-weight:800;
  background:#fff;
}
.ts-store-action--cart{
  background:#111;
  color:#fff!important;
  border-color:#111;
}
.ts-cart-count{
  display:inline-grid;
  place-items:center;
  min-width:20px;
  height:20px;
  padding:0 5px;
  border-radius:999px;
  margin-left:7px;
  background:#fff;
  color:#111;
  font-size:11px;
  line-height:1;
}

.ts-hero__content .ts-title,
.ts-hero__content .ts-eyebrow{
  color:#fff!important;
}
.ts-hero__content .ts-subtitle{
  color:rgba(255,255,255,.90)!important;
}

.ts-hero{
  background:
    radial-gradient(circle at 76% 18%, rgba(255,255,255,.18), transparent 28%),
    linear-gradient(120deg,#242424 0%,#565656 45%,#b4b4b4 100%);
}

@media(max-width:1050px){
  .ts-store-header__inner{
    grid-template-columns:auto 1fr;
  }
  .ts-store-nav{display:none}
  .ts-store-actions{justify-self:end}
}
@media(max-width:600px){
  .ts-store-header__announcement{
    font-size:11px;
    padding:7px 10px;
  }
  .ts-store-header__inner{
    padding:12px 14px;
    gap:10px;
  }
  .ts-store-brand__name{font-size:20px}
  .ts-store-action--account{display:none}
  .ts-store-action{
    min-height:38px;
    padding:0 12px;
  }
}


/* =========================
   Shop & category pages v1.3
   ========================= */

.woocommerce-shop .site-content,
.tax-product_cat .site-content,
.tax-product_tag .site-content,
.search-results.post-type-archive-product .site-content{
  padding-top:0!important;
}

.ts-shop-hero{
  background:#f6f6f6;
  border-bottom:1px solid var(--ts-line);
}
.ts-shop-hero__inner{
  max-width:var(--ts-container);
  margin:0 auto;
  padding:44px 20px 34px;
}
.ts-shop-hero__eyebrow{
  font-size:12px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
  margin-bottom:8px;
}
.ts-shop-hero h1{
  font-size:clamp(34px,5vw,58px);
  line-height:1;
  letter-spacing:-.035em;
  margin:0 0 12px;
}
.ts-shop-hero p{
  max-width:680px;
  margin:0;
  color:var(--ts-muted);
  font-size:16px;
}

.ts-shop-tools{
  max-width:var(--ts-container);
  margin:0 auto;
  padding:22px 20px 12px;
}
.ts-shop-tools__row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
}
.ts-shop-search{
  flex:1 1 520px;
  max-width:620px;
  position:relative;
}
.ts-shop-search input{
  width:100%;
  height:48px;
  border:1px solid #dedede;
  border-radius:999px;
  padding:0 50px 0 18px;
  background:#fff;
}
.ts-shop-search button{
  position:absolute;
  right:5px;
  top:5px;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:#111;
  color:#fff;
  cursor:pointer;
}
.ts-shop-cats{
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding:12px 0 4px;
  scrollbar-width:none;
}
.ts-shop-cats::-webkit-scrollbar{display:none}
.ts-shop-cat{
  white-space:nowrap;
  display:inline-flex;
  min-height:38px;
  align-items:center;
  padding:0 15px;
  border:1px solid #dfdfdf;
  border-radius:999px;
  background:#fff;
  color:#111!important;
  text-decoration:none!important;
  font-size:13px;
  font-weight:700;
}
.ts-shop-cat:hover{
  border-color:#111;
}

/* Woo archive wrapper */
.woocommerce-shop .site-main > .woocommerce,
.tax-product_cat .site-main > .woocommerce,
.tax-product_tag .site-main > .woocommerce{
  max-width:var(--ts-container);
  margin:0 auto;
  padding:12px 20px 70px;
}
.woocommerce .woocommerce-result-count{
  color:var(--ts-muted);
  font-size:13px;
  margin:12px 0 24px!important;
}
.woocommerce .woocommerce-ordering{
  margin:6px 0 22px!important;
}
.woocommerce .woocommerce-ordering select{
  min-height:42px;
  border-radius:999px;
  border:1px solid #ddd;
  padding:0 38px 0 14px;
  background:#fff;
  font-size:13px;
}

/* Product card upgrades */
.woocommerce ul.products li.product{
  position:relative;
}
.woocommerce ul.products li.product .onsale{
  top:10px!important;
  left:10px!important;
  right:auto!important;
  min-width:auto!important;
  min-height:auto!important;
  line-height:1!important;
  padding:8px 10px!important;
  border-radius:999px!important;
  background:#111!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:800!important;
}
.woocommerce ul.products li.product .star-rating{
  font-size:12px!important;
  margin:5px 0!important;
}
.woocommerce ul.products li.product .price del{
  opacity:.45;
}
.woocommerce ul.products li.product .price ins{
  text-decoration:none;
}
.woocommerce ul.products li.product .button{
  width:100%;
  text-align:center;
  justify-content:center;
  min-height:44px;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination{
  margin-top:42px;
}
.woocommerce nav.woocommerce-pagination ul{
  border:0!important;
  display:flex;
  justify-content:center;
  gap:8px;
}
.woocommerce nav.woocommerce-pagination ul li{
  border:0!important;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  display:grid!important;
  place-items:center;
  min-width:40px;
  height:40px;
  border:1px solid #dedede;
  border-radius:50%;
  padding:0!important;
  color:#111!important;
  background:#fff!important;
}
.woocommerce nav.woocommerce-pagination ul li span.current{
  background:#111!important;
  color:#fff!important;
  border-color:#111!important;
}

/* Empty result */
.ts-empty-shop{
  max-width:620px;
  margin:70px auto;
  text-align:center;
  padding:0 20px;
}
.ts-empty-shop h2{
  font-size:30px;
  margin:0 0 10px;
}
.ts-empty-shop p{
  color:var(--ts-muted);
  margin-bottom:20px;
}

/* Better breadcrumb */
.woocommerce .woocommerce-breadcrumb{
  max-width:var(--ts-container);
  margin:0 auto!important;
  padding:18px 20px 0!important;
  color:var(--ts-muted)!important;
  font-size:12px!important;
}
.woocommerce .woocommerce-breadcrumb a{
  color:#111!important;
}

/* Mobile */
@media(max-width:700px){
  .ts-shop-hero__inner{
    padding:30px 14px 26px;
  }
  .ts-shop-tools{
    padding:16px 14px 6px;
  }
  .ts-shop-tools__row{
    display:block;
  }
  .ts-shop-search{
    max-width:none;
  }
  .woocommerce-shop .site-main > .woocommerce,
  .tax-product_cat .site-main > .woocommerce,
  .tax-product_tag .site-main > .woocommerce{
    padding-left:14px;
    padding-right:14px;
  }
  .woocommerce .woocommerce-ordering,
  .woocommerce .woocommerce-result-count{
    float:none!important;
    width:100%;
  }
  .woocommerce .woocommerce-ordering select{
    width:100%;
  }
}


/* v1.4: benefit cards adapt to merchant-enabled features */
.ts-trust{
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}


/* =========================
   My Account / auth pages v1.5
   ========================= */

.woocommerce-account .site-content,
.woocommerce-lost-password .site-content{
  padding-top:0!important;
}

.woocommerce-account .entry-header,
.woocommerce-lost-password .entry-header{
  display:none!important;
}

.woocommerce-account .site-main,
.woocommerce-lost-password .site-main{
  max-width:var(--ts-container);
  margin:0 auto;
  padding:34px 20px 80px;
}

.woocommerce-account .woocommerce:before,
.woocommerce-account .woocommerce:after,
.woocommerce-lost-password .woocommerce:before,
.woocommerce-lost-password .woocommerce:after{
  content:"";
  display:table;
}
.woocommerce-account .woocommerce:after,
.woocommerce-lost-password .woocommerce:after{
  clear:both;
}

.woocommerce-account .woocommerce h2,
.woocommerce-lost-password .woocommerce h2{
  font-size:32px;
  letter-spacing:-.03em;
  margin:0 0 18px;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content{
  float:none!important;
}

.woocommerce-account .woocommerce{
  display:grid;
  grid-template-columns:290px minmax(0,1fr);
  gap:26px;
  align-items:start;
}

.woocommerce-account .woocommerce-MyAccount-navigation{
  width:auto!important;
  position:sticky;
  top:24px;
  border:1px solid var(--ts-line);
  border-radius:22px;
  background:#fff;
  padding:14px;
  box-shadow:0 12px 38px rgba(0,0,0,.04);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul{
  list-style:none;
  margin:0;
  padding:0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li{
  margin:0 0 8px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child{
  margin-bottom:0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a{
  display:flex;
  align-items:center;
  min-height:50px;
  padding:0 16px;
  border-radius:14px;
  text-decoration:none!important;
  color:var(--ts-text)!important;
  font-weight:700;
  background:#fff;
  border:1px solid #ededed;
  transition:all .18s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover{
  border-color:#111;
  transform:translateY(-1px);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a{
  background:#111;
  color:#fff!important;
  border-color:#111;
}

.woocommerce-account .woocommerce-MyAccount-content{
  width:auto!important;
  min-width:0;
  border:1px solid var(--ts-line);
  border-radius:24px;
  background:#fff;
  padding:28px;
  box-shadow:0 12px 38px rgba(0,0,0,.04);
}

.woocommerce-account .woocommerce-MyAccount-content p:first-child{
  margin-top:0;
}

.woocommerce-account .woocommerce-MyAccount-content p{
  color:var(--ts-muted);
  line-height:1.75;
  font-size:16px;
}

.woocommerce-account .woocommerce-MyAccount-content strong{
  color:var(--ts-text);
}

.woocommerce-account .woocommerce-MyAccount-content a{
  font-weight:700;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address{
  border:1px solid var(--ts-line);
  border-radius:18px;
  padding:20px;
  background:#fafafa;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address h3{
  margin-top:0;
  margin-bottom:10px;
  font-size:22px;
  letter-spacing:-.02em;
}

.woocommerce-account .woocommerce-orders-table,
.woocommerce-account .shop_table,
.woocommerce-account table.account-orders-table{
  border:1px solid var(--ts-line)!important;
  border-radius:18px;
  overflow:hidden;
  border-collapse:separate!important;
  border-spacing:0;
}

.woocommerce-account .shop_table th,
.woocommerce-account .shop_table td{
  padding:15px 16px!important;
  border-color:var(--ts-line)!important;
}

.woocommerce-account .shop_table thead th{
  background:#f6f6f6;
  color:var(--ts-text);
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.woocommerce-account .button,
.woocommerce-account button.button,
.woocommerce-account input.button,
.woocommerce-lost-password .button,
.woocommerce-lost-password button.button,
.woocommerce-lost-password input.button{
  min-height:46px!important;
  border-radius:999px!important;
  padding:0 18px!important;
  font-weight:800!important;
}

.woocommerce-account .button:not(.ts-store-action):not(.ts-buy-now),
.woocommerce-account button.button:not(.ts-store-action):not(.ts-buy-now),
.woocommerce-account input.button:not(.ts-store-action):not(.ts-buy-now),
.woocommerce-lost-password .button,
.woocommerce-lost-password button.button,
.woocommerce-lost-password input.button{
  background:#111!important;
  color:#fff!important;
}

.woocommerce-account .button:hover,
.woocommerce-account button.button:hover,
.woocommerce-account input.button:hover,
.woocommerce-lost-password .button:hover,
.woocommerce-lost-password button.button:hover,
.woocommerce-lost-password input.button:hover{
  opacity:.92;
}

.woocommerce-account form .form-row,
.woocommerce-lost-password form .form-row{
  margin-bottom:16px;
}

.woocommerce-account form .input-text,
.woocommerce-account form select,
.woocommerce-account form textarea,
.woocommerce-lost-password form .input-text,
.woocommerce-lost-password form select,
.woocommerce-lost-password form textarea{
  min-height:52px;
  border:1px solid #dedede;
  border-radius:14px;
  padding:0 14px;
  background:#fff;
}

.woocommerce-account form textarea,
.woocommerce-lost-password form textarea{
  min-height:120px;
  padding-top:12px;
}

.woocommerce-account fieldset{
  border:1px solid var(--ts-line);
  border-radius:18px;
  padding:18px 18px 6px;
  margin-top:24px;
}

.woocommerce-account fieldset legend{
  padding:0 8px;
  font-weight:800;
}

.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-info,
.woocommerce-lost-password .woocommerce-message,
.woocommerce-lost-password .woocommerce-error,
.woocommerce-lost-password .woocommerce-info{
  border:1px solid var(--ts-line)!important;
  border-left:4px solid #111!important;
  background:#fff!important;
  border-radius:16px!important;
  padding:16px 18px 16px 20px!important;
  margin-bottom:18px!important;
}

.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce-lost-password .woocommerce-ResetPassword{
  border:1px solid var(--ts-line)!important;
  border-radius:22px!important;
  background:#fff!important;
  padding:24px!important;
  box-shadow:0 12px 38px rgba(0,0,0,.04);
}

.woocommerce-account .u-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:26px;
}

.woocommerce-account .u-column1,
.woocommerce-account .u-column2{
  width:auto!important;
  float:none!important;
}

.woocommerce-account nav.woocommerce-MyAccount-navigation + div.woocommerce-MyAccount-content .woocommerce-notices-wrapper + p{
  font-size:18px;
  color:var(--ts-text);
}

@media(max-width:980px){
  .woocommerce-account .woocommerce{
    grid-template-columns:1fr;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation{
    position:static;
    overflow-x:auto;
    padding:10px;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul{
    display:flex;
    gap:10px;
    flex-wrap:nowrap;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul li{
    margin:0;
    flex:0 0 auto;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul li a{
    white-space:nowrap;
    min-height:44px;
  }

  .woocommerce-account .u-columns{
    grid-template-columns:1fr;
  }
}

@media(max-width:640px){
  .woocommerce-account .site-main,
  .woocommerce-lost-password .site-main{
    padding:22px 14px 72px;
  }

  .woocommerce-account .woocommerce-MyAccount-content{
    padding:20px;
    border-radius:18px;
  }

  .woocommerce-account .woocommerce-MyAccount-content p{
    font-size:15px;
  }

  .woocommerce-account .shop_table th,
  .woocommerce-account .shop_table td{
    padding:12px!important;
  }
}


/* =========================
   Cart, mini-cart & quick actions v1.6
   ========================= */

/* ---------- Cart page ---------- */
.woocommerce-cart .entry-header{
  display:none!important;
}
.woocommerce-cart .site-content{
  padding-top:0!important;
}
.ts-cart-hero{
  background:#f6f6f6;
  border-bottom:1px solid var(--ts-line);
}
.ts-cart-hero__inner{
  max-width:var(--ts-container);
  margin:0 auto;
  padding:42px 20px 32px;
}
.ts-cart-hero h1{
  margin:0 0 8px;
  font-size:clamp(34px,5vw,56px);
  line-height:1;
  letter-spacing:-.035em;
}
.ts-cart-hero p{
  margin:0;
  color:var(--ts-muted);
}
.woocommerce-cart .site-main{
  max-width:var(--ts-container);
  margin:0 auto;
  padding:30px 20px 80px;
}

/* Classic cart */
.woocommerce-cart table.shop_table{
  border:1px solid var(--ts-line)!important;
  border-radius:20px;
  overflow:hidden;
  border-collapse:separate!important;
  border-spacing:0;
}
.woocommerce-cart table.shop_table th{
  background:#f6f6f6;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td{
  padding:16px!important;
  border-color:var(--ts-line)!important;
}
.woocommerce-cart table.shop_table img{
  width:82px!important;
  border-radius:12px;
}
.woocommerce-cart .quantity .qty{
  min-height:42px;
  border-radius:12px;
}
.woocommerce-cart .coupon{
  display:flex!important;
  gap:8px;
  align-items:center;
}
.woocommerce-cart .coupon .input-text{
  min-height:46px!important;
  border-radius:999px!important;
  padding:0 16px!important;
  width:190px!important;
}
.woocommerce-cart .actions .button,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button{
  border-radius:999px!important;
  min-height:48px!important;
  font-weight:800!important;
}
.woocommerce-cart .cart-collaterals .cart_totals{
  border:1px solid var(--ts-line);
  border-radius:20px;
  padding:22px;
  background:#fff;
  box-shadow:0 12px 34px rgba(0,0,0,.04);
}
.woocommerce-cart .cart-collaterals .cart_totals h2{
  font-size:24px;
  letter-spacing:-.02em;
}

/* Cart Block */
.woocommerce-cart .wp-block-woocommerce-cart{
  max-width:var(--ts-container)!important;
  margin:0 auto!important;
}
.woocommerce-cart .wc-block-cart{
  gap:24px;
}
.woocommerce-cart .wc-block-cart__main{
  border:1px solid var(--ts-line);
  border-radius:20px;
  padding:18px;
  background:#fff;
}
.woocommerce-cart .wc-block-cart__sidebar{
  border:1px solid var(--ts-line);
  border-radius:20px;
  padding:18px!important;
  background:#fff;
  align-self:flex-start;
  position:sticky;
  top:24px;
  box-shadow:0 12px 34px rgba(0,0,0,.04);
}
.woocommerce-cart .wc-block-cart-item__image img{
  border-radius:12px;
}
.woocommerce-cart .wc-block-components-button{
  border-radius:999px!important;
  min-height:50px!important;
  font-weight:800!important;
}

/* Empty cart */
.woocommerce-cart .wc-block-cart__empty-cart__title,
.woocommerce-cart .cart-empty{
  font-weight:800;
  font-size:26px;
}
.woocommerce-cart .return-to-shop .button{
  border-radius:999px!important;
}

/* ---------- Mini cart drawer ---------- */
.ts-mini-cart{
  position:fixed;
  inset:0;
  z-index:12000;
  pointer-events:none;
  visibility:hidden;
}
.ts-mini-cart.is-open{
  pointer-events:auto;
  visibility:visible;
}
.ts-mini-cart__backdrop{
  position:absolute;
  inset:0;
  border:0;
  background:rgba(0,0,0,.42);
  opacity:0;
  transition:opacity .22s ease;
  cursor:pointer;
}
.ts-mini-cart.is-open .ts-mini-cart__backdrop{
  opacity:1;
}
.ts-mini-cart__panel{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:min(440px,94vw);
  background:#fff;
  transform:translateX(100%);
  transition:transform .25s ease;
  display:flex;
  flex-direction:column;
  box-shadow:-18px 0 55px rgba(0,0,0,.14);
}
.ts-mini-cart.is-open .ts-mini-cart__panel{
  transform:translateX(0);
}
.ts-mini-cart__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:22px 22px 16px;
  border-bottom:1px solid var(--ts-line);
}
.ts-mini-cart__head h2{
  margin:0;
  font-size:30px;
  letter-spacing:-.03em;
}
.ts-mini-cart__close{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid #e2e2e2;
  border-radius:50%;
  background:#fff;
  font-size:26px;
  line-height:1;
  cursor:pointer;
}
.ts-mini-cart__content{
  flex:1;
  min-height:0;
  overflow:auto;
  padding:18px 22px 24px;
}
.ts-mini-cart .woocommerce-mini-cart{
  list-style:none;
  margin:0!important;
  padding:0!important;
}
.ts-mini-cart .woocommerce-mini-cart-item{
  position:relative;
  display:grid;
  grid-template-columns:76px 1fr;
  gap:14px;
  padding:0 28px 18px 0!important;
  margin:0 0 18px!important;
  border-bottom:1px solid var(--ts-line);
}
.ts-mini-cart .woocommerce-mini-cart-item img{
  grid-column:1;
  grid-row:1 / span 2;
  width:76px!important;
  height:92px!important;
  object-fit:cover;
  border-radius:12px;
  margin:0!important;
  float:none!important;
}
.ts-mini-cart .woocommerce-mini-cart-item > a:not(.remove){
  display:contents;
  color:var(--ts-text)!important;
  font-weight:800;
  text-decoration:none!important;
}
.ts-mini-cart .woocommerce-mini-cart-item .quantity{
  grid-column:2;
  color:var(--ts-muted);
  font-size:13px;
}
.ts-mini-cart .woocommerce-mini-cart-item .remove{
  position:absolute;
  top:0;
  right:0;
  width:24px;
  height:24px;
  display:grid!important;
  place-items:center;
  border-radius:50%;
  background:#f3f3f3;
  color:#111!important;
  text-decoration:none!important;
}
.ts-mini-cart .woocommerce-mini-cart__total{
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin:18px 0!important;
  padding:16px 0!important;
  border-top:1px solid var(--ts-line);
  border-bottom:1px solid var(--ts-line);
  font-size:17px;
}
.ts-mini-cart .woocommerce-mini-cart__buttons{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:0!important;
}
.ts-mini-cart .woocommerce-mini-cart__buttons .button{
  min-height:48px;
  border-radius:999px!important;
  display:flex!important;
  align-items:center;
  justify-content:center;
  margin:0!important;
  font-weight:800!important;
}
.ts-mini-cart .woocommerce-mini-cart__buttons .checkout{
  background:#111!important;
  color:#fff!important;
}
.ts-mini-cart .woocommerce-mini-cart__empty-message{
  text-align:center;
  padding:80px 20px;
  color:var(--ts-muted);
}
body.ts-cart-open{
  overflow:hidden;
}

/* ---------- Account quick actions ---------- */
.ts-account-quick{
  margin-top:34px;
  padding-top:28px;
  border-top:1px solid var(--ts-line);
}
.ts-account-quick__head{
  margin-bottom:18px;
}
.ts-account-quick__head h2{
  margin:0!important;
  font-size:26px!important;
  letter-spacing:-.025em;
}
.ts-account-quick__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.ts-account-quick__card{
  display:grid;
  grid-template-columns:42px 1fr;
  grid-template-rows:auto auto;
  gap:4px 12px;
  padding:18px;
  border:1px solid var(--ts-line);
  border-radius:18px;
  color:var(--ts-text)!important;
  text-decoration:none!important;
  background:#fafafa;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.ts-account-quick__card:hover{
  transform:translateY(-2px);
  border-color:#111;
  background:#fff;
}
.ts-account-quick__icon{
  grid-row:1 / span 2;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#111;
  color:#fff;
  font-size:20px;
}
.ts-account-quick__card strong{
  align-self:end;
  font-size:16px;
}
.ts-account-quick__card > span:last-child{
  color:var(--ts-muted);
  font-size:13px;
  line-height:1.45;
}

@media(max-width:760px){
  .ts-cart-hero__inner{
    padding:30px 14px 24px;
  }
  .woocommerce-cart .site-main{
    padding:22px 14px 80px;
  }
  .woocommerce-cart .wc-block-cart__sidebar{
    position:static;
  }
  .ts-account-quick__grid{
    grid-template-columns:1fr;
  }
  .ts-mini-cart .woocommerce-mini-cart__buttons{
    grid-template-columns:1fr;
  }
}


/* =========================
   My Account structural fix v1.7
   ========================= */

/*
 * Woo inserts .woocommerce-notices-wrapper before navigation.
 * Explicit grid placement prevents notices from shifting nav/content.
 */
.woocommerce-account .woocommerce{
  display:grid!important;
  grid-template-columns:270px minmax(0,1fr)!important;
  grid-template-areas:
    "notices notices"
    "nav content"!important;
  gap:22px!important;
  align-items:start!important;
}

.woocommerce-account .woocommerce > .woocommerce-notices-wrapper{
  grid-area:notices!important;
  min-width:0;
}

.woocommerce-account .woocommerce > .woocommerce-message,
.woocommerce-account .woocommerce > .woocommerce-info,
.woocommerce-account .woocommerce > .woocommerce-error{
  grid-column:1 / -1!important;
}

.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation{
  grid-area:nav!important;
  width:100%!important;
  margin:0!important;
  float:none!important;
}

.woocommerce-account .woocommerce > .woocommerce-MyAccount-content{
  grid-area:content!important;
  width:100%!important;
  margin:0!important;
  float:none!important;
  min-width:0!important;
}

/* Navigation refinement */
.woocommerce-account .woocommerce-MyAccount-navigation{
  border:1px solid var(--ts-line);
  border-radius:18px;
  padding:10px;
  box-shadow:none;
  background:#fff;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li{
  margin:0 0 5px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a{
  min-height:46px;
  border:0;
  border-radius:12px;
  padding:0 14px;
  background:transparent;
  font-size:14px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover{
  background:#f5f5f5;
  transform:none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a{
  background:#111;
  color:#fff!important;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout{
  padding-top:6px;
  margin-top:8px!important;
  border-top:1px solid var(--ts-line);
}

/* Main account panel */
.woocommerce-account .woocommerce-MyAccount-content{
  border:1px solid var(--ts-line);
  border-radius:20px;
  padding:28px!important;
  box-shadow:none;
  background:#fff;
  min-height:360px;
}

.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type{
  margin-top:0;
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3{
  letter-spacing:-.025em;
}

/* Dashboard greeting */
.ts-account-welcome{
  margin-bottom:28px;
  padding-bottom:24px;
  border-bottom:1px solid var(--ts-line);
}
.ts-account-welcome__eyebrow{
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:8px;
}
.ts-account-welcome h1{
  margin:0 0 8px;
  font-size:clamp(28px,4vw,42px);
  letter-spacing:-.035em;
}
.ts-account-welcome p{
  margin:0!important;
  color:var(--ts-muted)!important;
}

/* Address page */
.woocommerce-account .woocommerce-Addresses{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:20px;
}
.woocommerce-account .woocommerce-Address{
  width:auto!important;
  float:none!important;
  margin:0!important;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address{
  border:1px solid var(--ts-line);
  border-radius:16px;
  padding:20px;
  background:#fafafa;
}
.woocommerce-account .woocommerce-Address-title{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  margin-bottom:12px;
}
.woocommerce-account .woocommerce-Address-title h3{
  margin:0!important;
  font-size:20px!important;
}
.woocommerce-account .woocommerce-Address-title .edit{
  float:none!important;
  white-space:nowrap;
  font-size:13px;
}
.woocommerce-account address{
  font-style:normal;
  line-height:1.7;
  color:var(--ts-muted);
}

/* Orders table */
.woocommerce-account .woocommerce-orders-table{
  width:100%;
}
.woocommerce-account .woocommerce-orders-table .woocommerce-button{
  min-height:38px!important;
  padding:0 14px!important;
  font-size:12px!important;
}

/* Hide redundant default dashboard intro once custom welcome is shown */
.woocommerce-account.woocommerce-view-order .ts-account-welcome,
.woocommerce-account.woocommerce-orders .ts-account-welcome,
.woocommerce-account.woocommerce-edit-address .ts-account-welcome,
.woocommerce-account.woocommerce-edit-account .ts-account-welcome{
  display:none;
}

/* Mobile */
@media(max-width:900px){
  .woocommerce-account .woocommerce{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "notices"
      "nav"
      "content"!important;
    gap:14px!important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation{
    overflow-x:auto;
    border-radius:14px;
    padding:8px;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul{
    display:flex!important;
    gap:6px!important;
    flex-wrap:nowrap!important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul li{
    flex:0 0 auto!important;
    margin:0!important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul li a{
    white-space:nowrap;
    min-height:40px;
    padding:0 13px;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout{
    border-top:0;
    padding-top:0;
    margin-top:0!important;
  }

  .woocommerce-account .woocommerce-MyAccount-content{
    padding:20px!important;
    min-height:0;
  }

  .woocommerce-account .woocommerce-Addresses{
    grid-template-columns:1fr;
  }
}

@media(max-width:560px){
  .woocommerce-account .site-main{
    padding-left:12px;
    padding-right:12px;
  }

  .woocommerce-account .woocommerce-MyAccount-content{
    padding:16px!important;
    border-radius:16px;
  }
}


/* =========================
   My Account polish v1.8
   ========================= */

/* Remove odd Woo pseudo-icons / legacy notice markers inside account cards. */
.woocommerce-account .woocommerce-info::before,
.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-error::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error::before{
  display:none!important;
  content:none!important;
}

.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-error{
  padding-left:18px!important;
}

/* Empty orders / verification prompts */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:82px;
  border-left:4px solid #111!important;
  margin-bottom:14px!important;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button{
  flex:0 0 auto;
  margin:0!important;
  white-space:nowrap;
}

/* Address page: keep intro full width, cards aligned underneath */
.woocommerce-account .woocommerce-MyAccount-content > p:first-child{
  font-size:16px;
  color:var(--ts-muted);
  margin-bottom:20px;
}

.woocommerce-account .woocommerce-Addresses{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
  margin:0!important;
}

.woocommerce-account .woocommerce-Address{
  min-width:0;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address{
  padding:0!important;
  overflow:hidden;
  background:#fff;
}

.woocommerce-account .woocommerce-Address-title{
  padding:18px 18px 14px;
  margin:0!important;
  border-bottom:1px solid var(--ts-line);
  align-items:center;
}

.woocommerce-account .woocommerce-Address-title h3{
  font-size:20px!important;
  line-height:1.2;
}

.woocommerce-account .woocommerce-Address-title .edit{
  display:inline-flex;
  min-height:36px;
  align-items:center;
  padding:0 13px;
  border:1px solid #dedede;
  border-radius:999px;
  text-decoration:none!important;
  font-weight:800;
  color:#111!important;
  background:#fff;
}

.woocommerce-account .woocommerce-Address address{
  padding:18px;
  margin:0;
  min-height:110px;
}

/* Account details form */
.woocommerce-account .woocommerce-EditAccountForm{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 22px;
}

.woocommerce-account .woocommerce-EditAccountForm .form-row{
  width:auto!important;
  float:none!important;
  margin:0!important;
}

.woocommerce-account .woocommerce-EditAccountForm .form-row-wide,
.woocommerce-account .woocommerce-EditAccountForm fieldset,
.woocommerce-account .woocommerce-EditAccountForm > p:last-child,
.woocommerce-account .woocommerce-EditAccountForm .clear{
  grid-column:1 / -1;
}

.woocommerce-account .woocommerce-EditAccountForm label{
  display:block;
  margin:0 0 7px;
  font-size:14px;
  font-weight:800;
  color:var(--ts-text);
}

.woocommerce-account .woocommerce-EditAccountForm .woocommerce-form-row em{
  display:block;
  margin-top:7px;
  color:var(--ts-muted);
  font-size:12px;
  line-height:1.45;
}

.woocommerce-account .woocommerce-EditAccountForm fieldset{
  margin:8px 0 0!important;
  padding:20px!important;
  background:#fafafa;
}

.woocommerce-account .woocommerce-EditAccountForm fieldset legend{
  font-size:18px;
  font-weight:900;
}

.woocommerce-account .woocommerce-EditAccountForm > p:last-child{
  margin:0!important;
  display:flex;
  justify-content:flex-end;
}

.woocommerce-account .woocommerce-EditAccountForm > p:last-child .button{
  min-width:180px;
}

/* Contact guard panel injected by companion plugin */
.ts-contact-guard{
  grid-column:1 / -1;
  border:1px solid var(--ts-line);
  border-radius:18px;
  padding:20px;
  background:#fbfbfb;
}
.ts-contact-guard__head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin-bottom:16px;
}
.ts-contact-guard__head h3{
  margin:0 0 5px!important;
  font-size:20px!important;
}
.ts-contact-guard__head p{
  margin:0!important;
  color:var(--ts-muted)!important;
  font-size:13px!important;
}
.ts-contact-guard__status{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 10px;
  border-radius:999px;
  background:#fff3cd;
  color:#5c4600;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.ts-contact-guard__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.ts-contact-guard__current,
.ts-contact-guard__request{
  border:1px solid #e5e5e5;
  border-radius:14px;
  padding:15px;
  background:#fff;
}
.ts-contact-guard__current small,
.ts-contact-guard__request small{
  display:block;
  margin-bottom:5px;
  color:var(--ts-muted);
}
.ts-contact-guard__current strong{
  word-break:break-word;
}
.ts-contact-guard__fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}
.ts-contact-guard__actions{
  margin-top:14px;
  display:flex;
  justify-content:flex-end;
}

/* Keep readonly protected email visually intentional */
.woocommerce-account input[readonly].ts-protected-contact{
  background:#f3f3f3!important;
  color:#666!important;
  cursor:not-allowed;
}

/* Mobile */
@media(max-width:760px){
  .woocommerce-account .woocommerce-Addresses,
  .woocommerce-account .woocommerce-EditAccountForm,
  .ts-contact-guard__grid,
  .ts-contact-guard__fields{
    grid-template-columns:1fr!important;
  }

  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-info{
    align-items:flex-start;
    flex-direction:column;
  }

  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button{
    width:100%;
  }

  .ts-contact-guard__head{
    display:block;
  }

  .ts-contact-guard__status{
    margin-top:10px;
  }
}


/* =========================
   Account vertical spacing fix v1.8.1
   ========================= */

/* Tighten the top edge of the account content panel. */
.woocommerce-account .woocommerce > .woocommerce-MyAccount-content{
  padding:16px 22px 24px!important;
}

/* Prevent Woo notices/content from adding extra space at the top. */
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-notices-wrapper:first-child,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info:first-child,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-message:first-child,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-error:first-child{
  margin-top:0!important;
}

/* Orders endpoint: keep the first action card close to the top of the panel. */
.woocommerce-account.woocommerce-orders .woocommerce-MyAccount-content > *:first-child,
.woocommerce-account.woocommerce-view-order .woocommerce-MyAccount-content > *:first-child,
.woocommerce-account.woocommerce-edit-address .woocommerce-MyAccount-content > *:first-child,
.woocommerce-account.woocommerce-edit-account .woocommerce-MyAccount-content > *:first-child{
  margin-top:0!important;
}

@media(max-width:760px){
  .woocommerce-account .woocommerce > .woocommerce-MyAccount-content{
    padding:14px 16px 20px!important;
  }
}


/* =========================
   Orders empty-state polish v1.8.2
   ========================= */

/* Do not force empty account endpoints to look taller than their content. */
.woocommerce-account .woocommerce > .woocommerce-MyAccount-content{
  min-height:0!important;
}

/*
 * Woo places the action button before the text in some account notices and
 * after it in others. Float the action to the right so both layouts render
 * consistently without depending on DOM order.
 */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message{
  display:block!important;
  min-height:0!important;
  padding:18px 20px!important;
  line-height:1.55!important;
  overflow:hidden;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button{
  float:right!important;
  margin:0 0 0 22px!important;
  min-width:190px;
  min-height:44px!important;
}

/* Keep multiple empty-state messages close together. */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info + .woocommerce-info,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message + .woocommerce-info,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info + .woocommerce-message{
  margin-top:12px!important;
}

/* Orders endpoint should size naturally around its content. */
.woocommerce-account.woocommerce-orders .woocommerce-MyAccount-content{
  padding-bottom:16px!important;
}

/* Keep the copy vertically balanced against the action button. */
.woocommerce-account.woocommerce-orders .woocommerce-MyAccount-content .woocommerce-info{
  font-size:15px;
}

@media(max-width:680px){
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-message{
    padding:16px!important;
  }

  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button{
    float:none!important;
    display:flex!important;
    width:100%;
    min-width:0;
    margin:12px 0 0!important;
  }
}


/* =========================
   Orders wrapper fix v1.8.3
   ========================= */

/*
 * Orders already renders its own notice/order cards.
 * Do not wrap those cards inside a second rounded content card.
 */
.woocommerce-account.woocommerce-orders .woocommerce > .woocommerce-MyAccount-content{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  min-height:0!important;
}

/* No synthetic spacing around the first/last Orders child. */
.woocommerce-account.woocommerce-orders .woocommerce-MyAccount-content > *:first-child{
  margin-top:0!important;
}
.woocommerce-account.woocommerce-orders .woocommerce-MyAccount-content > *:last-child{
  margin-bottom:0!important;
}

/* Keep only the actual order-state cards. */
.woocommerce-account.woocommerce-orders .woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-account.woocommerce-orders .woocommerce-MyAccount-content .woocommerce-message{
  margin:0 0 12px!important;
  border-radius:16px!important;
  padding:16px 18px!important;
}

.woocommerce-account.woocommerce-orders .woocommerce-MyAccount-content .woocommerce-info:last-child,
.woocommerce-account.woocommerce-orders .woocommerce-MyAccount-content .woocommerce-message:last-child{
  margin-bottom:0!important;
}

@media(max-width:680px){
  .woocommerce-account.woocommerce-orders .woocommerce > .woocommerce-MyAccount-content{
    padding:0!important;
  }
}


/* =========================
   Account action button alignment v1.8.4
   ========================= */

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error .button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:44px!important;
  min-height:44px!important;
  line-height:1!important;
  padding:0 22px!important;
  vertical-align:middle!important;
  text-align:center!important;
  white-space:nowrap!important;
}

/* Specifically keep Orders empty-state action visually balanced. */
.woocommerce-account.woocommerce-orders .woocommerce-MyAccount-content .button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:44px!important;
  line-height:1!important;
  padding-top:0!important;
  padding-bottom:0!important;
}

@media(max-width:680px){
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button,
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-error .button{
    width:100%!important;
  }
}


/* =========================
   Premium catalog / shop v1.9
   ========================= */

/* Astra/Woo archive shell */
.woocommerce-shop .site-content,
.tax-product_cat .site-content,
.tax-product_tag .site-content,
.search-results.post-type-archive-product .site-content{
  padding-top:0!important;
  background:#fff;
}

.woocommerce-shop .site-content > .ast-container,
.tax-product_cat .site-content > .ast-container,
.tax-product_tag .site-content > .ast-container,
.search-results.post-type-archive-product .site-content > .ast-container{
  display:block!important;
  max-width:none!important;
  padding:0!important;
}

.woocommerce-shop #primary,
.tax-product_cat #primary,
.tax-product_tag #primary,
.search-results.post-type-archive-product #primary{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}

/* Old archive hero is intentionally retired in v1.9. */
.woocommerce-shop .ts-shop-hero,
.tax-product_cat .ts-shop-hero,
.tax-product_tag .ts-shop-hero,
.search-results.post-type-archive-product .ts-shop-hero,
.woocommerce-shop .ts-shop-tools,
.tax-product_cat .ts-shop-tools,
.tax-product_tag .ts-shop-tools,
.search-results.post-type-archive-product .ts-shop-tools{
  display:none!important;
}

/* Breadcrumb is redundant once the compact catalog header is present. */
.woocommerce-shop .woocommerce-breadcrumb,
.tax-product_cat .woocommerce-breadcrumb,
.tax-product_tag .woocommerce-breadcrumb,
.search-results.post-type-archive-product .woocommerce-breadcrumb{
  display:none!important;
}

/* Woo archive content width */
.woocommerce-shop .site-main > .woocommerce,
.tax-product_cat .site-main > .woocommerce,
.tax-product_tag .site-main > .woocommerce,
.search-results.post-type-archive-product .site-main > .woocommerce{
  width:min(100% - 40px, 1440px)!important;
  max-width:1440px!important;
  margin:0 auto!important;
  padding:34px 0 72px!important;
}

/* Header: title left, search right */
.ts-catalog-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,560px);
  align-items:end;
  gap:40px;
  margin-bottom:26px;
}

.ts-catalog-head__eyebrow{
  margin-bottom:8px;
  font-size:11px;
  line-height:1;
  font-weight:850;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#777;
}

.ts-catalog-head h1{
  margin:0 0 8px!important;
  font-size:clamp(34px,4vw,52px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  color:var(--ts-text);
}

.ts-catalog-head p{
  max-width:620px;
  margin:0!important;
  color:var(--ts-muted);
  font-size:15px;
  line-height:1.6;
}

.ts-catalog-search{
  position:relative;
  width:100%;
}

.ts-catalog-search input{
  width:100%!important;
  height:54px!important;
  margin:0!important;
  padding:0 62px 0 19px!important;
  border:1px solid #dedede!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 1px 2px rgba(0,0,0,.02)!important;
  font-size:15px!important;
  outline:none!important;
  transition:border-color .18s ease, box-shadow .18s ease;
}

.ts-catalog-search input:focus{
  border-color:#aaa!important;
  box-shadow:0 0 0 3px rgba(0,0,0,.045)!important;
}

.ts-catalog-search button{
  position:absolute;
  top:6px;
  right:6px;
  display:grid!important;
  place-items:center;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:12px!important;
  background:#111!important;
  color:#fff!important;
  cursor:pointer;
}

.ts-catalog-search button svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
}

/* Category pills */
.ts-catalog-cats{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:0 0 16px;
  margin:0 -2px;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}

.ts-catalog-cats::-webkit-scrollbar{
  display:none;
}

.ts-catalog-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  max-width:230px;
  height:38px;
  padding:0 14px;
  overflow:hidden;
  border:1px solid #e2e2e2;
  border-radius:999px;
  background:#fff;
  color:#222!important;
  text-decoration:none!important;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12px;
  font-weight:750;
  transition:background .18s ease,border-color .18s ease,color .18s ease;
}

.ts-catalog-chip:hover{
  border-color:#aaa;
  background:#fafafa;
}

.ts-catalog-chip.is-active{
  border-color:#111;
  background:#111;
  color:#fff!important;
}

/* Result count + sort form one clean row */
.ts-catalog-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:60px;
  margin:0 0 22px;
  padding:12px 0;
  border-top:1px solid var(--ts-line);
}

.ts-catalog-toolbar__count .woocommerce-result-count{
  float:none!important;
  margin:0!important;
  color:var(--ts-muted)!important;
  font-size:13px!important;
}

.ts-catalog-toolbar__sort{
  display:flex;
  align-items:center;
  gap:10px;
}

.ts-catalog-toolbar__sort > span{
  color:#777;
  font-size:12px;
  font-weight:700;
}

.ts-catalog-toolbar__sort .woocommerce-ordering{
  float:none!important;
  margin:0!important;
}

.ts-catalog-toolbar__sort .woocommerce-ordering select{
  min-width:170px;
  height:40px!important;
  min-height:40px!important;
  padding:0 34px 0 13px!important;
  border:1px solid #dedede!important;
  border-radius:12px!important;
  background-color:#fff!important;
  font-size:12px!important;
  font-weight:650;
}

/* Denser, more premium product grid */
.woocommerce-shop ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products,
.search-results.post-type-archive-product ul.products{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:28px 18px!important;
  margin:0!important;
}

.woocommerce-shop ul.products li.product,
.tax-product_cat ul.products li.product,
.tax-product_tag ul.products li.product,
.search-results.post-type-archive-product ul.products li.product{
  display:flex!important;
  min-width:0;
  flex-direction:column;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}

.woocommerce-shop ul.products li.product > a.woocommerce-LoopProduct-link,
.tax-product_cat ul.products li.product > a.woocommerce-LoopProduct-link,
.tax-product_tag ul.products li.product > a.woocommerce-LoopProduct-link,
.search-results.post-type-archive-product ul.products li.product > a.woocommerce-LoopProduct-link{
  display:block;
  color:inherit!important;
  text-decoration:none!important;
}

.woocommerce-shop ul.products li.product a img,
.tax-product_cat ul.products li.product a img,
.tax-product_tag ul.products li.product a img,
.search-results.post-type-archive-product ul.products li.product a img{
  width:100%!important;
  aspect-ratio:1 / 1!important;
  height:auto!important;
  margin:0 0 12px!important;
  border-radius:16px!important;
  background:#f5f5f5!important;
  object-fit:cover!important;
  transition:transform .22s ease, box-shadow .22s ease;
}

.woocommerce-shop ul.products li.product:hover a img,
.tax-product_cat ul.products li.product:hover a img,
.tax-product_tag ul.products li.product:hover a img,
.search-results.post-type-archive-product ul.products li.product:hover a img{
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(0,0,0,.07);
}

.woocommerce-shop ul.products li.product img[src*="placeholder"],
.tax-product_cat ul.products li.product img[src*="placeholder"],
.tax-product_tag ul.products li.product img[src*="placeholder"],
.search-results.post-type-archive-product ul.products li.product img[src*="placeholder"]{
  object-fit:contain!important;
  padding:18%!important;
}

.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
.tax-product_tag ul.products li.product .woocommerce-loop-product__title,
.search-results.post-type-archive-product ul.products li.product .woocommerce-loop-product__title{
  display:-webkit-box;
  min-height:2.7em;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  margin:0 0 6px!important;
  padding:0!important;
  color:#202020!important;
  font-size:14px!important;
  font-weight:750!important;
  line-height:1.35!important;
}

.woocommerce-shop ul.products li.product .star-rating,
.tax-product_cat ul.products li.product .star-rating,
.tax-product_tag ul.products li.product .star-rating,
.search-results.post-type-archive-product ul.products li.product .star-rating{
  margin:0 0 6px!important;
  font-size:11px!important;
}

.woocommerce-shop ul.products li.product .price,
.tax-product_cat ul.products li.product .price,
.tax-product_tag ul.products li.product .price,
.search-results.post-type-archive-product ul.products li.product .price{
  min-height:22px;
  margin:0 0 10px!important;
  color:#111!important;
  font-size:14px!important;
  font-weight:850!important;
}

.woocommerce-shop ul.products li.product .button,
.tax-product_cat ul.products li.product .button,
.tax-product_tag ul.products li.product .button,
.search-results.post-type-archive-product ul.products li.product .button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:40px!important;
  margin:auto 0 0!important;
  padding:0 14px!important;
  border-radius:12px!important;
  background:#111!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1!important;
}

.woocommerce-shop ul.products li.product .onsale,
.tax-product_cat ul.products li.product .onsale,
.tax-product_tag ul.products li.product .onsale,
.search-results.post-type-archive-product ul.products li.product .onsale{
  top:10px!important;
  left:10px!important;
  right:auto!important;
  min-width:0!important;
  min-height:0!important;
  padding:7px 9px!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#111!important;
  box-shadow:0 3px 12px rgba(0,0,0,.12)!important;
  font-size:10px!important;
  font-weight:850!important;
  line-height:1!important;
}

/* Empty state */
.ts-empty-shop{
  max-width:520px;
  margin:70px auto;
  padding:42px 28px;
  border:1px solid var(--ts-line);
  border-radius:22px;
  background:#fafafa;
  text-align:center;
}

.ts-empty-shop__icon{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  margin:0 auto 14px;
  border-radius:50%;
  background:#111;
  color:#fff;
  font-size:20px;
}

.ts-empty-shop h2{
  margin:0 0 8px!important;
  font-size:26px!important;
}

.ts-empty-shop p{
  margin:0 0 20px!important;
  color:var(--ts-muted);
}

/* Responsive catalog */
@media(max-width:1250px){
  .woocommerce-shop ul.products,
  .tax-product_cat ul.products,
  .tax-product_tag ul.products,
  .search-results.post-type-archive-product ul.products{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}

@media(max-width:980px){
  .ts-catalog-head{
    grid-template-columns:1fr;
    gap:20px;
  }

  .ts-catalog-search{
    max-width:none;
  }

  .woocommerce-shop ul.products,
  .tax-product_cat ul.products,
  .tax-product_tag ul.products,
  .search-results.post-type-archive-product ul.products{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media(max-width:700px){
  .woocommerce-shop .site-main > .woocommerce,
  .tax-product_cat .site-main > .woocommerce,
  .tax-product_tag .site-main > .woocommerce,
  .search-results.post-type-archive-product .site-main > .woocommerce{
    width:min(100% - 28px, 1440px)!important;
    padding-top:22px!important;
    padding-bottom:54px!important;
  }

  .ts-catalog-head{
    margin-bottom:18px;
  }

  .ts-catalog-head h1{
    font-size:36px!important;
  }

  .ts-catalog-head p{
    font-size:14px;
  }

  .ts-catalog-search input{
    height:50px!important;
    border-radius:14px!important;
  }

  .ts-catalog-search button{
    top:5px;
    right:5px;
    width:40px!important;
    height:40px!important;
  }

  .ts-catalog-cats{
    margin-right:-14px;
    padding-bottom:14px;
  }

  .ts-catalog-chip{
    height:36px;
    max-width:190px;
    padding:0 13px;
    font-size:11px;
  }

  .ts-catalog-toolbar{
    align-items:center;
    min-height:54px;
    margin-bottom:18px;
  }

  .ts-catalog-toolbar__sort > span{
    display:none;
  }

  .ts-catalog-toolbar__sort .woocommerce-ordering select{
    min-width:142px;
    max-width:160px;
  }

  .woocommerce-shop ul.products,
  .tax-product_cat ul.products,
  .tax-product_tag ul.products,
  .search-results.post-type-archive-product ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:22px 12px!important;
  }

  .woocommerce-shop ul.products li.product a img,
  .tax-product_cat ul.products li.product a img,
  .tax-product_tag ul.products li.product a img,
  .search-results.post-type-archive-product ul.products li.product a img{
    margin-bottom:9px!important;
    border-radius:13px!important;
  }

  .woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
  .tax-product_cat ul.products li.product .woocommerce-loop-product__title,
  .tax-product_tag ul.products li.product .woocommerce-loop-product__title,
  .search-results.post-type-archive-product ul.products li.product .woocommerce-loop-product__title{
    font-size:13px!important;
  }

  .woocommerce-shop ul.products li.product .button,
  .tax-product_cat ul.products li.product .button,
  .tax-product_tag ul.products li.product .button,
  .search-results.post-type-archive-product ul.products li.product .button{
    min-height:38px!important;
    font-size:11px!important;
  }
}

@media(max-width:430px){
  .ts-catalog-toolbar__count .woocommerce-result-count{
    font-size:11px!important;
  }

  .ts-catalog-toolbar__sort .woocommerce-ordering select{
    min-width:132px;
    max-width:145px;
    font-size:11px!important;
  }
}


/* =========================
   Catalog spacing + category cleanup v1.9.1
   ========================= */

/*
 * v1.9.0 targeted a Woo wrapper that is not present in every Astra/Woo
 * archive structure. Put the actual site-main in a reliable centered shell.
 */
.woocommerce-shop #primary .site-main,
.tax-product_cat #primary .site-main,
.tax-product_tag #primary .site-main,
.search-results #primary .site-main{
  width:calc(100% - 96px)!important;
  max-width:1460px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:34px 0 72px!important;
}

/* Avoid double horizontal padding from Astra on the same archive pages. */
.woocommerce-shop #content > .ast-container,
.tax-product_cat #content > .ast-container,
.tax-product_tag #content > .ast-container,
.search-results #content > .ast-container{
  width:100%!important;
  max-width:none!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* v1.9.0 inner wrapper may exist on some installs; don't add a second inset. */
.woocommerce-shop .site-main > .woocommerce,
.tax-product_cat .site-main > .woocommerce,
.tax-product_tag .site-main > .woocommerce,
.search-results.post-type-archive-product .site-main > .woocommerce{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

/*
 * Keep categories as a restrained navigation strip rather than a wall of
 * imported taxonomy text.
 */
.ts-catalog-cats{
  gap:7px!important;
  margin:0!important;
  padding:0 0 16px!important;
}

.ts-catalog-chip{
  max-width:180px!important;
  height:36px!important;
  padding:0 13px!important;
  font-size:11.5px!important;
  font-weight:750!important;
}

/* Slightly stronger separation between category navigation and product tools. */
.ts-catalog-toolbar{
  margin-top:2px!important;
}

/* Desktop/tablet side breathing room. */
@media(max-width:1100px){
  .woocommerce-shop #primary .site-main,
  .tax-product_cat #primary .site-main,
  .tax-product_tag #primary .site-main,
  .search-results #primary .site-main{
    width:calc(100% - 56px)!important;
  }
}

/* Mobile still keeps a visible edge; never flush products against the screen. */
@media(max-width:700px){
  .woocommerce-shop #primary .site-main,
  .tax-product_cat #primary .site-main,
  .tax-product_tag #primary .site-main,
  .search-results #primary .site-main{
    width:calc(100% - 28px)!important;
    padding-top:22px!important;
    padding-bottom:54px!important;
  }

  .ts-catalog-cats{
    margin-right:-14px!important;
  }
}


/* =========================
   Category cards v1.9.2
   ========================= */

/*
 * Product categories can have very short or very long names.
 * Use equal visual cards instead of variable-width pills.
 */
.ts-catalog-category-section{
  margin:0 0 4px;
}

.ts-catalog-category-section__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:0 0 10px;
}

.ts-catalog-category-section__head h2{
  margin:0!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:850!important;
  letter-spacing:.01em;
  color:#222!important;
}

.ts-catalog-cats{
  display:grid!important;
  grid-auto-flow:column!important;
  grid-auto-columns:168px!important;
  justify-content:start!important;
  gap:10px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  margin:0!important;
  padding:0 0 16px!important;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}

.ts-catalog-cats::-webkit-scrollbar{
  display:none;
}

.ts-catalog-chip{
  position:relative;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  width:168px!important;
  max-width:none!important;
  min-width:168px!important;
  height:64px!important;
  padding:11px 12px 11px 14px!important;
  overflow:hidden!important;
  border:1px solid #e2e2e2!important;
  border-radius:14px!important;
  background:#fafafa!important;
  color:#222!important;
  text-align:left!important;
  text-decoration:none!important;
  white-space:normal!important;
  scroll-snap-align:start;
  transition:
    transform .16s ease,
    border-color .16s ease,
    background .16s ease,
    box-shadow .16s ease;
}

.ts-catalog-chip:hover{
  transform:translateY(-1px);
  border-color:#c8c8c8!important;
  background:#fff!important;
  box-shadow:0 7px 18px rgba(0,0,0,.055);
}

.ts-catalog-chip__label{
  display:-webkit-box;
  min-width:0;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  color:inherit;
  font-size:12px;
  line-height:1.28;
  font-weight:800;
  text-overflow:ellipsis;
}

.ts-catalog-chip__arrow{
  display:grid;
  place-items:center;
  flex:0 0 25px;
  width:25px;
  height:25px;
  border-radius:50%;
  background:#fff;
  border:1px solid #e3e3e3;
  color:#333;
  font-size:13px;
  line-height:1;
  transition:background .16s ease,color .16s ease,border-color .16s ease;
}

.ts-catalog-chip.is-active{
  border-color:#111!important;
  background:#111!important;
  color:#fff!important;
  box-shadow:none!important;
}

.ts-catalog-chip.is-active .ts-catalog-chip__arrow{
  border-color:#fff;
  background:#fff;
  color:#111;
}

.ts-catalog-chip.is-active:hover{
  transform:none;
  background:#111!important;
}

/* Toolbar follows the category rail with a clean divider. */
.ts-catalog-toolbar{
  margin-top:0!important;
  padding-top:14px!important;
}

/* Medium desktop: slightly narrower cards, still equal-sized. */
@media(max-width:1100px){
  .ts-catalog-cats{
    grid-auto-columns:158px!important;
  }

  .ts-catalog-chip{
    width:158px!important;
    min-width:158px!important;
  }
}

/* Mobile: card rail remains touch-friendly without giant labels. */
@media(max-width:700px){
  .ts-catalog-category-section__head{
    margin-bottom:8px;
  }

  .ts-catalog-category-section__head h2{
    font-size:12px!important;
  }

  .ts-catalog-cats{
    grid-auto-columns:146px!important;
    gap:8px!important;
    margin-right:-14px!important;
    padding-bottom:14px!important;
  }

  .ts-catalog-chip{
    width:146px!important;
    min-width:146px!important;
    height:58px!important;
    padding:9px 10px 9px 12px!important;
    border-radius:13px!important;
  }

  .ts-catalog-chip__label{
    font-size:11px;
  }

  .ts-catalog-chip__arrow{
    flex-basis:23px;
    width:23px;
    height:23px;
    font-size:12px;
  }
}


/* =========================
   Catalog category dropdown v1.9.4
   ========================= */

/* Retire v1.9.2 category-card rail. */
.ts-catalog-category-section,
.ts-catalog-cats,
.ts-catalog-chip{
  display:none!important;
}

/* One clean filter row: category + result count on left, sort on right. */
.ts-catalog-toolbar{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:24px!important;
  min-height:68px!important;
  margin:0 0 24px!important;
  padding:14px 0!important;
  border-top:1px solid var(--ts-line)!important;
  border-bottom:1px solid var(--ts-line)!important;
}

.ts-catalog-toolbar__filters{
  display:flex;
  align-items:flex-end;
  gap:20px;
  min-width:0;
}

.ts-catalog-filter{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}

.ts-catalog-filter label{
  font-size:11px;
  line-height:1;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#777;
}

.ts-catalog-select-wrap{
  position:relative;
  min-width:250px;
}

.ts-catalog-select-wrap::after{
  content:"";
  position:absolute;
  top:50%;
  right:15px;
  width:7px;
  height:7px;
  margin-top:-5px;
  border-right:2px solid #333;
  border-bottom:2px solid #333;
  transform:rotate(45deg);
  pointer-events:none;
}

.ts-catalog-category-select{
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:0 42px 0 14px!important;
  border:1px solid #dcdcdc!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#222!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1!important;
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  outline:none!important;
}

.ts-catalog-category-select:hover{
  border-color:#bdbdbd!important;
}

.ts-catalog-category-select:focus{
  border-color:#999!important;
  box-shadow:0 0 0 3px rgba(0,0,0,.04)!important;
}

.ts-catalog-toolbar__count{
  padding-bottom:11px;
}

.ts-catalog-toolbar__count .woocommerce-result-count{
  white-space:nowrap;
}

/* Sorting keeps the same compact control treatment. */
.ts-catalog-toolbar__sort{
  display:flex!important;
  align-items:flex-end!important;
  gap:9px!important;
}

.ts-catalog-toolbar__sort > span{
  padding-bottom:12px;
}

/* Tablet */
@media(max-width:900px){
  .ts-catalog-toolbar{
    align-items:stretch!important;
  }

  .ts-catalog-toolbar__filters{
    flex:1 1 auto;
  }

  .ts-catalog-select-wrap{
    min-width:210px;
  }
}

/* Mobile: category takes its own row, count + sort below. */
@media(max-width:700px){
  .ts-catalog-toolbar{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    align-items:end!important;
    gap:12px 10px!important;
    padding:12px 0 14px!important;
  }

  .ts-catalog-toolbar__filters{
    display:contents;
  }

  .ts-catalog-filter{
    grid-column:1 / -1;
    width:100%;
  }

  .ts-catalog-select-wrap{
    width:100%;
    min-width:0;
  }

  .ts-catalog-category-select{
    height:44px!important;
    min-height:44px!important;
  }

  .ts-catalog-toolbar__count{
    grid-column:1;
    padding:0 0 10px!important;
  }

  .ts-catalog-toolbar__sort{
    grid-column:2;
    justify-self:end;
  }

  .ts-catalog-toolbar__sort > span{
    display:none!important;
  }
}


/* =========================
   Typography refinement v1.9.5
   ========================= */

/* Product category / archive title: reduce the oversized hero effect. */
.tax-product_cat .ts-catalog-head h1,
.tax-product_tag .ts-catalog-head h1,
.search-results .ts-catalog-head h1{
  max-width:760px;
  margin-bottom:8px!important;
  font-size:clamp(30px,3.1vw,44px)!important;
  line-height:1.04!important;
  letter-spacing:-.035em!important;
}

/* Main shop title can remain slightly stronger, but still restrained. */
.woocommerce-shop .ts-catalog-head h1{
  font-size:clamp(32px,3.4vw,46px)!important;
  line-height:1!important;
}

/*
 * Homepage "Shop by category" section.
 * Keep the section heading elegant and the text on image cards secondary
 * to the image itself.
 */
.ts-home-categories h2,
.ts-category-section h2,
.ts-shop-by-category h2{
  font-size:clamp(30px,3.2vw,42px)!important;
  line-height:1.05!important;
  letter-spacing:-.03em!important;
}

/*
 * Support the category-card class names used across earlier theme versions.
 * These selectors are intentionally broad enough to catch the existing card
 * markup without changing the PHP structure.
 */
.ts-category-card h3,
.ts-category-card__title,
.ts-home-category-card h3,
.ts-home-category-card__title,
.ts-category-grid h3,
.ts-category-grid .woocommerce-loop-category__title,
.ts-shop-by-category h3{
  margin:0!important;
  font-size:clamp(16px,1.25vw,20px)!important;
  line-height:1.25!important;
  letter-spacing:-.01em!important;
  font-weight:800!important;
}

/* If the card title itself is the link/text element. */
.ts-category-card a,
.ts-home-category-card a,
.ts-category-grid .product-category a{
  text-decoration:none!important;
}

/* Woo category tiles: tone down the native category heading too. */
.woocommerce ul.products li.product-category .woocommerce-loop-category__title,
.woocommerce-page ul.products li.product-category .woocommerce-loop-category__title{
  font-size:18px!important;
  line-height:1.25!important;
  font-weight:800!important;
}

/* Common overlay text patterns used by the Temsta homepage cards. */
.ts-category-card__overlay,
.ts-home-category-card__overlay,
.ts-category-overlay{
  padding:16px 18px!important;
}

.ts-category-card__overlay strong,
.ts-home-category-card__overlay strong,
.ts-category-overlay strong{
  font-size:18px!important;
  line-height:1.25!important;
  font-weight:800!important;
}

/* Long imported hierarchy labels should never become giant 2–3 line blocks. */
.ts-category-card__overlay,
.ts-home-category-card__overlay,
.ts-category-overlay,
.ts-category-card h3,
.ts-home-category-card h3{
  text-wrap:balance;
}

/* Mobile: keep titles compact. */
@media(max-width:700px){
  .tax-product_cat .ts-catalog-head h1,
  .tax-product_tag .ts-catalog-head h1,
  .search-results .ts-catalog-head h1,
  .woocommerce-shop .ts-catalog-head h1{
    font-size:30px!important;
    line-height:1.08!important;
  }

  .ts-home-categories h2,
  .ts-category-section h2,
  .ts-shop-by-category h2{
    font-size:28px!important;
  }

  .ts-category-card h3,
  .ts-category-card__title,
  .ts-home-category-card h3,
  .ts-home-category-card__title,
  .ts-category-grid h3,
  .ts-category-grid .woocommerce-loop-category__title,
  .ts-shop-by-category h3{
    font-size:15px!important;
  }

  .ts-category-card__overlay strong,
  .ts-home-category-card__overlay strong,
  .ts-category-overlay strong{
    font-size:15px!important;
  }
}

/* =========================
   Header icon controls v1.11.1
   ========================= */

.ts-store-action{
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  min-height:42px!important;
  padding:0!important;
}

.ts-store-action--cart{
  position:relative;
  width:52px!important;
  min-width:52px!important;
  padding:0 8px!important;
  gap:5px!important;
}

.ts-store-action .ts-nav-icon{
  width:19px;
  height:19px;
}

.ts-store-action--cart .ts-cart-count{
  margin-left:0!important;
  min-width:17px;
  height:17px;
  padding:0 4px;
  font-size:9px;
}

.ts-mobile-nav-icon{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

@media(max-width:600px){
  .ts-store-action--cart{
    width:48px!important;
    min-width:48px!important;
    height:38px!important;
    min-height:38px!important;
  }
}


/* =========================
   Astra-owned Home page v1.13
   ========================= */

/*
 * Home is intentionally NOT controlled by the Temsta child theme.
 * Astra + WordPress/Gutenberg/Spectra own the page body completely.
 *
 * No Temsta-specific Home layout, hero, category, or content styles are applied.
 */
.home.page .entry-content{
  margin-top:0;
}


/* =========================
   Ready-to-use editable Home v1.14
   ========================= */

/*
 * These classes style only the starter Gutenberg blocks.
 * If an admin replaces them, Astra/Gutenberg styling takes over normally.
 */

.home.page .entry-header,
.home.page .entry-title{
  display:none!important;
}

.home.page #primary,
.home.page .site-main,
.home.page article.page,
.home.page .entry-content{
  margin-top:0!important;
  padding-top:0!important;
}

.ts-ready-home-hero{
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  background:
    radial-gradient(circle at 80% 20%, rgba(255,255,255,.95) 0 10%, transparent 11%),
    linear-gradient(135deg,#f7f8fa 0%,#edf1f6 100%);
}

.ts-ready-home-hero__inner{
  width:min(100% - 72px,1440px);
  min-height:520px;
  margin:0 auto!important;
  padding:82px 0!important;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.ts-ready-home-eyebrow{
  margin:0 0 14px!important;
  color:#666;
  font-size:11px;
  line-height:1;
  font-weight:850;
  letter-spacing:.15em;
}

.ts-ready-home-title{
  max-width:800px;
  margin:0 0 18px!important;
  font-size:clamp(54px,6vw,86px)!important;
  line-height:.94!important;
  letter-spacing:-.055em!important;
  color:#15171a!important;
}

.ts-ready-home-lead{
  max-width:620px;
  margin:0 0 28px!important;
  color:#606770;
  font-size:17px;
  line-height:1.6;
}

.ts-ready-home-actions{
  margin-bottom:14px!important;
}

.ts-ready-home-primary .wp-block-button__link{
  min-height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 22px;
  border-radius:14px;
  background:#111;
  color:#fff;
  font-size:13px;
  font-weight:850;
}

.ts-ready-home-reassurance{
  margin:0!important;
  color:#777;
  font-size:12px;
  font-weight:700;
}

.ts-ready-home-section{
  width:min(100% - 72px,1440px)!important;
  max-width:1440px!important;
  margin:0 auto!important;
  padding:56px 0 68px!important;
}

.ts-ready-home-section__head{
  margin-bottom:24px!important;
}

.ts-ready-home-section__head h2{
  margin:0!important;
  font-size:clamp(30px,3vw,42px)!important;
  letter-spacing:-.03em!important;
}

.ts-ready-home-section__head p{
  margin:0!important;
}

.ts-ready-home-section__head a{
  color:#222!important;
  font-size:13px;
  font-weight:800;
  text-decoration:none!important;
}

.ts-ready-home-footer-cta{
  width:min(100% - 72px,1440px)!important;
  max-width:1440px!important;
  margin:0 auto 64px!important;
  padding:44px 30px!important;
  border-radius:22px;
  background:#f5f6f7;
}

.ts-ready-home-footer-cta h2{
  margin-bottom:10px!important;
  font-size:clamp(28px,3vw,40px)!important;
}

.ts-ready-home-footer-cta p{
  margin-bottom:20px!important;
  color:#666;
}

.ts-ready-home-footer-cta .wp-block-button__link{
  border-radius:12px;
  background:#111;
  color:#fff;
  font-size:13px;
  font-weight:800;
}

/* Woo Product Collection inside starter page */
.ts-ready-home-section .wc-block-product-template{
  gap:22px 16px!important;
}

.ts-ready-home-section .wc-block-components-product-image img{
  aspect-ratio:1 / 1;
  object-fit:cover;
  border-radius:16px;
  background:#f4f4f4;
}

@media(max-width:800px){
  .ts-ready-home-hero__inner,
  .ts-ready-home-section,
  .ts-ready-home-footer-cta{
    width:calc(100% - 28px)!important;
  }

  .ts-ready-home-hero__inner{
    min-height:440px;
    padding:56px 0!important;
  }

  .ts-ready-home-title{
    font-size:46px!important;
  }

  .ts-ready-home-lead{
    font-size:15px;
  }

  .ts-ready-home-section{
    padding:42px 0 52px!important;
  }

  .ts-ready-home-footer-cta{
    margin-bottom:44px!important;
    padding:34px 20px!important;
  }
}

@media(max-width:480px){
  .ts-ready-home-title{
    font-size:40px!important;
  }
}


/* =========================
   Home without hero v1.14.1
   ========================= */

/* The v1.14 ready homepage starts directly with products. */
.ts-ready-home-hero{
  display:none!important;
}

.ts-ready-home-section--first{
  padding-top:48px!important;
}

/* =========================
   Cleaner Account icon v1.14.1
   ========================= */

.ts-icon-account{
  display:block;
  width:22px;
  height:22px;
  overflow:visible;
}

.ts-storefront-account,
.ts-account-link,
a[href*="my-account"]{
  line-height:1;
}

.ts-storefront-account .ts-icon-account,
.ts-account-link .ts-icon-account{
  transition:transform .18s ease, opacity .18s ease;
}

.ts-storefront-account:hover .ts-icon-account,
.ts-account-link:hover .ts-icon-account{
  transform:translateY(-1px);
  opacity:.78;
}

/* =========================
   Footer credit v1.14.1
   ========================= */

.ts-storefront-credit{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  padding:14px 20px 18px;
  border-top:1px solid rgba(0,0,0,.06);
  color:#777;
  font-size:12px;
  line-height:1.5;
  text-align:center;
}

.ts-storefront-credit a{
  color:inherit!important;
  font-weight:700;
  text-decoration:none!important;
}

.ts-storefront-credit a:hover{
  text-decoration:underline!important;
  text-underline-offset:2px;
}

.ts-storefront-credit__sep{
  color:#aaa;
}

@media(max-width:600px){
  .ts-storefront-credit{
    gap:6px;
    font-size:11px;
  }
}


/* =========================
   Hero restored v1.14.2
   ========================= */

.ts-ready-home-hero{
  display:block!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  background:
    radial-gradient(circle at 82% 18%, rgba(255,255,255,.95) 0 11%, transparent 12%),
    linear-gradient(135deg,#f7f8fa 0%,#edf1f6 100%)!important;
}

.ts-ready-home-hero__inner{
  width:min(100% - 72px,1440px)!important;
  min-height:500px!important;
  margin:0 auto!important;
  padding:78px 0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
}

.ts-ready-home-eyebrow{
  margin:0 0 14px!important;
  color:#666!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:850!important;
  letter-spacing:.15em!important;
}

.ts-ready-home-title{
  max-width:820px!important;
  margin:0 0 18px!important;
  color:#15171a!important;
  font-size:clamp(54px,6vw,86px)!important;
  line-height:.94!important;
  letter-spacing:-.055em!important;
}

.ts-ready-home-lead{
  max-width:620px!important;
  margin:0 0 28px!important;
  color:#606770!important;
  font-size:17px!important;
  line-height:1.6!important;
}

.ts-ready-home-actions{
  margin:0 0 14px!important;
}

.ts-ready-home-primary .wp-block-button__link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:52px!important;
  padding:0 22px!important;
  border-radius:14px!important;
  background:#111!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:850!important;
  text-decoration:none!important;
}

.ts-ready-home-reassurance{
  margin:0!important;
  color:#777!important;
  font-size:12px!important;
  font-weight:700!important;
}

/* Product section follows hero with intentional breathing room. */
.ts-ready-home-section--first{
  padding-top:56px!important;
}

@media(max-width:800px){
  .ts-ready-home-hero__inner{
    width:calc(100% - 28px)!important;
    min-height:420px!important;
    padding:52px 0!important;
  }

  .ts-ready-home-title{
    font-size:46px!important;
  }

  .ts-ready-home-lead{
    font-size:15px!important;
  }
}

@media(max-width:480px){
  .ts-ready-home-title{
    font-size:40px!important;
  }
}


/* =========================
   Native Woo product cards on Home v1.14.3
   ========================= */

.ts-ready-home-section .wp-block-woocommerce-product-collection{
  width:100%;
}

.ts-ready-home-section .wc-block-product-template{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:28px 18px!important;
  margin:0!important;
  padding:0!important;
}

.ts-ready-home-section .wc-block-product{
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}

.ts-ready-home-section .wc-block-components-product-image,
.ts-ready-home-section .wp-block-woocommerce-product-image{
  margin:0 0 14px!important;
  overflow:hidden;
  border-radius:16px;
  background:#f3f5f6;
}

.ts-ready-home-section .wc-block-components-product-image img,
.ts-ready-home-section .wp-block-woocommerce-product-image img{
  display:block;
  width:100%!important;
  aspect-ratio:1 / 1!important;
  height:auto!important;
  object-fit:cover!important;
  margin:0!important;
  border-radius:0!important;
}

.ts-ready-home-section .wp-block-post-title{
  margin:0 0 8px!important;
  font-size:16px!important;
  line-height:1.35!important;
  font-weight:800!important;
}

.ts-ready-home-section .wp-block-post-title a{
  color:#171717!important;
  text-decoration:none!important;
}

.ts-ready-home-section .wp-block-post-title a:hover{
  text-decoration:underline!important;
  text-underline-offset:2px;
}

.ts-ready-home-section .wc-block-components-product-price,
.ts-ready-home-section .wp-block-woocommerce-product-price{
  margin:0 0 12px!important;
  color:#202020!important;
  font-size:14px!important;
  font-weight:750!important;
}

.ts-ready-home-section .wc-block-components-product-price del{
  color:#8a8a8a!important;
  font-weight:500!important;
}

.ts-ready-home-section .wp-block-woocommerce-product-button{
  margin-top:10px!important;
}

.ts-ready-home-section .wp-block-woocommerce-product-button .wp-block-button__link,
.ts-ready-home-section .wc-block-components-product-button__button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:0 15px!important;
  border-radius:11px!important;
  background:#111!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:800!important;
  text-decoration:none!important;
}

.ts-ready-home-section .wc-block-components-product-sale-badge,
.ts-ready-home-section .wc-block-grid__product-onsale{
  top:10px!important;
  right:10px!important;
  min-width:auto!important;
  min-height:auto!important;
  padding:6px 9px!important;
  border:0!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#222!important;
  font-size:10px!important;
  font-weight:850!important;
  letter-spacing:.04em!important;
  box-shadow:0 3px 12px rgba(0,0,0,.08);
}

@media(max-width:1050px){
  .ts-ready-home-section .wc-block-product-template{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media(max-width:720px){
  .ts-ready-home-section .wc-block-product-template{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:22px 12px!important;
  }

  .ts-ready-home-section .wp-block-post-title{
    font-size:14px!important;
  }
}

@media(max-width:420px){
  .ts-ready-home-section .wc-block-product-template{
    grid-template-columns:1fr 1fr!important;
  }
}


/* =========================
   Header icons v1.14.4
   ========================= */

.ts-store-action .ts-nav-icon{
  display:block;
  width:20px!important;
  height:20px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.75!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

.ts-store-action--account{
  border-color:#e3e5e8!important;
  background:#fff!important;
  color:#171717!important;
}

.ts-store-action--account:hover{
  background:#f7f7f8!important;
  border-color:#d7d9dc!important;
}

.ts-store-action--cart .ts-nav-icon{
  width:18px!important;
  height:18px!important;
}

/* The old extra child-theme footer credit is no longer used. */
.ts-storefront-credit{
  display:none!important;
}

/* =========================
   Additional Home information sections v1.14.4
   ========================= */

.ts-home-info{
  margin:0!important;
}

.ts-home-info__inner,
.ts-home-payment{
  width:min(100% - 72px,1440px)!important;
  max-width:1440px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.ts-home-how{
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  padding:64px 0!important;
  background:#f6f7f8;
}

.ts-home-payment{
  padding:66px 0!important;
}

.ts-home-info h2{
  margin:0 0 10px!important;
  font-size:clamp(30px,3vw,42px)!important;
  letter-spacing:-.03em!important;
}

.ts-home-info__intro{
  max-width:640px;
  margin:0 auto 30px!important;
  color:#68707a;
  font-size:15px;
  line-height:1.6;
}

.ts-home-info-cards{
  gap:16px!important;
  margin-bottom:0!important;
}

.ts-home-info-card{
  height:100%;
  padding:26px;
  border:1px solid #e7e8ea;
  border-radius:18px;
  background:#fff;
}

.ts-home-how .ts-home-info-card{
  border-color:#e1e3e6;
}

.ts-home-info-card > span{
  display:inline-grid;
  place-items:center;
  width:32px;
  height:32px;
  margin-bottom:20px;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-size:12px;
  font-weight:850;
}

.ts-home-info-card h3{
  margin:0 0 9px!important;
  font-size:17px!important;
  line-height:1.25!important;
  font-weight:850!important;
}

.ts-home-info-card p{
  margin:0!important;
  color:#666f79;
  font-size:13px;
  line-height:1.65;
}

/* =========================
   Home contact + social pre-footer v1.14.4
   ========================= */

.ts-home-contact{
  border-top:1px solid #e9eaec;
  background:#111315;
  color:#fff;
}

.ts-home-contact__inner{
  display:grid;
  grid-template-columns:1.1fr 1.2fr .7fr;
  gap:42px;
  width:min(100% - 72px,1440px);
  margin:0 auto;
  padding:54px 0;
}

.ts-home-contact__eyebrow{
  display:block;
  margin-bottom:9px;
  color:#aeb4bc;
  font-size:10px;
  font-weight:850;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.ts-home-contact h2{
  margin:0 0 10px!important;
  color:#fff!important;
  font-size:clamp(26px,2.6vw,38px)!important;
  line-height:1.05!important;
  letter-spacing:-.03em!important;
}

.ts-home-contact__intro p{
  max-width:440px;
  margin:0!important;
  color:#b9bec5;
  font-size:13px;
  line-height:1.6;
}

.ts-home-contact__details{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.ts-home-contact__details a,
.ts-home-contact__detail-static{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
  padding:13px 14px;
  border:1px solid #2b2e32;
  border-radius:12px;
  color:#fff!important;
  text-decoration:none!important;
}

.ts-home-contact__details a:hover{
  border-color:#4a4f55;
  background:#171a1d;
}

.ts-home-contact__details span,
.ts-home-contact__detail-static span{
  color:#9399a1;
  font-size:10px;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.ts-home-contact__details strong,
.ts-home-contact__detail-static strong{
  overflow-wrap:anywhere;
  color:#fff;
  font-size:12px;
  line-height:1.35;
  font-weight:750;
}

.ts-home-contact__social{
  display:flex;
  flex-direction:column;
  gap:13px;
}

.ts-home-contact__social > span{
  color:#aeb4bc;
  font-size:11px;
  font-weight:800;
}

.ts-home-contact__social-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.ts-home-contact__social-links a{
  display:inline-flex;
  min-height:36px;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border:1px solid #2f3337;
  border-radius:999px;
  color:#fff!important;
  font-size:11px;
  font-weight:750;
  text-decoration:none!important;
}

.ts-home-contact__social-links a:hover{
  background:#fff;
  color:#111!important;
  border-color:#fff;
}

@media(max-width:900px){
  .ts-home-contact__inner{
    grid-template-columns:1fr 1fr;
  }

  .ts-home-contact__social{
    grid-column:1 / -1;
  }
}

@media(max-width:760px){
  .ts-home-info__inner,
  .ts-home-payment,
  .ts-home-contact__inner{
    width:calc(100% - 28px)!important;
  }

  .ts-home-how,
  .ts-home-payment{
    padding-top:46px!important;
    padding-bottom:46px!important;
  }

  .ts-home-info-cards{
    flex-direction:column!important;
    gap:12px!important;
  }

  .ts-home-contact__inner{
    grid-template-columns:1fr;
    gap:28px;
    padding:42px 0;
  }

  .ts-home-contact__social{
    grid-column:auto;
  }
}

@media(max-width:480px){
  .ts-home-contact__details{
    grid-template-columns:1fr;
  }
}


/* =========================
   Compact contact strip v1.14.5
   ========================= */

.ts-home-contact{
  border-top:1px solid #e8eaed!important;
  border-bottom:1px solid #e8eaed!important;
  background:#f8f9fa!important;
  color:#171717!important;
}

.ts-home-contact__inner{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:30px!important;
  width:min(100% - 72px,1440px)!important;
  margin:0 auto!important;
  padding:24px 0!important;
}

.ts-home-contact__heading{
  min-width:190px;
}

.ts-home-contact__heading > span{
  display:block;
  margin-bottom:3px;
  color:#777!important;
  font-size:10px!important;
  line-height:1.2;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase;
}

.ts-home-contact h2{
  margin:0!important;
  color:#171717!important;
  font-size:20px!important;
  line-height:1.15!important;
  letter-spacing:-.02em!important;
}

.ts-home-contact__intro,
.ts-home-contact__eyebrow{
  display:none!important;
}

.ts-home-contact__details{
  display:flex!important;
  align-items:stretch!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}

.ts-home-contact__details a,
.ts-home-contact__detail-static{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:2px!important;
  min-width:150px!important;
  max-width:280px!important;
  min-height:54px!important;
  padding:8px 12px!important;
  border:1px solid #e1e3e6!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#171717!important;
  text-decoration:none!important;
}

.ts-home-contact__details a:hover{
  border-color:#cfd3d8!important;
  background:#fff!important;
}

.ts-home-contact__details span,
.ts-home-contact__detail-static span{
  color:#8a8f96!important;
  font-size:9px!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}

.ts-home-contact__details strong,
.ts-home-contact__detail-static strong{
  overflow-wrap:anywhere;
  color:#171717!important;
  font-size:12px!important;
  line-height:1.3!important;
  font-weight:750!important;
}

.ts-home-contact__social{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:6px!important;
}

.ts-home-contact__social-label{
  color:#8a8f96!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:.06em!important;
  text-transform:uppercase;
}

.ts-home-contact__social-links{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  gap:6px!important;
}

.ts-home-contact__social-links a{
  display:inline-flex!important;
  min-height:34px!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 11px!important;
  border:1px solid #dfe2e5!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#222!important;
  font-size:10px!important;
  font-weight:750!important;
  text-decoration:none!important;
}

.ts-home-contact__social-links a:hover{
  border-color:#222!important;
  background:#222!important;
  color:#fff!important;
}

@media(max-width:980px){
  .ts-home-contact__inner{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  .ts-home-contact__social{
    align-items:flex-start!important;
  }

  .ts-home-contact__social-links{
    justify-content:flex-start!important;
  }
}

@media(max-width:760px){
  .ts-home-contact__inner{
    width:calc(100% - 28px)!important;
    padding:20px 0!important;
  }

  .ts-home-contact__details{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
  }

  .ts-home-contact__details a,
  .ts-home-contact__detail-static{
    min-width:0!important;
    max-width:none!important;
  }
}

@media(max-width:480px){
  .ts-home-contact__details{
    grid-template-columns:1fr!important;
  }
}


/* =========================
   Contact strip color refinement v1.14.5.1
   ========================= */

.ts-home-contact{
  background:#f6f4ef!important;
  border-top-color:#e6e1d8!important;
  border-bottom-color:#e6e1d8!important;
}

.ts-home-contact__details a,
.ts-home-contact__detail-static{
  background:#fffdf9!important;
  border-color:#e4ded4!important;
}

.ts-home-contact__details a:hover{
  border-color:#d4ccbf!important;
  background:#fffdfa!important;
}

.ts-home-contact__social-links a{
  background:#fffdf9!important;
  border-color:#e4ded4!important;
}

.ts-home-contact__social-links a:hover{
  border-color:#222!important;
  background:#222!important;
  color:#fff!important;
}
