/*
Theme Name: Krishna Fabrics
Description: WooCommerce theme for Krishna Fabrics: home, catalogue and product pages.
Version: 1.1.40
Text Domain: krishna-fabrics
*/
:root{--navy:#0d2240;--navy2:#13305a;--gold:#b8975a;--cream:#f7f5f0;--ink:#14213d;--line:#e6e1d6;--mut:#6b6f7a;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:400 15px/1.55 Jost,system-ui,sans-serif}
h1,h2,h3,h4,.kf-logo b{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;margin:0}
a{color:inherit}
img{max-width:100%;height:auto}
.screen-reader-text{position:absolute;left:-9999px}
.kf-wrap{max-width:1200px;margin:auto;padding:0 24px}
.kf-kicker{color:var(--gold);letter-spacing:.22em;font-size:12px;text-transform:uppercase}
.kf-btn{display:inline-block;background:var(--gold);color:var(--navy);padding:13px 26px;text-decoration:none;letter-spacing:.12em;font-size:12px;text-transform:uppercase;border:0;cursor:pointer}
.kf-btn.dark{background:var(--navy);color:#fff}.kf-btn.line{background:transparent;border:1px solid var(--navy);color:var(--navy)}
/* header */
.kf-top{background:var(--navy);color:#cfd6e4;font-size:11px;letter-spacing:.16em;text-transform:uppercase;display:flex;justify-content:space-between;gap:12px;padding:8px 24px}
.kf-top a{text-decoration:none}
.kf-head{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.kf-head .in{max-width:1200px;margin:auto;padding:12px 24px;display:flex;align-items:center;gap:28px}
.kf-logo{text-decoration:none;text-align:center;line-height:1;color:var(--navy)}
.kf-logo b{display:block;font-size:30px;letter-spacing:.12em}.kf-logo small{letter-spacing:.5em;font-size:9px}
.kf-nav{display:flex;gap:26px;flex:1;list-style:none;margin:0;padding:0}
.kf-nav>li{position:relative}
.kf-nav>li>a{text-decoration:none;font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:18px 0;display:block}
.kf-nav ul{display:none;position:absolute;top:100%;left:-14px;background:#fff;border:1px solid var(--line);list-style:none;margin:0;padding:8px 0;min-width:230px;box-shadow:0 12px 30px rgba(0,0,0,.08)}
.kf-nav li:hover>ul,.kf-nav li:focus-within>ul{display:block}
.kf-nav ul a{display:block;padding:7px 18px;text-decoration:none;font-size:14px}.kf-nav ul a:hover{background:var(--cream)}
.kf-icons{display:flex;gap:16px;align-items:center}
.kf-icons a,.kf-icons button{background:none;border:0;padding:0;cursor:pointer;color:var(--navy);position:relative;display:flex}
.kf-cartcount{position:absolute;top:-8px;right:-9px;background:var(--navy);color:#fff;border-radius:50%;font-size:10px;min-width:16px;height:16px;display:grid;place-items:center}
.kf-search{display:none;border-top:1px solid var(--line);padding:10px 24px;background:#fff}.kf-search.open{display:block}
.kf-search form{max-width:1200px;margin:auto;display:flex;gap:8px}.kf-search input{flex:1;padding:10px;border:1px solid var(--line);font:inherit}
.kf-burger{display:none}
/* hero */
.kf-hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.kf-slide{display:none;max-width:1200px;margin:auto;padding:70px 24px;grid-template-columns:1fr 1fr;gap:30px;align-items:center;min-height:430px}
.kf-slide.on{display:grid}
.kf-slide h1{font-size:clamp(38px,5.5vw,66px);line-height:1.04;margin:14px 0 18px}
.kf-slide p{color:#cfd6e4;max-width:30em;margin:0 0 26px;font-family:"Cormorant Garamond",serif;font-size:19px}
.kf-collage{display:grid;grid-template-columns:1fr 1fr;gap:10px;transform:rotate(-3deg)}
.kf-collage img{width:100%;height:170px;object-fit:cover;display:block}
.kf-dots{position:absolute;left:24px;bottom:22px;display:flex;gap:8px}.kf-dots button{width:26px;height:3px;border:0;background:#ffffff55;cursor:pointer;padding:0}.kf-dots button.on{background:var(--gold)}
/* sections */
.kf-tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;padding:22px 0}
.kf-tile{background:#efece4;text-decoration:none;text-align:center;font-size:11px;letter-spacing:.14em;text-transform:uppercase;display:block}
.kf-tile img{width:100%;height:120px;object-fit:cover;display:block}.kf-tile span{display:block;padding:12px 6px}
.kf-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:22px 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;max-width:none}
.kf-trust div{display:flex;gap:12px;align-items:center;justify-content:center;font-size:13px}.kf-trust b{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.kf-trust small{color:var(--mut)}
.kf-split{display:grid;grid-template-columns:1fr 2fr;gap:30px;align-items:center;padding:50px 24px}
.kf-split h2,.kf-sec h2{font-size:clamp(30px,4vw,48px);line-height:1.08;margin:8px 0 14px}
.kf-split p{color:var(--mut)}
.kf-panels{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.kf-panel{position:relative;height:320px;display:block;color:#fff;text-decoration:none;overflow:hidden}
.kf-panel img{width:100%;height:100%;object-fit:cover}.kf-panel span{position:absolute;left:0;right:0;bottom:0;padding:50px 10px 14px;text-align:center;font-size:12px;letter-spacing:.16em;text-transform:uppercase;background:linear-gradient(transparent,rgba(0,0,0,.65))}
.kf-sec{padding:40px 24px}
.kf-occ{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.kf-occ a{background:#fff;text-decoration:none;display:block}.kf-occ img{width:100%;height:190px;object-fit:cover;display:block}.kf-occ span{display:block;padding:14px;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
/* shop hero + layout */
.kf-shophero{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.kf-shophero .in{max-width:1200px;margin:auto;padding:30px 24px 34px;position:relative;z-index:1}
.kf-shophero h1{font-size:clamp(38px,5vw,60px);margin:10px 0 12px}
.kf-shophero p{max-width:30em;font-family:"Cormorant Garamond",serif;font-size:19px;color:#dbe1ee}
.kf-shophero .art{position:absolute;right:0;top:0;bottom:0;width:48%;opacity:.55;background-size:cover;-webkit-mask-image:linear-gradient(90deg,transparent,#000 60%);mask-image:linear-gradient(90deg,transparent,#000 60%)}
.woocommerce-breadcrumb{font-size:13px;color:#aab4c8;margin:0 0 22px!important}.kf-pdp .woocommerce-breadcrumb{color:var(--mut)}.woocommerce-breadcrumb a{text-decoration:none}
.kf-feats{display:flex;gap:30px;margin-top:22px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;flex-wrap:wrap}
.kf-shop{display:grid;grid-template-columns:240px 1fr;gap:32px;padding-top:28px;padding-bottom:40px}
.kf-filters details{border-bottom:1px solid var(--line);padding:12px 0}
.kf-filters summary{cursor:pointer;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;list-style:none;display:flex;justify-content:space-between}
.kf-filters summary::after{content:"+";color:var(--gold)}.kf-filters details[open] summary::after{content:"–"}
.kf-filters ul{list-style:none;margin:10px 0 0;padding:0;max-height:210px;overflow:auto}.kf-filters li{display:flex;align-items:baseline;gap:8px;padding:3px 0;font-size:14px}
.kf-filters li>a{text-decoration:none;display:flex;flex:1;min-width:0;gap:8px}.kf-filters li.chosen a,.kf-filters li.current a{font-weight:600}
.kf-filters .count{color:var(--mut);margin-left:auto;flex:0 0 auto;white-space:nowrap}
.kf-fh{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.16em;text-transform:uppercase;padding-bottom:10px;border-bottom:1px solid var(--navy)}.kf-fh a{font-size:12px;color:var(--mut)}
.kf-sw{display:flex;flex-direction:column;gap:0;margin-top:6px}
.kf-sw .kf-color-filter{display:flex!important;align-items:center;gap:10px;width:auto;height:auto;min-height:0;padding:5px 0;border:0;border-radius:2px;color:var(--ink);text-decoration:none;font-size:14px;line-height:1.3}
.kf-sw .kf-color-filter:hover .kf-color-name{color:var(--gold)}
.kf-sw .kf-color-filter:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.kf-sw .kf-color-check{width:15px;height:15px;flex:0 0 15px;border:1px solid #b9b2a2;background:#fff;border-radius:2px}
.kf-sw .kf-color-filter.on .kf-color-check{background:var(--navy);border-color:var(--navy);box-shadow:inset 0 0 0 3px #fff}
.kf-sw .kf-color-chip{width:16px;height:16px;flex:0 0 16px;border:1px solid rgba(20,33,61,.14);border-radius:50%}
.kf-sw .kf-color-name{min-width:0}
.kf-price{display:flex;gap:8px;margin-top:10px}.kf-price input{width:100%;padding:8px;border:1px solid var(--line);font:inherit}
.kf-price button{border:0;background:var(--navy);color:#fff;padding:0 12px;cursor:pointer}
.woocommerce .woocommerce-result-count{float:none;margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:12px}
.kf-results .woocommerce-notices-wrapper+p,.woocommerce .woocommerce-ordering{margin:0}
.kf-results{min-width:0}
.kf-bar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:18px}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:0;padding:0}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products>li.product{width:100%!important;max-width:100%;min-width:0;margin:0!important;float:none!important;position:relative;background:#fff;padding-bottom:8px}
.woocommerce ul.products li.product a img,.kf-swatch{width:100%;aspect-ratio:1;object-fit:cover;display:block;margin:0}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:"Cormorant Garamond",serif;font-size:19px;line-height:1.2;padding:12px 12px 2px}
.kf-brand{display:block;padding:0 12px;color:var(--mut);font-size:13px}
.woocommerce ul.products li.product .price{display:block;padding:8px 52px 6px 12px;color:var(--ink);font-weight:600;font-size:15px}
.kf-mrp{color:var(--mut);font-weight:400;margin-left:4px;font-size:13px}
.kf-off{display:inline-block;background:#efe3c8;color:#6b5420;font-size:11px;padding:1px 7px;margin-left:4px}
.kf-bag{position:absolute;right:10px;bottom:12px;width:34px;height:34px;border:1px solid var(--line);display:grid;place-items:center;background:#fff;color:var(--navy)}
.kf-badges{position:absolute;left:10px;top:10px;z-index:2;display:flex;gap:4px}.kf-badges span{background:var(--navy);color:#fff;font-size:10px;letter-spacing:.14em;padding:4px 9px;text-transform:uppercase}.kf-badges .off{background:var(--gold);color:var(--navy)}
.woocommerce nav.woocommerce-pagination ul{border:0}.woocommerce nav.woocommerce-pagination ul li{border:0;margin:0 3px}.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border-radius:50%;padding:.55em .85em;min-width:2.3em}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--navy);color:#fff}
/* product page */
.kf-pdp{padding-top:18px;padding-bottom:40px}
.woocommerce div.product{display:grid;grid-template-columns:1.05fr 1fr;gap:44px;align-items:start}
.woocommerce div.product div.images,.woocommerce div.product div.summary{width:auto;float:none;margin:0}
.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related,.woocommerce div.product .upsells{grid-column:1/-1}
.woocommerce div.product div.images img{width:100%}
.kf-cat{color:var(--gold);letter-spacing:.14em;font-size:12px;text-transform:uppercase}
.woocommerce div.product .product_title{font-size:clamp(30px,3.6vw,44px);line-height:1.08;margin:8px 0 10px}
.woocommerce div.product p.price,.woocommerce div.product span.price{font-size:30px;font-weight:600;color:var(--ink);font-family:Jost,sans-serif}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--mut)}
.kf-incl{font-size:13px;color:var(--mut);margin:-6px 0 14px}
.kf-lenlabel,.woocommerce div.product form.cart .variations label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.woocommerce div.product form.cart .variations{margin:0 0 10px}.woocommerce div.product form.cart .variations td,.woocommerce div.product form.cart .variations th{display:block;padding:0}
.reset_variations{display:none!important}
.kf-pills{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 14px}
.kf-pills button{min-width:84px;padding:11px 14px;background:#fff;border:1px solid var(--line);cursor:pointer;font:inherit}.kf-pills button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.kf-pills.kf-color-pills button.kf-color-option{display:inline-flex;align-items:center;gap:9px;min-width:0;padding:8px 12px;transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.kf-color-swatch{display:block;width:22px;height:22px;flex:0 0 22px;border:1px solid rgba(13,34,64,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.kf-color-name{transition:color .18s ease,text-decoration-color .18s ease}
.kf-pills.kf-color-pills button.kf-color-option:hover,.kf-pills.kf-color-pills button.kf-color-option:focus-visible{background:#efe3c8;border-color:var(--gold);color:var(--navy);outline:none}
.kf-pills.kf-color-pills button.kf-color-option:hover .kf-color-name,.kf-pills.kf-color-pills button.kf-color-option:focus-visible .kf-color-name{color:var(--navy);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
.kf-hide{display:none!important}
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart,.woocommerce div.product form.cart:not(.variations_form){display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
.woocommerce .quantity{display:flex;border:1px solid var(--line);background:#fff}.woocommerce .quantity input.qty{border:0;width:46px;text-align:center;background:transparent}.kf-q{width:34px;border:0;background:none;cursor:pointer;font-size:18px}
.woocommerce div.product form.cart .single_add_to_cart_button{flex:1;background:var(--navy);color:#fff;border-radius:0;text-transform:uppercase;letter-spacing:.14em;font-size:12px;padding:16px}
.kf-buynow{flex:1;background:var(--gold);color:#fff;border:0;text-transform:uppercase;letter-spacing:.14em;font-size:12px;cursor:pointer;padding:16px}
.woocommerce-variation-price{margin:0 0 10px}.woocommerce-variation-price .price{font-size:18px!important}
.kf-assure{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0;font-size:12px}.kf-assure b{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:11px}.kf-assure small{color:var(--mut)}
.kf-attrs h3{font-family:Jost,sans-serif;color:var(--gold);letter-spacing:.2em;font-size:12px;text-transform:uppercase;border-bottom:1px solid var(--line);padding-bottom:8px;font-weight:400}
.kf-attrs dl{display:grid;grid-template-columns:1fr 1fr;gap:6px 30px;margin:12px 0}.kf-attrs div{display:grid;grid-template-columns:minmax(100px,42%) minmax(0,1fr);gap:10px;font-size:14px}.kf-attrs dt{color:var(--mut)}.kf-attrs dd{margin:0;min-width:0}
.product_meta{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 20px;border-bottom:1px solid var(--line)}.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none;border:0;border-radius:0;margin:0 22px 0 0;padding:0}.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:12px 0;font-weight:500}.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom:2px solid var(--navy)}.woocommerce div.product .woocommerce-tabs ul.tabs li::after,.woocommerce div.product .woocommerce-tabs ul.tabs li::before{display:none}
.woocommerce div.product .related>h2{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-family:Jost,sans-serif;color:var(--gold)}
/* Related products: override WooCommerce's percentage widths/floats explicitly.
   Safari can otherwise keep those widths on the grid children, leaving narrow cards. */
.woocommerce div.product .related ul.products{display:grid!important;width:100%;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;margin:0;padding:0;}
.woocommerce div.product .related ul.products>li.product{width:100%!important;max-width:100%;min-width:0;margin:0!important;float:none!important;}
.woocommerce div.product .related ul.products>li.product img{width:100%;}
/* generic pages */
.kf-page{padding:36px 24px 50px;max-width:900px;margin:auto}.kf-page h1{font-size:44px;margin-bottom:16px}
.woocommerce-cart .kf-page,.woocommerce-checkout .kf-page{max-width:1100px}
/* footer */
.kf-foot{background:var(--navy);color:#cfd6e4;margin-top:20px;font-size:14px}
.kf-foot .in{max-width:1200px;margin:auto;padding:40px 24px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px}
.kf-foot h4{color:#fff;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-family:Jost,sans-serif;margin-bottom:12px}.kf-foot a{display:block;text-decoration:none;padding:3px 0}
.kf-foot-accordion{min-width:0}
.kf-foot-accordion>summary{list-style:none;cursor:default}
.kf-foot-accordion>summary::-webkit-details-marker{display:none}
.kf-foot-accordion>summary h4{margin:0 0 12px}
.kf-foot-content>p{margin:0}
.kf-foot .c{border-top:1px solid #ffffff22;text-align:center;padding:14px;font-size:12px}
@media(max-width:1000px){.kf-shop{grid-template-columns:1fr}.kf-filters{order:2}.woocommerce ul.products{grid-template-columns:repeat(2,1fr)}.kf-tiles{grid-template-columns:repeat(3,1fr)}.kf-panels{grid-template-columns:repeat(2,1fr)}.kf-split{grid-template-columns:1fr}.woocommerce div.product .related ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.kf-burger{display:flex}.kf-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:8px 24px;border-bottom:1px solid var(--line)}.kf-nav.open{display:flex}.kf-nav ul{position:static;display:block;border:0;box-shadow:none;padding-left:12px}.kf-nav>li>a{padding:11px 0}.kf-head .in{gap:14px}.kf-icons{margin-left:auto}.kf-slide.on{grid-template-columns:1fr}.kf-collage{display:none}.kf-trust{grid-template-columns:1fr 1fr}.woocommerce div.product{grid-template-columns:1fr}.woocommerce div.product .related ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.kf-assure{grid-template-columns:1fr}.kf-attrs dl{grid-template-columns:1fr}.kf-occ{grid-template-columns:1fr}.kf-foot .in{grid-template-columns:1fr}.kf-top span:first-child{display:none}.kf-tiles{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* product gallery: vertical thumbnails on the left (like the mockup), main image on the right */
.woocommerce div.product div.images .woocommerce-product-gallery__image img,.woocommerce div.product div.images .woocommerce-product-gallery__image--placeholder img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.woocommerce div.product div.images:has(.flex-control-thumbs){display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;align-items:start}
.woocommerce div.product div.images .flex-viewport{grid-column:2;grid-row:1}
.woocommerce div.product div.images .flex-control-thumbs{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}
.woocommerce div.product div.images .flex-control-thumbs li{width:100%;float:none;margin:0}
.woocommerce div.product div.images .flex-control-thumbs li img{width:100%;aspect-ratio:1/1;object-fit:cover;opacity:.6;border:1px solid var(--line);cursor:pointer;display:block}
.woocommerce div.product div.images .flex-control-thumbs li img:hover,.woocommerce div.product div.images .flex-control-thumbs li img.flex-active{opacity:1;outline:2px solid var(--navy);outline-offset:-2px}
@media(max-width:760px){
 .woocommerce div.product div.images:has(.flex-control-thumbs){grid-template-columns:minmax(0,1fr)}
 .woocommerce div.product div.images .flex-viewport{grid-column:1;grid-row:1}
 .woocommerce div.product div.images .flex-control-thumbs{grid-column:1;grid-row:2;flex-direction:row;overflow-x:auto}
 .woocommerce div.product div.images .flex-control-thumbs li{flex:0 0 72px;width:72px}
}

/* ===================================================================
   v1.1.0 mobile-friendly pass. Desktop (>1000px) look is unchanged,
   apart from the small checkbox marks and aligned counts in the filters.
   =================================================================== */
html{-webkit-text-size-adjust:100%}
body{overflow-x:clip}
button,a,select,label{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.kf-top,.kf-head .in,.kf-wrap{padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}

/* product cards: beat WooCommerce's % widths (48% / 22.05% ...) on every screen size */
.woocommerce ul.products,.woocommerce-page ul.products{display:grid!important}
.woocommerce ul.products>li.product,.woocommerce-page ul.products>li.product,.woocommerce ul.products[class*="columns-"]>li.product,.woocommerce-page ul.products[class*="columns-"]>li.product{width:auto!important;max-width:none!important;min-width:0;margin:0!important;float:none!important;clear:none!important}
.woocommerce ul.products{grid-template-columns:repeat(4,minmax(0,1fr))}
.kf-ppm{white-space:nowrap}

/* filters: aligned rows, tick boxes, counts in one right-hand column */
.kf-filters ul{list-style:none;margin:6px 0 0;padding:0;max-height:240px;overflow:auto;-webkit-overflow-scrolling:touch}
.kf-filters li{display:flex;align-items:center;gap:8px;padding:0;margin:0;font-size:14px}
.kf-filters li>a,.kf-filters li>span:first-child{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0;padding:5px 0;line-height:1.3;text-decoration:none}
.kf-filters li>a::before{content:"";flex:0 0 15px;width:15px;height:15px;border:1px solid #b9b2a2;background:#fff}
.kf-filters li.chosen>a::before,.kf-filters li.current>a::before{background:var(--navy);border-color:var(--navy);box-shadow:inset 0 0 0 3px #fff}
.kf-filters .count{flex:0 0 auto;margin-left:auto;min-width:2.4em;text-align:right;color:var(--mut);font-variant-numeric:tabular-nums;white-space:nowrap}
.kf-filters summary::-webkit-details-marker{display:none}
.kf-filters summary{padding:4px 0}

/* toolbar: result count, Filters button, sorting */
.kf-bar{flex-wrap:wrap;gap:10px 14px}
.kf-bar .woocommerce-result-count{order:0;margin:0}
.kf-bar .woocommerce-ordering{order:2;margin:0 0 0 auto}
.woocommerce-ordering select{border:1px solid var(--line);background:#fff;padding:10px 12px;font:inherit;border-radius:0;max-width:100%}
.kf-ftoggle{order:1;display:none;align-items:center;justify-content:center;gap:8px;border:1px solid var(--navy);background:#fff;color:var(--navy);padding:0 14px;min-height:44px;font:inherit;font-size:12px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border-radius:0}
.kf-ftoggle .n{background:var(--navy);color:#fff;border-radius:99px;min-width:19px;height:19px;padding:0 5px;font-size:11px;letter-spacing:0;display:inline-grid;place-items:center}
.kf-active{margin:-4px 0 16px}.kf-active ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.kf-active li a{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);padding:7px 11px;font-size:13px;text-decoration:none}
.kf-active li a::after{content:"\00d7";color:var(--gold);font-size:17px;line-height:1}
.kf-fdrawer-head,.kf-fdrawer-foot,.kf-fover{display:none}
.kf-subtog{display:none}
.kf-burger{-webkit-appearance:none;appearance:none;background:none;border:0;padding:0;color:var(--navy);cursor:pointer}

/* ---------- tablet and phone: <= 1000px ---------- */
@media(max-width:1000px){
 .woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
 .woocommerce ul.products li.product .woocommerce-loop-product__title{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
 .woocommerce div.product .related ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
 /* filters become a slide-in drawer opened by the Filters button */
 .kf-shop{display:block;padding-top:14px}
 .kf-ftoggle{display:inline-flex;flex:1 1 0}
 .kf-bar .woocommerce-result-count{flex:1 0 100%}
 .kf-bar .woocommerce-ordering{flex:1 1 0;margin:0}
 .kf-bar .woocommerce-ordering select{width:100%;min-height:44px}
 .kf-filters{position:fixed;top:0;bottom:0;left:0;width:min(88vw,380px);z-index:70;background:var(--cream);display:flex;flex-direction:column;order:0;transform:translateX(-102%);visibility:hidden;transition:transform .26s ease,visibility 0s linear .26s;box-shadow:6px 0 30px rgba(0,0,0,.18)}
 body.kf-fopen .kf-filters{transform:none;visibility:visible;transition:transform .26s ease}
 .kf-fover{display:block;position:fixed;inset:0;background:rgba(10,20,40,.5);z-index:65;opacity:0;pointer-events:none;transition:opacity .26s}
 body.kf-fopen .kf-fover{opacity:1;pointer-events:auto}
 body.kf-fopen,body.kf-menuopen{overflow:hidden}
 .kf-fdrawer-head{display:flex;justify-content:space-between;align-items:center;padding:calc(6px + env(safe-area-inset-top)) 18px 6px;background:#fff;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;min-height:56px}
 .kf-fclose{background:none;border:0;font-size:32px;line-height:1;width:44px;height:44px;margin-right:-12px;cursor:pointer;color:var(--navy)}
 .kf-fbody{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:0 18px 24px}
 .kf-fbody .kf-fh{display:none}
 .kf-fdrawer-foot{display:flex;gap:10px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}
 .kf-fdrawer-foot .kf-btn{flex:1;text-align:center;padding:14px 8px;min-height:48px}
 .kf-filters ul{max-height:none;overflow:visible}
 .kf-filters li>a,.kf-filters li>span:first-child{padding:9px 0}
 .kf-filters details{padding:10px 0}
 .kf-filters summary{min-height:36px;align-items:center}
 .kf-sw a{width:34px;height:34px}
 .kf-price input{min-height:44px}.kf-price button{min-width:56px}
}

/* ---------- phone: <= 760px ---------- */
@media(max-width:760px){
 /* inputs at 16px stop iPhones zooming the page when a field is tapped */
 input,select,textarea,.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{font-size:16px!important}
 .kf-wrap{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
 /* header and menu */
 .kf-top{justify-content:center;font-size:10.5px;letter-spacing:.1em;padding:7px 16px}
 .kf-head .in{padding:8px max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left));gap:8px;min-height:60px}
 .kf-burger{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:-10px}
 .kf-logo b{font-size:23px}.kf-logo small{font-size:8px;letter-spacing:.42em}
 .kf-icons{gap:0;margin-left:auto}.kf-icons a,.kf-icons button{width:42px;height:44px;align-items:center;justify-content:center}.kf-cartcount{top:3px;right:1px}
 .kf-nav{max-height:calc(100vh - 118px);max-height:calc(100dvh - 118px);overflow-y:auto;overscroll-behavior:contain;padding:4px 16px 12px;box-shadow:0 16px 30px rgba(0,0,0,.12)}
 .kf-nav>li{border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center}
 .kf-nav>li>a{flex:1;padding:14px 0}
 .kf-nav ul{display:none!important;flex:0 0 100%;padding:0 0 8px 8px;margin:0;position:static;border:0;box-shadow:none;min-width:0}
 .kf-nav li.open>ul{display:block!important}
 .kf-nav ul a{padding:11px 8px;font-size:15px}
 .kf-subtog{display:block;width:44px;height:44px;background:none;border:0;cursor:pointer;position:relative}
 .kf-subtog::before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border-right:1.5px solid var(--navy);border-bottom:1.5px solid var(--navy);transform:translate(-50%,-70%) rotate(45deg);transition:transform .2s}
 .kf-nav li.open>.kf-subtog::before{transform:translate(-50%,-30%) rotate(-135deg)}
 /* home page */
 .kf-slide{padding:34px 16px 60px;min-height:0;gap:0}
 .kf-slide h1{font-size:clamp(32px,9vw,42px)}.kf-slide p{font-size:17px;margin-bottom:20px}
 .kf-dots{left:16px;bottom:22px}.kf-dots button{width:32px;height:4px}
 .kf-tiles{gap:10px;padding:16px 0}.kf-tile img{height:96px}.kf-tile span{padding:10px 4px;font-size:10.5px;letter-spacing:.1em}
 .kf-trust{grid-template-columns:1fr 1fr;gap:14px 10px;padding:16px}.kf-trust div{justify-content:flex-start}
 .kf-split{padding:30px 16px;gap:20px}.kf-panels{gap:8px}.kf-panel{height:190px}
 .kf-sec{padding:28px 16px}
 .kf-split h2,.kf-sec h2{font-size:clamp(28px,8vw,36px)}
 .kf-occ{display:grid;grid-auto-flow:column;grid-auto-columns:78%;grid-template-columns:none;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-16px;padding-right:16px;-webkit-overflow-scrolling:touch}
 .kf-occ a{scroll-snap-align:start}
 /* catalogue hero */
 .kf-shophero .in{padding:18px max(16px,env(safe-area-inset-left)) 22px}
 .kf-shophero h1{font-size:clamp(32px,9vw,40px);margin:6px 0 8px}.kf-shophero p{font-size:17px}
 .kf-shophero .art{width:60%;opacity:.35}
 .woocommerce-breadcrumb{margin-bottom:12px!important;font-size:12px}
 .kf-feats{gap:6px 14px;margin-top:12px;font-size:10px;letter-spacing:.1em}
 /* product page */
 .kf-pdp{padding:10px 16px 28px}
 .woocommerce div.product{gap:22px}
 .woocommerce div.product .product_title{font-size:clamp(26px,7.5vw,32px)}
 .woocommerce div.product p.price,.woocommerce div.product span.price{font-size:26px}
 .kf-pills{gap:8px}.kf-pills button{flex:1 1 calc(33.333% - 8px);min-width:0;min-height:44px;padding:11px 8px}
 .kf-pills.kf-color-pills button.kf-color-option{flex:0 1 auto}
 .woocommerce div.product form.cart .woocommerce-variation-add-to-cart,.woocommerce div.product form.cart:not(.variations_form){gap:10px}
 .woocommerce .quantity{flex:0 0 auto}.woocommerce .quantity input.qty{width:44px;min-height:50px}
 .woocommerce div.product form.cart .single_add_to_cart_button{flex:1 1 0;min-width:0;min-height:50px}
 .kf-buynow{flex:1 1 100%;min-height:50px}
 .kf-assure{gap:14px}
 .woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-right:-16px;padding-right:16px}
 .woocommerce div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar{display:none}
 .woocommerce div.product .woocommerce-tabs ul.tabs li{flex:0 0 auto;white-space:nowrap}
 .woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:14px 0}
 /* cart, checkout, pages */
 .kf-page{padding:22px 16px 36px}.kf-page h1{font-size:34px}
 .woocommerce form .form-row{margin-bottom:12px}
 .woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{padding:12px;min-height:46px}
 .woocommerce #payment #place_order,.woocommerce .wc-proceed-to-checkout a.checkout-button{width:100%;display:block;float:none;min-height:52px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;border-radius:0}
 .woocommerce-cart table.cart td.actions .coupon{display:flex;gap:8px;width:100%;float:none;margin-bottom:10px}
 .woocommerce-cart table.cart td.actions .coupon input.input-text{flex:1;width:auto;min-width:0;margin:0}
 .woocommerce-cart table.cart td.actions>.button{width:100%}
 .woocommerce nav.woocommerce-pagination{overflow-x:auto}
 /* footer */
 .kf-foot .in{padding:30px 16px;gap:0;grid-template-columns:1fr}.kf-foot .in>div:first-child{grid-column:1/-1}.kf-foot .in>.kf-foot-accordion:first-child{grid-column:1/-1}.kf-foot a{padding:7px 0}
 .kf-foot-accordion{border-bottom:1px solid #ffffff26;padding:0}
 .kf-foot-accordion>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:50px;cursor:pointer}
 .kf-foot-accordion>summary h4{margin:0}
 .kf-foot-accordion>summary::after{content:"+";color:var(--gold);font-size:20px;font-weight:400;line-height:1}
 .kf-foot-accordion[open]>summary::after{content:"−"}
 .kf-foot-content{padding:0 0 14px}
}

/* ---------- phone product cards: <= 640px ---------- */
@media(max-width:640px){
 .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .woocommerce div.product .related ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:16px;line-height:1.2;padding:9px 9px 2px}
 .kf-brand{padding:0 9px;font-size:12px}
 .woocommerce ul.products li.product .price{padding:5px 44px 9px 9px;font-size:14px;line-height:1.35}
 .kf-mrp{font-size:12px;margin-left:2px}
 .woocommerce ul.products li.product .kf-off{display:none}
 .kf-bag{width:34px;height:34px;right:8px;bottom:8px}
 .kf-badges{left:6px;top:6px;gap:3px;flex-wrap:wrap;max-width:calc(100% - 12px)}.kf-badges span{font-size:9px;padding:3px 6px;letter-spacing:.1em}
}
@media(max-width:360px){.kf-logo b{font-size:20px}.kf-icons a,.kf-icons button{width:38px}}
@media(prefers-reduced-motion:reduce){.kf-filters,.kf-fover,.kf-subtog::before{transition:none!important}}
:root{--kf-css:"1.1.39"}

/* v1.1.2 mobile correction: make WooCommerce cards fill the grid track. */
@media(max-width:1000px){
	.woocommerce ul.products,.woocommerce-page ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch;}
	.woocommerce ul.products[class*="columns-"]>li.product,.woocommerce-page ul.products[class*="columns-"]>li.product,
	.woocommerce ul.products>li.product,.woocommerce-page ul.products>li.product{display:flex!important;flex-direction:column;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;float:none!important;clear:none!important;align-self:stretch;}
	.woocommerce ul.products li.product>a.woocommerce-LoopProduct-link{display:block;min-width:0;}
	.kf-bar .woocommerce-ordering{min-width:0;}
	.kf-bar .woocommerce-ordering select{overflow:hidden;text-overflow:ellipsis;}
	.kf-ftoggle{display:inline-flex!important;}
	.kf-filters{height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;}
}
@media(max-width:640px){
	.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
	.woocommerce div.product .related ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
	.woocommerce ul.products[class*="columns-"]>li.product,.woocommerce-page ul.products[class*="columns-"]>li.product,
	.woocommerce ul.products>li.product,.woocommerce-page ul.products>li.product{width:100%!important;max-width:100%!important;min-width:0!important;}
	.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:16px;line-height:1.2;-webkit-line-clamp:3;}
	.woocommerce ul.products li.product .price{padding-right:42px;font-size:14px;line-height:1.35;}
	.kf-ftoggle,.kf-bar .woocommerce-ordering select{min-height:46px;}
}

/* v1.1.4: final high-specificity mobile overrides for WooCommerce column sizing. */
@media(max-width:1000px){
	html body.woocommerce-page .woocommerce ul.products[class*="columns-"]{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;align-items:stretch!important;width:100%!important;}
	html body .woocommerce ul.products[class*="columns-"]>li.product,
	html body .woocommerce-page ul.products[class*="columns-"]>li.product,
	html body .woocommerce ul.products>li.product{display:flex!important;flex:initial!important;grid-column:auto!important;justify-self:stretch!important;align-self:stretch!important;box-sizing:border-box!important;width:100%!important;inline-size:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;float:none!important;clear:none!important;}
	html body.woocommerce-page .woocommerce ul.products>li.product>a.woocommerce-LoopProduct-link{display:block!important;width:100%!important;min-width:0!important;}
	.kf-ftoggle{display:inline-flex!important;visibility:visible!important;}
}
@media(max-width:640px){
	html body.woocommerce-page .woocommerce ul.products[class*="columns-"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
	html body .woocommerce ul.products[class*="columns-"]>li.product,
	html body .woocommerce-page ul.products[class*="columns-"]>li.product,
	html body .woocommerce ul.products>li.product{width:100%!important;inline-size:100%!important;max-width:100%!important;}
	html body .woocommerce div.product .related ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
	.kf-bar{display:flex;align-items:stretch;gap:8px;}
	.kf-bar .woocommerce-result-count{flex:1 0 100%;}
	.kf-ftoggle,.kf-bar .woocommerce-ordering{flex:1 1 0;min-width:0;}
	.kf-ftoggle{white-space:nowrap;padding:0 10px;letter-spacing:.1em;}
	.kf-bar .woocommerce-ordering select{width:100%;min-width:0;}
}


/* v1.1.7: phone viewport and full-width site chrome. Header/footer are direct body children,
   so size them to the viewport instead of inheriting a constrained content wrapper. */
@media (max-width: 760px) {
  html, body { width: 100%; min-width: 320px; max-width: 100%; }
  html { overflow-x: clip; }
  body { margin: 0; overflow-x: clip; }
  body > .kf-top,
  body > .kf-head,
  body > .kf-foot {
    position: relative;
    left: auto;
    right: auto;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
  body > .kf-head {
    left: 0;
  }
  body.kf-mobile-head-pinned > .kf-head {
    position: fixed !important;
    top: var(--kf-mobile-header-top, 0px) !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 10000 !important;
  }
  body.kf-mobile-head-pinned > .kf-mobile-head-spacer {
    display: block !important;
    width: 100%;
    pointer-events: none;
  }
  .kf-wrap { width: 100%; max-width: 1200px; min-width: 0; box-sizing: border-box; }
  .kf-pdp { width: 100%; max-width: 1200px; margin-left: auto; margin-right: auto; }
  .kf-head .in, .kf-foot .in { width: 100%; min-width: 0; box-sizing: border-box; }
}


/* v1.1.8: make product detail controls obey the phone viewport. */
@media (max-width: 760px) {
  .kf-pdp, .kf-pdp * { min-width: 0; }
  .kf-pdp { width: 100%; max-width: 100%; overflow-x: clip; }
  .kf-pdp div.product, .kf-pdp div.product > div.images,
  .kf-pdp div.product > div.summary { width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
  .kf-pdp div.product .product_title { white-space: normal !important; overflow-wrap: anywhere; max-width: 100%; }
  .kf-pdp div.product .summary, .kf-pdp div.product .summary > *,
  .kf-pdp div.product form.cart, .kf-pdp div.product form.variations_form,
  .kf-pdp div.product .single_variation_wrap { min-width: 0 !important; max-width: 100% !important; }
  .kf-pdp div.product .kf-pills:not(.kf-color-pills) {
    display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important; max-width: 100% !important;
  }
  .kf-pdp div.product .kf-pills:not(.kf-color-pills) button {
    width: 100% !important; min-width: 0 !important; max-width: 100% !important;
    flex: initial !important; overflow-wrap: anywhere;
  }
  .kf-pdp div.product .woocommerce-variation-add-to-cart,
  .kf-pdp div.product form.cart:not(.variations_form) { width: 100%; max-width: 100%; min-width: 0; }
  .kf-pdp div.product .single_add_to_cart_button,
  .kf-pdp div.product .kf-buynow { max-width: 100%; min-width: 0; }
}


/* v1.1.9: enforce one mobile catalogue grid across shop and all fabric categories. */
@media (max-width: 760px) {
  body.woocommerce.archive ul.products,
  body.woocommerce-page.archive ul.products,
  body.tax-product_cat ul.products,
  .kf-shop .kf-results ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: 100% !important; max-width: 100% !important;
    margin: 0 !important; padding: 0 !important;
  }
  body.woocommerce.archive ul.products > li.product,
  body.woocommerce-page.archive ul.products > li.product,
  body.tax-product_cat ul.products > li.product,
  .kf-shop .kf-results ul.products > li.product {
    display: flex !important; flex-direction: column !important;
    grid-column: auto !important; justify-self: stretch !important;
    box-sizing: border-box !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important;
    margin: 0 !important; float: none !important; clear: none !important;
  }
  body.woocommerce.archive ul.products > li.product img,
  body.woocommerce-page.archive ul.products > li.product img,
  body.tax-product_cat ul.products > li.product img,
  .kf-shop .kf-results ul.products > li.product img {
    display: block !important; width: 100% !important; aspect-ratio: 1 / 1; object-fit: cover;
  }
  .kf-shop .kf-results, .kf-shop .kf-bar { width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
  .kf-shop .kf-results ul.products li.product .woocommerce-loop-product__title {
    display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden;
    min-height: 3.6em; font-size: 16px; line-height: 1.2;
  }
}


/* v1.1.12: align colour and length option buttons to shared grid columns. */
.kf-pdp div.product .kf-pills.kf-color-pills,
.kf-pdp div.product .kf-pills.kf-length-pills {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  width: 100% !important; max-width: 100% !important;
  gap: 10px !important; align-items: stretch;
}

/* v1.1.26: make the mobile catalogue Filters and sorting controls one matched row. */
@media (max-width: 760px) {
  .kf-bar .woocommerce-ordering { display: flex; align-items: stretch; min-width: 0; }
  .kf-bar .woocommerce-ordering select,
  .kf-bar .kf-ftoggle {
    box-sizing: border-box;
    height: 48px !important;
    min-height: 48px !important;
    align-self: stretch;
    border: 1px solid var(--navy) !important;
    border-radius: 0 !important;
    background-color: #fff;
    color: var(--navy);
    font-size: 16px !important;
    line-height: 1.2;
  }
  .kf-bar .kf-ftoggle { justify-content: center; padding: 0 10px; }
  .kf-bar .woocommerce-ordering select { width: 100%; padding: 0 12px; }
}
.kf-pdp div.product .kf-pills.kf-color-pills button,
.kf-pdp div.product .kf-pills.kf-length-pills button {
  display: flex !important; align-items: center; justify-content: center;
  box-sizing: border-box; width: 100% !important; min-width: 0 !important;
  max-width: 100% !important; margin: 0 !important;
}
.kf-pdp div.product .kf-pills.kf-color-pills button.kf-color-option {
  justify-content: flex-start; gap: 9px;
}
@media (max-width: 760px) {
  .kf-pdp div.product .kf-pills.kf-color-pills,
  .kf-pdp div.product .kf-pills.kf-length-pills {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
}


/* v1.1.13: compact wrapped colour names inside swatch buttons. */
.kf-pdp div.product .kf-pills.kf-color-pills button.kf-color-option {
  min-height: 54px !important; height: auto !important; padding: 8px 10px !important;
  line-height: 1.1 !important; gap: 8px !important;
}
.kf-pdp div.product .kf-pills.kf-color-pills button.kf-color-option .kf-color-name {
  display: block; min-width: 0; line-height: 1.1 !important;
  overflow-wrap: normal; word-break: normal;
}
@media (max-width: 760px) {
  .kf-pdp div.product .kf-pills.kf-color-pills button.kf-color-option {
    min-height: 48px !important; padding: 7px 8px !important; gap: 7px !important;
    font-size: 14px;
  }
}


/* v1.1.14: center the length-button group beneath its centered label. */
.kf-pdp div.product .kf-pills.kf-length-pills {
  grid-template-columns: repeat(auto-fit, minmax(160px, 200px)) !important;
  justify-content: center !important;
}
@media (max-width: 760px) {
  .kf-pdp div.product .kf-pills.kf-length-pills {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    justify-content: stretch !important;
  }
}


/* v1.1.15: product title/main price down 2px; selected variation total up 1px. */
.kf-pdp div.product .product_title {
  font-size: clamp(28px, calc(3.6vw - 2px), 42px) !important;
}
.kf-pdp div.product p.price,
.kf-pdp div.product > .summary > p.price,
.kf-pdp div.product .summary > p.price { font-size: 28px !important; }
.kf-pdp div.product .woocommerce-variation-price .price { font-size: 19px !important; }
@media (max-width: 760px) {
  .kf-pdp div.product .product_title {
    font-size: clamp(25px, calc(7vw - 2px), 32px) !important;
  }
  .kf-pdp div.product p.price,
  .kf-pdp div.product .summary > p.price { font-size: 24px !important; }
  .kf-pdp div.product .woocommerce-variation-price .price { font-size: 19px !important; }
}


/* v1.1.16: keep color and length blocks on identical tracks and match caption size to options. */
.kf-pdp div.product form.cart .variations label,
.kf-pdp div.product form.cart .variations th label {
  font-size: 1em !important; line-height: 1.2 !important;
}
.kf-pdp div.product .kf-pills.kf-color-pills,
.kf-pdp div.product .kf-pills.kf-length-pills {
  display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  width: 100% !important; max-width: 100% !important;
  gap: 10px !important; justify-content: stretch !important;
}
.kf-pdp div.product .kf-pills.kf-color-pills button,
.kf-pdp div.product .kf-pills.kf-length-pills button {
  width: 100% !important; min-width: 0 !important; max-width: 100% !important;
  box-sizing: border-box !important; margin: 0 !important;
}
@media (max-width: 760px) {
  .kf-pdp div.product .kf-pills.kf-color-pills,
  .kf-pdp div.product .kf-pills.kf-length-pills {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important;
  }
}

/* v1.1.30: style third-party pincode checks to match the product form. */
.kf-pdp .summary form:has(input[placeholder*="pin" i],input[name*="pin" i],input[id*="pin" i]),
.kf-pdp .summary div:has(> input[placeholder*="pin" i],> input[name*="pin" i],> input[id*="pin" i]),
.kf-pdp .summary :is(.pincode-checker,.pincode_checker,.pincode-check,.pin-code-checker,.wc-pincode-checker,.wpc-check-pincode,.wpcp-checker) {
  display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;width:100%;max-width:420px;margin:12px 0 16px!important;
}
.kf-pdp .summary input[placeholder*="pin" i],
.kf-pdp .summary input[name*="pin" i],
.kf-pdp .summary input[id*="pin" i] {
  box-sizing:border-box;flex:1 1 180px;width:auto;min-width:0;max-width:100%;height:44px;padding:9px 13px;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);font:inherit;box-shadow:none;
}
.kf-pdp .summary input[placeholder*="pin" i]::placeholder { color:var(--mut);opacity:1; }
.kf-pdp .summary form:has(input[placeholder*="pin" i],input[name*="pin" i],input[id*="pin" i]) button,
.kf-pdp .summary form:has(input[placeholder*="pin" i],input[name*="pin" i],input[id*="pin" i]) input[type="submit"],
.kf-pdp .summary form:has(input[placeholder*="pin" i],input[name*="pin" i],input[id*="pin" i]) input[type="button"],
.kf-pdp .summary div:has(> input[placeholder*="pin" i],> input[name*="pin" i],> input[id*="pin" i]) > button,
.kf-pdp .summary div:has(> input[placeholder*="pin" i],> input[name*="pin" i],> input[id*="pin" i]) > input[type="submit"],
.kf-pdp .summary div:has(> input[placeholder*="pin" i],> input[name*="pin" i],> input[id*="pin" i]) > input[type="button"] {
  box-sizing:border-box;min-height:44px;padding:9px 16px;border:1px solid var(--navy);border-radius:0;background:var(--navy);color:#fff;font:500 12px/1.2 Jost,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;box-shadow:none;cursor:pointer;
}
.kf-pdp .summary form:has(input[placeholder*="pin" i],input[name*="pin" i],input[id*="pin" i]) button:hover,
.kf-pdp .summary div:has(> input[placeholder*="pin" i],> input[name*="pin" i],> input[id*="pin" i]) > button:hover { background:var(--gold);border-color:var(--gold);color:var(--navy); }
@media(max-width:760px){
  .kf-pdp .summary form:has(input[placeholder*="pin" i],input[name*="pin" i],input[id*="pin" i]),
  .kf-pdp .summary div:has(> input[placeholder*="pin" i],> input[name*="pin" i],> input[id*="pin" i]),
  .kf-pdp .summary :is(.pincode-checker,.pincode_checker,.pincode-check,.pin-code-checker,.wc-pincode-checker,.wpc-check-pincode,.wpcp-checker) {max-width:100%;gap:8px;margin:10px 0 14px!important}
  .kf-pdp .summary input[placeholder*="pin" i],.kf-pdp .summary input[name*="pin" i],.kf-pdp .summary input[id*="pin" i] {flex:1 1 150px;height:46px;min-height:46px;padding:10px 12px;font-size:16px!important}
  .kf-pdp .summary form:has(input[placeholder*="pin" i],input[name*="pin" i],input[id*="pin" i]) button,
  .kf-pdp .summary form:has(input[placeholder*="pin" i],input[name*="pin" i],input[id*="pin" i]) input[type="submit"],
  .kf-pdp .summary form:has(input[placeholder*="pin" i],input[name*="pin" i],input[id*="pin" i]) input[type="button"],
  .kf-pdp .summary div:has(> input[placeholder*="pin" i],> input[name*="pin" i],> input[id*="pin" i]) > button,
  .kf-pdp .summary div:has(> input[placeholder*="pin" i],> input[name*="pin" i],> input[id*="pin" i]) > input[type="submit"],
  .kf-pdp .summary div:has(> input[placeholder*="pin" i],> input[name*="pin" i],> input[id*="pin" i]) > input[type="button"] {min-height:46px;padding:10px 13px;font-size:11px}
}

/* v1.1.31: keep the pincode widget compact while preserving its colors. */
.kf-pdp .summary form:has(input[placeholder*="pin" i],input[name*="pin" i],input[id*="pin" i]),
.kf-pdp .summary div:has(> input[placeholder*="pin" i],> input[name*="pin" i],> input[id*="pin" i]),
.kf-pdp .summary :is(.pincode-checker,.pincode_checker,.pincode-check,.pin-code-checker,.wc-pincode-checker,.wpc-check-pincode,.wpcp-checker) {max-width:340px!important;gap:6px;margin:6px 0 8px!important}
.kf-pdp .summary input[placeholder*="pin" i],.kf-pdp .summary input[name*="pin" i],.kf-pdp .summary input[id*="pin" i] {height:36px;min-height:36px;padding:6px 10px}
.kf-pdp .summary form:has(input[placeholder*="pin" i],input[name*="pin" i],input[id*="pin" i]) button,
.kf-pdp .summary form:has(input[placeholder*="pin" i],input[name*="pin" i],input[id*="pin" i]) input[type="submit"],
.kf-pdp .summary form:has(input[placeholder*="pin" i],input[name*="pin" i],input[id*="pin" i]) input[type="button"],
.kf-pdp .summary div:has(> input[placeholder*="pin" i],> input[name*="pin" i],> input[id*="pin" i]) > button,
.kf-pdp .summary div:has(> input[placeholder*="pin" i],> input[name*="pin" i],> input[id*="pin" i]) > input[type="submit"],
.kf-pdp .summary div:has(> input[placeholder*="pin" i],> input[name*="pin" i],> input[id*="pin" i]) > input[type="button"] {min-height:36px;padding:6px 11px;font-size:10px}
@media(max-width:760px){
  .kf-pdp .summary form:has(input[placeholder*="pin" i],input[name*="pin" i],input[id*="pin" i]),
  .kf-pdp .summary div:has(> input[placeholder*="pin" i],> input[name*="pin" i],> input[id*="pin" i]),
  .kf-pdp .summary :is(.pincode-checker,.pincode_checker,.pincode-check,.pin-code-checker,.wc-pincode-checker,.wpc-check-pincode,.wpcp-checker) {max-width:100%!important;gap:6px;margin:5px 0 7px!important}
  .kf-pdp .summary input[placeholder*="pin" i],.kf-pdp .summary input[name*="pin" i],.kf-pdp .summary input[id*="pin" i] {flex-basis:140px;height:40px;min-height:40px;padding:7px 10px;font-size:16px!important}
  .kf-pdp .summary form:has(input[placeholder*="pin" i],input[name*="pin" i],input[id*="pin" i]) button,
  .kf-pdp .summary form:has(input[placeholder*="pin" i],input[name*="pin" i],input[id*="pin" i]) input[type="submit"],
  .kf-pdp .summary form:has(input[placeholder*="pin" i],input[name*="pin" i],input[id*="pin" i]) input[type="button"],
  .kf-pdp .summary div:has(> input[placeholder*="pin" i],> input[name*="pin" i],> input[id*="pin" i]) > button,
  .kf-pdp .summary div:has(> input[placeholder*="pin" i],> input[name*="pin" i],> input[id*="pin" i]) > input[type="submit"],
  .kf-pdp .summary div:has(> input[placeholder*="pin" i],> input[name*="pin" i],> input[id*="pin" i]) > input[type="button"] {min-height:40px;padding:7px 10px;font-size:10px}
}


/* Customer login and registration */
.woocommerce-account .u-columns.col2-set { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:18px 0 34px; }
.woocommerce-account .u-columns.col2-set::before,.woocommerce-account .u-columns.col2-set::after { display:none!important; content:none!important; }
.woocommerce-account .u-columns.col2-set .u-column1,
.woocommerce-account .u-columns.col2-set .u-column2 { float:none!important; width:auto!important; max-width:none; padding:24px; border:1px solid var(--line); border-radius:4px; background:#fff; }
.woocommerce-account .u-columns h2 { margin:0 0 18px; color:var(--navy); font-size:30px; }
.woocommerce-account .woocommerce-form-login,.woocommerce-account .woocommerce-form-register { margin:0; padding:0; border:0; }
.woocommerce-account .woocommerce-form-row label { display:block; margin:0 0 6px; color:var(--navy); font-size:14px; }
.woocommerce-account .woocommerce-form-row input.input-text { width:100%; min-height:46px; padding:11px 12px; border:1px solid var(--line); border-radius:2px; background:#fff; color:var(--ink); font:inherit; }
.woocommerce-account .woocommerce-form-row input.input-text:focus { border-color:var(--gold); outline:2px solid rgba(184,151,90,.2); }
.woocommerce-account .woocommerce-form-login button.woocommerce-button,
.woocommerce-account .woocommerce-form-register button.woocommerce-Button { min-height:48px; padding:12px 22px; border:1px solid var(--navy); border-radius:2px; background:var(--navy); color:#fff; font:600 12px/1.2 Jost,system-ui,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.woocommerce-account .woocommerce-form-login button:hover,.woocommerce-account .woocommerce-form-register button:hover { border-color:var(--gold); background:var(--gold); color:var(--navy); }
.woocommerce-account .woocommerce-LostPassword a,.woocommerce-account .woocommerce-privacy-policy-link { color:var(--navy); text-decoration-color:var(--gold); text-underline-offset:3px; }
.woocommerce-account .woocommerce-MyAccount-navigation { margin:18px 0; }
@media(max-width:760px) {
  .woocommerce-account .u-columns.col2-set { grid-template-columns:minmax(0,1fr); gap:14px; margin:14px 0 24px; }
  .woocommerce-account .u-columns.col2-set .u-column1,.woocommerce-account .u-columns.col2-set .u-column2 { padding:18px 16px; }
  .woocommerce-account .u-columns h2 { font-size:26px; }
  .woocommerce-account .woocommerce-form-login button.woocommerce-button,.woocommerce-account .woocommerce-form-register button.woocommerce-Button { width:100%; min-height:50px; }
}

/* Mobile My Account: keep the section switcher compact and let account content use the full width. */
.woocommerce-account .kf-account-nav-toggle { display:none; }
@media(max-width:760px) {
  .woocommerce-account .woocommerce { width:100%; max-width:100%; min-width:0; }
  .woocommerce-account .woocommerce-MyAccount-navigation.kf-account-nav-enhanced { margin:12px 0 16px; padding:0; border:1px solid var(--line); border-radius:4px; background:#fff; overflow:hidden; }
  .woocommerce-account .kf-account-nav-toggle { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; min-height:52px; padding:12px 16px; border:0; background:#fff; color:var(--navy); text-align:left; font:600 16px/1.35 Jost,system-ui,sans-serif; }
  .woocommerce-account .kf-account-nav-chevron { width:9px; height:9px; flex:0 0 9px; border-right:2px solid var(--gold); border-bottom:2px solid var(--gold); transform:rotate(45deg) translateY(-2px); transition:transform .18s ease; }
  .woocommerce-account .kf-account-nav-open .kf-account-nav-chevron { transform:rotate(225deg) translate(-2px,-1px); }
  .woocommerce-account .woocommerce-MyAccount-navigation.kf-account-nav-enhanced ul { display:none; margin:0; padding:0 12px 10px; list-style:none; }
  .woocommerce-account .woocommerce-MyAccount-navigation.kf-account-nav-enhanced.kf-account-nav-open ul { display:block; }
  .woocommerce-account .woocommerce-MyAccount-navigation.kf-account-nav-enhanced li { margin:0; padding:0; border-top:1px solid var(--line); }
  .woocommerce-account .woocommerce-MyAccount-navigation.kf-account-nav-enhanced li a { display:block; padding:12px 5px; color:var(--navy); text-decoration:none; font-size:15px; }
  .woocommerce-account .woocommerce-MyAccount-navigation.kf-account-nav-enhanced li.is-active a { color:var(--gold); font-weight:600; }
  .woocommerce-account .woocommerce-MyAccount-content { float:none; width:100%; max-width:100%; min-width:0; margin:0; padding:16px; border:1px solid var(--line); border-radius:4px; background:#fff; box-sizing:border-box; overflow-wrap:anywhere; }
  .woocommerce-account .woocommerce-MyAccount-content > *:first-child { margin-top:0; }
  .woocommerce-account .woocommerce-MyAccount-content table { width:100%; max-width:100%; table-layout:fixed; }
  .woocommerce-account .woocommerce-MyAccount-content th,.woocommerce-account .woocommerce-MyAccount-content td { padding:10px 8px; overflow-wrap:anywhere; }
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions { display:flex; flex-wrap:wrap; gap:6px; }
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions a { margin:0!important; }
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-button { min-height:38px; padding:9px 12px; font-size:10px; }
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields button,
  .woocommerce-account .woocommerce-MyAccount-content button[name="save_account_details"] { width:auto; max-width:100%; }
  .woocommerce-account .woocommerce-Addresses { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
  .woocommerce-account .woocommerce-Addresses::before,.woocommerce-account .woocommerce-Addresses::after { display:none!important; content:none!important; }
  .woocommerce-account .woocommerce-Addresses .woocommerce-Address { float:none; width:100%; max-width:100%; margin:0; padding:14px; border:1px solid var(--line); border-radius:4px; background:#f8f6f1; box-sizing:border-box; }
  .woocommerce-account .woocommerce-Address-title { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
  .woocommerce-account .woocommerce-Address-title h2 { margin:0; font-size:22px; }
  .woocommerce-account .woocommerce-Address-title a { font-size:14px; }
}
