/*
Theme Name: Kitchen Spices (Storefront Child)
Theme URI: https://kitchenspices.pk
Description: Warm, traditional red/orange/gold WooCommerce child theme for Kitchen Spices masala brand. Built on top of Storefront.
Author: Kitchen Spices
Template: storefront
Version: 1.3.0
Text Domain: kitchen-spices
*/

/* ==========================================================
   KITCHEN SPICES — BRAND TOKENS
   ========================================================== */
:root{
  --ks-red:#8C2A17;
  --ks-red-dark:#5E1B0F;
  --ks-gold:#B8863B;
  --ks-turmeric:#D98E2B;
  --ks-cream:#F7EEDC;
  --ks-cream-2:#F1E4C8;
  --ks-espresso:#2A1810;
  --ks-green:#5C6B3F;
}

form{margin-bottom:0;}

/* Generic content container for default WooCommerce / page templates
   (Shop, single product, Privacy Policy, Terms pages) since our custom
   header/footer no longer provide Storefront's built-in wrapper width */
#primary.content-area{
  max-width:1180px; margin:0 auto; padding:0 32px 40px;
}

/* Defensive: force a light background everywhere in the main content
   area so nothing (including our own footer's dark colour) ever leaks
   into the Shop / page content behind it */
body, #content.ks-site-content, #primary.content-area, #main.site-main,
.woocommerce, .woocommerce-page, .site-content{
  background-color:var(--ks-cream) !important;
}

/* ==========================================================
   TYPOGRAPHY
   ========================================================== */
body{
  background:var(--ks-cream);
  color:var(--ks-espresso);
  font-family:'Work Sans', sans-serif;
}
h1, h2, h3, h4, h5, h6,
.site-title, .storefront-product-section .section-title{
  font-family:'Fraunces', serif;
  font-weight:600;
  color:var(--ks-red-dark);
}

/* ==========================================================
   HEADER / NAV — fully custom markup (header.php)
   ========================================================== */
.ks-site-header{
  position:sticky; top:0; z-index:999;
  background:var(--ks-cream);
  border-bottom:1px solid rgba(42,24,16,0.14);
  box-shadow:0 4px 20px rgba(42,24,16,0.08);
}
.ks-header-inner{
  max-width:1280px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  gap:24px; padding:14px 32px;
}

/* Logo */
.ks-logo{
  font-family:'Fraunces', serif; font-weight:700; font-size:1.5rem;
  color:var(--ks-red-dark); letter-spacing:-0.01em; white-space:nowrap;
  display:flex; align-items:center; gap:8px;
}
.ks-logo::before{display:none!important;content:none!important;}

/* Primary nav */
.ks-main-nav{flex:1; display:flex; justify-content:center;}
.ks-nav-list{
  list-style:none; display:flex; align-items:center; gap:4px; margin:0; padding:0;
}
.ks-nav-list li{position:relative;}
.ks-nav-list > li > a{
  display:block; color:var(--ks-espresso); font-weight:600; font-size:0.92rem;
  letter-spacing:0.01em; padding:10px 16px; text-decoration:none; position:relative;
  transition:color .2s ease;
}
.ks-nav-list > li > a::after{
  content:""; position:absolute; left:16px; right:16px; bottom:2px; height:2px;
  background:var(--ks-turmeric); transform:scaleX(0); transform-origin:left;
  transition:transform .22s ease;
}
.ks-nav-list > li:hover > a,
.ks-nav-list > li.current-menu-item > a{color:var(--ks-red);}
.ks-nav-list > li:hover > a::after,
.ks-nav-list > li.current-menu-item > a::after{transform:scaleX(1);}

/* Dropdown (Products > Categories) */
.ks-nav-list .sub-menu{
  list-style:none; position:absolute; top:100%; left:0; margin:8px 0 0; padding:8px 0;
  min-width:220px; background:var(--ks-cream);
  border:1px solid rgba(42,24,16,0.14); border-top:3px solid var(--ks-turmeric);
  box-shadow:0 14px 30px rgba(42,24,16,0.16);
  opacity:0; visibility:hidden; transform:translateY(6px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
  z-index:20;
}
.ks-nav-list li.menu-item-has-children:hover > .sub-menu,
.ks-nav-list li.menu-item-has-children.is-open > .sub-menu{
  opacity:1; visibility:visible; transform:translateY(0);
}
.ks-nav-list .sub-menu li a{
  display:block; padding:10px 20px; font-size:0.88rem; font-weight:500;
  color:var(--ks-espresso); text-decoration:none;
}
.ks-nav-list .sub-menu li a:hover{background:var(--ks-cream-2); color:var(--ks-red);}
.ks-nav-list li.menu-item-has-children > a::after{content:" ▾"; font-size:0.7em; opacity:0.7;}

/* Header actions: search, cart, mobile toggle */
.ks-header-actions{display:flex; align-items:center; gap:14px;}
.ks-search-form{
  display:flex; align-items:center; background:var(--ks-cream-2);
  border:1.5px solid rgba(42,24,16,0.18); border-radius:999px; overflow:hidden;
}
.ks-search-form input.search-field{
  border:none; background:transparent; padding:9px 6px 9px 16px; width:150px;
  color:var(--ks-espresso); font-family:'Work Sans', sans-serif; font-size:0.88rem;
}
.ks-search-form input.search-field:focus{outline:none;}
.ks-search-form input.search-field::placeholder{color:#8a7256;}
.ks-search-form button{
  border:none; background:transparent; padding:9px 14px; cursor:pointer; font-size:0.9rem;
  color:var(--ks-red);
}
.ks-cart-link{
  display:flex; align-items:center; gap:8px;
  background:var(--ks-red); color:var(--ks-cream) !important;
  padding:9px 18px; border-radius:999px; font-weight:600; font-size:0.85rem;
  text-decoration:none; white-space:nowrap;
  transition:background .2s ease, transform .15s ease;
}
.ks-cart-link:hover{background:var(--ks-red-dark); transform:translateY(-1px);}

.ks-menu-toggle{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:38px; height:38px; border:none; background:transparent; cursor:pointer;
}
.ks-menu-toggle span{display:block; width:100%; height:2px; background:var(--ks-espresso);}

@media (max-width: 860px){
  .ks-header-inner{flex-wrap:wrap; padding:14px 20px;}
  .ks-main-nav{
    order:3; flex-basis:100%; justify-content:flex-start;
    max-height:0; overflow:hidden; transition:max-height .25s ease;
  }
  .ks-main-nav.is-open{max-height:600px;}
  .ks-nav-list{flex-direction:column; align-items:flex-start; width:100%; gap:0; padding:10px 0;}
  .ks-nav-list > li{width:100%;}
  .ks-nav-list .sub-menu{
    position:static; opacity:0; visibility:hidden; max-height:0; overflow:hidden;
    border:none; box-shadow:none; margin:0; padding:0; transform:none; transition:max-height .2s ease;
  }
  .ks-nav-list li.is-open > .sub-menu{opacity:1; visibility:visible; max-height:400px; padding:4px 0 8px 16px;}
  .ks-search-form input.search-field{width:100px;}
  .ks-menu-toggle{display:flex;}
}


/* ==========================================================
   BUTTONS — everywhere (add to cart, checkout, submit)
   ========================================================== */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
a.button.alt,
.storefront-primary-navigation .button{
  background-color:var(--ks-red) !important;
  color:var(--ks-cream) !important;
  border-radius:2px !important;
  border:1px solid var(--ks-red) !important;
  font-weight:600;
  letter-spacing:0.01em;
  box-shadow:3px 3px 0 var(--ks-turmeric);
  transition:transform .15s ease, box-shadow .15s ease, background .2s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover{
  background-color:var(--ks-red-dark) !important;
  transform:translate(-1px,-1px);
  box-shadow:5px 5px 0 var(--ks-turmeric);
}

/* Outline / secondary buttons */
.woocommerce a.button.wc-forward,
.woocommerce-message a.button{
  background-color:transparent !important;
  color:var(--ks-red) !important;
  border:1.5px solid var(--ks-red) !important;
  box-shadow:none;
}

/* ---- Add to Cart — pill shape, icon, micro-interaction ---- */
.woocommerce ul.products li.product .button,
.woocommerce div.product form.cart .button,
.woocommerce #respond input#submit.single_add_to_cart_button{
  border-radius:999px !important;
  padding:12px 26px !important;
  display:inline-flex; align-items:center; gap:8px;
  box-shadow:0 6px 16px rgba(140,42,23,0.28) !important;
}
.woocommerce ul.products li.product .button::before,
.woocommerce div.product form.cart .button::before{
  content:"🛒";
  font-size:0.9em;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce div.product form.cart .button:hover{
  box-shadow:0 10px 22px rgba(140,42,23,0.38) !important;
  transform:translateY(-2px) !important;
}
.woocommerce ul.products li.product .added_to_cart{
  display:block; margin-top:8px; font-size:0.8rem; color:var(--ks-green) !important;
  text-align:center; font-weight:600;
}
/* Loading spinner colour while AJAX add-to-cart is in progress */
.woocommerce ul.products li.product .button.loading::after{
  border-color:var(--ks-cream);
  border-top-color:transparent;
}
/* Quantity input on single product pages */
.woocommerce div.product form.cart .quantity input.qty{
  border:1.5px solid rgba(42,24,16,0.2);
  background:var(--ks-cream-2);
  border-radius:8px;
  padding:12px 10px;
  text-align:center;
  font-family:'Work Sans', sans-serif;
  color:var(--ks-espresso);
  width:70px;
  margin-right:10px;
}

/* ==========================================================
   PRICES / SALE BADGES
   ========================================================== */
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  color:var(--ks-red-dark);
  font-family:'Fraunces', serif;
  font-weight:600;
}
.woocommerce span.onsale{
  background-color:var(--ks-turmeric) !important;
  color:var(--ks-espresso) !important;
  font-weight:700;
  border-radius:50%;
}
.woocommerce ul.products li.product del,
.woocommerce div.product del{
  color:#a08668;
}
.woocommerce ul.products li.product ins,
.woocommerce div.product ins{
  background:transparent;
  text-decoration:none;
}

/* ==========================================================
   PRODUCT CARDS (shop / archive grid) — with hover-reveal detail
   ========================================================== */
.woocommerce ul.products li.product{
  background:var(--ks-cream);
  border:1px solid rgba(42,24,16,0.12);
  border-radius:12px;
  padding:16px 16px 20px;
  position:relative;
  overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.woocommerce ul.products li.product:hover{
  transform:translateY(-5px);
  box-shadow:0 16px 30px rgba(42,24,16,0.14);
  border-color:rgba(42,24,16,0.05);
}

/* Image zoom on hover — bigger, more prominent image area */
.woocommerce ul.products li.product a img{
  border-radius:8px;
  aspect-ratio:1/1;
  object-fit:cover;
  width:100%;
  transition:transform .5s ease;
  background:linear-gradient(160deg, var(--ks-cream-2), var(--ks-gold));
}
.woocommerce ul.products li.product:hover a img{
  transform:scale(1.07);
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{
  display:block; overflow:hidden; border-radius:8px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:'Fraunces', serif;
  color:var(--ks-red-dark);
  font-size:1.05rem;
  margin-top:12px;
}
.woocommerce ul.products li.product .star-rating{
  color:var(--ks-turmeric);
}

/* "Detail" hint that appears on hover (short excerpt + view cue) */
.woocommerce ul.products li.product::after{
  content:"View details →";
  position:absolute; top:16px; right:16px;
  background:var(--ks-espresso); color:var(--ks-cream);
  font-size:0.72rem; font-weight:600; padding:6px 12px; border-radius:999px;
  opacity:0; transform:translateY(-6px);
  transition:opacity .22s ease, transform .22s ease;
  pointer-events:none;
}
.woocommerce ul.products li.product:hover::after{
  opacity:1; transform:translateY(0);
}

/* Add to Cart — hover-reveal, slides up from the bottom of the card */
.woocommerce ul.products li.product .button{
  border-radius:999px !important;
  width:100% !important;
  justify-content:center !important;
  margin-top:14px !important;
  opacity:0 !important;
  transform:translateY(10px) !important;
  transition:opacity .25s ease, transform .25s ease, box-shadow .2s ease, background .2s ease !important;
}
.woocommerce ul.products li.product:hover .button{
  opacity:1 !important;
  transform:translateY(0) !important;
}
/* Always show on touch devices, since there is no hover there */
@media (hover: none){
  .woocommerce ul.products li.product .button,
  .woocommerce ul.products li.product::after{
    opacity:1 !important; transform:none !important;
  }
}

/* ==========================================================
   SHOP LAYOUT — category sidebar + product grid
   ========================================================== */
.ks-shop-layout{
  max-width:1180px; margin:0 auto; padding:0 32px 50px;
  display:grid; grid-template-columns:240px 1fr; gap:36px; align-items:start;
}
.ks-shop-sidebar{
  background:var(--ks-cream-2);
  border:1px solid rgba(42,24,16,0.12);
  border-radius:14px;
  padding:24px 22px;
  position:sticky; top:90px;
  display:flex; flex-direction:column; gap:20px;
}
.ks-why-card h3{
  font-family:'Fraunces', serif; color:var(--ks-red-dark); font-size:1.1rem; margin-bottom:16px;
}
.ks-why-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px;}
.ks-why-list li{display:flex; gap:12px; align-items:flex-start;}
.ks-why-icon{
  width:38px; height:38px; border-radius:50%; background:var(--ks-cream);
  display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0;
  box-shadow:0 3px 8px rgba(42,24,16,0.08);
}
.ks-why-list strong{display:block; font-size:0.88rem; color:var(--ks-espresso); margin-bottom:2px;}
.ks-why-list p{font-size:0.78rem; color:#6b5140; line-height:1.4; margin:0;}
.ks-need-help{
  background:linear-gradient(155deg, var(--ks-green), #3f4a2b);
  border-radius:12px; padding:20px; color:var(--ks-cream);
}
.ks-need-help h4{font-family:'Fraunces', serif; font-size:1rem; margin-bottom:6px;}
.ks-need-help p{font-size:0.82rem; opacity:0.9; margin-bottom:14px;}
.ks-need-help-btn{
  display:inline-block; background:var(--ks-cream); color:var(--ks-espresso) !important;
  padding:10px 18px; border-radius:999px; font-weight:600; font-size:0.85rem; text-decoration:none;
  transition:transform .15s ease;
}
.ks-need-help-btn:hover{transform:translateY(-2px);}
.ks-shop-main{min-width:0;}
.ks-shop-main #primary.content-area{max-width:none; margin:0; padding:0;}
.ks-shop-main .woocommerce-result-count,
.ks-shop-main .woocommerce-ordering{margin-top:0 !important;}

@media (max-width: 900px){
  .ks-shop-layout{grid-template-columns:1fr; padding:0 20px 40px;}
  .ks-shop-sidebar{position:static;}
}

/* ==========================================================
   MINI-CART DROPDOWN
   ========================================================== */
.ks-cart-widget{position:relative;}
.ks-cart-link{
  position:relative;
  display:flex; align-items:center; justify-content:center;
  width:50px; height:50px; border-radius:50%;
  background:var(--ks-red); color:var(--ks-cream) !important;
  text-decoration:none;
  transition:background .2s ease, transform .15s ease;
}
.ks-cart-link:hover{background:var(--ks-red-dark); transform:translateY(-1px);}
.ks-cart-link svg{width:27px; height:27px; stroke-width:2.2;}
.ks-cart-link .count{
  position:absolute; top:-5px; right:-5px;
  background:var(--ks-turmeric); color:var(--ks-espresso);
  font-size:0.66rem; font-weight:700;
  width:18px; height:18px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  border:2px solid var(--ks-cream);
}
.ks-mini-cart{
  position:absolute; top:calc(100% + 14px); right:0; width:320px; max-width:88vw;
  background:var(--ks-cream); border:1px solid rgba(42,24,16,0.14); border-radius:14px;
  box-shadow:0 20px 44px rgba(42,24,16,0.22);
  padding:22px; z-index:200;
  opacity:0; visibility:hidden; transform:translateY(8px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.ks-mini-cart.is-open{opacity:1; visibility:visible; transform:translateY(0);}
.ks-mini-cart .widget_shopping_cart_content{margin:0;}
.ks-mini-cart .widget-title,
.ks-mini-cart h2.widgettitle{display:none;}
.ks-mini-cart ul.woocommerce-mini-cart{list-style:none; margin:0 0 16px; padding:0; max-height:280px; overflow-y:auto;}
.ks-mini-cart ul.woocommerce-mini-cart li.woocommerce-mini-cart-item{
  display:flex; align-items:center; gap:12px;
  padding:12px 0; border-bottom:1px solid rgba(42,24,16,0.1); position:relative;
}
.ks-mini-cart ul.woocommerce-mini-cart li img{
  width:52px; height:52px; object-fit:cover; border-radius:8px; flex-shrink:0;
}
.ks-mini-cart ul.woocommerce-mini-cart li a:not(.remove){
  color:var(--ks-red-dark); font-weight:600; font-size:0.86rem; text-decoration:none;
}
.ks-mini-cart ul.woocommerce-mini-cart li .quantity{
  display:block; font-size:0.8rem; color:#6b5140; margin-top:2px;
}
.ks-mini-cart ul.woocommerce-mini-cart li a.remove{
  position:absolute; top:10px; right:0;
  color:var(--ks-red) !important; background:transparent !important;
  width:auto !important; height:auto !important; font-size:1rem !important;
}
.ks-mini-cart .woocommerce-mini-cart__empty-message{
  color:#6b5140; font-size:0.9rem; text-align:center; padding:20px 0;
}
.ks-mini-cart .total{
  font-family:'Fraunces', serif; color:var(--ks-red-dark); font-size:1.05rem;
  padding:12px 0; border-top:1px solid rgba(42,24,16,0.14); margin-bottom:14px;
}
.ks-mini-cart .woocommerce-mini-cart__buttons{
  display:flex; flex-direction:column; gap:10px;
}
.ks-mini-cart .woocommerce-mini-cart__buttons a{
  width:100%; text-align:center; justify-content:center;
}


.ks-shop-hero{
  background:linear-gradient(155deg, var(--ks-turmeric), var(--ks-red) 60%, var(--ks-red-dark));
  color:var(--ks-cream);
  padding:76px 32px;
  text-align:center;
  margin-bottom:0;
  position:relative;
  overflow:hidden;
}
.ks-shop-hero::before{
  content:""; position:absolute; top:-60px; right:8%; width:220px; height:220px;
  border-radius:50%; background:rgba(247,238,220,0.08);
}
.ks-shop-hero::after{
  content:""; position:absolute; bottom:-70px; left:6%; width:160px; height:160px;
  border-radius:50%; background:rgba(247,238,220,0.06);
}
.ks-shop-hero h1{
  color:var(--ks-cream);
  font-size:clamp(2rem, 4vw, 2.8rem);
  margin-bottom:12px;
  position:relative; z-index:1;
}
.ks-shop-hero p{
  max-width:52ch;
  margin:0 auto;
  opacity:0.95;
  position:relative; z-index:1;
}

/* ==========================================================
   RESULT COUNT / SORTING (shop archive toolbar)
   ========================================================== */
.woocommerce-result-count{
  color:#6b5140; font-size:0.88rem; margin:28px 0 20px !important;
  float:left;
}
.woocommerce-ordering{margin:28px 0 20px !important; float:right;}
.woocommerce-ordering select{
  background:var(--ks-cream) !important;
  border:1.5px solid rgba(42,24,16,0.18) !important;
  color:var(--ks-espresso) !important;
  padding:10px 36px 10px 18px !important;
  border-radius:999px !important;
  font-family:'Work Sans', sans-serif !important;
  font-size:0.86rem !important;
  font-weight:600;
  cursor:pointer;
  box-shadow:0 2px 8px rgba(42,24,16,0.06);
  transition:border-color .2s ease, box-shadow .2s ease;
}
.woocommerce-ordering select:hover{border-color:var(--ks-gold) !important;}
.woocommerce-ordering select:focus{outline:none !important; border-color:var(--ks-turmeric) !important; box-shadow:0 4px 14px rgba(217,142,43,0.25);}
.woocommerce ul.products{margin-left:0 !important; margin-right:0 !important; clear:both;}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul{border:none !important;}
.woocommerce nav.woocommerce-pagination ul li{border:none !important;}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  border-radius:8px !important; margin:0 4px !important;
  border:1px solid rgba(42,24,16,0.14) !important;
  color:var(--ks-espresso) !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current{
  background:var(--ks-red) !important; color:var(--ks-cream) !important; border-color:var(--ks-red) !important;
}

/* ==========================================================
   CART / CHECKOUT — clear card-style layout so the cream page
   background never sits directly behind dense table content
   ========================================================== */
.woocommerce-cart #primary.content-area,
.woocommerce-checkout #primary.content-area{
  padding-top:36px;
}
.woocommerce table.shop_table{
  background:var(--ks-cream);
  border:1px solid rgba(42,24,16,0.14);
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 6px 20px rgba(42,24,16,0.06);
}
.woocommerce table.shop_table th{
  background:var(--ks-cream-2);
  font-family:'Fraunces', serif;
  color:var(--ks-red-dark);
  font-weight:600;
  padding:16px !important;
}
.woocommerce table.shop_table td{
  padding:16px !important;
  border-top:1px solid rgba(42,24,16,0.08) !important;
  color:var(--ks-espresso);
}
.woocommerce table.shop_table td.product-name a{color:var(--ks-red-dark); font-weight:600;}
.woocommerce table.shop_table td.product-remove a{
  color:var(--ks-red) !important; background:transparent !important;
}
.woocommerce input.qty,
.woocommerce table.cart td.product-quantity input.qty{
  border:1.5px solid rgba(42,24,16,0.2) !important;
  background:var(--ks-cream-2) !important;
  border-radius:8px !important;
  padding:10px !important;
  text-align:center;
  color:var(--ks-espresso) !important;
  width:64px !important;
}

/* Cart totals / coupon box — a distinct card, not floating on bare cream */
.woocommerce-cart-form{
  background:transparent;
}
.cart-collaterals .cart_totals,
.woocommerce-checkout-review-order,
#order_review{
  background:var(--ks-cream) !important;
  border:1px solid rgba(42,24,16,0.14) !important;
  border-radius:14px !important;
  padding:24px 26px !important;
  box-shadow:0 8px 24px rgba(42,24,16,0.08);
}
.cart_totals h2,
#order_review_heading{
  font-family:'Fraunces', serif; color:var(--ks-red-dark);
}
.cart_totals table.shop_table{box-shadow:none; border:none;}
.cart_totals table.shop_table td, .cart_totals table.shop_table th{background:transparent !important;}
.woocommerce-cart .coupon{
  display:flex; gap:10px; flex-wrap:wrap; align-items:center;
}
.woocommerce-cart .coupon .input-text{
  border:1.5px solid rgba(42,24,16,0.2) !important;
  border-radius:999px !important;
  padding:11px 18px !important;
  background:var(--ks-cream-2) !important;
  color:var(--ks-espresso) !important;
}
.woocommerce-checkout #payment{
  background:var(--ks-cream-2) !important;
  border:1px solid rgba(42,24,16,0.14) !important;
  border-radius:12px !important;
}
.woocommerce-checkout .woocommerce-billing-fields input,
.woocommerce-checkout .woocommerce-billing-fields select,
.woocommerce-checkout .woocommerce-additional-fields textarea{
  border:1.5px solid rgba(42,24,16,0.18) !important;
  background:var(--ks-cream) !important;
  border-radius:8px !important;
  padding:11px 14px !important;
}
.woocommerce-checkout-review-order-table{background:transparent !important;}

/* Empty-cart message */
.woocommerce-cart .cart-empty,
.woocommerce-info{
  background:var(--ks-cream-2) !important;
  border-left:4px solid var(--ks-turmeric) !important;
  color:var(--ks-espresso) !important;
  padding:18px 22px !important;
  border-radius:8px;
}

/* ==========================================================
   FOOTER — floating newsletter card + multi-column links
   (layout inspired by a Dribbble reference; colours are ours)
   ========================================================== */
.ks-site-footer{
  background:var(--ks-espresso); color:#EAD9BE;
  padding-top:56px;
}

/* ---- Newsletter card (sits neatly inside the footer — no overlap,
   so it always looks right regardless of what page content is above) ---- */
.ks-newsletter-wrap{
  max-width:1180px; margin:0 auto; padding:0 32px;
}
.ks-newsletter-card{
  background:linear-gradient(120deg, var(--ks-red-dark) 0%, var(--ks-red) 55%, var(--ks-turmeric) 130%);
  border-radius:20px;
  padding:38px 40px;
  display:grid; grid-template-columns:1.1fr 1fr; gap:24px; align-items:center;
  box-shadow:0 20px 44px rgba(42,24,16,0.32);
  position:relative; overflow:hidden;
}
.ks-newsletter-card::before{
  content:""; position:absolute; top:-50px; right:-50px; width:180px; height:180px;
  border-radius:50%; background:rgba(247,238,220,0.08);
}
.ks-newsletter-text, .ks-newsletter-form, .ks-newsletter-fine{position:relative; z-index:1;}
.ks-newsletter-text h3{
  font-family:'Fraunces', serif; color:var(--ks-cream); font-size:1.4rem; margin-bottom:6px;
}
.ks-newsletter-text p{color:rgba(247,238,220,0.9); font-size:0.9rem;}
.ks-newsletter-form{
  display:flex; background:var(--ks-cream); border-radius:999px; padding:6px;
}
.ks-newsletter-form input{
  border:none; background:transparent; padding:12px 18px; flex:1; color:var(--ks-espresso); border-radius:999px;
}
.ks-newsletter-form input:focus{outline:none;}
.ks-newsletter-form button{
  background:var(--ks-espresso); color:var(--ks-cream); border:none; padding:12px 24px;
  font-weight:600; cursor:pointer; border-radius:999px; white-space:nowrap;
  transition:background .2s ease;
}
.ks-newsletter-form button:hover{background:var(--ks-red-dark);}
.ks-newsletter-fine{
  grid-column:2; font-size:0.76rem; color:rgba(247,238,220,0.75); margin-top:-6px;
}
.ks-newsletter-fine a{color:var(--ks-cream); text-decoration:underline;}

/* ---- Column links ---- */
.ks-footer-main{padding:40px 32px 8px;}
.ks-footer-columns{
  max-width:1180px; margin:0 auto;
  display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:32px;
  padding-bottom:32px;
}
.ks-footer-col h4{
  font-family:'Fraunces', serif; color:var(--ks-cream); font-size:0.98rem; margin-bottom:16px;
}
.ks-footer-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px;}
.ks-footer-col ul a{color:#C7AE8C; font-size:0.88rem; text-decoration:none; transition:color .2s ease;}
.ks-footer-col ul a:hover{color:var(--ks-turmeric);}
.ks-footer-col p{color:#C7AE8C; font-size:0.88rem; margin-bottom:8px;}
.ks-footer-logo{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-family:'Fraunces', serif;
  font-weight:700;
  font-size:1.48rem;
  letter-spacing:-.02em;
  color:var(--ks-cream);
  margin-bottom:12px;
  padding:7px 13px 7px 8px;
  border:1px solid rgba(247,238,220,.28);
  border-radius:999px;
  background:rgba(247,238,220,.06);
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}
.ks-footer-logo::before{
  content:'✦';
  display:flex; align-items:center; justify-content:center;
  width:34px; height:34px;
  border-radius:50%;
  background:var(--ks-turmeric);
  color:var(--ks-espresso);
  font-family:Arial,sans-serif;
  font-size:16px;
}
.ks-footer-logo span{color:var(--ks-turmeric); font-style:italic; font-weight:500;}
.ks-footer-brand p{font-size:0.86rem; color:#C7AE8C; max-width:32ch; margin-bottom:16px;}
.ks-social-icons{display:flex; gap:10px;}
.ks-social-icons a{
  width:36px; height:36px; border-radius:50%; border:1px solid rgba(247,238,220,0.3);
  display:flex; align-items:center; justify-content:center; font-size:0.75rem; font-weight:700;
  color:var(--ks-cream) !important; text-transform:uppercase; text-decoration:none;
  transition:background .2s ease, border-color .2s ease;
}
.ks-social-icons a:hover{background:var(--ks-turmeric); border-color:var(--ks-turmeric); color:var(--ks-espresso) !important;}

/* ---- Bottom bar ---- */
.ks-footer-bottom{
  max-width:1180px; margin:0 auto; padding:20px 32px;
  border-top:1px solid rgba(247,238,220,0.14);
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
  font-size:0.8rem; color:#C7AE8C;
}
.ks-footer-legal a{color:#C7AE8C; text-decoration:none; margin-left:4px;}
.ks-footer-legal a:hover{color:var(--ks-turmeric);}

@media (max-width: 900px){
  .ks-newsletter-card{grid-template-columns:1fr;}
  .ks-newsletter-fine{grid-column:1;}
  .ks-footer-columns{grid-template-columns:1fr 1fr; gap:28px;}
}
@media (max-width: 560px){
  .ks-newsletter-wrap{padding:0 16px;}
  .ks-newsletter-card{padding:26px 22px; border-radius:16px;}
  .ks-footer-main{padding:0 16px;}
  .ks-footer-columns{grid-template-columns:1fr;}
  .ks-footer-bottom{padding:20px 16px; justify-content:flex-start;}
}


/* ==========================================================
   FRONT PAGE / CONTACT PAGE — full custom layout
   (scoped to .ks-front-page so it never affects other pages)
   ========================================================== */
.ks-front-page{position:relative; z-index:1;}
.ks-front-page .wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
.ks-front-page section{padding:70px 32px;}

/* ---- Hero ---- */
.ks-front-page .hero{
  display:grid; grid-template-columns:1.05fr 0.95fr;
  align-items:center; gap:40px;
  padding:70px 32px 40px; max-width:1180px; margin:0 auto;
}
.ks-front-page .hero-eyebrow{
  color:var(--ks-green); font-weight:600; font-size:0.85rem;
  letter-spacing:0.02em; margin-bottom:18px;
}
.ks-front-page .hero h1{
  font-size:clamp(2.2rem, 4.6vw, 3.6rem); margin-bottom:22px; color:var(--ks-red-dark);
}
.ks-front-page .hero p.lead{
  font-size:1.05rem; max-width:44ch; color:#4A2E1F; margin-bottom:28px;
}
.ks-front-page .hero-ctas{display:flex; gap:16px; flex-wrap:wrap; list-style:none;}
.ks-front-page a.btn-primary{
  background:var(--ks-red); color:var(--ks-cream) !important;
  padding:15px 28px; border-radius:2px; font-weight:600;
  box-shadow:4px 4px 0 var(--ks-turmeric);
  display:inline-block; transition:transform .18s ease, box-shadow .18s ease;
}
.ks-front-page a.btn-primary:hover{transform:translate(-2px,-2px); box-shadow:6px 6px 0 var(--ks-turmeric);}
.ks-front-page a.btn-ghost{
  padding:15px 24px; border:1.5px solid var(--ks-espresso); border-radius:2px;
  font-weight:600; color:var(--ks-espresso) !important; display:inline-block;
}
.ks-front-page .hero-art{position:relative; height:340px; display:flex; align-items:center; justify-content:center;}
.ks-front-page .jar-glow{
  position:absolute; width:280px; height:280px; border-radius:50%;
  background:radial-gradient(circle, rgba(217,142,43,0.35), transparent 70%);
  filter:blur(10px);
}

/* ---- Section headers ---- */
.ks-front-page .section-head{max-width:640px; margin:0 auto 44px;}
.ks-front-page .kicker{color:var(--ks-green); font-weight:600; font-size:0.85rem; margin-bottom:8px;}
.ks-front-page .section-head h2{font-size:clamp(1.7rem,3vw,2.4rem);}

/* ---- Explore Categories (circular, horizontal scroll) ---- */
.ks-section-head-row{
  max-width:1180px; margin:0 auto 28px; padding:0 32px;
  display:flex; align-items:flex-end; justify-content:space-between; gap:20px;
}
.ks-section-head-row .kicker{color:var(--ks-green); font-weight:600; font-size:0.85rem; margin-bottom:8px;}
.ks-cat-nav{display:flex; gap:10px; visibility:hidden; opacity:0; transition:opacity .2s ease;}
.ks-cat-nav.has-overflow{visibility:visible; opacity:1;}
.ks-cat-nav button{
  width:40px; height:40px; border-radius:50%;
  border:1.5px solid rgba(42,24,16,0.18); background:var(--ks-cream);
  color:var(--ks-espresso); font-size:1rem; cursor:pointer;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.ks-cat-nav button:hover{background:var(--ks-red); color:var(--ks-cream); border-color:var(--ks-red);}
.ks-cat-scroll{
  max-width:1180px; margin:0 auto; padding:4px 32px 8px;
  display:flex; gap:28px; overflow-x:auto; scroll-behavior:smooth;
  scrollbar-width:none;
}
.ks-cat-scroll::-webkit-scrollbar{display:none;}
.ks-cat-circle{
  flex:0 0 auto; width:120px; text-align:center; text-decoration:none;
  display:flex; flex-direction:column; align-items:center; gap:12px;
}
.ks-cat-circle-img{
  width:104px; height:104px; border-radius:50%;
  background:linear-gradient(160deg, var(--ks-cream-2), var(--ks-gold));
  background-size:cover; background-position:center;
  display:flex; align-items:center; justify-content:center; font-size:2.4rem;
  box-shadow:0 8px 20px rgba(42,24,16,0.12);
  border:3px solid var(--ks-cream);
  transition:transform .25s ease, box-shadow .25s ease;
}
.ks-cat-circle:hover .ks-cat-circle-img{
  transform:translateY(-6px) scale(1.04);
  box-shadow:0 14px 28px rgba(42,24,16,0.22);
}
.ks-cat-circle-label{
  font-weight:600; font-size:0.92rem; color:var(--ks-espresso);
}
@media (max-width: 640px){
  .ks-section-head-row{padding:0 20px;}
  .ks-cat-scroll{padding:4px 20px 8px;}
  .ks-cat-circle-img{width:88px; height:88px; font-size:2rem;}
  .ks-cat-circle{width:100px;}
}

/* ---- Shop by dish ---- */
.ks-front-page .dish-grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:20px;
  max-width:1180px; margin:0 auto;
}
.ks-front-page .dish-card{
  background-image:linear-gradient(160deg, var(--ks-red) 0%, var(--ks-red-dark) 100%);
  border-radius:14px; padding:0; min-height:280px; position:relative; overflow:hidden;
  display:flex; flex-direction:column; justify-content:flex-end;
  color:var(--ks-cream) !important;
  box-shadow:0 6px 18px rgba(42,24,16,0.08);
  transition:transform .28s ease, box-shadow .28s ease;
}
.ks-front-page .dish-card:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 34px rgba(42,24,16,0.22);
}
.ks-front-page .dish-card:nth-child(4n+2){background-image:linear-gradient(160deg, var(--ks-turmeric) 0%, var(--ks-red) 100%);}
.ks-front-page .dish-card:nth-child(4n+3){background-image:linear-gradient(160deg, var(--ks-gold) 0%, var(--ks-red-dark) 100%);}
.ks-front-page .dish-card:nth-child(4n+4){background-image:linear-gradient(160deg, var(--ks-green) 0%, var(--ks-espresso) 100%);}
.ks-front-page .dish-card[style*="background-image"]::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(42,24,16,0.05) 0%, rgba(42,24,16,0.78) 100%);
}
.ks-front-page .dish-card .dish-icon{position:relative; z-index:1; font-size:2.1rem; padding:24px 24px 0; opacity:0.9;}
.ks-front-page .dish-card .dish-body{position:relative; z-index:1; padding:18px 24px 26px;}
.ks-front-page .dish-card .num{font-family:'Fraunces',serif; color:rgba(247,238,220,0.75); font-size:0.8rem; letter-spacing:0.06em;}
.ks-front-page .dish-card h3{font-size:1.35rem; margin:8px 0 6px; color:var(--ks-cream) !important;}
.ks-front-page .dish-card p{font-size:0.86rem; color:rgba(247,238,220,0.88) !important; margin-bottom:14px;}
.ks-front-page .dish-card .dish-arrow{
  position:relative; z-index:1; display:inline-flex; align-items:center; gap:6px;
  font-size:0.82rem; font-weight:600; color:var(--ks-cream) !important; opacity:0.9;
  transition:gap .2s ease;
}
.ks-front-page .dish-card:hover .dish-arrow{gap:11px;}

/* ---- Products grid ---- */
.ks-front-page .products{background:var(--ks-cream-2);}
.ks-front-page .product-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:26px; max-width:1180px; margin:0 auto;
}
.ks-front-page .product-card{
  background:var(--ks-cream); border:1px solid rgba(42,24,16,0.14);
  display:flex; flex-direction:column; color:var(--ks-espresso) !important;
}
.ks-front-page .product-thumb{
  height:180px; display:flex; align-items:center; justify-content:center;
  background:var(--ks-cream-2); overflow:hidden;
}
.ks-front-page .product-thumb img{max-height:100%; object-fit:cover;}
.ks-front-page .product-body{padding:20px 22px 24px;}
.ks-front-page .product-body .tag{font-size:0.75rem; color:var(--ks-green); font-weight:600; margin-bottom:8px; display:block;}
.ks-front-page .product-body h3{font-size:1.1rem; margin-bottom:8px; color:var(--ks-red-dark);}
.ks-front-page .product-body p{font-size:0.85rem; color:#6b5140; margin-bottom:16px;}
.ks-front-page .product-foot{display:flex; align-items:center; justify-content:space-between;}
.ks-front-page .price{font-family:'Fraunces',serif; font-weight:600; font-size:1.1rem; color:var(--ks-red-dark);}
.ks-front-page .add-btn{
  width:36px; height:36px; border-radius:50%; border:1.5px solid var(--ks-red);
  display:flex; align-items:center; justify-content:center; font-size:1.1rem; color:var(--ks-red);
}

/* ---- Story ---- */
.ks-front-page .story{
  display:grid; grid-template-columns:0.9fr 1.1fr; gap:50px; align-items:center;
  max-width:1180px; margin:0 auto;
}
.ks-front-page .story-visual{
  background:linear-gradient(155deg, var(--ks-turmeric), var(--ks-red));
  height:360px; position:relative; overflow:hidden;
}
.ks-front-page .story-visual .grain{
  position:absolute; inset:0;
  background-image: repeating-linear-gradient(45deg, rgba(255,255,255,0.05) 0 2px, transparent 2px 14px);
}
.ks-front-page .story p{color:#4A2E1F; max-width:52ch;}
.ks-front-page .story-list{list-style:none; margin-top:20px;}
.ks-front-page .story-list li{
  padding:12px 0; border-top:1px solid rgba(42,24,16,0.14); font-size:0.92rem;
}
.ks-front-page .story-list li:last-child{border-bottom:1px solid rgba(42,24,16,0.14);}
.ks-front-page .story-list b{color:var(--ks-red-dark); font-family:'Fraunces',serif; font-weight:600;}

/* ---- Testimonials ---- */
.ks-front-page .testimonials{background:var(--ks-espresso); color:var(--ks-cream);}
.ks-front-page .testimonials h2{color:var(--ks-cream);}
.ks-front-page .testi-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px; max-width:1180px; margin:0 auto;
}
.ks-front-page .testi-card{
  background:rgba(247,238,220,0.06); border:1px solid rgba(247,238,220,0.14); padding:26px 22px;
}
.ks-front-page .testi-card p{font-size:0.94rem; margin-bottom:18px; color:#EAD9BE;}
.ks-front-page .testi-who{display:flex; align-items:center; gap:12px; color:var(--ks-cream);}
.ks-front-page .testi-avatar{
  width:36px; height:36px; border-radius:50%; background:var(--ks-turmeric);
  display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif;
  color:var(--ks-espresso); font-weight:700; flex-shrink:0;
}
.ks-front-page .testi-who span{font-size:0.82rem; color:#C7AE8C;}

/* ---- CTA band (newsletter) ---- */
.ks-front-page .cta-band{
  background:linear-gradient(120deg, var(--ks-red-dark) 0%, var(--ks-red) 55%, var(--ks-turmeric) 130%);
  position:relative;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:28px;
  padding:56px 48px;
  overflow:hidden;
}
.ks-front-page .cta-band::before{
  content:"";
  position:absolute; top:-60px; right:-60px; width:220px; height:220px; border-radius:50%;
  background:rgba(247,238,220,0.08);
}
.ks-front-page .cta-band::after{
  content:"";
  position:absolute; bottom:-80px; left:10%; width:180px; height:180px; border-radius:50%;
  background:rgba(247,238,220,0.06);
}
.ks-front-page .cta-band > *{position:relative; z-index:1;}
.ks-front-page .cta-band .kicker{
  color:var(--ks-cream); opacity:0.85; font-weight:600; font-size:0.8rem;
  letter-spacing:0.04em; text-transform:uppercase; margin-bottom:8px; display:block;
}
.ks-front-page .cta-band h2{color:var(--ks-cream); font-size:1.7rem; max-width:440px; line-height:1.2;}
.ks-front-page .cta-form{
  display:flex; background:var(--ks-cream); border-radius:999px; padding:6px;
  box-shadow:0 10px 30px rgba(42,24,16,0.25);
}
.ks-front-page .cta-form input{
  border:none; background:transparent; padding:13px 20px; width:230px; color:var(--ks-espresso);
  border-radius:999px; font-family:'Work Sans', sans-serif;
}
.ks-front-page .cta-form input:focus{outline:none;}
.ks-front-page .cta-form button{
  background:var(--ks-espresso); color:var(--ks-cream); border:none; padding:13px 26px;
  font-weight:600; cursor:pointer; border-radius:999px; transition:background .2s ease, transform .15s ease;
}
.ks-front-page .cta-form button:hover{background:var(--ks-red-dark); transform:translateY(-1px);}
@media (max-width: 640px){
  .ks-front-page .cta-band{padding:40px 24px; flex-direction:column; align-items:flex-start;}
  .ks-front-page .cta-form{width:100%;}
  .ks-front-page .cta-form input{width:100%;}
}

/* ---- Responsive ---- */
@media (max-width: 860px){
  .ks-front-page .hero{grid-template-columns:1fr; padding-top:40px;}
  .ks-front-page .hero-art{height:220px;}
  .ks-front-page .product-grid{grid-template-columns:1fr;}
  .ks-front-page .story{grid-template-columns:1fr;}
  .ks-front-page .testi-grid{grid-template-columns:1fr;}
  .ks-front-page .wrap[style]{grid-template-columns:1fr !important;}
}
@media (max-width: 768px){
  .ks-shop-hero{padding:48px 20px;}
}


/* ==========================================================
   SHOP PAGE — screenshot-matched category-first layout
   ========================================================== */
.woocommerce-page .site-main,
.woocommerce .site-main{
  background:var(--ks-cream) !important;
}

/* The old decorative shop hero is intentionally hidden on archives. */
.ks-shop-hero{display:none !important;}

.ks-section-head-row{
  max-width:1280px !important;
  margin:32px auto 20px !important;
  padding:0 32px !important;
  align-items:center !important;
}
.ks-section-head-row h2{
  margin:0 !important;
  font-size:clamp(1.65rem,2.4vw,2.1rem) !important;
  line-height:1.15 !important;
}
.ks-cat-scroll{
  max-width:1280px !important;
  padding:4px 32px 22px !important;
  gap:42px !important;
}
.ks-cat-circle{width:112px !important; gap:11px !important;}
.ks-cat-circle-img{
  width:104px !important;
  height:104px !important;
  border-width:3px !important;
}

.ks-shop-layout{
  max-width:1280px !important;
  margin:8px auto 0 !important;
  padding:0 32px 70px !important;
  grid-template-columns:minmax(285px, 320px) minmax(0,1fr) !important;
  gap:38px !important;
  align-items:start !important;
}
.ks-shop-sidebar{
  background:#F3E6CB !important;
  border:1px solid rgba(94,27,15,.14) !important;
  border-radius:15px !important;
  padding:24px 20px 20px !important;
  position:sticky !important;
  top:92px !important;
  box-shadow:none !important;
  gap:20px !important;
}
.ks-why-card h3{
  font-size:1.22rem !important;
  margin:0 !important;
}
.ks-why-divider{
  height:1px;
  background:rgba(94,27,15,.12);
  margin:15px 0 5px;
}
.ks-why-list{gap:0 !important;}
.ks-why-list li{
  gap:13px !important;
  padding:15px 0 !important;
  border-bottom:1px solid rgba(94,27,15,.10);
}
.ks-why-list li:last-child{border-bottom:0;}
.ks-why-icon{
  width:42px !important;
  height:42px !important;
  background:#E9E5C9 !important;
  border:1px solid rgba(92,107,63,.12);
  box-shadow:0 3px 9px rgba(42,24,16,.06) !important;
  font-size:1.12rem !important;
}
.ks-why-list strong{
  font-family:'Fraunces',serif;
  font-size:.94rem !important;
  line-height:1.25;
}
.ks-why-list p{
  font-size:.77rem !important;
  line-height:1.45 !important;
  margin-top:4px !important;
}
.ks-need-help{
  display:grid !important;
  grid-template-columns:58px 1fr !important;
  column-gap:12px !important;
  align-items:center !important;
  background:#F8E8C8 !important;
  border:1px solid rgba(184,134,59,.35) !important;
  color:var(--ks-red-dark) !important;
  border-radius:12px !important;
  padding:14px !important;
}
.ks-whatsapp-mark{
  width:52px;
  height:52px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:#27a85a;
  font-size:1.8rem;
  font-weight:700;
  border:2px solid #27a85a;
}
.ks-need-help h4{
  font-size:1rem !important;
  margin:0 0 3px !important;
}
.ks-need-help p{
  font-size:.77rem !important;
  line-height:1.4 !important;
  margin:0 !important;
  color:#4f3b2f;
}
.ks-need-help-btn{
  grid-column:1 / -1;
  display:block !important;
  margin-top:11px;
  text-align:center;
  padding:9px 14px !important;
  background:var(--ks-red) !important;
  color:var(--ks-cream) !important;
  border-radius:999px !important;
  font-size:.78rem !important;
}

.ks-shop-main .woocommerce-products-header{
  text-align:center;
  margin:0 0 18px;
}
.ks-shop-main .woocommerce-products-header__title,
.ks-shop-main h1.page-title{
  color:var(--ks-red-dark) !important;
  font-family:'Fraunces',serif !important;
  font-size:clamp(2rem,3.4vw,3rem) !important;
  line-height:1.1 !important;
  margin:0 0 26px !important;
}
.ks-shop-main .woocommerce-result-count{
  margin:0 0 20px !important;
  float:left !important;
  color:#765f50 !important;
  font-size:.86rem !important;
}
.ks-shop-main .woocommerce-ordering{
  margin:0 0 20px !important;
  float:right !important;
}
.ks-shop-main .woocommerce-ordering select{
  min-width:215px;
  padding:11px 38px 11px 18px !important;
  background:#F7EEDC !important;
}

.ks-shop-main ul.products{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  margin:0 !important;
  padding:0 !important;
  clear:both !important;
}
.ks-shop-main ul.products::before,
.ks-shop-main ul.products::after{display:none !important;}
.ks-shop-main ul.products li.product,
.ks-shop-main ul.products li.product.first,
.ks-shop-main ul.products li.product.last{
  float:none !important;
  width:auto !important;
  margin:0 !important;
  padding:16px 16px 20px !important;
  background:#FBF5E9 !important;
  border:1px solid rgba(42,24,16,.11) !important;
  border-radius:13px !important;
  box-shadow:0 4px 13px rgba(42,24,16,.04) !important;
}
.ks-shop-main ul.products li.product:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 12px 24px rgba(42,24,16,.09) !important;
}
.ks-shop-main ul.products li.product a.woocommerce-LoopProduct-link{
  border-radius:8px !important;
}
.ks-shop-main ul.products li.product a img{
  aspect-ratio:1 / 1 !important;
  border-radius:8px !important;
  margin:0 0 12px !important;
}
.ks-shop-main ul.products li.product .woocommerce-loop-product__title{
  font-size:1.02rem !important;
  margin:4px 0 5px !important;
}
.ks-shop-main ul.products li.product .price{
  display:block !important;
  margin:0 !important;
  font-family:'Work Sans',sans-serif !important;
  font-size:.95rem !important;
  font-weight:700 !important;
  color:var(--ks-espresso) !important;
}
.ks-shop-main ul.products li.product .button{
  opacity:1 !important;
  transform:none !important;
  margin-top:14px !important;
  padding:11px 15px !important;
  background:var(--ks-red) !important;
  color:var(--ks-cream) !important;
  border-radius:7px !important;
  font-size:.82rem !important;
}
.ks-shop-main ul.products li.product .button:hover{
  background:var(--ks-red-dark) !important;
}
.ks-shop-main ul.products li.product::after{display:none !important;}

.ks-shop-main .woocommerce nav.woocommerce-pagination{
  margin-top:30px !important;
}
.ks-shop-main .woocommerce nav.woocommerce-pagination ul li a,
.ks-shop-main .woocommerce nav.woocommerce-pagination ul li span{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50% !important;
  padding:0 !important;
  margin:0 3px !important;
}
.ks-shop-main .woocommerce nav.woocommerce-pagination ul li span.current{
  background:var(--ks-red) !important;
  color:var(--ks-cream) !important;
}

@media (max-width: 980px){
  .ks-shop-layout{grid-template-columns:250px minmax(0,1fr) !important; gap:24px !important; padding-left:20px !important; padding-right:20px !important;}
  .ks-shop-main ul.products{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width: 760px){
  .ks-shop-layout{grid-template-columns:1fr !important;}
  .ks-shop-sidebar{position:static !important;}
  .ks-shop-main ul.products{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width: 520px){
  .ks-shop-main ul.products{grid-template-columns:1fr !important;}
  .ks-section-head-row{padding:0 20px !important;}
  .ks-cat-scroll{padding-left:20px !important; padding-right:20px !important;}
}


/* ==========================================================
   SHOP FINAL TIGHTENING / FULL-WIDTH FIX
   ========================================================== */
/* The custom shop wrapper should use the complete viewport width. */
.woocommerce-page #primary.content-area,
.woocommerce #primary.content-area,
.woocommerce-page .site-main,
.woocommerce .site-main{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}

/* Keep the actual content aligned while allowing its outer section to be full width. */
.ks-shop-layout{
  width:100% !important;
  max-width:1440px !important;
  box-sizing:border-box !important;
  margin:0 auto !important;
  padding:0 32px 55px !important;
}

/* Reduce the large gap below the Spices/shop title. */
.ks-shop-main .woocommerce-products-header{
  margin:0 0 6px !important;
  padding:0 !important;
}
.ks-shop-main .woocommerce-products-header__title,
.ks-shop-main h1.page-title{
  margin:0 0 6px !important;
  padding:0 !important;
}

/* WooCommerce result count + sorting toolbar. */
.ks-shop-main .woocommerce-result-count{
  float:left !important;
  margin:10px 0 22px !important;
  color:#705b48;
  font-size:.86rem;
  line-height:42px;
}
.ks-shop-main .woocommerce-ordering{
  float:right !important;
  margin:10px 0 22px !important;
}
.ks-shop-main .woocommerce-ordering select{
  min-height:42px;
  padding:0 38px 0 14px;
  border:1px solid rgba(42,24,16,.18);
  border-radius:999px;
  background:var(--ks-cream);
  color:var(--ks-espresso);
  font-family:'Work Sans',sans-serif;
  font-size:.84rem;
}
.ks-shop-main ul.products{
  clear:both !important;
  margin-top:0 !important;
}

/* Never let the footer/background peek through on the right side of the shop. */
body.woocommerce,
body.woocommerce-page,
body.woocommerce #content,
body.woocommerce-page #content,
body.woocommerce .site-content,
body.woocommerce-page .site-content,
body.woocommerce .content-area,
body.woocommerce-page .content-area{
  width:100% !important;
  max-width:none !important;
  background:var(--ks-cream) !important;
}

@media (min-width:981px){
  .ks-shop-layout{
    grid-template-columns:minmax(285px,320px) minmax(0,1fr) !important;
  }
}

@media (max-width:980px){
  .ks-shop-layout{
    padding-left:20px !important;
    padding-right:20px !important;
  }
}


/* Final shop polish */
@media (max-width:980px){
  .ks-shop-main .woocommerce-result-count{line-height:38px; margin-bottom:16px !important;}
  .ks-shop-main .woocommerce-ordering{margin-bottom:16px !important;}
  .ks-shop-main .woocommerce-ordering select{min-height:38px;}
}
@media (max-width:560px){
  .ks-shop-main .woocommerce-result-count{float:none !important; display:inline-block; margin:0 0 10px !important; line-height:32px;}
  .ks-shop-main .woocommerce-ordering{float:none !important; display:block; margin:0 0 18px !important;}
  .ks-shop-main .woocommerce-ordering select{width:100%;}
  .ks-cart-link{width:46px; height:46px;}
  .ks-cart-link svg{width:25px; height:25px;}
}

/* Final shop toolbar spacing */
.ks-shop-main .storefront-sorting,
.storefront-sorting {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.ks-shop-main .storefront-sorting .woocommerce-result-count,
.ks-shop-main .storefront-sorting .woocommerce-ordering {
  margin-bottom: 0 !important;
}

/* Footer logo: use the same chilli mark as the header logo */
.ks-footer-logo::before {
  content: '🌶️' !important;
  width: 38px;
  height: 38px;
  background: transparent;
  border-radius: 0;
  font-family: inherit;
  font-size: 1.55rem;
  line-height: 1;
  box-shadow: none;
}
.ks-footer-logo {
  gap: 7px;
}

/* CMS-driven category icons: keep any uploaded icon/image perfectly contained. */
.ks-cat-circle-img{
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
  overflow:hidden;
}

/* Requested spacing below the WooCommerce sorting toolbar. */
.ks-shop-main .storefront-sorting,
.storefront-sorting{
  margin-bottom:15px !important;
}

/* Mobile header menu: always keep the hamburger visible. */
@media (max-width:860px){
  .ks-header-actions{flex-shrink:0; gap:10px;}
  .ks-menu-toggle{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    flex:0 0 38px !important;
    width:38px !important;
    height:38px !important;
    padding:6px !important;
    margin:0 !important;
    position:relative;
    z-index:1001;
  }
  .ks-menu-toggle span{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
    height:2px !important;
    background:var(--ks-espresso) !important;
  }
}
@media (max-width:560px){
  .ks-search-form{display:none !important;}
  .ks-header-actions{margin-left:auto;}
  .ks-menu-toggle{display:flex !important;}
}

/* Category icon behavior: only use the CMS Category Icon. Empty icons stay empty. */
.ks-cat-circle-img{
  background-repeat:no-repeat !important;
  background-size:contain !important;
  background-position:center !important;
  background-color:transparent !important;
}

/* Keep the requested spacing under the sorting toolbar. */
.ks-shop-main .storefront-sorting,
.storefront-sorting{
  margin-bottom:15px !important;
}

/* ==========================================================
   CART + CHECKOUT — PREMIUM RESPONSIVE POLISH
   ========================================================== */
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main{
  max-width:1280px !important;
  margin:0 auto !important;
  padding:42px 32px 70px !important;
  box-sizing:border-box !important;
}

.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header{
  margin-bottom:26px !important;
}
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title{
  font-family:'Fraunces',serif !important;
  color:var(--ks-red-dark) !important;
  font-size:clamp(2rem,4vw,3rem) !important;
  margin:0 !important;
}

/* Cart table */
.woocommerce-cart-form table.shop_table.cart{
  border-collapse:separate !important;
  border-spacing:0 !important;
  border-radius:16px !important;
  overflow:hidden !important;
  margin:0 !important;
}
.woocommerce-cart-form table.shop_table.cart thead th{
  font-size:.82rem !important;
  letter-spacing:.05em;
  text-transform:uppercase;
  padding:17px 18px !important;
}
.woocommerce-cart-form table.shop_table.cart tbody tr:first-child td{
  border-top:none !important;
}
.woocommerce-cart-form table.shop_table.cart td{
  vertical-align:middle !important;
}
.woocommerce-cart-form .product-thumbnail img{
  width:82px !important;
  height:82px !important;
  object-fit:cover !important;
  border-radius:12px !important;
  border:1px solid rgba(42,24,16,.10);
}
.woocommerce-cart-form .product-name a{
  font-family:'Fraunces',serif;
  font-size:1rem;
}
.woocommerce-cart-form .product-price,
.woocommerce-cart-form .product-subtotal{
  font-family:'Fraunces',serif;
  font-weight:600;
  color:var(--ks-red-dark) !important;
}
.woocommerce-cart-form .product-remove a.remove{
  width:30px !important;
  height:30px !important;
  line-height:28px !important;
  border:1px solid rgba(140,42,23,.18);
  border-radius:50% !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  font-size:17px !important;
  transition:all .2s ease;
}
.woocommerce-cart-form .product-remove a.remove:hover{
  background:var(--ks-red) !important;
  color:var(--ks-cream) !important;
  transform:rotate(90deg);
}
.woocommerce-cart-form .actions{
  padding:18px !important;
  background:var(--ks-cream-2) !important;
}
.woocommerce-cart-form .actions .coupon{
  margin:0 !important;
}
.woocommerce-cart-form .actions .coupon .button,
.woocommerce-cart-form .actions > .button{
  min-height:44px;
}
.woocommerce-cart-form .actions .button:disabled{
  opacity:.5;
  box-shadow:none !important;
  cursor:not-allowed;
}

/* Cart totals */
.woocommerce-cart .cart-collaterals{
  width:100% !important;
  margin-top:28px !important;
  display:flex !important;
  justify-content:flex-end !important;
}
.woocommerce-cart .cart-collaterals .cart_totals{
  width:min(100%,500px) !important;
  padding:28px !important;
  border-radius:18px !important;
  background:rgba(247,238,220,.72) !important;
  box-shadow:0 12px 34px rgba(42,24,16,.10) !important;
}
.woocommerce-cart .cart_totals h2{
  font-size:1.45rem !important;
  margin:0 0 16px !important;
}
.woocommerce-cart .cart_totals table{
  margin:0 0 18px !important;
}
.woocommerce-cart .cart_totals th,
.woocommerce-cart .cart_totals td{
  padding:12px 0 !important;
  border-bottom:1px solid rgba(42,24,16,.08) !important;
}
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td{
  border-bottom:0 !important;
  font-size:1.08rem;
}
.woocommerce-cart .wc-proceed-to-checkout{
  padding:0 !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  width:100% !important;
  min-height:52px;
  display:flex !important;
  align-items:center;
  justify-content:center;
  border-radius:999px !important;
  margin:0 !important;
  font-size:.95rem !important;
}

/* Checkout overall layout */
.woocommerce-checkout form.checkout{
  display:grid !important;
  grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr) !important;
  gap:30px !important;
  align-items:start !important;
}
.woocommerce-checkout form.checkout .col2-set{
  grid-column:1 !important;
  width:100% !important;
  margin:0 !important;
}
.woocommerce-checkout form.checkout #order_review_heading{
  grid-column:2 !important;
  margin:0 !important;
  padding:24px 26px 0 !important;
  background:var(--ks-cream) !important;
  border:1px solid rgba(42,24,16,.14) !important;
  border-bottom:0 !important;
  border-radius:16px 16px 0 0 !important;
  font-family:'Fraunces',serif !important;
  color:var(--ks-red-dark) !important;
  font-size:1.45rem !important;
}
.woocommerce-checkout form.checkout #order_review{
  grid-column:2 !important;
  width:100% !important;
  box-sizing:border-box !important;
  margin:0 !important;
  border-radius:0 0 16px 16px !important;
  box-shadow:0 12px 34px rgba(42,24,16,.10) !important;
}
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields{
  background:rgba(247,238,220,.72);
  border:1px solid rgba(42,24,16,.12);
  border-radius:16px;
  padding:24px 26px;
  margin-bottom:20px;
  box-shadow:0 8px 24px rgba(42,24,16,.06);
}
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3{
  font-size:1.25rem !important;
  margin:0 0 18px !important;
}
.woocommerce-checkout .form-row{
  margin-bottom:16px !important;
}
.woocommerce-checkout label{
  color:var(--ks-espresso) !important;
  font-size:.84rem !important;
  font-weight:600 !important;
  margin-bottom:7px !important;
}
.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-checkout .select2-container .select2-selection--single{
  min-height:46px !important;
  width:100% !important;
  box-sizing:border-box !important;
  border:1.5px solid rgba(42,24,16,.16) !important;
  background:#fffaf0 !important;
  color:var(--ks-espresso) !important;
  border-radius:10px !important;
  padding:11px 13px !important;
  box-shadow:none !important;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.woocommerce-checkout textarea.input-text{min-height:120px !important; resize:vertical;}
.woocommerce-checkout .input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout .select2-container--open .select2-selection--single{
  outline:none !important;
  border-color:var(--ks-turmeric) !important;
  box-shadow:0 0 0 3px rgba(217,142,43,.12) !important;
}
.woocommerce-checkout .woocommerce-form__label-for-checkbox{display:flex; align-items:center; gap:8px;}
.woocommerce-checkout .woocommerce-form__label-for-checkbox input{accent-color:var(--ks-red);}

/* Checkout order summary */
.woocommerce-checkout #order_review .shop_table{
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  margin:0 !important;
}
.woocommerce-checkout #order_review .shop_table th,
.woocommerce-checkout #order_review .shop_table td{
  padding:11px 0 !important;
  background:transparent !important;
  border-bottom:1px solid rgba(42,24,16,.08) !important;
}
.woocommerce-checkout #order_review .shop_table tfoot tr:last-child th,
.woocommerce-checkout #order_review .shop_table tfoot tr:last-child td{
  border-bottom:0 !important;
}
.woocommerce-checkout #order_review .product-name{font-weight:600;}
.woocommerce-checkout #order_review .product-total,
.woocommerce-checkout #order_review .order-total td{
  font-family:'Fraunces',serif;
  color:var(--ks-red-dark);
  font-weight:700;
}
.woocommerce-checkout #payment{
  margin-top:20px;
  padding:18px !important;
  border-radius:14px !important;
  border:1px solid rgba(42,24,16,.12) !important;
}
.woocommerce-checkout #payment .payment_methods{border-bottom:1px solid rgba(42,24,16,.10) !important;}
.woocommerce-checkout #payment .place-order{padding:18px 0 0 !important;}
.woocommerce-checkout #payment .button#place_order{
  width:100% !important;
  min-height:52px;
  border-radius:999px !important;
  font-size:.95rem !important;
}
.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout #payment .payment_box{
  color:#6d5a48;
  font-size:.78rem;
  line-height:1.55;
}

/* Notices / login / coupon */
.woocommerce-cart .woocommerce-message,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-error{
  border-radius:12px !important;
  border-left:4px solid var(--ks-turmeric) !important;
  box-shadow:0 5px 18px rgba(42,24,16,.06);
}
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-login-toggle{
  margin-bottom:18px;
}
.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout form.login{
  background:rgba(247,238,220,.72) !important;
  border:1px solid rgba(42,24,16,.12) !important;
  border-radius:14px !important;
  padding:20px !important;
}

/* Tablet */
@media (max-width:980px){
  .woocommerce-cart .site-main,
  .woocommerce-checkout .site-main{
    padding:34px 20px 55px !important;
  }
  .woocommerce-checkout form.checkout{
    grid-template-columns:minmax(0,1fr) !important;
    gap:20px !important;
  }
  .woocommerce-checkout form.checkout .col2-set,
  .woocommerce-checkout form.checkout #order_review_heading,
  .woocommerce-checkout form.checkout #order_review{
    grid-column:1 !important;
  }
  .woocommerce-checkout form.checkout #order_review_heading{
    border-bottom:0 !important;
    border-radius:16px 16px 0 0 !important;
  }
  .woocommerce-checkout form.checkout #order_review{
    border-radius:0 0 16px 16px !important;
  }
}

/* Phone — turn cart rows into clean cards instead of forcing horizontal scroll */
@media (max-width:700px){
  .woocommerce-cart .site-main,
  .woocommerce-checkout .site-main{
    padding:26px 14px 45px !important;
  }
  .woocommerce-cart .entry-title,
  .woocommerce-checkout .entry-title{
    font-size:2rem !important;
  }
  .woocommerce-cart-form table.shop_table.cart,
  .woocommerce-cart-form table.shop_table.cart tbody,
  .woocommerce-cart-form table.shop_table.cart tr,
  .woocommerce-cart-form table.shop_table.cart td{
    display:block !important;
    width:100% !important;
    box-sizing:border-box !important;
  }
  .woocommerce-cart-form table.shop_table.cart thead{display:none !important;}
  .woocommerce-cart-form table.shop_table.cart tbody tr.cart_item{
    position:relative;
    padding:16px !important;
    margin-bottom:12px;
    border:1px solid rgba(42,24,16,.12) !important;
    border-radius:14px !important;
    background:var(--ks-cream) !important;
    box-shadow:0 6px 18px rgba(42,24,16,.06);
  }
  .woocommerce-cart-form table.shop_table.cart td{
    border:0 !important;
    padding:7px 0 !important;
    text-align:left !important;
  }
  .woocommerce-cart-form table.shop_table.cart td::before{
    content:attr(data-title);
    display:inline-block;
    min-width:82px;
    margin-right:8px;
    color:#816b54;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    vertical-align:middle;
  }
  .woocommerce-cart-form table.shop_table.cart td.product-thumbnail::before,
  .woocommerce-cart-form table.shop_table.cart td.product-name::before{
    display:none;
  }
  .woocommerce-cart-form table.shop_table.cart td.product-thumbnail{
    display:inline-block !important;
    width:86px !important;
    vertical-align:middle;
    padding:0 8px 8px 0 !important;
  }
  .woocommerce-cart-form table.shop_table.cart td.product-name{
    display:inline-block !important;
    width:calc(100% - 92px) !important;
    vertical-align:middle;
    padding:0 28px 8px 0 !important;
  }
  .woocommerce-cart-form .product-thumbnail img{
    width:74px !important;
    height:74px !important;
  }
  .woocommerce-cart-form table.shop_table.cart td.product-remove{
    position:absolute !important;
    top:12px;
    right:12px;
    width:auto !important;
    padding:0 !important;
  }
  .woocommerce-cart-form table.shop_table.cart td.product-remove::before{display:none;}
  .woocommerce-cart-form .product-quantity .quantity{display:inline-flex;}
  .woocommerce-cart-form .product-quantity input.qty{width:70px !important;}
  .woocommerce-cart-form .actions{
    padding:14px !important;
    border-radius:14px !important;
  }
  .woocommerce-cart-form .actions .coupon{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
    width:100% !important;
  }
  .woocommerce-cart-form .actions .coupon .input-text,
  .woocommerce-cart-form .actions .coupon .button,
  .woocommerce-cart-form .actions > .button{
    width:100% !important;
    min-height:46px !important;
    box-sizing:border-box !important;
    margin:0 !important;
  }
  .woocommerce-cart .cart-collaterals .cart_totals{
    width:100% !important;
    padding:21px 18px !important;
  }
  .woocommerce-checkout .woocommerce-billing-fields,
  .woocommerce-checkout .woocommerce-shipping-fields,
  .woocommerce-checkout .woocommerce-additional-fields{
    padding:20px 16px;
    border-radius:14px;
  }
  .woocommerce-checkout form.checkout #order_review_heading{
    padding:20px 18px 0 !important;
  }
  .woocommerce-checkout form.checkout #order_review{
    padding:18px !important;
  }
  .woocommerce-checkout #payment{padding:14px !important;}
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last{
    width:100% !important;
    float:none !important;
  }
}

/* Added-to-cart link: keep the View Cart text and arrow white. */
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product .added_to_cart::before,
.woocommerce ul.products li.product .added_to_cart::after{
  color:#fff !important;
}

/* ==========================================================
   KITCHEN BAZAAR — PRODUCT DETAIL / PROFESSIONAL GALLERY
   One main image + thumbnails + one lightbox instance.
   ========================================================== */
body.single-product #primary.content-area{width:100%!important;max-width:1280px!important;margin:0 auto!important;padding:0 32px 80px!important;float:none!important;box-sizing:border-box!important}
body.single-product .site-main{width:100%!important;max-width:none!important;margin:0!important;padding:38px 0 20px!important;float:none!important}
body.single-product div.product{display:grid!important;grid-template-columns:minmax(0,560px) minmax(0,520px)!important;gap:42px!important;align-items:start!important;justify-content:center!important;width:100%!important;margin:0!important;padding:0!important;float:none!important}
body.single-product div.product::before,body.single-product div.product::after{display:none!important;content:none!important}

/* Gallery */
body.single-product .kb-product-gallery{grid-column:1;grid-row:1;width:100%;max-width:560px;margin:0;padding:0;position:relative;box-sizing:border-box}
body.single-product .kb-gallery-stage{position:relative;width:100%;aspect-ratio:1/1;background:#fffaf0;border:1px solid rgba(59,31,20,.10);border-radius:24px;overflow:hidden;display:flex;align-items:center;justify-content:center}
body.single-product .kb-gallery-main{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;padding:28px;box-sizing:border-box}
body.single-product .kb-gallery-main>img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;margin:0;padding:0;box-sizing:border-box;cursor:zoom-in}

/* Main gallery arrows — fully reset from WooCommerce/Storefront button styles. */
body.single-product .kb-gallery-arrow,
body.single-product .kb-gallery-arrow:hover,
body.single-product .kb-gallery-arrow:focus,
body.single-product .kb-gallery-arrow:active{
  position:absolute!important;
  top:50%!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(59,31,20,.16)!important;
  border-radius:50%!important;
  background:#fffaf0!important;
  color:#3b1f14!important;
  font-family:Arial,sans-serif!important;
  font-size:24px!important;
  font-weight:400!important;
  line-height:44px!important;
  text-align:center!important;
  text-indent:0!important;
  box-shadow:0 8px 22px rgba(59,31,20,.16)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
  z-index:10!important;
  transform:translateY(-50%)!important;
  opacity:1!important;
  visibility:visible!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  transition:background .2s ease,transform .2s ease,box-shadow .2s ease!important;
}
body.single-product .kb-gallery-arrow:hover,
body.single-product .kb-gallery-arrow:focus-visible{
  background:#fff!important;
  transform:translateY(-50%) scale(1.05)!important;
  box-shadow:0 10px 26px rgba(59,31,20,.20)!important;
  outline:none!important;
}
body.single-product .kb-gallery-prev{left:14px!important}
body.single-product .kb-gallery-next{right:14px!important}

body.single-product .kb-gallery-expand{position:absolute;right:16px;top:16px;width:42px;height:42px;border:1px solid rgba(59,31,20,.12);border-radius:50%;background:rgba(255,250,240,.96);color:#3b1f14;cursor:pointer;z-index:4;box-shadow:0 8px 22px rgba(59,31,20,.12);font-size:16px}
body.single-product .kb-gallery-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;width:100%;margin:14px 0 0;padding:0}
body.single-product .kb-gallery-thumb{width:100%;aspect-ratio:1/1;margin:0;padding:5px;border:2px solid transparent;border-radius:12px;background:#fffaf0;opacity:.62;cursor:pointer;display:flex;align-items:center;justify-content:center;box-sizing:border-box;transition:opacity .2s,border-color .2s,box-shadow .2s}
body.single-product .kb-gallery-thumb img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;margin:0;padding:0}
body.single-product .kb-gallery-thumb:hover,body.single-product .kb-gallery-thumb.is-active{opacity:1;border-color:#c58b35;box-shadow:0 6px 18px rgba(59,31,20,.12)}

/* Lightbox */
body.single-product .kb-gallery-lightbox{position:fixed!important;inset:0!important;z-index:999999!important;display:none;align-items:center;justify-content:center;padding:24px!important;box-sizing:border-box}
body.single-product .kb-gallery-lightbox.is-open{display:flex!important}
body.single-product .kb-lightbox-backdrop{position:absolute!important;inset:0!important;background:rgba(20,12,8,.90)!important;cursor:pointer!important}
body.single-product .kb-lightbox-dialog{position:relative!important;z-index:2!important;width:min(92vw,1100px)!important;height:min(90vh,900px)!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0!important;box-sizing:border-box!important}
body.single-product .kb-lightbox-image{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;border-radius:10px!important;margin:0!important;padding:0!important}

/* Lightbox close — stays inside viewport on desktop and mobile. */
body.single-product .kb-lightbox-close,
body.single-product .kb-lightbox-close:hover,
body.single-product .kb-lightbox-close:focus,
body.single-product .kb-lightbox-close:active{
  position:fixed!important;
  top:22px!important;
  right:22px!important;
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  min-height:48px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.35)!important;
  border-radius:50%!important;
  background:#fffaf0!important;
  color:#3b1f14!important;
  font-family:Arial,sans-serif!important;
  font-size:34px!important;
  font-weight:400!important;
  line-height:46px!important;
  text-align:center!important;
  text-indent:0!important;
  box-shadow:0 8px 25px rgba(0,0,0,.30)!important;
  cursor:pointer!important;
  z-index:1000001!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  opacity:1!important;
  visibility:visible!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  transform:none!important;
  transition:background .2s ease,transform .2s ease!important;
}
body.single-product .kb-lightbox-close:hover,
body.single-product .kb-lightbox-close:focus-visible{
  background:#fff!important;
  transform:scale(1.05)!important;
  outline:none!important;
}

/* Lightbox arrows — anchored to the viewport edges so they never disappear outside the dialog. */
body.single-product .kb-lightbox-arrow,
body.single-product .kb-lightbox-arrow:hover,
body.single-product .kb-lightbox-arrow:focus,
body.single-product .kb-lightbox-arrow:active{
  position:fixed!important;
  top:50%!important;
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  min-height:52px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.30)!important;
  border-radius:50%!important;
  background:#fffaf0!important;
  color:#3b1f14!important;
  font-family:Arial,sans-serif!important;
  font-size:28px!important;
  font-weight:400!important;
  line-height:52px!important;
  text-align:center!important;
  text-indent:0!important;
  box-shadow:0 8px 25px rgba(0,0,0,.30)!important;
  cursor:pointer!important;
  z-index:1000001!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  opacity:1!important;
  visibility:visible!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  transform:translateY(-50%)!important;
  transition:background .2s ease,transform .2s ease!important;
}
body.single-product .kb-lightbox-arrow:hover,
body.single-product .kb-lightbox-arrow:focus-visible{
  background:#fff!important;
  transform:translateY(-50%) scale(1.05)!important;
  outline:none!important;
}
body.single-product .kb-lightbox-prev{left:22px!important}
body.single-product .kb-lightbox-next{right:22px!important}

/* Product information */
body.single-product div.product .summary{grid-column:2;grid-row:1;width:100%;max-width:520px;margin:0;padding:18px 0 0;float:none;box-sizing:border-box}
body.single-product div.product .summary .product_title{font-size:clamp(2rem,3.1vw,3rem)!important;line-height:1.08!important;letter-spacing:-.02em!important;margin:0 0 12px!important}
body.single-product div.product .summary .price{font-size:1.55rem!important;margin-bottom:20px!important}
body.single-product div.product .summary form.cart{width:100%!important;margin-top:22px!important}

/* Expand / fullscreen icon */
body.single-product .kb-gallery-expand,
body.single-product .kb-gallery-expand:hover,
body.single-product .kb-gallery-expand:focus,
body.single-product .kb-gallery-expand:active{
  position:absolute!important;
  top:16px!important;
  right:16px!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(59,31,20,.14)!important;
  border-radius:50%!important;
  background:rgba(255,250,240,.97)!important;
  color:#3b1f14!important;
  box-shadow:0 8px 22px rgba(59,31,20,.14)!important;
  cursor:pointer!important;
  z-index:20!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  opacity:1!important;
  visibility:visible!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  transform:none!important;
  transition:background .2s ease,transform .2s ease,box-shadow .2s ease!important;
}
body.single-product .kb-gallery-expand svg{
  width:21px!important;
  height:21px!important;
  display:block!important;
}
body.single-product .kb-gallery-expand:hover,
body.single-product .kb-gallery-expand:focus-visible{
  background:#fff!important;
  transform:scale(1.06)!important;
  box-shadow:0 10px 26px rgba(59,31,20,.20)!important;
  outline:none!important;
}

/* Product information */
body.single-product div.product .summary{grid-column:2;grid-row:1;width:100%;max-width:520px;margin:0;padding:18px 0 0;float:none;box-sizing:border-box}
body.single-product div.product .summary .product_title{font-size:clamp(2rem,3.1vw,3rem)!important;line-height:1.08!important;letter-spacing:-.02em!important;margin:0 0 12px!important}
body.single-product div.product .summary .price{font-size:1.55rem!important;margin-bottom:20px!important}
body.single-product div.product .summary form.cart{width:100%!important;margin-top:22px!important}

/* Product tabs — restore the clean pill + content card design. */
body.single-product .woocommerce-tabs{
  grid-column:1 / -1!important;
  grid-row:2!important;
  width:100%!important;
  max-width:none!important;
  margin:70px 0 0!important;
  padding:0!important;
  border-top:1px solid rgba(55,31,19,.10)!important;
  clear:both!important;
  float:none!important;
}
body.single-product .woocommerce-tabs ul.tabs{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin:0 0 22px!important;
  padding:22px 0 0!important;
  border:0!important;
}
body.single-product .woocommerce-tabs ul.tabs::before,
body.single-product .woocommerce-tabs ul.tabs::after{display:none!important;content:none!important}
body.single-product .woocommerce-tabs ul.tabs li{
  display:block!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(55,31,19,.10)!important;
  border-radius:999px!important;
  background:#f8efdf!important;
}
body.single-product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce-tabs ul.tabs li::after{display:none!important;content:none!important}
body.single-product .woocommerce-tabs ul.tabs li a{
  display:block!important;
  margin:0!important;
  padding:9px 18px!important;
  border:0!important;
  color:#654f3c!important;
  font-size:.82rem!important;
  font-weight:600!important;
  line-height:1.3!important;
  text-decoration:none!important;
}
body.single-product .woocommerce-tabs ul.tabs li.active{
  background:var(--ks-red)!important;
  border-color:var(--ks-red)!important;
}
body.single-product .woocommerce-tabs ul.tabs li.active a{color:#fff!important}
body.single-product .woocommerce-tabs .panel{
  display:none!important;
  width:100%!important;
  margin:0!important;
  padding:26px 28px!important;
  border:1px solid rgba(55,31,19,.10)!important;
  border-radius:18px!important;
  background:#fffdf8!important;
  color:#5f4d3d!important;
  line-height:1.8!important;
  box-sizing:border-box!important;
}
body.single-product .woocommerce-tabs .panel.active,
body.single-product .woocommerce-tabs .panel.is-active{
  display:block!important;
}
body.single-product .woocommerce-tabs .panel h2{
  font-family:'Fraunces',serif!important;
  color:var(--ks-red-dark)!important;
  font-size:1.45rem!important;
  line-height:1.25!important;
  margin:0 0 12px!important;
}
body.single-product .woocommerce-tabs .panel p:last-child{margin-bottom:0!important}
body.single-product .woocommerce-tabs #tab-reviews #comments{margin:0!important}
body.single-product .woocommerce-tabs #tab-reviews #comments h2{margin-bottom:18px!important}
body.single-product .woocommerce-tabs #review_form_wrapper{margin-top:28px!important}

/* Related products — match the earlier product-card design. */
body.single-product section.related.products,
body.single-product section.upsells.products{
  grid-column:1 / -1!important;
  grid-row:auto!important;
  width:100%!important;
  max-width:none!important;
  margin:38px 0 0!important;
  padding:30px 0 0!important;
  border-top:1px solid rgba(55,31,19,.10)!important;
  clear:both!important;
  float:none!important;
  box-sizing:border-box!important;
}
body.single-product section.related.products > h2,
body.single-product section.upsells.products > h2{
  font-family:'Fraunces',serif!important;
  color:var(--ks-red-dark)!important;
  font-size:2rem!important;
  line-height:1.2!important;
  margin:0 0 24px!important;
  text-align:left!important;
}
body.single-product section.related.products ul.products,
body.single-product section.upsells.products ul.products{
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
body.single-product section.related.products ul.products::before,
body.single-product section.related.products ul.products::after,
body.single-product section.upsells.products ul.products::before,
body.single-product section.upsells.products ul.products::after{display:none!important}
body.single-product .related.products li.product,
body.single-product .upsells.products li.product{
  background:#fffdf8!important;
  border:1px solid rgba(55,31,19,.09)!important;
  border-radius:16px!important;
  padding:12px 12px 16px!important;
  box-shadow:0 6px 18px rgba(55,31,19,.05)!important;
  box-sizing:border-box!important;
}
body.single-product .related.products li.product img,
body.single-product .upsells.products li.product img{border-radius:12px!important}

body.single-product .edit-link,body.single-product .post-edit-link,body.single-product .edit-post-link,body.single-product a[href*="post.php?post="][href*="action=edit"]{display:none!important}

@media(max-width:1000px){
 body.single-product #primary.content-area{padding:0 22px 65px!important}
 body.single-product div.product{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:28px!important}
}
@media(max-width:700px){
 body.single-product #primary.content-area{padding:0 14px 48px!important}
 body.single-product .site-main{padding:22px 0 10px!important}
 body.single-product div.product{display:block!important}
 body.single-product .kb-product-gallery,body.single-product div.product .summary{width:100%!important;max-width:none!important}
 body.single-product .kb-product-gallery{margin:0 0 26px!important}
 body.single-product .kb-gallery-main{padding:18px}
 body.single-product .kb-gallery-expand{top:12px!important;right:12px!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important}
 body.single-product .kb-gallery-expand svg{width:19px!important;height:19px!important}
 body.single-product .kb-gallery-thumbs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
 body.single-product .kb-gallery-arrow{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;line-height:38px!important;font-size:21px!important}
 body.single-product .kb-gallery-prev{left:9px!important}
 body.single-product .kb-gallery-next{right:9px!important}
 body.single-product .kb-lightbox-dialog{width:100%!important;height:78vh!important}
 body.single-product .kb-lightbox-prev{left:10px!important}
 body.single-product .kb-lightbox-next{right:10px!important}
 body.single-product .kb-lightbox-arrow{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;line-height:42px!important;font-size:23px!important}
 body.single-product .kb-lightbox-close{top:14px!important;right:14px!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;font-size:31px!important;line-height:42px!important}
 body.single-product div.product .summary{padding:0!important}
 body.single-product .woocommerce-tabs{margin-top:46px!important}
 body.single-product .woocommerce-tabs ul.tabs{padding-top:18px!important;gap:6px!important}
 body.single-product .woocommerce-tabs ul.tabs li a{padding:8px 13px!important;font-size:.76rem!important}
 body.single-product .woocommerce-tabs .panel{padding:20px 16px!important;border-radius:14px!important;font-size:.88rem!important}
 body.single-product section.related.products,body.single-product section.upsells.products{margin-top:28px!important;padding-top:22px!important}
 body.single-product section.related.products > h2,body.single-product section.upsells.products > h2{font-size:1.65rem!important}
 body.single-product section.related.products ul.products,body.single-product section.upsells.products ul.products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 body.single-product section.related.products li.product,body.single-product section.upsells.products li.product{width:100%!important;margin:0!important}
}


/* Final product-page / footer fixes */
body.single-product div.product .summary{width:66.521739%!important;max-width:none!important;}
body.single-product .woocommerce-product-gallery{display:none!important;}
body.single-product .kb-product-gallery{display:block!important;}

/* Quantity control */
body.single-product form.cart .quantity{display:inline-flex!important;align-items:stretch!important;height:48px!important;margin:0 12px 0 0!important;border:1px solid rgba(42,24,16,.18)!important;border-radius:10px!important;overflow:hidden!important;background:var(--ks-cream-2)!important;vertical-align:middle!important;}
body.single-product form.cart .quantity input.qty{width:58px!important;height:46px!important;margin:0!important;padding:0 4px!important;border:0!important;border-left:1px solid rgba(42,24,16,.12)!important;border-right:1px solid rgba(42,24,16,.12)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font-size:16px!important;font-weight:600!important;}
body.single-product form.cart .quantity .kb-qty-btn{width:42px!important;height:46px!important;min-width:42px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--ks-espresso)!important;font-size:22px!important;line-height:46px!important;text-align:center!important;cursor:pointer!important;box-shadow:none!important;appearance:none!important;}
body.single-product form.cart .quantity .kb-qty-btn:hover{background:rgba(140,42,23,.08)!important;color:var(--ks-red)!important;}

/* Footer: no chilli/extra pseudo mark, and match header logo dimensions. */
.ks-footer-logo::before{display:none!important;content:none!important;width:0!important;height:0!important;}
.ks-footer-logo{gap:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;}
.ks-footer-logo img{display:block!important;width:330px!important;height:72px!important;max-width:100%!important;object-fit:contain!important;}
.ks-footer-col ul a,.ks-footer-col p,.ks-footer-col p a,.ks-footer-contact-icon,.ks-footer-legal a{color:#fff!important;}
.ks-footer-col ul a:hover,.ks-footer-legal a:hover{color:var(--ks-turmeric)!important;}

/* Related products: remove the native empty gallery gap and keep section close to tabs. */
body.single-product .woocommerce-tabs + section.related.products,
body.single-product .woocommerce-tabs + section.upsells.products,
body.single-product section.related.products,
body.single-product section.upsells.products{margin-top:18px!important;padding-top:18px!important;}
body.single-product .woocommerce-tabs{margin-bottom:0!important;}
body.single-product .woocommerce-tabs + .related.products{clear:both!important;}

@media(max-width:700px){
 body.single-product div.product .summary{width:100%!important;}
 body.single-product form.cart .quantity{height:46px!important;margin-right:8px!important;}
 body.single-product form.cart .quantity input.qty{width:52px!important;height:44px!important;}
 body.single-product form.cart .quantity .kb-qty-btn{width:38px!important;min-width:38px!important;height:44px!important;line-height:44px!important;}
 body.single-product .woocommerce-tabs + section.related.products,body.single-product section.related.products,body.single-product section.upsells.products{margin-top:12px!important;padding-top:14px!important;}
 body.single-product .ks-footer-logo img{width:330px!important;height:72px!important;}
}



/* ==========================================================
   SHOP PAGINATION — premium bottom control
   ========================================================== */
.ks-shop-main .kb-shop-pagination{
  clear:both !important;
  width:100% !important;
  margin:28px 0 6px !important;
  padding:16px 18px !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
  background:#F7EEDC !important;
  border:1px solid rgba(88,48,28,.12) !important;
  border-radius:16px !important;
}
.ks-shop-main .kb-shop-pagination-meta{
  display:flex !important;
  flex-direction:column !important;
  gap:3px !important;
  min-width:125px !important;
  color:#806b58 !important;
  font-family:'Work Sans',sans-serif !important;
  font-size:.72rem !important;
  line-height:1.2 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
}
.ks-shop-main .kb-shop-pagination-meta strong{
  color:var(--ks-red-dark) !important;
  font-size:.84rem !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}
.ks-shop-main .kb-shop-pagination-nav{
  margin:0 !important;
  padding:0 !important;
}
.ks-shop-main .kb-shop-pagination-nav ul{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:7px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  border:0 !important;
}
.ks-shop-main .kb-shop-pagination-nav li{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  list-style:none !important;
}
.ks-shop-main .kb-shop-pagination-nav a,
.ks-shop-main .kb-shop-pagination-nav span.page-numbers{
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid rgba(88,48,28,.15) !important;
  border-radius:11px !important;
  background:#FFF9EE !important;
  color:var(--ks-espresso) !important;
  font-family:'Work Sans',sans-serif !important;
  font-size:.84rem !important;
  font-weight:600 !important;
  line-height:1 !important;
  text-decoration:none !important;
  box-shadow:0 2px 8px rgba(42,24,16,.04) !important;
  transition:transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease !important;
}
.ks-shop-main .kb-shop-pagination-nav a:hover,
.ks-shop-main .kb-shop-pagination-nav a:focus-visible{
  background:#fff !important;
  color:var(--ks-red) !important;
  border-color:var(--ks-red) !important;
  transform:translateY(-2px) !important;
  box-shadow:0 7px 15px rgba(42,24,16,.09) !important;
}
.ks-shop-main .kb-shop-pagination-nav span.current{
  background:var(--ks-red) !important;
  color:#fff !important;
  border-color:var(--ks-red) !important;
  box-shadow:0 6px 14px rgba(140,42,23,.18) !important;
}
.ks-shop-main .kb-shop-pagination-nav a.prev,
.ks-shop-main .kb-shop-pagination-nav a.next{
  width:46px !important;
  min-width:46px !important;
  border-radius:999px !important;
  font-size:1rem !important;
}

/* The pagination is intentionally only below the product grid. */
.ks-shop-main > .woocommerce-pagination,
.ks-shop-main .storefront-sorting .woocommerce-pagination{
  display:none !important;
}

@media (max-width:700px){
  .ks-shop-main .kb-shop-pagination{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:12px !important;
    padding:14px !important;
  }
  .ks-shop-main .kb-shop-pagination-meta{
    text-align:center !important;
    align-items:center !important;
  }
  .ks-shop-main .kb-shop-pagination-nav ul{
    justify-content:center !important;
  }
}

/* ==========================================================
   SHOP PAGINATION — clean, separated and aligned with toolbar
   ========================================================== */
.ks-shop-main .storefront-sorting,
.ks-shop-main .woocommerce-result-count,
.ks-shop-main .woocommerce-ordering{
  box-sizing:border-box;
}

.ks-shop-main .storefront-sorting{
  width:100% !important;
  display:flow-root !important;
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

.ks-shop-main .woocommerce nav.woocommerce-pagination{
  width:100% !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  clear:both !important;
  margin:34px 0 8px !important;
  padding:4px 0 0 !important;
}

.ks-shop-main .woocommerce nav.woocommerce-pagination ul{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  border:0 !important;
  box-shadow:none !important;
}

.ks-shop-main .woocommerce nav.woocommerce-pagination ul li{
  display:block !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}

.ks-shop-main .woocommerce nav.woocommerce-pagination ul li a,
.ks-shop-main .woocommerce nav.woocommerce-pagination ul li span{
  box-sizing:border-box !important;
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid rgba(42,24,16,.16) !important;
  border-radius:10px !important;
  background:var(--ks-cream) !important;
  color:var(--ks-espresso) !important;
  font-family:'Work Sans',sans-serif !important;
  font-size:14px !important;
  font-weight:600 !important;
  line-height:1 !important;
  text-decoration:none !important;
  box-shadow:0 2px 8px rgba(42,24,16,.05) !important;
  transition:all .2s ease !important;
}

.ks-shop-main .woocommerce nav.woocommerce-pagination ul li a:hover,
.ks-shop-main .woocommerce nav.woocommerce-pagination ul li a:focus{
  background:#fffdf8 !important;
  color:var(--ks-red) !important;
  border-color:var(--ks-red) !important;
  transform:translateY(-1px);
  box-shadow:0 5px 12px rgba(42,24,16,.09) !important;
}

.ks-shop-main .woocommerce nav.woocommerce-pagination ul li span.current{
  background:var(--ks-red) !important;
  color:#fff !important;
  border-color:var(--ks-red) !important;
  box-shadow:0 5px 12px rgba(140,42,23,.18) !important;
}

/* Previous / next buttons get a little more breathing room. */
.ks-shop-main .woocommerce nav.woocommerce-pagination ul li a.prev,
.ks-shop-main .woocommerce nav.woocommerce-pagination ul li a.next{
  width:auto !important;
  min-width:40px !important;
  padding:0 13px !important;
  border-radius:10px !important;
}

/* Footer copyright */
.ks-footer-bottom,
.ks-footer-bottom > span:first-child{
  color:#fff !important;
}
.ks-footer-bottom a,
.ks-footer-bottom .ks-footer-legal a{
  color:#fff !important;
}
.ks-footer-bottom a:hover,
.ks-footer-bottom .ks-footer-legal a:hover{
  color:var(--ks-turmeric) !important;
}

@media (max-width:560px){
  .ks-shop-main .woocommerce nav.woocommerce-pagination{
    margin-top:26px !important;
    padding-top:2px !important;
  }
  .ks-shop-main .woocommerce nav.woocommerce-pagination ul{
    gap:6px !important;
  }
  .ks-shop-main .woocommerce nav.woocommerce-pagination ul li a,
  .ks-shop-main .woocommerce nav.woocommerce-pagination ul li span{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    border-radius:9px !important;
    font-size:13px !important;
  }
  .ks-shop-main .woocommerce nav.woocommerce-pagination ul li a.prev,
  .ks-shop-main .woocommerce nav.woocommerce-pagination ul li a.next{
    padding:0 10px !important;
  }
}
.ks-about-page{
  background:#f8efdf;
  color:#3b1f14;
  overflow:hidden;
}
.ks-about-hero{
  padding:58px 32px 72px;
  background:
    radial-gradient(circle at 85% 15%, rgba(184,90,43,.10), transparent 28%),
    linear-gradient(135deg,#fbf5e9 0%,#f2e1c8 100%);
}
.ks-about-hero-inner{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);
  gap:72px;
  align-items:center;
}
.ks-about-hero-copy{padding:20px 0 20px 12px;}
.ks-about-eyebrow,
.ks-about-kicker{
  display:inline-block;
  color:#7a2b1b;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.16em;
  line-height:1.3;
  text-transform:uppercase;
}
.ks-about-hero h1{
  margin:13px 0 18px;
  color:#6f2114;
  font-family:'Fraunces',serif;
  font-size:clamp(3.4rem,6.7vw,6.3rem);
  font-weight:600;
  letter-spacing:-.055em;
  line-height:.94;
  max-width:680px;
}
.ks-about-hero-copy p{
  max-width:540px;
  margin:0;
  color:#684d3b;
  font-size:1.05rem;
  line-height:1.8;
}
.ks-about-hero-link{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-top:30px;
  color:#6f2114 !important;
  font-size:.84rem;
  font-weight:700;
  letter-spacing:.03em;
  text-decoration:none;
  border-bottom:1px solid rgba(111,33,20,.28);
  padding-bottom:7px;
}
.ks-about-hero-link span{font-size:1rem;transition:transform .2s ease;}
.ks-about-hero-link:hover span{transform:translateY(3px);}
.ks-about-hero-art{
  min-height:520px;
  border-radius:30px;
  position:relative;
  overflow:hidden;
  background:linear-gradient(145deg,#8b321f,#c66b31 55%,#d9a64f);
  box-shadow:0 26px 60px rgba(58,31,20,.16);
  transform:rotate(1.2deg);
}
.ks-about-hero-art.has-image img{
  display:block;
  width:100%;
  height:100%;
  min-height:520px;
  object-fit:cover;
}
.ks-about-hero-art::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(59,31,20,.03),rgba(59,31,20,.24));
  pointer-events:none;
}
.ks-about-art-placeholder{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#fff4e3;
  font-family:'Fraunces',serif;
  text-align:center;
  background:
    radial-gradient(circle at 50% 42%,rgba(255,255,255,.13),transparent 30%),
    repeating-linear-gradient(45deg,rgba(255,255,255,.035) 0 2px,transparent 2px 12px);
}
.ks-about-art-placeholder span{font-size:1.35rem;letter-spacing:.04em;}
.ks-about-art-placeholder strong{font-size:5rem;line-height:.9;font-weight:600;letter-spacing:-.05em;}
.ks-about-art-placeholder i{display:block;width:70px;height:2px;margin-top:20px;background:#e7a35a;}
.ks-about-art-stamp{
  position:absolute;
  z-index:2;
  left:24px;
  bottom:24px;
  width:82px;
  height:82px;
  border:1px solid rgba(255,255,255,.58);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#fff;
  font-size:.64rem;
  font-weight:700;
  letter-spacing:.08em;
  line-height:1.35;
  text-transform:uppercase;
  background:rgba(59,31,20,.18);
  backdrop-filter:blur(5px);
}

.ks-about-story{
  max-width:1180px;
  margin:0 auto;
  padding:105px 32px 92px;
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:42px;
}
.ks-about-story-label{padding-top:8px;}
.ks-about-story-label span{
  display:block;
  color:#a27d61;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.12em;
}
.ks-about-story-label p{
  margin:8px 0 0;
  color:#7a2b1b;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
}
.ks-about-story-content{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:65px;
  align-items:start;
}
.ks-about-story-heading h2,
.ks-about-section-head h2,
.ks-about-cta h2{
  margin:12px 0 0;
  color:#6f2114;
  font-family:'Fraunces',serif;
  font-size:clamp(2.2rem,4vw,4rem);
  font-weight:600;
  letter-spacing:-.045em;
  line-height:1.02;
}
.ks-about-story-text p{
  margin:0;
  color:#604735;
  font-size:1rem;
  line-height:1.9;
  white-space:normal;
}
.ks-about-story-text blockquote{
  margin:32px 0 0;
  padding:20px 0 0 20px;
  border-left:2px solid #c66b31;
  color:#7a2b1b;
  font-family:'Fraunces',serif;
  font-size:1.25rem;
  line-height:1.45;
}

.ks-about-stats{
  max-width:1180px;
  margin:0 auto;
  padding:0 32px 105px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
}
.ks-about-stat{
  padding:30px 34px;
  border-top:1px solid rgba(59,31,20,.18);
  border-bottom:1px solid rgba(59,31,20,.18);
}
.ks-about-stat + .ks-about-stat{border-left:1px solid rgba(59,31,20,.18);}
.ks-about-stat strong{
  display:block;
  color:#7a2b1b;
  font-family:'Fraunces',serif;
  font-size:clamp(2rem,4vw,3.4rem);
  line-height:1;
  font-weight:600;
}
.ks-about-stat span{
  display:block;
  margin-top:9px;
  color:#765b48;
  font-size:.82rem;
  line-height:1.5;
}

.ks-about-values{
  padding:105px 32px 110px;
  background:#3b1f14;
  color:#f8efdf;
}
.ks-about-section-head{
  max-width:1180px;
  margin:0 auto 48px;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:80px;
  align-items:end;
}
.ks-about-values .ks-about-kicker{color:#d9a64f;}
.ks-about-section-head h2{color:#f8efdf;}
.ks-about-section-head > p{
  max-width:490px;
  margin:0 0 3px;
  color:#dbc9b2;
  font-size:.95rem;
  line-height:1.8;
}
.ks-about-value-grid{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.ks-about-value-card{
  min-height:300px;
  padding:28px 28px 25px;
  border:1px solid rgba(248,239,223,.15);
  background:rgba(248,239,223,.045);
  border-radius:18px;
  display:flex;
  flex-direction:column;
  transition:transform .25s ease,background .25s ease,border-color .25s ease;
}
.ks-about-value-card:hover{
  transform:translateY(-7px);
  background:rgba(248,239,223,.075);
  border-color:rgba(217,166,79,.45);
}
.ks-about-value-top{display:flex;justify-content:space-between;align-items:center;}
.ks-about-value-number{color:#ad9275;font-size:.7rem;font-weight:700;letter-spacing:.12em;}
.ks-about-value-icon{
  width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:#3b1f14;background:#d9a64f;font-weight:800;
}
.ks-about-value-card h3{
  margin:62px 0 10px;
  color:#fff7e9;
  font-family:'Fraunces',serif;
  font-size:1.55rem;
  font-weight:600;
}
.ks-about-value-card p{margin:0;color:#cdbba4;font-size:.88rem;line-height:1.75;max-width:34ch;}
.ks-about-value-line{display:block;width:42px;height:2px;background:#c66b31;margin-top:auto;padding-top:0;}

.ks-about-cta{
  max-width:1180px;
  margin:0 auto;
  padding:105px 32px 115px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:45px;
}
.ks-about-cta-copy{max-width:700px;}
.ks-about-cta h2{font-size:clamp(2.3rem,4.4vw,4.2rem);}
.ks-about-cta p{margin:18px 0 0;color:#765b48;font-size:.96rem;line-height:1.7;max-width:550px;}
.ks-about-cta-button{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:13px;
  padding:16px 24px;
  border-radius:999px;
  background:#7a2b1b;
  color:#fff !important;
  text-decoration:none !important;
  font-size:.84rem;
  font-weight:700;
  box-shadow:0 12px 28px rgba(59,31,20,.15);
  transition:transform .2s ease,background .2s ease;
}
.ks-about-cta-button:hover{background:#5f2014;color:#fff !important;transform:translateY(-2px);}
.ks-about-cta-button span{font-size:1.05rem;transition:transform .2s ease;}
.ks-about-cta-button:hover span{transform:translateX(4px);}

@media (max-width:900px){
  .ks-about-hero{padding:40px 20px 58px;}
  .ks-about-hero-inner{grid-template-columns:1fr;gap:38px;}
  .ks-about-hero-copy{padding:0;}
  .ks-about-hero-art{min-height:420px;transform:none;}
  .ks-about-hero-art.has-image img{min-height:420px;}
  .ks-about-story{padding:75px 20px;grid-template-columns:1fr;gap:22px;}
  .ks-about-story-label p{writing-mode:initial;transform:none;}
  .ks-about-story-content{grid-template-columns:1fr;gap:30px;}
  .ks-about-stats{padding:0 20px 75px;}
  .ks-about-section-head{grid-template-columns:1fr;gap:24px;}
  .ks-about-values{padding:75px 20px 80px;}
  .ks-about-value-grid{grid-template-columns:1fr;}
  .ks-about-value-card{min-height:245px;}
  .ks-about-cta{padding:75px 20px 85px;flex-direction:column;align-items:flex-start;}
}
@media (max-width:560px){
  .ks-about-hero h1{font-size:3.25rem;}
  .ks-about-hero-copy p{font-size:.95rem;}
  .ks-about-hero-art{min-height:340px;border-radius:22px;}
  .ks-about-hero-art.has-image img{min-height:340px;}
  .ks-about-art-placeholder strong{font-size:3.8rem;}
  .ks-about-story{padding-top:58px;}
  .ks-about-story-heading h2,.ks-about-section-head h2{font-size:2.35rem;}
  .ks-about-stats{grid-template-columns:1fr;padding-bottom:60px;}
  .ks-about-stat{padding:23px 0;}
  .ks-about-stat + .ks-about-stat{border-left:0;}
  .ks-about-value-card h3{margin-top:48px;}
  .ks-about-cta h2{font-size:2.45rem;}
  .ks-about-cta-button{width:100%;justify-content:center;}
}

.ks-contact-page{background:var(--ks-cream,#f7eddc);color:var(--ks-espresso,#3b1f14);}
.ks-contact-hero{
  padding:72px 24px 64px;
  background:linear-gradient(135deg,#f7eddc 0%,#f1dfc5 100%);
  border-bottom:1px solid rgba(55,31,19,.10);
  text-align:center;
}
.ks-contact-hero-inner{max-width:820px;margin:0 auto;}
.ks-contact-kicker,.ks-contact-mini-title{
  display:block;
  color:var(--ks-red,#8f2d1b);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.ks-contact-hero h1{
  margin:10px 0 12px;
  font-family:var(--ks-heading-font,"Fraunces",serif);
  font-size:clamp(2.7rem,6vw,4.8rem);
  line-height:1;
  color:var(--ks-red,#8f2d1b);
}
.ks-contact-hero p{max-width:620px;margin:0 auto;color:#6b5140;font-size:1rem;line-height:1.7;}
.ks-contact-section{padding:58px 24px 80px;}
.ks-contact-grid{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:stretch;}
.ks-contact-info,.ks-contact-form-card{
  border:1px solid rgba(55,31,19,.10);
  border-radius:22px;
  box-shadow:0 12px 35px rgba(55,31,19,.06);
}
.ks-contact-info{background:#fffaf1;padding:34px;display:flex;flex-direction:column;}
.ks-contact-form-card{background:#fff;padding:34px;}
.ks-contact-card-head{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.ks-contact-dot{width:42px;height:42px;border-radius:50%;background:var(--ks-red,#8f2d1b);color:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 42px;}
.ks-contact-info h2,.ks-contact-form-card h2{margin:5px 0 0;color:var(--ks-red,#8f2d1b);font-family:var(--ks-heading-font,"Fraunces",serif);font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.08;}
.ks-contact-intro{margin:0 0 24px;color:#6b5140;line-height:1.7;font-size:.94rem;}
.ks-contact-details{display:flex;flex-direction:column;gap:10px;}
.ks-contact-detail{display:flex;align-items:center;gap:13px;padding:14px;border-radius:14px;background:#f7eddc;color:inherit;text-decoration:none;transition:transform .2s ease,background .2s ease;}
a.ks-contact-detail:hover{transform:translateX(3px);background:#f2e2cb;color:inherit;}
.ks-contact-icon{width:38px;height:38px;border-radius:11px;background:#fff;color:var(--ks-red,#8f2d1b);display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800;flex:0 0 38px;}
.ks-contact-detail small{display:block;color:#947a66;font-size:.62rem;font-weight:700;letter-spacing:.12em;margin-bottom:2px;}
.ks-contact-detail strong{display:block;color:#3b1f14;font-size:.9rem;font-weight:600;}
.ks-contact-note{margin-top:auto;padding-top:25px;color:#806b58;font-size:.82rem;line-height:1.6;}
.ks-contact-form-head{margin-bottom:24px;}
.ks-contact-form{display:flex;flex-direction:column;gap:16px;}
.ks-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.ks-form-field label{display:block;margin:0 0 7px;color:#3b1f14;font-size:.78rem;font-weight:700;}
.ks-form-field label span{font-weight:400;color:#947a66;}
.ks-form-field input,.ks-form-field textarea{
  width:100%;box-sizing:border-box;border:1px solid #e2d4c2;border-radius:11px;background:#fffaf3;color:#3b1f14;padding:13px 14px;font:inherit;font-size:.9rem;outline:none;transition:border-color .2s,box-shadow .2s;
}
.ks-form-field textarea{min-height:135px;resize:vertical;}
.ks-form-field input:focus,.ks-form-field textarea:focus{border-color:var(--ks-red,#8f2d1b);box-shadow:0 0 0 3px rgba(143,45,27,.08);}
.ks-contact-submit{border:0;border-radius:999px;background:var(--ks-red,#8f2d1b);color:#fff;padding:14px 22px;font-weight:700;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:transform .2s ease,background .2s ease;}
.ks-contact-submit span{font-size:1.1rem;line-height:1;}
.ks-contact-submit:hover{background:#742416;color:#fff;transform:translateY(-1px);}
.ks-contact-alert{padding:12px 14px;border-radius:11px;margin-bottom:18px;font-size:.85rem;}
.ks-contact-success{background:#e5f5e9;border:1px solid #a8d7b3;color:#1c6b31;}
.ks-contact-error{background:#fff0ee;border:1px solid #e7b5ad;color:#8f2d1b;}
.ks-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;}

@media (max-width:800px){
  .ks-contact-hero{padding:52px 18px 46px;}
  .ks-contact-section{padding:38px 16px 55px;}
  .ks-contact-grid{grid-template-columns:1fr;gap:18px;}
  .ks-contact-info,.ks-contact-form-card{padding:24px;border-radius:18px;}
}
@media (max-width:520px){
  .ks-form-row{grid-template-columns:1fr;gap:16px;}
  .ks-contact-hero h1{font-size:2.55rem;}
  .ks-contact-info h2,.ks-contact-form-card h2{font-size:1.85rem;}
}

/* ============================================================
   LEGAL PAGES — Privacy Policy / Terms & Conditions
   ============================================================ */
.ks-legal-page{background:var(--ks-cream);color:var(--ks-espresso);}
.ks-legal-hero{padding:68px 24px 58px;text-align:center;background:linear-gradient(135deg,#f7eddc 0%,#f1dfc5 100%);border-bottom:1px solid rgba(55,31,19,.10);}
.ks-legal-hero-inner{max-width:860px;margin:0 auto;}
.ks-legal-kicker{display:block;color:var(--ks-red);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;}
.ks-legal-hero h1{margin:10px 0 14px;color:var(--ks-red-dark);font-family:'Fraunces',serif;font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.04;}
.ks-legal-hero p{max-width:700px;margin:0 auto;color:#6b5140;font-size:1rem;line-height:1.75;}
.ks-legal-updated{display:inline-block;margin-top:16px;color:#806b58;font-size:.78rem;}
.ks-legal-content-wrap{max-width:900px;margin:0 auto;padding:56px 24px 80px;}
.ks-legal-content{background:#fffaf1;border:1px solid rgba(55,31,19,.10);border-radius:20px;padding:42px 46px;box-shadow:0 12px 35px rgba(55,31,19,.06);}
.ks-legal-content h2{margin:30px 0 10px;color:var(--ks-red);font-family:'Fraunces',serif;font-size:1.55rem;line-height:1.2;}
.ks-legal-content h2:first-child{margin-top:0;}
.ks-legal-content h3{margin:24px 0 8px;color:var(--ks-red-dark);font-size:1.08rem;}
.ks-legal-content p,.ks-legal-content li{color:#5f493a;font-size:.95rem;line-height:1.8;}
.ks-legal-content ul,.ks-legal-content ol{margin:0 0 18px 22px;}
.ks-legal-content a{color:var(--ks-red);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.ks-legal-contact{margin-top:18px;padding:18px 20px;border-radius:14px;background:var(--ks-cream-2);display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--ks-espresso);font-size:.9rem;}
.ks-legal-contact a{color:var(--ks-red);font-weight:700;text-decoration:none;white-space:nowrap;}
@media(max-width:650px){
  .ks-legal-hero{padding:48px 18px 42px;}
  .ks-legal-content-wrap{padding:34px 16px 55px;}
  .ks-legal-content{padding:28px 22px;border-radius:16px;}
  .ks-legal-contact{align-items:flex-start;flex-direction:column;}
}

/* Only hide the WordPress post-edit-link element. */
.post-edit-link{display:none!important;}


/* ==========================================================
   FINAL SHOP + FOOTER SPACING FIX
   Only affects the custom Shop pagination area and our own
   footer newsletter card. No other page sections are changed.
   ========================================================== */
/* The duplicate result count/sorting that WooCommerce/Storefront
   may print AFTER our custom pagination must stay hidden; the
   original toolbar before the products remains untouched. */
.ks-shop-main .kb-shop-pagination ~ .woocommerce-result-count,
.ks-shop-main .kb-shop-pagination ~ .woocommerce-ordering,
.ks-shop-main .kb-shop-pagination ~ .storefront-sorting,
.ks-shop-main .kb-shop-pagination ~ .woocommerce-notices-wrapper + .storefront-sorting{
  display:none !important;
}

/* Footer: stable full-width block on every page.
   Float + inline-block are intentional here so the footer clears any
   floated WooCommerce/shop content above it instead of disappearing. */
.ks-site-footer{
  padding-top:1px !important;
  overflow:hidden !important;
  float:left !important;
  width:100% !important;
  display:inline-block !important;
  clear:both !important;
  box-sizing:border-box !important;
  position:relative !important;
  margin:0 !important;
}

/* The custom content wrapper must also finish before the floated footer. */
.ks-site-content{
  width:100% !important;
  display:block !important;
  clear:both !important;
  box-sizing:border-box !important;
}
.ks-newsletter-wrap{
  margin-top:55px !important;
  clear:both !important;
  overflow:hidden !important;
}
.ks-newsletter-card{
  display:block !important;
  overflow:hidden !important;
}
.ks-newsletter-text{
  float:left !important;
  width:calc(50% - 12px) !important;
  box-sizing:border-box !important;
}
.ks-newsletter-form{
  float:right !important;
  width:calc(50% - 12px) !important;
  box-sizing:border-box !important;
  margin:0 !important;
}
.ks-newsletter-fine{
  clear:both !important;
  float:right !important;
  width:calc(50% - 12px) !important;
  box-sizing:border-box !important;
  margin:10px 0 0 !important;
  text-align:center !important;
}

@media (max-width:900px){
  .ks-newsletter-wrap{
    margin-top:36px !important;
    padding-left:20px !important;
    padding-right:20px !important;
  }
  .ks-newsletter-text,
  .ks-newsletter-form,
  .ks-newsletter-fine{
    float:none !important;
    width:100% !important;
  }
  .ks-newsletter-text{margin:0 !important;}
  .ks-newsletter-form{margin-top:18px !important;}
  .ks-newsletter-fine{margin-top:9px !important; text-align:left !important;}
}
@media (max-width:560px){
  .ks-newsletter-wrap{
    margin-top:28px !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }
  .ks-newsletter-card{
    display:block !important;
    padding:28px 22px !important;
    border-radius:17px !important;
  }
  .ks-newsletter-text{width:100% !important;}
  .ks-newsletter-text h3{font-size:1.25rem !important;}
  .ks-newsletter-form{
    width:100% !important;
    margin-top:18px !important;
    display:flex !important;
    flex-wrap:nowrap !important;
  }
  .ks-newsletter-form input{
    min-width:0 !important;
    width:100% !important;
    padding:11px 13px !important;
  }
  .ks-newsletter-form button{
    padding:11px 17px !important;
  }
  .ks-newsletter-fine{width:100% !important; margin-top:9px !important;}
}
