/* Grace SEO Booster – Flatsome design polish (mobile-first). Toggle: Grace SEO > Settings > Design */

/* 1) Mobile horizontal overflow (rows in testimonial/feature sections were 14–40px wider than the screen) */
html,body{max-width:100%}
body{overflow-x:clip}
@supports not (overflow:clip){body{overflow-x:hidden}}

/* 2) Hero slider: never show a black box/spinner before JS runs */
.slider-wrapper .loading-spin,.banner .loading-spin{display:none!important}
.slider:not(.flickity-enabled)>*:not(:first-child){display:none!important}
.slider:not(.flickity-enabled)>*:first-child{display:block!important;width:100%!important}
.banner .bg{transition:opacity .3s}
.banner{background-color:#efe9e1}

/* 3) Section titles – smaller & cleaner on phones, no clipping */
.section-title-container{margin-bottom:12px}
.section-title-main{white-space:normal;line-height:1.25}
@media (max-width:549px){
  .section-title{font-size:clamp(19px,5.4vw,24px)!important;letter-spacing:0}
  .section-title b{display:none!important}
  .section-title-center span{padding:0!important}
  .section .text p,.section-content .text p{font-size:14.5px;line-height:1.65}
}

/* 4) Product cards – equal heights, sharp portrait images, clean price */
.product-small .box-image{border-radius:0;overflow:hidden;background:#f4f1ec}
.product-small .box-image img{width:100%;aspect-ratio:2/3;object-fit:cover;display:block}
.product-small .box-text{padding-top:10px;padding-bottom:12px}
.product-small .name.product-title,.product-small .product-title a{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  font-size:14px;line-height:1.35;min-height:2.7em;color:var(--gsb-dark);text-transform:none}
.product-small .category{font-size:10.5px;letter-spacing:.06em;opacity:.65}
.product-small .price-wrapper .price{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px}
.product-small .price ins,.product-small .price>.amount{font-size:15px;font-weight:700;color:var(--gsb-dark);text-decoration:none}
.product-small .price del{font-size:12px;opacity:.6}
.badge-container .badge{height:auto;width:auto}
.badge-inner.on-sale{border-radius:0;padding:5px 10px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:1.2;background:#8f1d1d}
.badge-container{margin:8px!important}
@media (max-width:549px){
  .products.row .product-small.col{padding-left:6px;padding-right:6px}
  .product-small .name.product-title,.product-small .product-title a{font-size:13px}
  .product-small .category{display:none}
  .product-small .box-text{text-align:left}
}

/* 5) Buttons & tap targets (Google mobile usability) */
.single_add_to_cart_button,.button.checkout,.button.wc-forward,.add_to_cart_button{min-height:44px}
@media (max-width:849px){
  input[type=text],input[type=email],input[type=tel],input[type=number],input[type=search],input[type=password],select,textarea{font-size:16px!important}
  .nav>li>a{min-height:40px}
}

/* 6) Single product – readable title & price on phones */
@media (max-width:549px){
  .product-info .product-title{font-size:20px;line-height:1.3}
  .product-info .price{font-size:20px}
  .product-info .price del{font-size:15px}
  .woocommerce-tabs .tabs{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap}
}

/* 7) Category pages – keep long SEO text tidy */
.term-description,.taxonomy-description{font-size:15px;line-height:1.75;max-width:900px;margin:30px auto 0}
.term-description h2,.taxonomy-description h2{font-size:clamp(20px,4vw,26px);margin-top:1.2em}
.term-description h3,.taxonomy-description h3{font-size:clamp(17px,3.4vw,20px);margin-top:1em}

/* 8) Testimonials / stats rows on phones */
@media (max-width:549px){
  .testimonial-section .row,.testimonial-stats{margin-left:0!important;margin-right:0!important}
  .testimonial-stat{min-width:0}
}

/* 9) Images never upscale beyond their box (no blur, no overflow) */
img{max-width:100%;height:auto}

/* =====================================================================
   10) ONE BUTTON SYSTEM – same size, font & corners everywhere
   Primary  = dark solid  (Add to cart, Shop now, Send, Checkout page…)
   Secondary= gold solid  (Buy now, Explore, header Checkout…)
   Outline  = dark border (Discover more, View all…)
   ===================================================================== */
:root{--gsb-btn-h:48px;--gsb-btn-h-sm:40px;--gsb-btn-radius:0;--gsb-btn-fs:13px;--gsb-ink:#141414;--gsb-gold-grad:linear-gradient(135deg,#c9a46a 0%,#b08a4f 55%,#9a7440 100%)}
@media (max-width:549px){:root{--gsb-btn-h:46px;--gsb-btn-fs:12.5px}}

/* body.gsb-ui x4 beats the old theme/custom !important rules; :where() keeps the chain itself weightless so Secondary/Outline variants win */
html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui :where(:is(.button,input[type=submit],button[type=submit],.single_add_to_cart_button,.wpcf7-submit,.checkout-button,.pisol_buy_now_button,.pisol_single_buy_now,.woocommerce-Button,.wc-forward,.wc-backward):not(.icon):not(.is-form):not(.is-link):not(.is-underline):not(.toggle):not(.mfp-close):not(.flickity-button):not(.plain):not(.add_to_wishlist):not(.collection-card .button)){
  display:inline-flex!important;align-items:center;justify-content:center;gap:8px;
  min-height:var(--gsb-btn-h)!important;height:auto!important;line-height:1.2!important;
  padding:10px 28px!important;margin-top:0;
  font-size:var(--gsb-btn-fs)!important;font-weight:600!important;letter-spacing:.14em!important;text-transform:uppercase!important;
  border-radius:0!important;border:1px solid var(--gsb-ink)!important;
  background:var(--gsb-ink)!important;background-image:none!important;color:#fff!important;
  box-shadow:none!important;text-shadow:none!important;
  transition:background-color .2s,border-color .2s,color .2s,transform .15s!important;
  white-space:normal;text-align:center;max-width:100%;
}
html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui :where(:is(.button,input[type=submit],button[type=submit],.single_add_to_cart_button,.wpcf7-submit,.checkout-button,.pisol_buy_now_button,.pisol_single_buy_now,.wc-forward,.wc-backward):not(.icon):not(.is-form):not(.is-link):not(.toggle):not(.plain)):hover{
  background:var(--gsb-gold-grad)!important;border-color:#b08a4f!important;color:#fff!important;transform:translateY(-1px);box-shadow:0 8px 20px rgba(176,138,79,.28)!important
}
/* Secondary */
html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui :is(.button.secondary,.pisol_buy_now_button,.pisol_single_buy_now,.button.is-gloss):not(.icon):not(.is-form){
  background:var(--gsb-gold-grad)!important;border-color:#b08a4f!important;color:#fff!important
}
html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui :is(.button.secondary,.pisol_buy_now_button,.pisol_single_buy_now,.button.is-gloss):not(.icon):not(.is-form):hover{
  background:var(--gsb-ink)!important;border-color:var(--gsb-ink)!important;box-shadow:0 8px 20px rgba(20,20,20,.22)!important
}
/* Outline */
html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui .button.is-outline:not(.icon):not(.is-form){
  background:transparent!important;color:var(--gsb-ink)!important;border-color:var(--gsb-ink)!important
}
html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui .button.is-outline:not(.icon):not(.is-form):hover{background:var(--gsb-ink)!important;color:#fff!important}
/* Outline buttons on dark banners stay readable */
html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui .dark .button.is-outline:not(.icon),html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui .banner .button.is-outline:not(.icon){color:#fff!important;border-color:#fff!important}
html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui .dark .button.is-outline:not(.icon):hover,html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui .banner .button.is-outline:not(.icon):hover{background:#fff!important;color:var(--gsb-dark)!important}
/* Every Flatsome size modifier renders the same size */
html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui .button:is(.is-xsmall,.is-smaller,.is-small,.is-large,.is-larger,.is-xlarge,.is-xxlarge):not(.icon):not(.is-form){font-size:var(--gsb-btn-fs)!important}
html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui .button i{font-size:1em;top:0}
/* Disabled */
html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui :is(.button,.single_add_to_cart_button)[disabled],html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui .single_add_to_cart_button.disabled{opacity:.45!important;transform:none!important;cursor:not-allowed}
/* Focus ring for keyboard users */
html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui :is(.button,input[type=submit],button[type=submit],.single_add_to_cart_button):focus-visible{outline:3px solid var(--gsb-accent)!important;outline-offset:2px}

/* Header buttons: same style, compact height so the header stays slim */
html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui :is(.header,.header-wrapper) .button:not(.icon):not(.is-form){min-height:var(--gsb-btn-h-sm)!important;padding:6px 18px!important;font-size:12.5px!important}
/* Mobile header "Checkout" showed only a "+" sign – the cart icon is enough on phones */
@media (max-width:849px){html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui .header-main .cart-checkout,html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui .header-main .header-button .cart-checkout{display:none!important}}

/* Add to cart + Buy now side by side, equal width */
html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui .product-info form.cart:not(.variations_form){display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui .product-info form.cart:not(.variations_form) .quantity{margin:0!important}
html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui .product-info form.cart :is(.single_add_to_cart_button,.pisol_buy_now_button,.pisol_single_buy_now){flex:1 1 170px!important;width:auto!important;display:inline-flex!important;margin:0!important}
@media (max-width:549px){
  html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui .product-info :is(.single_add_to_cart_button,.pisol_buy_now_button,.pisol_single_buy_now){flex:1 1 100%!important;width:100%!important}
  html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui .section .button:not(.icon):not(.is-form):not(.is-link){width:auto;min-width:200px}
}
/* Quantity +/- match button height */
html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui .product-info .quantity :is(.minus,.plus,.qty){height:var(--gsb-btn-h)!important;min-height:var(--gsb-btn-h)!important}

/* Winter cards: buttons stay on one line on phones */
@media (max-width:549px){html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui .gsb-winter__btn{white-space:nowrap!important;font-size:12px!important;letter-spacing:.04em!important;padding:8px 6px!important}}

/* =====================================================================
   11) STICKY ADD-TO-CART BAR (Flatsome) – slim & compact on every device
   ===================================================================== */
html body.gsb-ui .sticky-add-to-cart--active{
  padding:8px 16px!important;background:rgba(255,255,255,.97)!important;backdrop-filter:saturate(1.4) blur(8px);
  box-shadow:0 -6px 24px rgba(20,20,20,.10)!important;border-top:1px solid rgba(0,0,0,.06);
  display:flex!important;align-items:center;justify-content:center;gap:14px
}
html body.gsb-ui .sticky-add-to-cart--active .sticky-add-to-cart__product{display:flex;align-items:center;gap:10px;min-width:0;max-width:420px;margin:0!important}
html body.gsb-ui .sticky-add-to-cart--active .sticky-add-to-cart-img{width:42px!important;height:42px!important;object-fit:cover;border-radius:0}
html body.gsb-ui .sticky-add-to-cart--active .product-title-small{font-size:13px;line-height:1.3;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body.gsb-ui .sticky-add-to-cart--active .price{font-size:14px;margin:0;white-space:nowrap}
html body.gsb-ui .sticky-add-to-cart--active .price del{font-size:12px}
html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui.gsb-ui .sticky-add-to-cart--active form.cart{display:flex!important;flex-wrap:nowrap!important;align-items:center;gap:8px;margin:0!important;width:auto!important}
html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui.gsb-ui form.cart .sticky-add-to-cart.sticky-add-to-cart--active :is(.single_add_to_cart_button,.pisol_buy_now_button,.pisol_single_buy_now){
  flex:0 0 auto!important;width:auto!important;min-width:150px;min-height:42px!important;padding:8px 22px!important;margin:0!important
}
html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui.gsb-ui form.cart .sticky-add-to-cart.sticky-add-to-cart--active .quantity :is(.minus,.plus,.qty){height:42px!important;min-height:42px!important}
@media (max-width:849px){
  html body.gsb-ui .sticky-add-to-cart--active{padding:8px 10px calc(8px + env(safe-area-inset-bottom))!important;gap:8px}
  html body.gsb-ui .sticky-add-to-cart--active .sticky-add-to-cart__product,
  html body.gsb-ui .sticky-add-to-cart--active .quantity{display:none!important}
  html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui.gsb-ui .sticky-add-to-cart--active form.cart{width:100%!important}
  html body.gsb-ui.gsb-ui.gsb-ui.gsb-ui.gsb-ui form.cart .sticky-add-to-cart.sticky-add-to-cart--active :is(.single_add_to_cart_button,.pisol_buy_now_button,.pisol_single_buy_now){flex:1 1 0!important;min-width:0;min-height:44px!important;padding:8px 10px!important}
}

/* =====================================================================
   12) PRODUCT PAGE – no empty gap under the gallery (desktop)
   ===================================================================== */
@media (min-width:850px){
  html body.gsb-ui .single-product .product-gallery,
  html body.gsb-ui.single-product .product-gallery{position:sticky;top:96px;align-self:flex-start}
  html body.gsb-ui.single-product .product-main .row.content-row{align-items:flex-start}
}
html body.gsb-ui.single-product .product-gallery img{border-radius:0}

/* =====================================================================
   13) HOMEPAGE POLISH – premium & square
   ===================================================================== */
html body.gsb-ui .collection-card,html body.gsb-ui .collection-card *{border-radius:0!important}
html body.gsb-ui .section-title b{opacity:.55}
html body.gsb-ui .section-title-main{letter-spacing:.01em}
html body.gsb-ui .product-small .box-image{transition:box-shadow .3s}
html body.gsb-ui .product-small:hover .box-image{box-shadow:0 12px 28px rgba(20,20,20,.12)}
html body.gsb-ui .product-small .price ins .amount,html body.gsb-ui .product-small .price>.amount{color:#141414}
html body.gsb-ui .accordion-title{border-radius:0}
html body.gsb-ui .testimonial-section [class*=card],html body.gsb-ui .testimonial-section .col-inner{border-radius:0!important}
/* Product page breadcrumb – small & one line on phones */
@media (max-width:549px){html body.gsb-ui .woocommerce-breadcrumb,html body.gsb-ui .breadcrumbs{font-size:12px!important;letter-spacing:.02em;white-space:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}}
