/* Native WooCommerce content with KIVANTOS typography, spacing and colour. */
/* Woo's archive header sits inside our page heading, not in the navigation shell. */
.kv-commerce .kv-commerce-content header.woocommerce-products-header{display:contents;color:var(--ink)}
body.kv-commerce-body.post-type-archive-product .kv-commerce-content>h1.page-title,body.kv-commerce-body.post-type-archive-product .kv-commerce-content header.woocommerce-products-header>.woocommerce-products-header__title{display:none}
.kv-commerce .kv-commerce-content :is(.woocommerce-message,.woocommerce-info,.woocommerce-error)::before{content:none}
.kv-commerce .kv-commerce-content :is(.woocommerce-message,.woocommerce-info,.woocommerce-error){padding-left:22px;padding-right:22px}
body.kv-commerce-body{margin:0;background:#fff}
.kv.kv-commerce{min-height:100vh}
.kv-commerce .kv-commerce-main{width:min(100%,var(--content-max));margin:0 auto;padding:64px var(--content-pad) 88px;min-height:55vh}
.kv-commerce .kv-commerce-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin:0 0 48px;padding:0 0 36px;border-bottom:1px solid var(--line)}
.kv-commerce .eyebrow{color:var(--copy);font-family:var(--font-text);font-size:11px;font-weight:600;letter-spacing:.14em;line-height:1.5;text-transform:uppercase;margin:0 0 18px}
.kv-commerce .kv-commerce-heading h1{font-family:var(--font-display);font-size:clamp(40px,4.2vw,64px);font-weight:500;letter-spacing:-.05em;line-height:1.05;margin:0 0 18px;color:var(--ink)}
.kv-commerce .kv-commerce-heading p{font-size:15px;line-height:1.7;margin:0;max-width:52ch;color:var(--copy)}
.kv-commerce .kv-commerce-steps{display:flex;align-items:center;gap:20px;white-space:nowrap;font-size:12px;font-weight:600;letter-spacing:.02em;padding:0 0 5px;color:var(--copy)}
.kv-commerce .kv-commerce-steps a{padding:8px 0}
.kv-commerce .kv-commerce-steps a[aria-current]{color:var(--ink);box-shadow:0 2px 0 var(--lime)}
.kv-commerce .kv-commerce-step-line{width:28px;height:1px;background:var(--line)}
.kv-commerce .kv-commerce-content{font-family:var(--font-text);font-size:15px;line-height:1.7;color:var(--ink)}
.kv-commerce .kv-commerce-content h2,.kv-commerce .kv-commerce-content h3,.kv-commerce .kv-commerce-content h4{font-family:var(--font-display);font-weight:500;letter-spacing:-.025em;line-height:1.3;color:var(--ink);margin:0 0 24px}
.kv-commerce .kv-commerce-content h2{font-size:26px}
.kv-commerce .kv-commerce-content h3{font-size:22px}
.kv-commerce .kv-commerce-content h4{font-size:18px}
.kv-commerce .kv-commerce-content a{color:var(--ink);text-decoration:none}
.kv-commerce .kv-commerce-content a:hover{color:var(--blue)}
.kv-commerce .kv-commerce-content p{margin:0 0 20px}
.kv-commerce .kv-commerce-content table{color:var(--ink);font-size:14px;border-color:var(--line)}
.kv-commerce .kv-commerce-content th{font-family:var(--font-text);font-size:11px;letter-spacing:.07em;line-height:1.5;font-weight:600;text-transform:uppercase;color:var(--copy);padding:18px 12px;border-color:var(--line)}
.kv-commerce .kv-commerce-content td{padding:24px 12px;border-color:var(--line);vertical-align:middle}
.kv-commerce .kv-commerce-content .product-name{font-size:15px;font-weight:500;letter-spacing:-.01em}
.kv-commerce .kv-commerce-content .amount{color:var(--ink);font-weight:600}
.kv-commerce .kv-commerce-content .product-thumbnail img{width:100px;max-width:100px;border-radius:4px}
.kv-commerce .kv-commerce-content .cart_totals{background:var(--light);border:1px solid var(--line);padding:28px;border-radius:8px}
.kv-commerce .kv-commerce-content .cart_totals h2{text-transform:none;font-size:24px;margin:0 0 18px}
.kv-commerce .kv-commerce-content .cart_totals td,.kv-commerce .kv-commerce-content .cart_totals th{padding:18px 0;text-transform:none;letter-spacing:0;font-size:13px;color:var(--copy)}
.kv-commerce .kv-commerce-content .cart_totals .order-total td,.kv-commerce .kv-commerce-content .cart_totals .order-total th{color:var(--ink);font-size:18px}
.kv-commerce .kv-commerce-content :is(button,.button,input[type=submit],a.checkout-button){background:var(--lime);border:1px solid transparent;border-radius:4px;color:var(--ink);font-family:var(--font-text);font-size:12px;font-weight:700;letter-spacing:.025em;line-height:1.4;text-transform:uppercase;min-height:46px;padding:14px 22px;box-shadow:none;transition:background .18s,transform .18s}
.kv-commerce .kv-commerce-content :is(button,.button,input[type=submit],a.checkout-button):hover{background:#d3ee60;color:var(--ink);transform:translateY(-1px)}
.kv-commerce .kv-commerce-content :is(button,.button,input[type=submit]):disabled{background:#eef0f3;color:#7d8999;transform:none}
.kv-commerce .kv-commerce-content a.checkout-button{display:block;text-align:center;width:100%;margin:12px 0 0;min-height:50px}
.kv-commerce .kv-commerce-content :is(input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=search],textarea,select){font-family:var(--font-text);font-size:14px;line-height:1.5;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:4px;box-shadow:none;min-height:46px}
.kv-commerce .kv-commerce-content :is(input,textarea,select):focus{outline:2px solid #192f7333;outline-offset:2px;border-color:var(--blue)}
.kv-commerce .kv-commerce-content .quantity :is(input.qty,.minus,.plus){width:32px;min-width:0;min-height:40px;height:40px;padding:4px;font-size:13px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:0;transform:none}
.kv-commerce .kv-commerce-content .quantity :is(.minus,.plus):hover{background:var(--light);transform:none}
.kv-commerce .kv-commerce-content .quantity input.qty{width:40px}
.kv-commerce .kv-commerce-content .coupon{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.kv-commerce .kv-commerce-content .coupon input{width:190px;max-width:100%}
.kv-commerce .kv-commerce-content .woocommerce-message,.kv-commerce .kv-commerce-content .woocommerce-info,.kv-commerce .kv-commerce-content .woocommerce-error{background:#f1f5e9;color:var(--ink);border:1px solid #d8e4c3;border-left:3px solid var(--lime);border-radius:4px;box-shadow:none;padding-top:18px;padding-bottom:18px;font-size:14px;margin-bottom:30px}
.kv-commerce .kv-commerce-content .woocommerce-info{background:var(--light);border-color:var(--line);border-left-color:var(--blue)}
.kv-commerce .kv-commerce-content .woocommerce-error{background:#fff6f5;border-color:#eedbd8;border-left-color:#aa3d35}
.kv-commerce .kv-commerce-content :is(.woocommerce-message,.woocommerce-info,.woocommerce-error):before{color:var(--ink)}
.kv-commerce .kv-commerce-content .woocommerce-MyAccount-navigation{border:1px solid var(--line);border-radius:6px;background:var(--light)}
.kv-commerce .kv-commerce-content .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:6px}
.kv-commerce .kv-commerce-content .woocommerce-MyAccount-navigation li{list-style:none;margin:0}
.kv-commerce .kv-commerce-content .woocommerce-MyAccount-navigation a{display:block;padding:12px 14px;border-radius:3px}
.kv-commerce .kv-commerce-content .woocommerce-MyAccount-navigation a{font-size:13px;letter-spacing:.01em}
.kv-commerce .kv-commerce-content .woocommerce-MyAccount-navigation .is-active a{background:var(--dark);color:#fff}
.kv-commerce .kv-commerce-content .woocommerce-MyAccount-content{padding:0 0 0 32px}
.kv-commerce .kv-commerce-content .woocommerce-MyAccount-content a{text-decoration:underline;text-underline-offset:3px}
.kv-commerce .kv-commerce-content .form-row{margin-bottom:20px}
.kv-commerce .kv-commerce-content .form-row label{font-size:13px;font-weight:500;margin-bottom:8px;color:var(--ink)}
.kv-commerce .kv-commerce-content #order_review{border:1px solid var(--line);border-top:0;border-radius:0 0 8px 8px;padding:28px;background:var(--light)}
.kv-commerce .kv-commerce-content #order_review_heading{text-align:left;text-transform:none}
.kv-commerce .kv-commerce-content #place_order{width:100%;background:var(--lime);color:var(--ink);border-radius:4px;min-height:50px;padding:14px 22px;font-family:var(--font-text);font-size:12px;font-weight:700;box-shadow:none}
.kv-commerce .kv-commerce-content #place_order:hover{background:#d3ee60;color:var(--ink);box-shadow:none}
.kv-commerce .kv-commerce-content .select2-container--default .select2-selection--single{border-color:var(--line);border-radius:4px;min-height:46px}
.kv-commerce .kv-commerce-content .select2-container .select2-selection--single .select2-selection__rendered{color:var(--ink);font-size:14px;line-height:44px}
.kv-commerce .kv-commerce-content .select2-container--default .select2-selection--single .select2-selection__arrow{height:44px}
.kv-commerce .kv-commerce-support{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);margin-top:64px;padding-top:24px;font-size:12px;line-height:1.6;color:var(--copy)}
.kv-commerce .kv-commerce-support a{display:inline-flex;align-items:center;gap:12px;color:var(--ink);font-weight:500}
.kv-commerce .kv-commerce-content:after{content:'';display:block;clear:both}
@media(max-width:900px){
 .kv-commerce .kv-commerce-main{padding-top:48px;padding-bottom:64px}
 .kv-commerce .kv-commerce-heading{align-items:flex-start;flex-direction:column;gap:24px;margin-bottom:32px;padding-bottom:28px}
 .kv-commerce .kv-commerce-content .woocommerce-MyAccount-content{padding-left:20px}
}
@media(max-width:760px){
 .kv-commerce .kv-commerce-main{padding-top:36px}
 .kv-commerce .kv-commerce-heading h1{font-size:40px}
 .kv-commerce .kv-commerce-heading p{font-size:14px}
 .kv-commerce .kv-commerce-content table{font-size:13px}
 .kv-commerce .kv-commerce-content td{padding:16px 8px}
 .kv-commerce .kv-commerce-content .product-name{font-size:14px}
 .kv-commerce .kv-commerce-content .product-thumbnail img{width:76px;max-width:76px}
 .kv-commerce .kv-commerce-content .woocommerce-MyAccount-content{padding:24px 0 0}
 .kv-commerce .kv-commerce-support{align-items:flex-start;flex-direction:column;gap:14px;margin-top:40px;padding-top:22px}
}
@media(prefers-reduced-motion:reduce){.kv-commerce .kv-commerce-content :is(button,.button,input[type=submit],a.checkout-button){transition:none}}

/* Core WooCommerce layouts use the native forms and data without a parent theme. */
.woocommerce-cart .kv-commerce-content>.woocommerce:has(.woocommerce-cart-form){display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.55fr);gap:32px;align-items:start}
.woocommerce-cart .kv-commerce-content>.woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}
.woocommerce-cart .kv-commerce-content>.woocommerce>.woocommerce-notices-wrapper:empty{display:none}
.kv-commerce .kv-commerce-content .woocommerce-cart-form{min-width:0;margin:0}
.kv-commerce .kv-commerce-content .cart-collaterals{width:100%;min-width:0}
.kv-commerce .kv-commerce-content .cart-collaterals .cart_totals{float:none;width:100%;text-align:left}
.kv-commerce .kv-commerce-content .quantity{display:inline-flex;vertical-align:middle}
.kv-commerce .kv-commerce-content .quantity:has(input[type=hidden]){display:none}
.kv-commerce .kv-commerce-content .quantity:has(input[readonly]) :is(.minus,.plus){display:none}
.kv-commerce .kv-commerce-content table.shop_table{border:0;border-radius:0;border-collapse:collapse;margin:0 0 24px;width:100%}
.kv-commerce .kv-commerce-content table.shop_table th,.kv-commerce .kv-commerce-content table.shop_table td{border:0;border-bottom:1px solid var(--line)}
.kv-commerce .kv-commerce-content .product-remove{width:28px}
.kv-commerce .kv-commerce-content a.remove{font-size:22px;font-weight:400;color:var(--copy)!important;line-height:1;display:inline-block;width:24px;height:24px;text-align:center;background:transparent}
.kv-commerce .kv-commerce-content a.remove:hover{color:var(--ink)!important;background:var(--light)}
.kv-commerce .kv-commerce-content .actions .coupon{float:left}
.kv-commerce .kv-commerce-content .actions>button{float:right}
.kv-commerce .kv-commerce-content .actions:after{content:'';display:block;clear:both}
.kv-commerce .kv-commerce-content .woocommerce-shipping-methods{list-style:none;margin:0;padding:0}
.kv-commerce .kv-commerce-content .woocommerce-shipping-methods li{list-style:none;margin:0}
.kv-commerce .kv-commerce-content form.checkout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,1fr);grid-template-rows:min-content 1fr;column-gap:40px;align-items:start}
.kv-commerce .kv-commerce-content form.checkout #customer_details{grid-column:1;grid-row:1/3;width:100%;min-width:0}
.kv-commerce .kv-commerce-content form.checkout .col2-set>.col-1,.kv-commerce .kv-commerce-content form.checkout .col2-set>.col-2{float:none;width:100%}
.kv-commerce .kv-commerce-content #order_review_heading{grid-column:2;grid-row:1;margin:0;border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0;padding:28px 28px 0;background:var(--light);align-self:end}
.kv-commerce .kv-commerce-content #order_review{grid-column:2;grid-row:2;min-width:0}
.kv-commerce .kv-commerce-content #payment{background:transparent;border-radius:0}
.kv-commerce .kv-commerce-content #payment .payment_methods{padding:0;margin-bottom:24px}
.kv-commerce .kv-commerce-content #payment .place-order{padding:0;margin:0}
.kv-commerce .kv-commerce-content .form-row input.input-text,.kv-commerce .kv-commerce-content .form-row textarea{width:100%;padding:12px 14px}
.kv-commerce .kv-commerce-content .form-row select{width:100%;padding:10px 14px}
.kv-commerce .kv-commerce-content .woocommerce-checkout-payment p{font-size:13px;line-height:1.7}
.kv-commerce .kv-commerce-content>.woocommerce:has(.woocommerce-MyAccount-navigation){display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;align-items:start}
.kv-commerce .kv-commerce-content>.woocommerce:has(.woocommerce-MyAccount-navigation):before,.kv-commerce .kv-commerce-content>.woocommerce:has(.woocommerce-MyAccount-navigation):after{display:none}
.kv-commerce .kv-commerce-content table.cart td.actions .coupon input.input-text{width:190px;max-width:100%;padding:12px 14px}
.kv-commerce .kv-commerce-content button.show-password-input,.kv-commerce .kv-commerce-content button.show-password-input:hover{background:transparent;color:var(--copy);border:0;border-radius:0;min-height:24px;height:24px;width:24px;padding:0;box-shadow:none;transform:translateY(-50%);font-size:14px}
.kv-commerce .kv-commerce-content .woocommerce-MyAccount-navigation,.kv-commerce .kv-commerce-content .woocommerce-MyAccount-content{float:none;width:100%;padding:0;min-width:0}
.kv-commerce .kv-commerce-content .woocommerce-MyAccount-navigation a:hover{background:#eef1f7}
.kv-commerce .kv-commerce-content form.woocommerce-form{border:1px solid var(--line);border-radius:8px;padding:28px;background:var(--light)}
.kv-commerce .kv-commerce-content ul.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:0;list-style:none}
.kv-commerce .kv-commerce-content ul.products:before,.kv-commerce .kv-commerce-content ul.products:after{display:none}
.kv-commerce .kv-commerce-content ul.products li.product{width:100%;float:none;margin:0;padding:0}
@media(max-width:1024px){
 .woocommerce-cart .kv-commerce-content>.woocommerce:has(.woocommerce-cart-form){grid-template-columns:minmax(0,1fr)}
}
@media(max-width:768px){
 .kv-commerce .kv-commerce-content form.checkout{display:block}
 .kv-commerce .kv-commerce-content #order_review_heading{margin-top:36px;padding:20px 20px 0}
 .kv-commerce .kv-commerce-content #order_review{padding:20px}
 .kv-commerce .kv-commerce-content>.woocommerce:has(.woocommerce-MyAccount-navigation){grid-template-columns:minmax(0,1fr);gap:28px}
 .kv-commerce .kv-commerce-content .actions .coupon{float:none;margin:0 0 16px;justify-content:flex-start}
 .kv-commerce .kv-commerce-content .actions>button{float:none;width:100%}
 .kv-commerce .kv-commerce-content .coupon input{flex:1;min-width:0}
 .kv-commerce .kv-commerce-content .coupon button{flex-shrink:0;padding:14px}
 .kv-commerce .kv-commerce-content .product-name{overflow-wrap:anywhere}
 .kv-commerce .kv-commerce-content table.shop_table_responsive tr td{background:#fff}
 .kv-commerce .kv-commerce-content table.shop_table_responsive tr td:before{font-weight:500;color:var(--copy)}
 .kv-commerce .kv-commerce-content ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
}
