/*
Theme Name: KKMOD Studio
Theme URI: https://kkmod.shop/
Author: KKMOD
Description: Monochrome product studio and WooCommerce storefront.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: kkmod-studio
*/

:root{--kk-black:#101112;--kk-white:#fff;--kk-paper:#f0f0ed;--kk-gray:#85888b;--kk-line:rgba(20,20,20,.16);--kk-max:1440px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--kk-black);background:#fff;font-family:Arial,"Helvetica Neue","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid #85888b;outline-offset:3px}
.kkm-shell{width:min(100%,var(--kk-max));margin-inline:auto}
.kkm-header{min-height:76px;padding:0 clamp(20px,5vw,76px);display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;border-bottom:1px solid #e4e4e1;position:relative;z-index:20}
.kkm-logo{font-size:27px;font-weight:800;letter-spacing:-.09em;white-space:nowrap}
.kkm-logo sup{font-size:9px;letter-spacing:0;margin-left:3px}
.kkm-nav-list,.kkm-footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:24px;list-style:none;margin:0;padding:0}
.kkm-nav-list a,.kkm-header-actions a{font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.kkm-nav-list a:hover,.kkm-header-actions a:hover,.kkm-footer-links a:hover{opacity:.55}
.kkm-header-actions{display:flex;gap:18px;align-items:center;white-space:nowrap}
.kkm-menu-toggle{display:none;border:1px solid #bbb;background:#fff;padding:10px 12px;font-size:10px;letter-spacing:.1em}
.kkm-home{overflow:clip}
.kkm-hero{min-height:min(820px,90svh);position:relative;display:flex;flex-direction:column;justify-content:center;padding:42px clamp(22px,6vw,96px);color:#fff;background:radial-gradient(ellipse at 78% 48%,rgba(190,195,198,.16),transparent 33%),linear-gradient(120deg,#101112,#252729 58%,#101112)}
.kkm-hero:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.13;background-image:repeating-linear-gradient(115deg,transparent 0,transparent 80px,rgba(255,255,255,.08) 81px,transparent 82px)}
.kkm-hero-meta,.kkm-hero-bottom{position:absolute;z-index:1;left:clamp(22px,6vw,96px);right:clamp(22px,6vw,96px);display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.14em}
.kkm-hero-meta{top:32px}.kkm-hero-bottom{bottom:28px;color:#b8b9ba}
.kkm-hero-content{position:relative;z-index:1;max-width:1000px;padding:70px 0}
.kkm-eyebrow,.kkm-section-label{font-size:10px;line-height:1.7;letter-spacing:.16em;text-transform:uppercase}
.kkm-eyebrow{color:#85888b}
.kkm-hero h1{margin:24px 0;font-size:clamp(48px,8.6vw,124px);font-weight:500;letter-spacing:-.075em;line-height:.91}
.kkm-hero h1 span{color:#aeb1b4}
.kkm-hero-copy{margin:28px 0 34px;color:#c6c7c8;font-size:clamp(14px,1.5vw,18px);line-height:1.8}
.kkm-button{min-height:48px;padding:0 20px;display:inline-flex;justify-content:space-between;align-items:center;gap:30px;border:1px solid currentColor;font-size:10px;letter-spacing:.1em;transition:color .25s,background .25s}
.kkm-button-light{color:#fff;border-color:#77797b}.kkm-button-light:hover{color:#111;background:#fff}
.kkm-button-dark{color:#fff;background:#111;border-color:#111}.kkm-button-dark:hover{color:#111;background:transparent}
.kkm-section{padding:100px clamp(22px,6vw,96px)}
.kkm-section-label{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--kk-line)}
.kkm-section-label a,.kkm-text-link{font-size:10px;letter-spacing:.1em;white-space:nowrap}
.kkm-intro{padding-top:130px;padding-bottom:130px}
.kkm-intro h2,.kkm-products-heading h2,.kkm-materials h2,.kkm-statement h2{font-size:clamp(38px,6vw,82px);line-height:.98;letter-spacing:-.065em;font-weight:400}
.kkm-intro h2{margin:76px 0 50px}.kkm-intro h2 span{color:#96999b}
.kkm-intro-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px}
.kkm-intro-bottom p{max-width:440px;font-size:14px;line-height:1.9;color:#696b6d}
.kkm-products{background:var(--kk-paper)}
.kkm-products-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:44px 0 52px}
.kkm-products-heading h2{margin:0}.kkm-products-heading p{color:#6d6f70;font-size:12px}
.kkm-product-grid ul.products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 20px;margin:0!important;padding:0!important}
.kkm-product-grid ul.products:before,.kkm-product-grid ul.products:after{display:none!important;content:none!important}
.kkm-product-grid ul.products li.product{float:none!important;clear:none!important;width:auto!important;margin:0!important;padding:0!important;text-align:left}
.kkm-product-grid ul.products li.product a img{width:100%;aspect-ratio:4/4.5;object-fit:cover;background:#e5e5e2;margin:0 0 18px!important;transition:opacity .3s}
.kkm-product-grid ul.products li.product a:hover img{opacity:.86}
.kkm-product-grid ul.products li.product .woocommerce-loop-product__title{padding:0!important;color:#171819;font-size:14px!important;font-weight:500}
.kkm-product-grid ul.products li.product .price{margin-top:8px!important;color:#666!important;font-size:12px!important}
.kkm-product-grid ul.products li.product .button{margin-top:12px;padding:12px 15px;color:#111;background:transparent;border:1px solid #aaa;border-radius:0;font-size:10px;font-weight:400}
.kkm-store-notice{grid-column:1/-1;min-height:220px;display:flex;flex-direction:column;justify-content:center;border-block:1px solid var(--kk-line)}
.kkm-store-notice p{font-size:12px;letter-spacing:.13em}.kkm-store-notice span{color:#777;font-size:13px}
.kkm-materials{display:grid;grid-template-columns:1fr 1fr;min-height:560px}
.kkm-materials-copy{padding:90px clamp(22px,6vw,96px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.kkm-materials h2{margin:30px 0}
.kkm-materials-copy>p:not(.kkm-eyebrow){max-width:360px;color:#686a6c;font-size:13px;line-height:1.9;margin-bottom:30px}
.kkm-materials-visual{min-height:460px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;color:#d9dadb;background:radial-gradient(circle at 50% 48%,#535659,#252729 45%,#151617 80%);font-size:9px;letter-spacing:.14em}
.kkm-material-circle{align-self:center;width:min(34vw,250px);aspect-ratio:1;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:linear-gradient(135deg,#a8aaab 0%,#333638 28%,#737678 48%,#202224 72%,#8e9091 100%);box-shadow:inset 0 0 30px rgba(0,0,0,.6),0 0 60px rgba(0,0,0,.25)}
.kkm-statement{padding:110px 22px;text-align:center;color:#fff;background:var(--kk-black)}
.kkm-statement>p{color:#a3a5a7;font-size:10px;letter-spacing:.15em}.kkm-statement h2{margin:45px 0}.kkm-statement h2 span{color:#85888b}
.kkm-statement>a{display:inline-block;padding-bottom:8px;border-bottom:1px solid #888;font-size:10px;letter-spacing:.12em}
.kkm-page-hero{padding:90px clamp(22px,6vw,96px) 55px;background:var(--kk-paper)}
.kkm-page-hero .kkm-eyebrow{margin:0 0 20px}.kkm-page-hero h1{font-size:clamp(42px,7vw,94px);line-height:.95;letter-spacing:-.07em;font-weight:400;margin:0 0 24px}.kkm-page-hero p{max-width:650px;color:#666;line-height:1.8}
.kkm-content{padding:55px clamp(22px,6vw,96px) 100px;min-height:40vh}
.kkm-content>*:first-child{margin-top:0}
.kkm-content h2,.kkm-content h3{letter-spacing:-.04em;font-weight:500}
.kkm-content p,.kkm-content li{line-height:1.85}
.kkm-content img{height:auto}
.kkm-footer{padding:45px clamp(22px,6vw,96px) 25px;background:#101112;color:#f5f5f3}
.kkm-footer-top,.kkm-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}
.kkm-footer-logo{font-size:34px;font-weight:800;letter-spacing:-.09em}.kkm-footer-top p,.kkm-footer-bottom{font-size:9px;letter-spacing:.1em}
.kkm-footer-bottom{margin-top:45px;padding-top:20px;border-top:1px solid #393a3b;color:#aaa}
.kkm-footer-links a{font-size:10px}
.kkm-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.kkm-post-card img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#eee}
.kkm-post-card h2{font-size:20px;font-weight:400;letter-spacing:-.04em}
.kkm-post-card p{font-size:13px;color:#666;line-height:1.8}
.kkm-meta{font-size:10px;letter-spacing:.1em;color:#777;text-transform:uppercase}
.kkm-pagination{display:flex;gap:12px;margin-top:40px}
.kkm-pagination a,.kkm-pagination span{padding:10px 14px;border:1px solid #ddd;font-size:12px}
.kkm-pagination .current{background:#111;color:#fff}
.kkm-search-form{display:flex;gap:8px;max-width:500px}
.kkm-search-form input[type=search]{flex:1;min-width:0;padding:14px;border:1px solid #ccc}
.kkm-search-form button{padding:0 18px;background:#111;color:#fff;border:0}
.woocommerce .quantity .qty{min-height:42px}
.woocommerce div.product form.cart .button,.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,.woocommerce #payment #place_order{border-radius:0;background:#111;color:#fff}
.woocommerce div.product div.images img{background:#f0f0ed}
.woocommerce div.product .product_title{font-weight:400;letter-spacing:-.04em}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:#111}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{border-radius:0}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:#777}
@media(max-width:760px){
 .kkm-header{min-height:65px;padding:0 18px;flex-wrap:wrap;gap:12px}
 .kkm-logo{font-size:23px}.kkm-menu-toggle{display:block;margin-left:auto}
 .kkm-nav{display:none;order:4;width:100%;padding:0 0 16px}.kkm-nav.is-open{display:block}
 .kkm-nav-list{align-items:flex-start;flex-direction:column;gap:17px}
 .kkm-header-actions{gap:12px}.kkm-header-actions a{font-size:9px}
 .kkm-section{padding:70px 22px}.kkm-hero{min-height:740px;min-height:88svh;padding:25px 22px}
 .kkm-hero-meta,.kkm-hero-bottom{left:22px;right:22px;font-size:8px}
 .kkm-hero-meta{top:22px}.kkm-hero-bottom{bottom:22px}
 .kkm-hero-meta span:last-child,.kkm-hero-bottom span:last-child{text-align:right}
 .kkm-hero h1{font-size:clamp(43px,11vw,78px)}
 .kkm-intro{padding-top:80px;padding-bottom:80px}.kkm-intro h2{margin:50px 0 28px}
 .kkm-intro-bottom,.kkm-products-heading{align-items:flex-start;flex-direction:column}
 .kkm-products-heading{padding:35px 0;gap:8px}
 .kkm-product-grid ul.products{gap:30px 12px}
 .kkm-product-grid ul.products li.product a img{aspect-ratio:4/4.8}
 .kkm-product-grid ul.products li.product .woocommerce-loop-product__title{font-size:12px!important}
 .kkm-product-grid ul.products li.product .button{font-size:9px;padding:10px}
 .kkm-materials{grid-template-columns:1fr}.kkm-materials-copy{padding:75px 22px}
 .kkm-materials-visual{min-height:340px}.kkm-material-circle{width:180px}
 .kkm-statement{padding:80px 22px}.kkm-page-hero{padding:70px 22px 40px}
 .kkm-content{padding:40px 22px 70px}.kkm-post-grid{grid-template-columns:1fr 1fr;gap:20px}
 .kkm-footer-top,.kkm-footer-bottom{align-items:flex-start;flex-direction:column}
 .kkm-footer-bottom{margin-top:30px}.kkm-footer-links{gap:15px}
}
@media(max-width:440px){.kkm-post-grid{grid-template-columns:1fr}.kkm-header-actions{width:100%;padding-bottom:12px}.kkm-hero-meta,.kkm-hero-bottom{font-size:7px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}


/* === KKMOD Product Detail === */
.kkm-woo-single{padding:0 clamp(18px,4.5vw,68px) 90px}
.kkm-breadcrumbs{padding:20px 0 28px;font-size:10px;letter-spacing:.06em;color:#777}
.kkm-breadcrumbs a{color:#222}
.kkm-product-detail{max-width:1500px;margin:0 auto}
.kkm-product-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:clamp(35px,6vw,100px);align-items:start}
.kkm-product-gallery{min-width:0}
.kkm-product-gallery .woocommerce-product-gallery{width:100%!important;float:none!important;opacity:1!important}
.kkm-product-gallery .woocommerce-product-gallery__wrapper{background:#f0f0ed}
.kkm-product-gallery .woocommerce-product-gallery__image img{width:100%;height:auto;object-fit:contain}
.kkm-product-gallery .flex-control-thumbs{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:10px 0 0!important;padding:0!important}
.kkm-product-gallery .flex-control-thumbs li{width:100%!important;float:none!important;margin:0!important}
.kkm-product-gallery .flex-control-thumbs img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#eee;opacity:.62;transition:opacity .2s}
.kkm-product-gallery .flex-control-thumbs img.flex-active,.kkm-product-gallery .flex-control-thumbs img:hover{opacity:1}
.kkm-product-summary{position:sticky;top:28px;min-width:0;padding-top:12px}
.kkm-product-summary>.kkm-eyebrow{margin:0 0 22px}
.kkm-product-summary .product_title{font-size:clamp(34px,4vw,58px);line-height:1;letter-spacing:-.065em;font-weight:400;margin:0 0 20px}
.kkm-product-price .price{font-size:17px!important;color:#171819!important}
.kkm-product-stock{display:flex;align-items:center;gap:8px;margin:17px 0 22px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#5f6264}
.kkm-stock-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#687e69}
.kkm-stock-dot.is-out{background:#9a7774}
.kkm-product-short-description{font-size:13px;line-height:1.9;color:#686a6c;padding:15px 0 24px;border-bottom:1px solid #dededb}
.kkm-product-cart{padding:24px 0;border-bottom:1px solid #dededb}
.kkm-product-cart form.cart{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;margin:0!important}
.kkm-product-cart form.cart .quantity{float:none!important;margin:0!important}
.kkm-product-cart form.cart .quantity .qty{height:49px;min-width:66px;border:1px solid #ccc;background:#fff;border-radius:0}
.kkm-product-cart form.cart .single_add_to_cart_button{flex:1;min-height:49px;border-radius:0!important;background:#111!important;color:#fff!important;padding:13px 20px!important;font-size:10px!important;letter-spacing:.1em;text-transform:uppercase}
.kkm-product-cart form.cart .single_add_to_cart_button:hover{background:#444!important}
.kkm-product-cart form.variations_form{display:block}
.kkm-product-cart table.variations{width:100%;margin:0 0 18px!important}
.kkm-product-cart table.variations th,.kkm-product-cart table.variations td{display:block;text-align:left;padding:8px 0!important}
.kkm-product-cart table.variations label{font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.kkm-product-cart table.variations select{width:100%;min-height:45px;border:1px solid #ccc;border-radius:0;padding:0 12px;background:#fff}
.kkm-product-cart .reset_variations{font-size:10px}
.kkm-product-cart .single_variation_wrap{margin-top:14px}
.kkm-product-meta{padding:18px 0;border-bottom:1px solid #dededb;font-size:10px;line-height:1.9;color:#777}
.kkm-product-meta .product_meta>span{display:block}
.kkm-product-meta a{text-decoration:underline;text-underline-offset:3px}
.kkm-product-accordions{margin-top:8px}
.kkm-product-accordions details{border-bottom:1px solid #dededb}
.kkm-product-accordions summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:19px 0;font-size:10px;letter-spacing:.12em}
.kkm-product-accordions summary::-webkit-details-marker{display:none}
.kkm-product-accordions details[open] summary span{transform:rotate(45deg)}
.kkm-product-accordions summary span{font-size:15px;transition:transform .2s}
.kkm-accordion-content{padding:0 0 20px;font-size:12px;line-height:1.9;color:#696b6d}
.kkm-accordion-content table{border-collapse:collapse;width:100%;font-size:12px}
.kkm-accordion-content th,.kkm-accordion-content td{padding:9px 6px;border-bottom:1px solid #e4e4e1;text-align:left}
.kkm-product-detail .related,.kkm-product-detail .upsells{margin-top:90px}
.kkm-product-detail .related>h2,.kkm-product-detail .upsells>h2{font-size:28px;font-weight:400;letter-spacing:-.04em;margin-bottom:28px}
.kkm-product-detail .woocommerce-tabs{margin-top:55px}
.kkm-product-detail .woocommerce-tabs ul.tabs{padding:0!important}
.kkm-product-detail .woocommerce-tabs ul.tabs:before{border-color:#ddd!important}
.kkm-product-detail .woocommerce-tabs ul.tabs li{border-radius:0!important;background:#f4f4f1!important;border-color:#ddd!important}
.kkm-product-detail .woocommerce-tabs ul.tabs li.active{background:#fff!important}
.kkm-product-detail .woocommerce-tabs .panel{font-size:13px;line-height:1.9}

/* === Shop filters and product cards === */
.kkm-shop-content{padding:35px clamp(18px,4.5vw,68px) 90px}
.kkm-shop-toolbar{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:15px;padding-bottom:22px;border-bottom:1px solid #ddd}
.kkm-filter-toggle{display:none}
.kkm-result-count{font-size:11px;color:#777;text-align:center}
.kkm-ordering{text-align:right}
.kkm-ordering .woocommerce-ordering{float:none;margin:0}
.kkm-ordering select{max-width:100%;padding:10px 28px 10px 10px;border:1px solid #ddd;border-radius:0;background:#fff;font-size:11px}
.kkm-shop-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:36px;padding-top:28px}
.kkm-shop-filters{min-width:0}
.kkm-filter-head{display:flex;align-items:center;justify-content:space-between;padding:0 0 18px;border-bottom:1px solid #ddd;font-size:10px;letter-spacing:.12em}
.kkm-filter-close{display:none;border:0;background:none;font-size:25px;line-height:1}
.kkm-filter-group{padding:22px 0;border-bottom:1px solid #e1e1de}
.kkm-filter-group>label:first-child,.kkm-filter-label{display:block;margin:0 0 14px;font-size:10px;letter-spacing:.12em}
.kkm-filter-group input[type=search],.kkm-price-fields input{width:100%;min-width:0;padding:12px 10px;border:1px solid #ccc;border-radius:0;background:#fff;font-size:12px}
.kkm-check-row{display:flex;align-items:center;gap:9px;margin:11px 0;font-size:12px;cursor:pointer}
.kkm-check-row input{accent-color:#111}
.kkm-check-row span{flex:1}
.kkm-check-row small{color:#999;font-size:10px}
.kkm-price-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.kkm-price-fields label span{display:block;margin-bottom:7px;color:#888;font-size:9px;letter-spacing:.1em}
.kkm-filter-note{font-size:11px;color:#777;line-height:1.7}
.kkm-filter-actions{display:flex;flex-direction:column;gap:15px;padding-top:22px}
.kkm-filter-apply{min-height:44px;background:#111;color:#fff;border:1px solid #111;font-size:10px;letter-spacing:.1em;cursor:pointer}
.kkm-filter-reset{text-align:center;font-size:10px;letter-spacing:.1em;text-decoration:underline;text-underline-offset:4px}
.kkm-shop-results{min-width:0}
.kkm-shop-results ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 18px;margin:0!important;padding:0!important}
.kkm-shop-results ul.products:before,.kkm-shop-results ul.products:after{display:none!important;content:none!important}
.kkm-shop-results ul.products li.product{float:none!important;clear:none!important;width:auto!important;margin:0!important;padding:0!important}
.kkm-product-card .kkm-card-image{position:relative;display:block;overflow:hidden;background:#eee}
.kkm-product-card .kkm-card-image>img{width:100%;aspect-ratio:4/4.7;object-fit:cover;margin:0!important;transition:transform .45s,opacity .25s}
.kkm-product-card .kkm-card-image:hover>img{transform:scale(1.025);opacity:.9}
.kkm-product-card .onsale{position:absolute;top:10px!important;left:10px!important;right:auto!important;min-height:0!important;line-height:1!important;border-radius:0!important;padding:8px!important;background:#fff!important;color:#111!important;font-size:9px!important}
.kkm-card-view{position:absolute;bottom:12px;right:12px;background:rgba(255,255,255,.92);padding:10px 12px;font-size:9px;letter-spacing:.1em;opacity:0;transition:opacity .2s}
.kkm-card-image:hover .kkm-card-view{opacity:1}
.kkm-card-info{padding-top:13px}
.kkm-card-info .woocommerce-loop-product__title{font-size:13px!important;font-weight:400!important;line-height:1.45;padding:0!important;margin:0!important}
.kkm-card-meta{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-top:8px;font-size:10px;color:#777}
.kkm-card-meta .price{margin:0!important;font-size:11px!important;color:#333!important}
.kkm-card-meta>span{letter-spacing:.06em}
.kkm-product-card .button{display:none!important}
.kkm-shop-results .woocommerce-pagination{margin-top:45px}
.kkm-shop-results .woocommerce-pagination ul{border:0!important;display:flex;gap:6px}
.kkm-shop-results .woocommerce-pagination ul li{border:0!important}
.kkm-shop-results .woocommerce-pagination ul li a,.kkm-shop-results .woocommerce-pagination ul li span{border:1px solid #ddd!important;padding:11px 14px!important}
.kkm-shop-results .woocommerce-pagination ul li span.current{background:#111!important;color:#fff!important}
.kkm-shop-hero{padding-bottom:45px}
.kkm-shop-hero h1{margin-bottom:18px}
.kkm-shop-hero p:last-child{margin-bottom:0}

/* WooCommerce notices, cart and checkout */
.woocommerce-notices-wrapper{font-size:12px}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-radius:0;background:#f5f5f2;font-size:12px;line-height:1.7}
.woocommerce-message .button,.woocommerce-info .button{border-radius:0!important;background:#111!important;color:#fff!important;font-size:10px!important}
.woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce,.woocommerce-account .woocommerce{max-width:1180px;margin:0 auto}
.woocommerce-cart table.shop_table,.woocommerce-checkout table.shop_table{border-collapse:collapse;border-radius:0;border-color:#ddd;font-size:12px}
.woocommerce-cart table.shop_table th,.woocommerce-cart table.shop_table td,.woocommerce-checkout table.shop_table th,.woocommerce-checkout table.shop_table td{padding:15px 12px}
.woocommerce-cart .cart-collaterals .cart_totals,.woocommerce-checkout #order_review{padding:24px;background:#f4f4f1}
.woocommerce-cart .cart-collaterals h2,.woocommerce-checkout #order_review_heading{font-size:23px;font-weight:400;letter-spacing:-.04em}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{min-height:44px;border:1px solid #ccc;border-radius:0;padding:10px 12px}
.woocommerce form .form-row label{font-size:11px}
.woocommerce #payment{border-radius:0;background:#f4f4f1}
.woocommerce #payment div.payment_box{border-radius:0;background:#e8e8e4;font-size:12px}
.woocommerce #payment div.payment_box:before{border-bottom-color:#e8e8e4}
.woocommerce .quantity .qty{border-radius:0;border:1px solid #ccc}
.woocommerce div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger{border-radius:50%}

/* Mobile-first shopping */
@media(max-width:1050px){
 .kkm-shop-results ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
 .kkm-product-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);gap:32px}
}
@media(max-width:760px){
 .kkm-woo-single{padding:0 0 60px}
 .kkm-breadcrumbs{padding:15px 18px 18px}
 .kkm-product-layout{grid-template-columns:minmax(0,1fr);gap:25px}
 .kkm-product-gallery .woocommerce-product-gallery__wrapper{background:#f0f0ed}
 .kkm-product-gallery .flex-control-thumbs{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;padding:0 12px!important}
 .kkm-product-summary{position:static;padding:8px 20px 0}
 .kkm-product-summary .product_title{font-size:clamp(34px,9vw,48px)}
 .kkm-product-summary>.kkm-eyebrow{margin-bottom:15px}
 .kkm-product-short-description{font-size:13px}
 .kkm-product-cart{padding:20px 0}
 .kkm-product-cart form.cart .single_add_to_cart_button{min-height:52px}
 .kkm-product-detail .related,.kkm-product-detail .upsells{padding:0 18px;margin-top:55px}
 .kkm-product-detail .related ul.products,.kkm-product-detail .upsells ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px 12px}
 .kkm-product-detail .woocommerce-tabs{padding:0 18px;margin-top:35px}
 .kkm-shop-content{padding:0 16px 65px}
 .kkm-shop-toolbar{grid-template-columns:1fr auto;gap:12px;padding:15px 0}
 .kkm-filter-toggle{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 14px;border:1px solid #bbb;background:#fff;font-size:10px;letter-spacing:.1em}
 .kkm-result-count{text-align:right;font-size:10px}
 .kkm-ordering{grid-column:1/-1;text-align:left}
 .kkm-ordering .woocommerce-ordering{width:100%}
 .kkm-ordering select{width:100%;min-height:42px}
 .kkm-shop-layout{display:block;padding-top:20px}
 .kkm-shop-filters{display:none}
 .kkm-shop-filters.is-open{display:block;position:fixed;z-index:1000;inset:0 0 0 auto;width:min(88vw,390px);height:100dvh;overflow-y:auto;background:#fff;padding:22px 22px 35px;box-shadow:-20px 0 60px rgba(0,0,0,.16)}
 .kkm-filter-head{position:sticky;top:-22px;background:#fff;padding:8px 0 18px;z-index:2}
 .kkm-filter-close{display:block}
 .kkm-filter-group{padding:19px 0}
 .kkm-filter-actions{padding-bottom:20px}
 body.kkm-filter-open{overflow:hidden}
 .kkm-shop-results ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 10px}
 .kkm-product-card .kkm-card-image>img{aspect-ratio:4/4.8}
 .kkm-card-view{display:none}
 .kkm-card-info{padding-top:10px}
 .kkm-card-info .woocommerce-loop-product__title{font-size:12px!important}
 .kkm-card-meta{display:block;font-size:9px}
 .kkm-card-meta .price{display:block;margin-top:5px!important;font-size:11px!important}
 .woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce,.woocommerce-account .woocommerce{padding:0 16px}
 .woocommerce-cart table.shop_table,.woocommerce-checkout table.shop_table{font-size:11px}
 .woocommerce-cart table.shop_table th,.woocommerce-cart table.shop_table td,.woocommerce-checkout table.shop_table th,.woocommerce-checkout table.shop_table td{padding:9px 7px}
 .woocommerce-cart .cart-collaterals .cart_totals,.woocommerce-checkout #order_review{padding:16px}
 .woocommerce-cart .coupon{display:flex;gap:6px}
 .woocommerce-cart .coupon input.input-text{width:55%!important}
 .woocommerce-cart .coupon button{width:auto!important}
 .woocommerce-cart .actions .button{min-height:42px}
 .woocommerce .woocommerce-form-login,.woocommerce .woocommerce-form-coupon{font-size:12px}
}
@media(max-width:420px){
 .kkm-shop-results ul.products{gap:24px 8px}
 .kkm-card-info .woocommerce-loop-product__title{font-size:11px!important}
 .kkm-product-cart form.cart{gap:8px}
 .kkm-product-cart form.cart .quantity .qty{min-width:58px}
 .kkm-product-cart form.cart .single_add_to_cart_button{padding:12px 10px!important;font-size:9px!important}
}
