/*
Theme Name: Kozmozracing
Description: This is a child theme for Flatsome Theme
Author: Kozmozracing
Template: flatsome
Version: 6.9.3
*/

#tab-description h2 {
	font-family: Poppins, sans-serif;
	font-size: 16px;
	font-weight:600;
}

.dark .form-flat input:not([type=submit]), .dark .form-flat select, .dark .form-flat textarea, .nav-dark .form-flat input:not([type=submit]), .nav-dark .form-flat select, .nav-dark .form-flat textarea {
    background-color: #272727 !important;
    border-color: hsla(0, 0%, 100%, .05);
    color: #fff;
}
.form-flat input:not([type=submit]), .form-flat select, .form-flat textarea {
    background-color: rgba(0, 0, 0, .03);
    border-color: rgba(0, 0, 0, .09);
    border-radius: 5px;
    box-shadow: none;
    color: currentColor !important;
    padding: 15px;
    height: 3.2em;
}

.form-flat button, .form-flat input {
    border-radius: 5px;
    padding: 3px 30px;
}

.subscribe-box .col {
	padding-bottom: 0;
}

.header-main {
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.header-bottom-2 {
    background: linear-gradient(56deg, rgba(7, 7, 7, 1) 8%, rgba(46, 46, 46, 1) 64%);
    background-color: rgb(46, 46, 46);
    color: rgb(255, 255, 255);
    border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.header-bottom-2 .icon-box-text h3 {
	margin-bottom: 0;
}

.box-text-products .price-wrapper {
	margin-top: 10px;
}

/*************** ADD CUSTOM CSS HERE.   ***************/
.salesgen-upsell-checkboxes .float-position-element{
	display: none!important;
}

.salesgen-upsell-checkboxes .wcpa_form_outer .wcpa_form_item select {
    border-radius: 2px;
    min-height: initial!important;
    font-weight: normal!important;
    font-size: 1em;
}


.faq-homepage .accordion-item {
    border-radius: 3px;
	margin-bottom: 15px;
	background: #272727;
}

.faq-homepage .accordion-title {
    display: block;
    font-size: 14px;
    font-weight: 600;
    line-height: 25px;
    padding-left: 15px;
    position: relative;
	border: none !important;
}

.faq-homepage .accordion-title:hover {
	color: #FF1801;
}

.faq-homepage .accordion .toggle {
	right: 0 !important;
	left: unset !important;
}

.faq-homepage .accordion-title.active {
    color: #FF1801 !important;
}

.product_title {
    font-size: 26px;
    font-weight: 500;
    line-height: 1.3;
    color: #0a0a0a;
}


.single_add_to_cart_button {
    border-radius: 3px;
    width: calc(100% - 110px);
    height: 53px;
    font-size: 14px !important;
    font-weight: 700;
    text-transform: uppercase !important;
}

.product-summary .quantity {
    margin-bottom: 1em;
}

.wcpa_form_outer {
	border-bottom: 1px solid #ececec;
	margin-bottom: 30px
}

.wcpa_form_outer .wcpa_form_item .checkbox-style .wcpa_color label span.wcpa_clb_border.label_inside:after {
    content: "";
    display: inline-block;
    position: absolute;
    left: 10px;
    top: 50%;
    margin-top: -10px;
    width: 20px;
    height: 20px;
    border: none;
    border-radius: 100%;
    background-color: #fff;
    background-repeat: no-repeat;
    transform: unset;
    border: 1px solid #ccc;
}

.wcpa_form_outer .wcpa_form_item .checkbox-style .wcpa_color input:checked+label span.wcpa_clb_border.label_inside:after {
	content: "";
	display: inline-block;
	position: absolute;
	left: 10px;
	top: 50%;
	margin-top: -11px;
	width: 22px;
	height: 22px;
	border: none;
	border-radius: 100%;
	background-image: url("data:image/svg+xml,%3Csvg width='21' height='21' viewBox='0 0 21 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='21' height='21' rx='10.5' fill='black'/%3E%3Cpath d='M5 10.5L9 14.5L15.5 8' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	transform: unset
}

.wcpa_form_outer .wcpa_form_item .checkbox-style .wcpa_color label span.wcpa_clb_border.label_inside {
	padding: 0px 10px 0px 34px
}

.wcpa_form_outer .wcpa_form_item .checkbox-style .wcpa_color label span.wcpa_clb_border.label_inside {
	height: 40px!important;
	min-width: 40px!important;
	line-height: 38px!important;
	background: #fff!important;
	width: 100%!important;
	position: relative;
}

.wcpa_form_outer .wcpa_form_item .checkbox-style .wcpa_color label span.label_inside {
	padding: 0 10px
}

.wcpa_form_outer .wcpa_form_item .select-style-fix-css .wcpa_image img {
	width: 100%!important;
	height: 100%!important;
	border-radius: 5px;
	padding: 2px;
	border: 1px solid #e0e0e0
}

.wcpa_form_outer .wcpa_form_item .select-style-fix-css .wcpa_image {
	padding: 0 .5rem 17px;
	margin: 0;
	max-width: 20%
}

.wcpa_form_outer .wcpa_form_item .select-style-fix-css .wcpa_image input:checked+img,.wcpa_form_outer .wcpa_form_item .select-style-fix-css .wcpa_image input:checked+picture img,.wcpa_form_outer .wcpa_form_item .select-style-fix-css input:checked+label img {
	outline: 0;
	padding: 2px;
	border: 2px solid #000
}

.wcpa_form_outer .wcpa_form_item .color-group .wcpa_color label span.wcpa_clb_border {
	border-radius: 5px;
	border: 1px solid rgb(0 0 0 / 15%);
}


.wcpa_form_outer .wcpa_form_item .color-group .wcpa_color label span.label_inside {
	padding: 0 10px;
	font-size: 0.8em;
}

.wcpa_image_desc,
.wcpa_image label {
	font-size: 11px;
	text-align: center;
	line-height: 1.2;
	font-weight: 600;
	padding-top: 5px;
}

.wcpa_form_outer .wcpa_form_item .style-images .wcpa_image {
	padding: 0 0.5rem 17px;
	margin: 0;
	max-width: 20%;
}

.wcpa_form_outer .wcpa_form_item .style-images .wcpa_image img{
	border: 1px solid #e0e0e0;
	padding: 2px;
	border-radius: 5px;
}

.wcpa_form_outer .wcpa_form_item .wcpa_image input:checked+img, .wcpa_form_outer .wcpa_form_item .wcpa_image input:checked+picture img, .wcpa_form_outer .wcpa_form_item input:checked+label img {
	border: 2px solid #000000;
	box-shadow: none;
	padding: 2px;
}

.wcpa_form_outer .wcpa_form_item .color-group .wcpa_color label span.label_inside {
	padding: 0 10px;
	font-weight: 500;
	font-size: 1em;

}

.wcpa_form_outer .wcpa_form_item .color-group .wcpa_color label span.wcpa_clb_border {
	border-radius: 5px;
	border: 2px solid rgb(0 0 0 / 15%);
	height: 40px!important;
    min-width: 40px!important;
    line-height: 38px!important;
    background: #fff!important;
}

.wcpa_form_outer .wcpa_form_item .color-group .wcpa_color input:checked+label span, .wcpa_form_outer .wcpa_form_item .color-custom-v1 .wcpa_color input:checked+label span {
	border: 2px solid #000;
}

.wcpa_form_outer .wcpa_form_item {
	margin-bottom: 15px;
}

.size-chart-icon{
	margin-left: 10px;
	cursor: pointer;
	text-decoration: underline;
	text-transform: capitalize;	
	font-size: 1em;
	padding-left: 30px;
	background-image: url("data:image/svg+xml,%3Csvg version='1.0' xmlns='http://www.w3.org/2000/svg' width='361.000000pt' height='271.000000pt' viewBox='0 0 361.000000 271.000000' preserveAspectRatio='xMidYMid meet'%3E%3Cg transform='translate(0.000000,271.000000) scale(0.100000,-0.100000)'%0Afill='%23000000' stroke='none'%3E%3Cpath d='M715 2684 c-235 -44 -401 -129 -541 -276 -77 -81 -123 -163 -149%0A-263 -23 -89 -23 -1501 0 -1590 26 -100 72 -182 149 -263 108 -113 221 -184%0A381 -236 177 -57 144 -56 1550 -56 1452 0 1348 -6 1429 76 79 78 77 61 74 730%0A-3 584 -3 589 -25 630 -12 22 -39 56 -59 74 -79 69 -24 65 -911 68 l-803 3 0%0A252 c0 279 -6 322 -61 436 -37 74 -147 195 -229 251 -108 73 -233 126 -374%0A156 -103 23 -332 27 -431 8z m377 -228 c213 -41 392 -157 458 -298 95 -201%0A-36 -418 -316 -524 -195 -74 -454 -73 -652 2 -145 54 -262 150 -312 256 -112%0A236 87 485 450 562 86 19 280 20 372 2z m-676 -994 c69 -35 153 -65 252 -89%0A60 -15 199 -17 1387 -22 l1320 -6 3 -557 2 -558 -110 0 -111 0 3 128 c2 109 0%0A131 -15 153 -38 56 -127 63 -176 14 -25 -24 -26 -32 -31 -158 l-5 -132 -112%0A-3 -113 -3 0 293 c0 269 -2 296 -19 324 -49 81 -165 65 -200 -29 -7 -18 -11%0A-134 -11 -308 l0 -279 -109 0 -109 0 -4 136 -3 136 -33 29 c-37 34 -88 39%0A-131 13 -49 -29 -55 -50 -59 -186 l-4 -128 -109 0 -109 0 0 293 c0 268 -2 295%0A-19 323 -49 81 -165 65 -200 -29 -7 -18 -11 -134 -11 -308 l0 -279 -109 0%0A-109 0 -4 136 -3 136 -33 29 c-47 42 -100 40 -150 -5 l-37 -34 -4 -131 -3%0A-131 -109 0 -109 0 0 293 c0 268 -2 295 -19 323 -49 81 -165 65 -200 -29 -7%0A-18 -11 -130 -11 -293 0 -295 5 -277 -70 -250 l-35 13 3 139 c4 155 -6 199%0A-52 229 -30 20 -84 22 -115 5 -43 -22 -61 -69 -61 -155 l-1 -80 -25 30 c-14%0A17 -39 57 -55 90 l-29 60 0 483 0 483 58 -39 c31 -22 84 -53 118 -70z'/%3E%3Cpath d='M809 2222 c-95 -50 -141 -151 -115 -253 17 -65 56 -112 118 -143 68%0A-34 128 -34 195 -1 167 83 168 311 3 398 -70 36 -130 36 -201 -1z'/%3E%3C/g%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 22px;
    display: inline-block;
}

.home-products .product-small.box {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgb(0 0 0 / 15%);
}
.home-products .box-image {
	border-radius: 8px 8px 0 0;
}
.home-products .box-text {
	padding: 1em;
}
.home-products .product-title {
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
	-webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    min-height: 42px;
    overflow: hidden;
    text-overflow: ellipsis;
}
.home-products .price .amount {
    font-size: 18px;
    font-weight: 700;
    line-height: 30px;
}

.home-titles .section-title{
	position: relative;
}
.home-titles span{
	text-transform: initial;
    color: #1d1929;
    width: 100%;
    text-align: center;
}

.home-titles a{
	position: absolute;
    color: #000000;
    font-size: 0.6em;
    font-weight: 500;
    right: 0;
}

.home-titles b{
	display: none;
}


.absolute-footer.{
	text-align: center;
}

.cards-icons{
	padding: 0!important;
	margin-bottom: 0!important;
	margin-top: 15px;
	border: none!important;
}
.cards-icons li{
	display: inline-block;
	list-style: none;
}


.footer-widgets > .row .widget-title {
    color: #000;
    font-size: 16px;
    line-height: 24px;
    font-weight: 700;
    margin-bottom: 16px;
    display: block;
}


.footer-widgets ul.menu>li+li{
	border: none!important;
}

input[type=number].xoo-cp-qty{
	margin: 0;
}

.xoo-cp-close.xcp-btn{
	display: none;
}

.xoo-cp-btns{
	display: flex;
	justify-content: space-between;
	align-items: center;

}
.xoo-cp-btns .xcp-btn {
    flex: 1;
    padding: 0px 12px;
    line-height: 42px;
    max-height: 44px;
    background: #fff;
    border: 1px solid #505261;
    color: #505261!important;
    font-size: 13px;
    text-transform: initial;
    border-radius: 4px;
}
.xoo-cp-btn-ch.xcp-btn{
	margin: 0!important;
	background-color: var(--primary-color);
	color: #fff!important;
}

.xoo-cp-btns .xcp-btn:hover{
    box-shadow: inset 0 0 0 100px rgba(0,0,0,.2);
    opacity: 1;
    outline: none;
}
.xcp-ptotal, .xoo-cp-ptotal{
    font-size: 14px;
}

td.xoo-cp-ptitle a {
    font-weight: 400;
    font-size: 14px;
}

td.xoo-cp-pprice {
    font-size: 14px;
}
.xoo-cp-container {
    max-width: 950px;
}
.salesgen_you_saved{
	font-size: 13px;
	position: absolute;
	top: 50%;
	padding: 5px;
	background: #d26e4b;
	border-radius: 20px;
	color: #fff;
	margin-top: -13px;
	text-transform: uppercase;
	text-align: center;
}

.price.product-page-price ins,
.woocommerce-variation-price ins{
	margin-right: 5px;
}

.checkout-button.wc-forward{
	line-height: 53px;
    border-radius: 3px;
    font-size: 12px;
    letter-spacing: 0;
    min-height: 22px;
    font-weight: 600;
    text-transform: uppercase;
    border: none;
    display: flex;
    width: 100%;
    height: 53px;
    line-height: 53px;
    align-items: center;
    justify-content: center;
}
.checkout-button.wc-forward span{
    line-height: 22px;
}
.checkout-btn-icon{
    height: 22px;
    width: 22px;
    padding-top: 1px;
}
.checkout-btn-icon svg{
    width: 16px;
    height: 16px;
}

#wooot_order_tip_form .order_tip_title h3{
    font-size: 0.9em;
    text-transform: initial;
}

.page-checkout-simple .breadcrumbs{
	display: none;
}
.page-checkout-simple #logo{
	margin: 0 auto;
}

body .cart_item .wcpa_cart_val ,
body .woocommerce-mini-cart-item .wcpa_cart_val {
    padding: 0;
    margin: 0!important;
}
body .cart_item dl dt, body .cart_item dl dd,
body .mini_cart_item dl dt, body .mini_cart_item dl dd {
    float: left;
    line-height: 1.5em;
}
.woocommerce-mini-cart-item dt {
    clear: left;
}

.product-name dl {
    display: inline-block;
    width: 100%;
}
.wcpa_cart_val p {
    padding: 0;
    margin: 0!important;
}

.salesgen-countdown-timer-cart-heading{
	font-size: 0.9em;
	color: #1a1a1a;
}

.salesgen-countdown-timer-cart{
    background: #f4f4e1;
    border-radius: 4px;
    overflow: hidden;
    display: block;
    padding: 15px;
    font-size: 0.9em;
}

.salesgen-countdown-cart{
    margin-bottom: 10px;
    font-size: 0.9em;
    margin-top: 14px;
}

.salesgen-countdown-timer-cart .sg-ux-timer{
    padding: 4px;
    border: 1px solid #ddd;
    border-radius: 2px;
    background: #fcfcce;
    padding: 4px 8px;
}
.checkout-heading-title{
	display: flex;
	flex-direction: row;
	align-items: center;
}
.checkout-heading-title *{
	flex: 1;
}

.checkout-heading-title img{
	max-width: 50%;
}

#place_order {
    width: 100%;
    line-height: 50px;
    font-size: 16px;
}

.cart_item .product-thumbnail img {
    width: 70px;
    padding-right: 8px;
}

.cart_item .product-thumbnail{
	max-width: 70px;
    min-width: auto;
    width: 70px;
}


.shipping_estimated_msg{
	line-height: 22px;
	background: #fff0d69e;
	padding: 10px 15px;
	border-radius: 5px;
	margin: 15px 0 20px;
	font-size: 13px;
}

.est-desc{
	margin: 0;
	padding: 0;
	border: 0;
	background: 0 0;
	text-decoration: underline;
	-webkit-text-decoration-style: dashed;
	text-decoration-style: dashed;
	text-underline-position: under;
	-webkit-text-decoration-color: inherit;
	text-decoration-color: inherit;
	font-size: 13px;
	color: #444;
	text-transform: capitalize;
	font-weight: 400;
	cursor: help;
}

#flag-icons-us, #flag-icons-eu {
	width: 20px;
}

.shipping_estimated-msg{
	padding-bottom: 10px;
	display: inline-block;
}

.fulfillment_timeline_date {
	display: grid;
	grid-template-columns: repeat(3,1fr)
}

.fulfillment_timeline_date .time {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}

.fulfillment_timeline_date .time .icon-holder {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%
}

.fulfillment_timeline_date .time .icon-holder .icon {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 30px;
	height: 30px;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: #eaeaea;
	border-radius: 50%
}

.fulfillment_timeline_date .time .icon-holder .icon svg {
	width: 60%;
	height: auto
}

.fulfillment_timeline_date .time:first-child .icon-holder,.fulfillment_timeline_date .time:last-child .icon-holder,.fulfillment_timeline_date .time:nth-child(2) .icon-holder {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}

.fulfillment_timeline_date .time:first-child .icon-holder:after,.fulfillment_timeline_date .time:last-child .icon-holder:before {
	content: "";
	display: block;
	width: calc(100% - 35px);
	height: 2px;
	background-color: #f1f1f1
}

.fulfillment_timeline_date .time:nth-child(2) {
	text-align: center
}

.fulfillment_timeline_date .time:nth-child(2) .icon-holder:after,.fulfillment_timeline_date .time:nth-child(2) .icon-holder:before {
	content: "";
	display: block;
	width: calc(50% - 20px);
	height: 2px;
	background-color: #f1f1f1
}

.fulfillment_timeline_date .time:nth-child(2) .edd-description {
	margin: 0 auto
}

.fulfillment_timeline_date .time:last-child {
	text-align: right
}

.fulfillment_timeline_date .time:last-child .edd-description {
	margin-left: auto
}

.fulfillment_timeline_date .time p {
	width: 100%;
	font-size: 13px;
	font-weight: 700;
	margin-top: .5em;
	margin-bottom: 0
}

.est-desc,.fulfillment_timeline_date .time .edd-description,.simply-protection {
	margin: 0;
	padding: 0;
	border: 0;
	background: 0 0;
	text-decoration: underline;
	-webkit-text-decoration-style: dashed;
	text-decoration-style: dashed;
	text-underline-position: under;
	-webkit-text-decoration-color: inherit;
	text-decoration-color: inherit;
	font-size: 13px;
	color: #444;
	text-transform: capitalize;
	font-weight: 400;
	cursor: help
}

.salesgen-upsell-bundle .wcpa_helptext .size-chart-icon{
	display: none;
}
.woocommerce-variation-price{
	border-top: none!important;
}

ins {
	margin-right: 5px;
}



.quantity.buttons_added .is-form {
    -webkit-appearance: none;
    display: inline-block;
    font-size: 20px;
    height: 50px;
    margin: 0;
    padding: 0;
    width: 36px;
    border-radius: 4px;
    background: #fff;
}

.quantity.buttons_added .is-form:hover {
	box-shadow: 0 0 10px rgba(0,0,0,.2);
}

.quantity.buttons_added .minus.is-form {
    border-bottom-right-radius: 0!important;
    border-right: 0;
    border-top-right-radius: 0!important
}

.quantity.buttons_added .plus.is-form {
    border-bottom-left-radius: 0!important;
    border-left: 0;
    border-top-left-radius: 0!important
}


.product-lightbox .quantity.buttons_added .input-text, .quantity.buttons_added .input-text {
    border-radius: 0;
    height: 50px;
    margin: 0;
    max-width: 61px;
    text-align: center;
    width: 48px;
}

.single_add_to_cart_button{
	flex: 1;
	max-width: calc(100% - 140px);
}


.order-review td, .order-review th{
    font-size: 15px;
    font-weight: 500;
}
.cart-discount-product,
.cart-discount-product .amount{
	color: #4bb232;
}
.shop_table tfoot th,
.shop_table tfoot td {
    font-size: 15px;
    letter-spacing: 0;
    text-transform: inherit;
    font-weight: 400;
}

.checkout-sidebar-overview,
.checkout-sidebar-overview-items,
.checkout-sidebar-badges{
	background: #f7f7fe;
    border-radius: 3px;
    padding: 15px 20px 30px;
    margin-bottom: 30px;
}
.cart-item-thumb{
    width: 60px;
    margin-right: 10px;
}
.cart-item-thumb img{
    width: 60px;
    height: auto;
}
.checkout-sidebar-overview-items .cart-item-info{
    flex: 1;
    font-size: 14px;
}
.checkout-sidebar-overview-items .cart_item{
    display: flex;
}
.checkout-sidebar-overview-items .cart_item+.cart_item{
    margin-top: 15px;
}
.page-checkout-simple{
    padding: 20px 0;
}
.page-checkout-simple .cart-header{
    text-align: center;
}
form.checkout h3 {
    padding-top: 0px;
    margin: 0 0 10px 0;
    text-transform: initial;
}

.shop_table .shipping__table td{
	font-size: 13px;
    border: none;
}

.order-total>*{
    border: none;
}
.woocommerce-checkout-review-order {
    background-color: #f7f7fe;
    border-radius: 3px;
    display: inline-block;
    margin-bottom: 30px;    
    width: 100%;
    font-size: 14px;
}

.nav-line-bottom>li>a:before, .nav-line-grow>li>a:before, .nav-line>li>a:before {
    height: 2px;
}
.header-bottom {
    border-bottom: 1px solid #e1e1f1;
}
.product__rated .icon-star {
    background: #00b67a;
    color: #fff;
    font-size: 10px;
    margin-right: 4px!important;
    padding: 2px!important;
}
.product__rated>*{
	display: inline-block;
}
.product__rated a{
	font-size: 12px;
}
.product__rated{
	display: block;
	margin-bottom: 15px;
}

.woo-variation-swatches.wvs-show-label .variations td>*, .woo-variation-swatches.wvs-show-label .variations th>*,
.woo-variation-swatches.wvs-show-label .variations td .woo-selected-variation-item-name, .woo-variation-swatches.wvs-show-label .variations th .woo-selected-variation-item-name{
	font-weight: 400;
}

.qty-label{
	font-size: 12px;
	margin-bottom: 4px;
}

.cart_item .qty-label{
	display: none;
}

.review-tab{
	display: inline-block;
}

.heading-bt-line b{
	opacity: 0;
}
.heading-bt-line .section-title,
.related.related-products-wrapper h3{
	border-bottom: 1px solid #e3e5e5;
	font-size: 26px;
	text-align: center;
    padding-bottom: 8px;
    line-height: 20px;
}

.form-minimal.quantity .qty {
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
}

.related.product-section{
	border-top: none;
}

/*
input[type=radio] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    margin-left: 0;
    margin-right: 10px
}

input[type=radio],input[type=radio]:before {
    border-radius: 12px;
    display: inline-block;
    height: 21px;
    width: 21px
}

input[type=radio]:before {
    background-image: url(assets/images/radio-cricle.svg);
    background-repeat: no-repeat;
    content: "";
    text-align: center
}

input[type=radio]:checked:before {
    background-image: url(assets/images/radio-select-cricle.svg)
}
*/

.shipping__list_label {
    font-size: 14px;
}
tr.shipping input:checked+label {
    font-weight: 600;
}

.footer-1, .footer-2{
    border: none;
}
.widget .is-divider{
    display: none;
}
.continue-shopping{
    display: none!important;
}
.what-they-say{
    border: 1px solid #e5e5e5;
}
.shop_table.woocommerce-cart-form__contents{
    margin-bottom: 0;
}


.woocommerce-pagination ul {
    border: 1px solid #eee;
    border-radius: 3px;
    display: inline-block;
    padding: 7px 20px
}

.woocommerce-pagination ul li {
    display: inline-block;
    border: none;
}

.woocommerce-pagination ul li+li {
    margin-left: 5px
}

.woocommerce-pagination ul li a{
    color: #000;
    font-size: 13px;
    font-weight: 600;
    border: none;
    line-height: 30px;
    width: auto;
    min-width: auto;
    min-height: auto;
    max-height: initial;
    height: 30px;
    display: inline-block;
}
.woocommerce-pagination ul li a:hover{
    background-color: #f7f7fe;
    color: var(--primary-color);
}

.woocommerce-pagination ul>li>.current {
    background-color: #f7f7fe;
    border-radius: 100%;
    color: var(--primary-color);
    display: inline-block;
    line-height: 30px;
    width: 30px;
    border: none;
    height: 30px;
    padding: 0;
    min-width: auto;
}

.woocommerce-pagination {
    text-align: right
}


input,select,textarea {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-family: Poppins,sans-serif;
    font-size: 13px;
    font-weight: 500;
    outline: var(--primary-color)!important
}

.category-page-title .flex-col+.flex-col{
    display: flex;
}
.woocommerce-result-count{
    white-space: nowrap;
    line-height: 46px;
}
.woocommerce-ordering{
    min-width: 160px;
}

.woocommerce-ordering select{
    height: 46px;
    display: inline-block;
    margin: 0;
}


/* ============================================================
   KOZMOZ RACING — Flatsome Child Theme Style Additions
   Paste this at the bottom of your child theme's style.css
   All classes are prefixed with kz- to avoid Flatsome conflicts
   ============================================================ */

/* ─── 1. DESIGN TOKENS ─────────────────────────────────────── */
:root {
  --kz-bg:          #f4f5f7;
  --kz-surface:     #ffffff;
  --kz-fg:          #15181d;
  --kz-muted:       #6a7280;
  --kz-border:      #e6e8eb;
  --kz-accent:      #C8102E;
  --kz-accent-ink:  #9E0B22;
  --kz-dark:        #0c0e13;
  --kz-navy:        #1B2A4A;
  --kz-dark-2:      #171a21;
  --kz-dark-line:   rgba(255,255,255,.09);
  --kz-r:           12px;
  --kz-shadow:      0 6px 24px rgba(15,24,40,.10);
  --kz-wrap:        1280px;
  --kz-font-display:'Barlow Condensed','Archivo Narrow',system-ui,sans-serif;
  --kz-font-body:   'Inter',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
}

/* ─── 2. HELPERS ────────────────────────────────────────────── */
.kz-wrap  { max-width:var(--kz-wrap); margin:0 auto; padding:0 24px; }
.kz-tnum  { font-variant-numeric:tabular-nums; }
.kz-block { padding:54px 0; }

/* ─── 3. BUTTONS ────────────────────────────────────────────── */
.kz-btn {
  display:inline-flex; align-items:center; gap:9px;
  height:50px; padding:0 26px; border-radius:999px;
  font-weight:600; font-size:15px; letter-spacing:.01em;
  transition:transform .12s, filter .15s, background .15s;
  text-decoration:none; cursor:pointer; border:0;
  font-family:var(--kz-font-body);
}
.kz-btn:active    { transform:translateY(1px); }
.kz-btn-pri       { background:var(--kz-accent); color:#fff !important; }
.kz-btn-pri:hover { filter:brightness(1.08); }
.kz-btn-ghost     { background:transparent; color:#fff !important; border:1.5px solid rgba(255,255,255,.32); }
.kz-btn-ghost:hover { border-color:#fff; }

/* ─── 4. SECTION HEADERS ────────────────────────────────────── */
.kz-sec-head {
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:16px; margin-bottom:26px;
}
.kz-eyebrow {
  font-size:12.5px; font-weight:600; letter-spacing:.16em;
  text-transform:uppercase; color:var(--kz-accent-ink);
  margin-bottom:6px; display:flex; align-items:center; gap:8px;
}
.kz-eyebrow::before { content:""; width:20px; height:2px; background:var(--kz-accent); }
.kz-sec-head h2 {
  font-family:var(--kz-font-display);
  font-size:clamp(28px,3.4vw,40px); font-weight:700; text-transform:uppercase;
  letter-spacing:-.01em; line-height:1.04;
}
.kz-viewall {
  font-size:13.5px; font-weight:600; color:var(--kz-accent-ink);
  display:inline-flex; align-items:center; gap:6px; white-space:nowrap;
  text-decoration:none; transition:gap .15s;
}
.kz-viewall:hover { gap:9px; color:var(--kz-accent-ink); }

/* ─── 5. HERO ───────────────────────────────────────────────── */
.kz-hero { position:relative; background:var(--kz-dark); color:#fff; overflow:hidden; }
.kz-hero-grid {
  display:grid; grid-template-columns:1.05fr .95fr; gap:24px;
  align-items:center; min-height:440px; padding:48px 0;
}
.kz-hero-bg {
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(120% 90% at 85% 20%, rgba(225,6,0,.22), transparent 55%),
    repeating-linear-gradient(115deg, rgba(255,255,255,.03) 0 2px, transparent 2px 26px);
}
.kz-hero-copy { position:relative; z-index:2; }
.kz-kicker {
  display:inline-flex; align-items:center; gap:8px;
  font-size:12.5px; font-weight:600; letter-spacing:.16em;
  text-transform:uppercase; color:var(--kz-accent); margin-bottom:16px;
}
.kz-kicker::before { content:""; width:26px; height:2px; background:var(--kz-accent); }
.kz-hero h1 {
  font-family:var(--kz-font-display);
  font-size:clamp(44px,6vw,84px); font-weight:800;
  text-transform:uppercase; letter-spacing:-.01em; line-height:1.04; color:#ffffff;
}
.kz-hero h1 .kz-cy  { color:var(--kz-accent); font-style:italic; }
.kz-hero p           { color:#aeb4bf; font-size:17px; max-width:46ch; margin:18px 0 28px; }
.kz-cta-row          { display:flex; gap:12px; flex-wrap:wrap; }
.kz-hero-stats       { display:flex; gap:30px; margin-top:34px; }
.kz-hero-stats div span {
  font-family:var(--kz-font-display); font-size:30px; font-weight:700; display:block;
}
.kz-hero-stats div small { color:#8b919c; font-size:12.5px; letter-spacing:.04em; }
.kz-hero-art {
  position:relative; z-index:2; overflow:hidden;
  border-radius:14px; align-self:stretch; min-height:340px;
}
.kz-hero-art::after {
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    linear-gradient(to right, var(--kz-dark) 0%, transparent 28%),
    linear-gradient(to top,   var(--kz-dark) 0%, transparent 22%);
}
.kz-hero-art img { width:100%; height:100%; object-fit:cover; display:block; opacity:.92; }

/* ─── 6. MARQUEE ────────────────────────────────────────────── */
@keyframes kz-scroll {
  to { transform:translateX(-50%); }
}
.kz-marquee { background:var(--kz-accent); color:#fff; overflow:hidden; cursor:default; }
.kz-marquee-track {
  display:flex; width:max-content; align-items:center;
  animation:kz-scroll 30s linear infinite;
}
.kz-marquee:hover .kz-marquee-track { animation-play-state:paused; }
.kz-marquee span {
  font-family:var(--kz-font-display); font-weight:700; font-size:17px;
  letter-spacing:.09em; text-transform:uppercase;
  padding:13px 28px 13px 0; white-space:nowrap;
  display:inline-flex; align-items:center;
}
.kz-sep { margin:0 22px; font-size:9px; opacity:.7; transform:translateY(-1px); }

/* ─── 7. TRUST STRIP ────────────────────────────────────────── */
.kz-trust { background:var(--kz-surface); border-bottom:1px solid var(--kz-border); }
.kz-trust-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:8px;
  max-width:var(--kz-wrap); margin:0 auto; padding:0 24px;
}
.kz-trust-item { display:flex; align-items:center; gap:12px; padding:18px 8px; }
.kz-trust-item svg  { flex:none; color:var(--kz-accent); }
.kz-trust-item b    { display:block; font-size:13.5px; font-weight:600; font-family:var(--kz-font-body); }
.kz-trust-item small { color:var(--kz-muted); font-size:12px; }

/* ─── 8. CATEGORIES ─────────────────────────────────────────── */
.kz-cats { display:grid; grid-template-columns:repeat(6,1fr); gap:14px; }
.kz-cat {
  position:relative; isolation:isolate; overflow:hidden;
  background:var(--kz-surface); border:1px solid var(--kz-border);
  border-radius:var(--kz-r); padding:20px 12px 15px; text-align:center;
  transition:transform .16s, box-shadow .16s, border-color .16s, background .2s;
  text-decoration:none; color:var(--kz-fg); display:block;
}
/* top speed-bar sweeps in on hover */
.kz-cat::before { content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--kz-accent),#ff5a45);
  transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
/* diagonal speed-stripes in the bottom-right corner */
.kz-cat::after { content:""; position:absolute; right:10px; bottom:10px; width:22px; height:14px;
  background-image:repeating-linear-gradient(115deg,var(--kz-border) 0 2px,transparent 2px 6px);
  opacity:.9; pointer-events:none; transition:opacity .2s, background-image .2s; }
.kz-cat:hover { transform:translateY(-4px); box-shadow:var(--kz-shadow); border-color:transparent; background:var(--kz-dark); }
.kz-cat:hover::before { transform:scaleX(1); }
.kz-cat:hover::after { background-image:repeating-linear-gradient(115deg,var(--kz-accent) 0 2px,transparent 2px 6px); opacity:1; }
.kz-cat:hover b, .kz-cat:hover small { color:#fff; }
.kz-cat:hover .kz-ci { background:var(--kz-accent); color:#fff; transform:rotate(-4deg); }
.kz-cat .kz-ci {
  width:54px; height:54px; margin:0 auto 12px; border-radius:13px;
  display:grid; place-items:center; background:#fdecec; color:var(--kz-accent-ink);
  transition:background .2s, color .2s, transform .2s;
}
.kz-cat b     { font-family:var(--kz-font-display); font-size:14.5px; font-weight:700; letter-spacing:.02em; text-transform:uppercase; line-height:1.1; display:block; transition:color .2s; }
.kz-cat small { font-size:11px; color:var(--kz-muted); transition:color .2s; }
.kz-cbadge { position:absolute; top:8px; right:8px; z-index:2; font-size:9px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; line-height:1; padding:3px 6px; border-radius:5px; color:#fff; }
.kz-cbadge.hot     { background:var(--kz-accent); }
.kz-cbadge.new     { background:#111; }
.kz-cbadge.custom  { background:#f5a623; color:#111; }
.kz-cbadge.limited { background:#16a34a; }

/* ─── 9. SHOP BY TEAM ───────────────────────────────────────── */
/* Carousel nav — one rule set for "Shop by team" and "Popular Drivers" so the
   two pairs keep the same weight. The chevron is drawn in CSS because the
   inline <svg> these buttons used to hold does not survive a save from the
   Visual editor, and the ‹ › text fallback renders lighter than the drawing. */
.kz-tm-nav, .kz-drv-nav, .kz-cat-nav { display:flex; gap:8px; flex:none; align-items:center; }
/* Categories only scroll at the phone breakpoint, so its arrows stay hidden
   until then; the phone block below turns them back on. */
.kz-cat-nav { display:none; }
/* View-all link sitting beside a carousel's prev/next buttons. */
.kz-head-actions { display:flex; align-items:center; gap:18px; flex:none; }
/* Phone-only twin of .kz-viewall, shown under the carousel. Hidden by default so
   desktop keeps the link in the section head; the phone breakpoint swaps them. */
.kz-viewall-below {
  display:none; width:100%; margin-top:18px;
  align-items:center; justify-content:center; gap:8px;
  height:48px; padding:0 20px; border-radius:999px;
  border:1px solid var(--kz-border,#e6e8eb); background:#fff;
  font-family:var(--kz-font-display); text-transform:uppercase; letter-spacing:.04em;
  font-size:14px; font-weight:700; color:var(--kz-ink,#15181d); text-decoration:none;
}
.kz-viewall-below:active { background:#f4f5f7; }
.kz-tm-nav button, .kz-drv-nav button, .kz-cat-nav button {
  width:40px; height:40px; border-radius:999px;
  border:1px solid var(--kz-border); background:var(--kz-surface);
  color:var(--kz-fg); display:grid; place-items:center;
  transition:.15s; cursor:pointer; margin:0 !important; padding:0;
  line-height:1; font-size:0; /* swallows any ‹ › glyph still in the markup */
}
.kz-tm-nav button:hover, .kz-drv-nav button:hover, .kz-cat-nav button:hover {
  background:var(--kz-dark); color:#fff; border-color:var(--kz-dark);
}
.kz-tm-nav button::before, .kz-drv-nav button::before, .kz-cat-nav button::before {
  content:""; width:8px; height:8px; border:solid currentColor;
  border-width:2.4px 2.4px 0 0; transform:rotate(-135deg); margin-left:2px;
}
#kzTmNext::before, #kzDrvNext::before, #kzCatNext::before { transform:rotate(45deg); margin-left:-2px; }
.kz-teams-wrap {
  display:grid; grid-auto-flow:column;
  grid-auto-columns:calc((100% - 5*10px)/6);
  gap:10px; overflow-x:auto; scroll-snap-type:x mandatory;
  scroll-behavior:smooth; padding-bottom:4px; scrollbar-width:none;
}
.kz-teams-wrap::-webkit-scrollbar { display:none; }
.kz-team-tile {
  scroll-snap-align:start; position:relative; border-radius:14px;
  overflow:hidden; aspect-ratio:1/1; color:#fff;
  transition:transform .2s, box-shadow .2s; text-decoration:none; display:block;
}
.kz-team-tile:hover { transform:translateY(-5px); box-shadow:0 20px 50px rgba(0,0,0,.35); }
.kz-team-tile:hover .kz-tt-bg { transform:scale(1.04); }
.kz-tt-bg  { position:absolute; inset:0; transition:transform .35s ease; }
.kz-team-tile::after {
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:radial-gradient(ellipse at 50% 0%, rgba(255,255,255,.18) 0%, transparent 65%);
}
.kz-tt-action {
  position:absolute; top:13px; left:13px; z-index:3;
  display:flex; align-items:center; gap:6px;
  font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:rgba(255,255,255,.92); background:rgba(0,0,0,.22);
  backdrop-filter:blur(6px); padding:5px 10px 5px 7px;
  border-radius:999px; border:1px solid rgba(255,255,255,.18);
}
.kz-tt-dot  { width:6px; height:6px; border-radius:50%; background:#fff; flex:none; }
.kz-tt-abbr {
  position:absolute; inset:0; z-index:2; pointer-events:none; user-select:none;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--kz-font-display); font-size:clamp(64px,9vw,100px);
  font-weight:800; text-transform:uppercase; letter-spacing:-.04em;
  color:rgba(255,255,255,.32); line-height:1; font-style:italic;
}
.kz-licensed {
  display:inline-flex; align-items:center; gap:8px;
  font-size:12px; font-weight:600; letter-spacing:.02em;
  color:var(--kz-muted); background:var(--kz-surface);
  border:1px solid var(--kz-border); border-radius:999px;
  padding:6px 14px; margin-top:18px;
}
.kz-licensed svg { color:var(--kz-accent-ink); }

/* ─── 10. POPULAR DRIVERS ───────────────────────────────────── */
.kz-drv-scroll {
  display:grid; grid-auto-flow:column;
  grid-auto-columns:calc((100% - 5*16px)/6);
  gap:16px; overflow-x:auto; scroll-snap-type:x mandatory;
  scroll-behavior:smooth; padding-bottom:4px; scrollbar-width:none;
}
.kz-drv-scroll::-webkit-scrollbar { display:none; }
.kz-drv-card {
  scroll-snap-align:start; position:relative; aspect-ratio:3/4;
  border-radius:var(--kz-r); overflow:hidden; color:#fff;
  display:block; text-decoration:none;
}
.kz-drv-card::after {
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(transparent 52%, rgba(0,0,0,.55));
}
.kz-drv-no  {
  position:absolute; top:6px; right:12px;
  font-family:var(--kz-font-display); font-weight:800; font-size:82px;
  line-height:1; color:rgba(255,255,255,.17);
}
.kz-drv-team {
  position:absolute; top:13px; left:13px; z-index:1;
  font-size:10px; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:rgba(255,255,255,.85);
}
.kz-drv-img {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:top center;
  transition:transform .35s ease;
}
.kz-drv-card:hover .kz-drv-img { transform:scale(1.05); }
/* The card artwork already spells the driver's name, so the overlay only
   competed with it. Hidden visually, kept in the DOM so the card link still
   has an accessible name for screen readers. */
.kz-drv-name {
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap;
}

/* ─── 11. FILTER TABS ───────────────────────────────────────── */
.kz-tabs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:22px; }
.kz-tab {
  padding:8px 16px; border-radius:999px; font-size:13px; font-weight:600;
  letter-spacing:.01em; background:var(--kz-surface);
  border:1px solid var(--kz-border); color:var(--kz-muted);
  transition:.15s; cursor:pointer;
  font-family:var(--kz-font-body);
}
.kz-tab:hover    { color:var(--kz-fg); }
.kz-tab.kz-on   { background:var(--kz-dark); color:#fff; border-color:var(--kz-dark); }

/* ─── 12. PROMO BANNER ──────────────────────────────────────── */
.kz-promo {
  background:var(--kz-dark); color:#fff; border-radius:18px;
  overflow:hidden; position:relative;
  display:grid; grid-template-columns:1fr 1fr; gap:24px;
  align-items:center; padding:46px;
}
.kz-promo::after {
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(90% 120% at 90% 10%, rgba(225,6,0,.25), transparent 60%);
}
.kz-promo-copy    { position:relative; z-index:2; }
.kz-promo h2      {
  font-family:var(--kz-font-display);
  font-size:clamp(30px,3.6vw,46px); text-transform:uppercase;
  font-weight:800; letter-spacing:-.01em; line-height:1.04; color:#ffffff;
}
.kz-promo h2 .kz-cy { color:var(--kz-accent); }
.kz-promo p         { color:#aeb4bf; margin:14px 0 24px; max-width:42ch; }
.kz-promo-art       {
  position:relative; z-index:2; display:flex; gap:14px; justify-content:flex-end;
}
.kz-suit {
  width:46%; aspect-ratio:3/4.6; border-radius:14px;
  box-shadow:0 20px 50px rgba(0,0,0,.4); position:relative; overflow:hidden;
}
.kz-suit:first-child { margin-top:30px; }
.kz-flag {
  position:absolute; inset:0; opacity:.16;
  background-image:repeating-linear-gradient(45deg, #000 0 14px, transparent 14px 28px);
  background-size:40px 40px;
}

/* ─── 13. COMMUNITY ─────────────────────────────────────────── */
.kz-community         { background:var(--kz-dark); color:#fff; }
.kz-community .kz-eyebrow { color:var(--kz-accent); }
.kz-community .kz-sec-head h2 { color:#fff; }
.kz-community .kz-viewall { color:var(--kz-accent); }
.kz-gal               { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.kz-shot              { aspect-ratio:4/5; border-radius:14px; overflow:hidden; position:relative; background:#11141a; }
.kz-shot img          { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.kz-shot:hover img    { transform:scale(1.05); }
.kz-shot-meta         { position:absolute; left:0; right:0; bottom:0; padding:14px; background:linear-gradient(transparent,rgba(0,0,0,.78)); font-size:13px; }
.kz-shot-meta b       { font-weight:600; display:block; }
.kz-shot-meta small   { color:#aeb4bf; font-size:11.5px; }
.kz-hashtag           { color:var(--kz-accent); font-weight:600; }

/* ─── 14. REVIEWS ───────────────────────────────────────────── */
.kz-rev-top   { display:flex; align-items:center; gap:26px; flex-wrap:wrap; margin-bottom:28px; }
.kz-rev-score { font-family:var(--kz-font-display); font-weight:800; font-size:64px; line-height:1; color:var(--kz-fg); }
.kz-rev-stars { color:#f5a623; font-size:18px; letter-spacing:2px; display:block; }
.kz-rev-meta small { color:var(--kz-muted); font-size:13px; display:block; }
.kz-rev-grid  { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.kz-revcard   { background:var(--kz-surface); border:1px solid var(--kz-border); border-radius:var(--kz-r); padding:22px; }
.kz-revcard-stars { color:#f5a623; font-size:14px; letter-spacing:1.5px; margin-bottom:10px; }
.kz-revcard p { font-size:14px; color:#2a2f38; margin-bottom:16px; line-height:1.6; }
.kz-revcard-who { display:flex; align-items:center; gap:10px; }
.kz-revcard-av  {
  width:38px; height:38px; border-radius:999px; background:var(--kz-accent);
  color:#fff; display:grid; place-items:center; font-weight:700;
  font-family:var(--kz-font-display); flex:none; font-size:18px;
}
.kz-revcard-who b     { font-size:13.5px; font-weight:600; display:block; }
.kz-revcard-who small { font-size:11.5px; color:var(--kz-muted); }

/* ─── 15. WHY RACE ──────────────────────────────────────────── */
.kz-why {
  background:var(--kz-dark-2); color:#fff;
  border-radius:18px; padding:44px;
}
.kz-why h2 {
  font-family:var(--kz-font-display); text-align:center;
  font-size:clamp(26px,3.2vw,38px); text-transform:uppercase;
  font-weight:800; margin-bottom:34px; letter-spacing:-.01em; line-height:1.04; color:#ffffff;
}
.kz-why h2 .kz-cy  { color:var(--kz-accent); }
.kz-why-grid       { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.kz-why-item       { text-align:center; padding:10px; }
.kz-wi {
  width:60px; height:60px; border-radius:16px; margin:0 auto 14px;
  display:grid; place-items:center;
  background:rgba(225,6,0,.14); color:var(--kz-accent);
}
.kz-why-item b     { font-family:var(--kz-font-display); font-size:18px; font-weight:700; display:block; margin-bottom:6px; }
.kz-why-item small { color:#9aa0ab; font-size:13px; }

/* ─── 16. BLOG ──────────────────────────────────────────────── */
.kz-blog-grid       { display:grid; grid-template-columns:1.6fr 1fr; gap:24px; align-items:stretch; }
.kz-bcard           { background:var(--kz-surface); border:1px solid var(--kz-border); border-radius:var(--kz-r); overflow:hidden; display:flex; flex-direction:column; transition:transform .15s, box-shadow .15s; }
.kz-bcard:hover     { transform:translateY(-3px); box-shadow:var(--kz-shadow); }
.kz-bcard-featured .kz-bthumb  { aspect-ratio:16/9; }
.kz-bcard-featured .kz-btitle  { font-size:22px; }
.kz-bcard-featured .kz-bexcerpt { display:block; }
.kz-bside-col       { display:flex; flex-direction:column; gap:16px; }
.kz-bcard-side      { flex:1; flex-direction:row; min-height:0; }
.kz-bcard-side .kz-bthumb { width:150px; min-width:150px; flex-shrink:0; align-self:stretch; border-radius:0; }
.kz-bcard-side .kz-bthumb .kz-bthumb-bg { height:100%; }
.kz-bcard-side .kz-bbody   { padding:14px 16px; }
.kz-bcard-side .kz-bexcerpt { display:none; }
.kz-bcard-side .kz-btitle  { font-size:14px; -webkit-line-clamp:2; display:-webkit-box; -webkit-box-orient:vertical; overflow:hidden; }
.kz-bthumb          { overflow:hidden; position:relative; display:block; }
.kz-bthumb-bg       { width:100%; height:100%; display:block; object-fit:cover; }
.kz-bthumb-label    { position:absolute; top:12px; left:12px; background:var(--kz-accent); color:#fff; font-size:10.5px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; padding:3px 9px; border-radius:4px; }
.kz-bbody           { padding:22px; display:flex; flex-direction:column; flex:1; }
.kz-bcat            { font-size:11px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:var(--kz-accent-ink); margin-bottom:7px; }
.kz-btitle          { font-size:17px; font-weight:700; line-height:1.35; color:var(--kz-fg); margin-bottom:9px; text-decoration:none; display:block; }
.kz-btitle:hover    { color:var(--kz-accent-ink); }
.kz-bexcerpt        { font-size:13.5px; color:var(--kz-muted); line-height:1.55; margin-bottom:14px; }
.kz-bmeta           { display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--kz-border); padding-top:12px; margin-top:auto; }
.kz-bdate           { font-size:12px; color:var(--kz-muted); }
.kz-bread           { font-size:13px; font-weight:600; color:var(--kz-accent-ink); display:inline-flex; align-items:center; gap:5px; white-space:nowrap; text-decoration:none; transition:gap .15s; }
.kz-bread:hover     { gap:8px; }

/* ─── 17. NEWSLETTER ────────────────────────────────────────── */
.kz-news { text-align:center; max-width:560px; margin:0 auto; }
.kz-news h2 {
  font-family:var(--kz-font-display);
  font-size:clamp(26px,3vw,36px); text-transform:uppercase;
  font-weight:800; letter-spacing:-.01em; line-height:1.04;
}
.kz-news p    { color:var(--kz-muted); margin:12px 0 22px; }
.kz-news form {
  display:flex; gap:10px; background:var(--kz-surface);
  border:1px solid var(--kz-border); border-radius:999px;
  padding:6px; box-shadow:var(--kz-shadow);
}
.kz-news input {
  flex:1; border:0; outline:0; background:none; padding:0 18px;
  font-size:14.5px; color:var(--kz-fg); font-family:var(--kz-font-body);
}
.kz-news .kz-btn { height:46px; }
.kz-news-ok { color:#16a34a; font-weight:600; font-size:14px; margin-top:14px; display:none; }

/* Contact Form 7 — newsletter, matched to the .kz-news pill style.
   CF7 form-tag template (paste in CF7 > Form tab):
     <div class="kz-news-row">
       [email* your-email placeholder "you@email.com" class:kz-news-input autocomplete:email]
       [submit class:kz-btn class:kz-btn-pri "Subscribe"]
     </div>
*/
.kz-news .wpcf7 { margin:0; }
.kz-news .wpcf7-form { display:block; margin:0; background:none; border:0; padding:0; box-shadow:none; }
.kz-news .kz-news-row {
  display:flex; gap:10px; align-items:center;
  background:var(--kz-surface); border:1px solid var(--kz-border);
  border-radius:999px; padding:6px; box-shadow:var(--kz-shadow);
}
.kz-news .kz-news-row .wpcf7-form-control-wrap { flex:1; position:relative; display:flex; }
/* CF7 wpautop wraps fields in <p> + inserts <br>; make the <p> the flex row */
.kz-news .kz-news-row > p { flex:1; display:flex; align-items:center; gap:10px; margin:0; }
.kz-news .kz-news-row br { display:none; }
.kz-news .kz-news-row input.wpcf7-email {
  flex:1; width:100%; min-height:46px; height:46px; border:0; outline:0; background:none;
  padding:0 18px; margin:0; font-size:14.5px; color:var(--kz-fg); font-family:var(--kz-font-body); box-shadow:none;
}
.kz-news .kz-news-row input.wpcf7-submit { display:inline-block; flex:none; height:46px; line-height:46px; padding:0 26px; border:0; margin:0; cursor:pointer; background:var(--kz-accent); color:#fff; border-radius:999px; font-weight:600; font-size:15px; }
.kz-news .kz-news-row input.wpcf7-submit:hover { filter:brightness(1.08); }
.kz-news .wpcf7-spinner { display:none; }
.kz-news .wpcf7-not-valid-tip {
  position:absolute; top:100%; left:0; margin-top:8px;
  font-size:12px; font-weight:500; color:#e11d48; padding-left:18px; text-align:left;
}
.kz-news .wpcf7-response-output {
  margin:16px 0 0 !important; border:0 !important; padding:0 !important;
  font-size:14px; font-weight:600; text-align:center;
}
.kz-news .wpcf7 form.sent .wpcf7-response-output { color:#16a34a; }
.kz-news .wpcf7 form.invalid .wpcf7-response-output,
.kz-news .wpcf7 form.unaccepted .wpcf7-response-output,
.kz-news .wpcf7 form.failed .wpcf7-response-output { color:#e11d48; }


/* ─── 18. RESPONSIVE ────────────────────────────────────────── */
@media (max-width:1080px) {
  .kz-hero-grid    { grid-template-columns:1fr; }
  .kz-cats         { grid-template-columns:repeat(3,1fr); }
  .kz-why-grid     { grid-template-columns:repeat(2,1fr); }
  .kz-trust-grid   { grid-template-columns:repeat(2,1fr); }
  .kz-teams-wrap   { grid-auto-columns:calc((100% - 3*10px)/4); }
  .kz-drv-scroll   { grid-auto-columns:calc((100% - 3*16px)/4); }
}
@media (max-width:860px) {
  .kz-wrap { padding:0 15px; }
  .kz-hero-grid    { padding:36px 0; min-height:auto; }
  .kz-hero-art     { margin-top:30px; max-width:480px; margin-left:auto; margin-right:auto; }
  .kz-gal          { grid-template-columns:repeat(2,1fr); }
  .kz-rgrid        { grid-template-columns:1fr; }
  .kz-promo        { grid-template-columns:1fr; padding:32px; }
  .kz-promo-art    { justify-content:flex-start; margin-top:6px; }
  .kz-blog-grid    { grid-template-columns:1fr; }
  .kz-bside-col    { display:contents; }
  .kz-bcard-side   { flex:none; flex-direction:column; }
  .kz-bcard-side .kz-bthumb { width:100%; height:auto; aspect-ratio:16/9; align-self:auto; }
  .kz-teams-wrap   { grid-auto-columns:calc((100% - 2*10px)/3); }
  .kz-drv-scroll   { grid-auto-columns:calc((100% - 2*14px)/3); gap:14px; }
}
@media (max-width:560px) {
  /* Phones drop the head link for the full-width button under the carousel. With
     only the prev/next buttons left beside it the heading gets its line back. */
  .kz-sec-head .kz-viewall { display:none; }
  .kz-viewall-below        { display:inline-flex; }

  /* Categories become a two-row horizontal carousel instead of a six-row
     stack — same CSS-only scroll-snap pattern as .kz-drv-scroll. */
  .kz-cats {
    grid-template-columns:none;
    grid-template-rows:repeat(2,auto);
    grid-auto-flow:column;
    grid-auto-columns:42%;
    overflow-x:auto;
    scroll-snap-type:x proximity;
    scroll-behavior:smooth;
    scrollbar-width:none;
    padding-bottom:4px;
  }
  .kz-cats::-webkit-scrollbar { display:none; }
  .kz-cat-nav { display:flex; }
  .kz-cat { scroll-snap-align:start; }
  /* Lift-on-hover would be clipped by the scroll container and phones have no
     hover anyway, so keep the card flat here. */
  .kz-cat:hover { transform:none; }

  .kz-trust-grid   { grid-template-columns:1fr 1fr; }
  .kz-why-grid     { grid-template-columns:repeat(2,1fr); }
  .kz-teams-wrap   { grid-auto-columns:44%; }
  .kz-drv-scroll   { grid-auto-columns:64%; }
  .kz-promo        { padding:24px; }
  .kz-why          { padding:28px 20px; }
}

/* ════════════════════════════════════════════════════════════
   KOZMOZ — WooCommerce product card (Flatsome override)
   Structure:  .product-small.col > .col-inner > .product-small.box
                 > .box-image  (image + badges)
                 > .box-text.box-text-products  (text + price)
   ════════════════════════════════════════════════════════════ */

/* ── 1. Equal-height row: flex chain ── */
.woocommerce ul.products { align-items: stretch !important; }

div.product-small.col.has-hover {
  display: flex !important;
  flex-direction: column;
}
div.product-small.col.has-hover > .col-inner {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* ── 2. Card ── */
.product-small.box {
  flex: 1;
  display: flex !important;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e6e8eb;
  border-radius: 14px !important;
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.product-small.box:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 36px rgba(15,24,40,.11);
  border-color: transparent;
}

/* ── 3. Image: square, fixed height, no collapse ── */
.product-small .box-image {
  position: relative;
  width: 100%;
  flex-shrink: 0;           /* never shrink in flex column */
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #eef0f3;
}
/* Image zoom wrapper fills the square */
.product-small .box-image > .image-zoom_in,
.product-small .box-image > .image-swap,
.product-small .box-image > .image-none,
.product-small .box-image > .image-fade_in_back {
  position: absolute !important;
  inset: 0 !important;
  width: 100%;
  height: 100%;
}
.product-small .box-image a {
  display: block;
  width: 100%;
  height: 100%;
}
.product-small .box-image a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}
/* Hover: crossfade front image -> first gallery image.
   Flatsome outputs the second image as .back-image when the theme option
   "Product Image Hover style" is set to Back Image - Fade In. */
.product-small .box-image a img.back-image {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .45s ease;
}
.product-small.box:hover .box-image a img.back-image {
  opacity: 1;
}

/* ── 4. Text area: flex-grow, push price to bottom ── */
.product-small .box-text.box-text-products {
  flex: 1;
  display: flex !important;
  flex-direction: column;
  text-align: left !important;
  padding: 14px 14px 16px !important;
}

/* ── 5. Category label ── */
.product-small .kz-loop-cat {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: #9aa0ab;
  margin-bottom: 4px;
  line-height: 1;
  flex-shrink: 0;
}

/* ── 6. Title ── */
.product-small .title-wrapper { flex-shrink: 0; margin-bottom: 0; }
.product-small p.woocommerce-loop-product__title,
.product-small .name.product-title {
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.product-small p.woocommerce-loop-product__title a,
.product-small .name.product-title a {
  color: #15181d !important;
  text-decoration: none !important;
}
.product-small p.woocommerce-loop-product__title a:hover,
.product-small .name.product-title a:hover { color: #C8102E !important; }

/* ── 7. Price row (price left, + button right) ── */
.product-small .price-wrapper {
  margin-top: auto !important;   /* push to card bottom */
  padding-top: 12px;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-shrink: 0;
}
.product-small .price-wrapper .price,
.products .product-small span.price {
  font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #0c0e13 !important;
  line-height: 1.15;
  flex: 1 1 auto;
  min-width: 0;
}
.product-small .price-wrapper del,
.woocommerce ul.products li.product .price del {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #9aa0ab !important;
  opacity: 1 !important;
}
.product-small .price-wrapper ins { text-decoration: none !important; }

/* ── 8. + icon add-to-cart button ── */
.product-small .kz-atc-btn {
  flex: none;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: #0c0e13;
  color: #fff !important;
  display: grid !important;
  place-items: center;
  text-decoration: none !important;
  transition: background .15s, transform .12s;
  border: none;
}
.product-small .kz-atc-btn:hover {
  background: #C8102E;
  color: #fff !important;
  transform: scale(1.07);
}
.product-small .kz-atc-btn svg { display: block; pointer-events: none; }

/* ── 9. Sale badge ── */
.product-small .woocommerce-badges {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 3;
}
.products .onsale,
.product-small span.onsale {
  background: #C8102E !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  border-radius: 6px !important;
  padding: 4px 9px !important;
  min-height: unset !important;
  min-width: unset !important;
  line-height: 1.5 !important;
  position: static !important;
  margin: 0 !important;
}

/* ── 10. Hide Flatsome hover overlay (replaced by inline button) ── */
.product-small .image-tools.grid-tools { display: none !important; }

/* ── 11. Star rating ── */
.product-small .star-rating { font-size: 12px; margin: 6px 0 0; flex-shrink: 0; }
.product-small .star-rating span::before { color: #f5a623; }

/* ── Responsive ── */
@media (max-width: 560px) {
  .product-small .price-wrapper .price,
  .products .product-small span.price { font-size: 18px !important; }
  .product-small.box { border-radius: 10px !important; }
}
body.home #content { background-color: #f4f5f7 !important; }


/* ═══════════════════════════════════════════════════════════
   KOZMOZ — Single Product Page Redesign
   ═══════════════════════════════════════════════════════════ */

/* ── Reset Flatsome product wrappers ── */
body.single-product .product-container { padding:0; }
body.single-product #product-sidebar { display:none !important; }
body.single-product .product-main .content-row {
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:0; margin:0 !important;
  border-bottom:1px solid #e6e8eb;
}
body.single-product .product-footer .container {
  max-width:var(--kz-wrap); padding:0 24px;
}

/* ── Gallery ── */
body.single-product .product-gallery {
  padding:24px !important; border-right:1px solid #e6e8eb;
  max-width:none !important; flex:none !important; width:auto !important;
}
body.single-product .woocommerce-product-gallery { margin:0 !important; }
body.single-product .woocommerce-product-gallery .flex-viewport {
  border-radius:8px; overflow:hidden; aspect-ratio:1/1;
}
body.single-product .woocommerce-product-gallery .flex-viewport img {
  width:100%; height:100%; object-fit:cover;
}
body.single-product .woocommerce-product-gallery__trigger { display:none !important; }
body.single-product .flex-control-thumbs {
  display:flex !important; flex-direction:row !important;
  gap:8px; margin-top:12px !important;
  padding:0; list-style:none; overflow-x:auto;
}
body.single-product .flex-control-thumbs li {
  width:76px !important; height:76px !important;
  border-radius:5px; overflow:hidden; border:2px solid #e6e8eb !important;
  cursor:pointer; flex:none; transition:border-color .12s;
}
body.single-product .flex-control-thumbs li img {
  width:100% !important; height:100% !important; object-fit:cover;
}
body.single-product .flex-control-thumbs li.flex-active,
body.single-product .flex-control-thumbs li:hover { border-color:#C8102E !important; }

/* ── Info panel ── */
body.single-product .product-info {
  padding:26px 28px !important;
  flex:1 !important; max-width:none !important; width:auto !important;
}
body.single-product .product-info h1.product_title {
  font-size:20px !important; font-weight:600 !important;
  line-height:1.35 !important; letter-spacing:-.005em !important;
  color:#15181d !important; text-transform:none !important;
  font-family:Inter,system-ui,sans-serif !important;
  margin-bottom:10px !important;
}
body.single-product .woocommerce-product-rating {
  display:flex !important; align-items:center !important;
  gap:12px !important; padding-bottom:14px !important;
  border-bottom:1px solid #e6e8eb !important; margin-bottom:0 !important;
  font-size:13px;
}
body.single-product .star-rating { color:#f59e0b !important; }
body.single-product .woocommerce-review-link { font-size:13px; color:#6a7280; }

/* Price box */
body.single-product .product-info .price,
body.single-product .woocommerce-variation-price .price {
  background:#fff1f0 !important; border-radius:12px !important;
  padding:16px 18px !important; margin:14px 0 !important;
  display:flex !important; align-items:baseline; gap:10px; flex-wrap:wrap;
  border:none !important;
}
body.single-product .product-info .price del,
body.single-product .product-info .price del .woocommerce-Price-amount {
  font-size:15px !important; color:#6a7280 !important;
}
body.single-product .product-info .price ins { text-decoration:none !important; }
body.single-product .product-info .price ins .woocommerce-Price-amount,
body.single-product .product-info .price > .woocommerce-Price-amount {
  font-size:36px !important; font-weight:800 !important;
  color:#C8102E !important; line-height:1 !important;
  font-family:Barlow Condensed,Archivo Narrow,system-ui,sans-serif !important;
}
body.single-product .woocommerce-product-details__short-description {
  font-size:14px; color:#6a7280; line-height:1.7; margin-bottom:6px;
}

/* Variation table */
/* Variations table → grid rows (label 80px + tiles) */
body.single-product .variations { border:none !important; width:100% !important; }
body.single-product .variations tbody,
body.single-product .variations tr { display:block !important; }
body.single-product .variations tr {
  display:grid !important; grid-template-columns:80px 1fr !important;
  gap:8px !important; padding:10px 0 !important; align-items:start !important;
}
body.single-product .variations td,
body.single-product .variations th {
  padding:0 !important; border:none !important;
  font-size:13.5px !important; vertical-align:top !important; display:block !important;
}
body.single-product .variations th.label {
  color:#6a7280; font-size:13px !important; padding-top:5px !important;
  min-width:unset !important; width:auto !important;
}
body.single-product .variations th.label label { font-weight:500 !important; }

/* Swatch tiles */
body.single-product .variable-items-wrapper {
  display:flex !important; gap:7px !important; flex-wrap:wrap !important;
}
body.single-product .variable-item {
  border:1.5px solid #e6e8eb !important; border-radius:6px !important;
  font-size:13px !important; font-weight:500 !important; line-height:1 !important;
  height:40px !important; padding:0 16px !important;
  position:relative !important; overflow:hidden !important;
  transition:border-color .12s, color .12s !important; cursor:pointer;
  background:#fff !important; display:inline-flex !important; align-items:center !important;
  box-shadow:none !important; outline:none !important; margin:0 !important; width:auto !important;
  letter-spacing:0 !important; color:#15181d !important;
}
body.single-product .variable-item.selected,
body.single-product .variable-item:hover:not(.out-of-stock) {
  border-color:#C8102E !important; color:#C8102E !important;
  background:#fff1f0 !important;
}
body.single-product .variable-item.out-of-stock { opacity:.38 !important; text-decoration:line-through !important; pointer-events:none !important; }
body.single-product .variable-item-contents { display:flex !important; align-items:center !important; }


/* CTA button — accent-soft bg, accent border+text (matches .btn-cart in mockup) */
body.single-product .single_add_to_cart_button {
  background:#fff1f0 !important; color:#C8102E !important;
  border:1.5px solid #C8102E !important; border-radius:12px !important;
  height:52px !important; min-height:52px !important; width:100% !important;
  font-size:15px !important; font-weight:700 !important;
  text-transform:none !important; letter-spacing:0 !important;
  transition:.12s !important;
  display:inline-flex !important; align-items:center !important;
  justify-content:center !important; gap:8px !important; margin-top:0 !important;
}
body.single-product .single_add_to_cart_button:hover {
  background:#ffe2e0 !important; border-color:#C8102E !important;
}

/* Variation ATC wrapper — column layout via PHP-injected rows */
body.single-product .woocommerce-variation-add-to-cart {
  display:flex !important; flex-direction:column !important;
  gap:14px !important; margin-top:14px !important;
}
body.single-product .woocommerce-variation-add-to-cart input[type='hidden'] { display:none !important; }

/* Qty row: label + control side by side */
body.single-product .kz-qty-row {
  display:flex !important; align-items:center !important; gap:8px !important;
}

/* Add-on form: the plugin's separator belonged to the summary rows underneath
   it. Those are switched off, so the rule and its 30px gap have nothing left
   to divide. */
body.single-product .wcpa_form_outer {
  border-bottom:0;
  margin-bottom:10px;
}
body.single-product .kz-cta-row {
  display:flex !important; gap:12px !important; margin-top:15px !important;
}
body.single-product .kz-cta-row .single_add_to_cart_button {
  flex:1 !important; width:auto !important; margin:0 !important;
}
body.single-product .kz-buy-now-btn {
  margin:0 !important;
  flex:1 !important;
  background:#C8102E !important; color:#fff !important;
  border:none !important; border-radius:12px !important;
  height:52px !important; font-size:15px !important; font-weight:700 !important;
  cursor:pointer !important; transition:filter .12s !important;
  display:inline-flex !important; align-items:center !important;
  justify-content:center !important; text-transform:none !important;
}
body.single-product .kz-buy-now-btn:hover { filter:brightness(1.08) !important; }


/* Policy strip */
.kz-pd-policy {
  display:flex; border:1px solid #e6e8eb; border-radius:12px;
  overflow:hidden; margin:14px 0;
}
.kz-pd-policy-item {
  flex:1; display:flex; align-items:center; gap:11px;
  padding:12px 14px; border-right:1px solid #e6e8eb; font-size:13px;
}
.kz-pd-policy-item:last-child { border-right:0; }
.kz-pd-policy-item svg { flex:none; color:#C8102E; }
.kz-pd-policy-item strong { display:block; font-weight:600; font-size:13px; margin-bottom:1px; }
.kz-pd-policy-item small { color:#6a7280; font-size:11.5px; display:block; line-height:1.4; }

/* ── Tabs — pill style ── */
body.single-product .woocommerce-tabs { padding:0 0 20px !important; }
body.single-product .kz-pd-tabs-head {
  font-family:Barlow Condensed,system-ui; font-size:22px; font-weight:700;
  text-transform:uppercase; letter-spacing:.04em; color:#15181d;
  margin-bottom:24px; display:flex; align-items:center; gap:12px;
}
body.single-product .kz-pd-tabs-head::before {
  content:""; width:4px; height:22px; background:#C8102E; border-radius:2px;
}
body.single-product .woocommerce-tabs .wc-tabs {
  display:flex !important; gap:4px !important;
  border:none !important; background:none !important;
  margin-bottom:28px !important; padding:0 !important; flex-wrap:wrap;
}
body.single-product .woocommerce-tabs .wc-tabs::before,
body.single-product .woocommerce-tabs .wc-tabs::after { display:none !important; }
body.single-product .woocommerce-tabs .wc-tabs li {
  background:none !important; border:none !important;
  border-radius:999px !important; margin:0 !important; padding:0 !important;
  border-bottom:none !important; float:none !important;
}
body.single-product .woocommerce-tabs .wc-tabs li a {
  padding:8px 20px !important; font-size:13.5px !important;
  font-weight:600 !important; color:#6a7280 !important;
  border:1px solid #e6e8eb !important; background:#fff !important;
  border-radius:999px !important; display:block;
  transition:background .15s, color .15s, border-color .15s !important;
  letter-spacing:.01em; text-transform:none !important;
}
body.single-product .woocommerce-tabs .wc-tabs li a:hover {
  color:#15181d !important; border-color:#15181d !important;
}
body.single-product .woocommerce-tabs .wc-tabs li.active { border-top:none !important; }
body.single-product .woocommerce-tabs .wc-tabs li.active a {
  background:#0c0e13 !important; color:#fff !important; border-color:#0c0e13 !important;
}
body.single-product .woocommerce-tabs .tab-panels { padding:0 !important; border:none !important; }
body.single-product .woocommerce-Tabs-panel { padding:0 !important; border:none !important; background:none !important; }

/* ── Related products ── */
body.single-product .related.products,
body.single-product .up-sells.products {
  padding-top:52px !important; border-top:1px solid #e6e8eb; margin-top:0 !important;
}
body.single-product .related > h2,
body.single-product .up-sells > h2 {
  font-family:Barlow Condensed,system-ui !important;
  font-size:28px !important; font-weight:700 !important;
  text-transform:uppercase !important; letter-spacing:.04em !important;
  margin-bottom:24px !important; color:#15181d !important;
}

/* ── Sticky ATC ── */
.kz-sticky-atc {
  position:fixed; bottom:0; left:0; right:0; z-index:50;
  background:#fff; border-top:1px solid #e6e8eb;
  box-shadow:0 -2px 12px rgba(0,0,0,.08);
  transform:translateY(100%); transition:transform .28s; padding:10px 0;
}
.kz-sticky-atc.show { transform:translateY(0); }
.kz-sticky-atc-inner {
  display:flex; align-items:center; gap:14px;
  max-width:var(--kz-wrap); margin:0 auto; padding:0 24px;
}
.kz-sticky-img { width:46px; height:46px; border-radius:6px; object-fit:cover; flex:none; border:1px solid #e6e8eb; }
.kz-sticky-name { font-size:13.5px; font-weight:600; flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.kz-sticky-price { font-family:Barlow Condensed,system-ui; font-size:20px; font-weight:800; color:#C8102E; flex:none; }
.kz-sticky-btn {
  height:44px; padding:0 24px; background:#C8102E; color:#fff;
  font-weight:700; font-size:14px; border-radius:10px; border:none; cursor:pointer;
  flex:none; transition:filter .12s;
}
.kz-sticky-btn:hover { filter:brightness(1.08); }

/* ── Mobile ── */
@media(max-width:860px) {
  body.single-product .product-main .content-row {
    grid-template-columns:1fr !important;
  }
  body.single-product .product-gallery {
    border-right:none !important; border-bottom:1px solid #e6e8eb; padding:16px !important;
  }
  body.single-product .product-info { padding:16px !important; }
  .kz-pd-policy { flex-direction:column; }
  .kz-pd-policy-item { border-right:none !important; border-bottom:1px solid #e6e8eb; }
  .kz-pd-policy-item:last-child { border-bottom:none; }
  .kz-sticky-name { display:none; }
}


/* ── Product rating row ── */
.kz-stat-row {
  display:flex; align-items:center; gap:14px;
  font-size:13px; padding-bottom:14px;
  border-bottom:1px solid #e6e8eb; flex-wrap:wrap;
}
.kz-stat-seg { display:flex; align-items:center; gap:6px; }
.kz-stat-num { font-weight:600; color:#9E0B22; border-bottom:1px solid #9E0B22; line-height:1.2; }
.kz-stat-stars { color:#f59e0b; font-size:13px; letter-spacing:.5px; }
.kz-stat-sep { width:1px; height:14px; background:#e6e8eb; }
.kz-stat-mut { color:#6a7280; }

/* ── Product rating row inside the title area ──
   .kz-stat-row is also used on its own, where it carries its own underline.
   Next to the Trustpilot badge that underline stops mid-row, so move it to the
   whole line and let all three items share one centred, equal-height baseline.
   Markup + base styles come from the "Product Page" UX block; these rules only
   reconcile the two halves. */
.kz-product-rating-line {
  padding-bottom:12px;
  border-bottom:1px solid #e6e8eb;
}
.kz-product-rating-line .kz-stat-row {
  padding-bottom:0;
  border-bottom:0;
  gap:10px;
  min-height:32px;
  flex-wrap:nowrap;
}
.kz-product-rating-line .kz-stat-row-link { align-items:center; min-height:32px; }
.kz-product-rating-line .kz-stat-num,
.kz-product-rating-line .kz-stat-mut  { line-height:1.15; }
.kz-product-rating-line .kz-stat-stars { font-size:14px; line-height:1; }
.kz-product-rating-line .kz-stat-sep   { height:16px; }

/* Phones cannot fit both halves on one line (209px + 225px > 360px), so the
   badge wraps. Stack it deliberately and drop the divider, which would
   otherwise be left dangling at the end of the first row. */
@media (max-width:549px) {
  .kz-product-rating-line { row-gap:8px; padding-bottom:10px; }
  .kz-product-rating-line .kz-product-rating-divider { display:none; }
  .kz-product-rating-line .kz-stat-row-link,
  .kz-product-rating-line .kz-product-trustpilot { flex:0 0 100%; }
}


/* ── Breadcrumb bar ── */
.kzbc-wrap {
  background:#fff;
  border-bottom:1px solid #e6e8eb;
  width:100vw;
  margin-left:calc(50% - 50vw);
}
.kzbc-wrap .rank-math-breadcrumb,
.kzbc-wrap .woocommerce-breadcrumb {
  display:flex; align-items:center; flex-wrap:wrap;
  min-height:44px; font-size:13px; color:#6a7280;
  max-width:1280px; margin:0 auto; padding:0 24px; gap:6px;
}
.kzbc-wrap .rank-math-breadcrumb p { display:contents; }
.kzbc-wrap a { color:#6a7280; transition:color .15s; }
.kzbc-wrap a:hover { color:#9E0B22; }
.kzbc-wrap .separator,
.kzbc-wrap .divider { opacity:.4; margin:0 2px; }
.kzbc-wrap .last { color:#15181d; font-weight:500; }
/* Space between breadcrumb and product content */
body.single-product .woocommerce > .product,
body.single-product .product-container { padding-top:28px; }


/* ═══════════════════════════════════════════════════════════════
   BLOG ARCHIVE PAGE — kz- prefix classes
   ═══════════════════════════════════════════════════════════════ */

/* Page hero */
.kz-pg-hero{background:var(--kz-dark);color:#fff;padding:54px 0 50px;position:relative;overflow:hidden}
.kz-pg-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(90% 70% at 18% 50%,rgba(225,6,0,.18),transparent 60%),repeating-linear-gradient(115deg,rgba(255,255,255,.025) 0 2px,transparent 2px 28px)}
.kz-pg-hero .kz-wrap{position:relative;z-index:1}
.kz-pg-hero h1{font-family:var(--kz-font-display);font-size:clamp(44px,6vw,76px);font-weight:800;text-transform:uppercase;margin-bottom:12px;color:#ffffff}
.kz-pg-hero p{color:#9aa0ad;font-size:16px;max-width:52ch}

/* Category bar */
.kz-blog-catbar{background:var(--kz-surface);border-bottom:1px solid var(--kz-border);position:sticky;top:0;z-index:50}
.kz-blog-catbar-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;height:56px}
.kz-ctabs{display:flex;gap:6px;flex-shrink:0;overflow-x:auto;scrollbar-width:none}
.kz-ctabs::-webkit-scrollbar{display:none}
.kz-ctab{padding:7px 16px;border-radius:999px;font-size:13px;font-weight:600;background:transparent;border:1px solid var(--kz-border);color:var(--kz-muted);transition:.15s;white-space:nowrap;cursor:pointer;font-family:var(--kz-font-body);text-decoration:none;display:inline-block}
.kz-ctab:hover{color:var(--kz-fg)}
.kz-ctab.on{background:var(--kz-dark);color:#fff !important;border-color:var(--kz-dark)}

/* Featured post */
.kz-bfeat{display:grid;grid-template-columns:1fr 1fr;border-radius:16px;overflow:hidden;background:var(--kz-surface);border:1px solid var(--kz-border);box-shadow:var(--kz-shadow);margin:36px 0 0;transition:transform .2s;text-decoration:none;color:inherit;display:grid}
.kz-bfeat:hover{transform:translateY(-3px)}
.kz-bfeat-img{position:relative;overflow:hidden;display:block}
.kz-bfeat-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;display:block;min-height:320px}
.kz-bfeat:hover .kz-bfeat-img img{transform:scale(1.04)}
.kz-bfeat-label{position:absolute;top:18px;left:18px;background:var(--kz-accent);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;padding:4px 12px;border-radius:4px}
.kz-bfeat-body{padding:40px;display:flex;flex-direction:column;justify-content:center}
.kz-bcat{font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--kz-accent-ink);margin-bottom:10px;display:block}
.kz-bfeat-title{font-family:var(--kz-font-display);font-size:clamp(24px,2.2vw,32px);font-weight:800;text-transform:uppercase;line-height:1.1;color:var(--kz-fg);margin-bottom:14px;display:block;transition:color .15s;text-decoration:none}
.kz-bfeat-title:hover{color:var(--kz-accent-ink)}
.kz-bfeat-excerpt{font-size:14px;color:var(--kz-muted);line-height:1.65;margin-bottom:26px}
.kz-bfeat-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--kz-border);padding-top:18px;margin-top:auto}
.kz-bfeat-author{display:flex;align-items:center;gap:10px}
.kz-bfeat-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid var(--kz-border)}
.kz-bfeat-author .kz-name{font-size:13px;font-weight:600;display:block}
.kz-bfeat-author .kz-date{font-size:11px;color:var(--kz-muted)}
.kz-bfeat-cta{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:var(--kz-accent-ink);padding:9px 20px;border-radius:999px;border:2px solid var(--kz-accent);transition:.15s;white-space:nowrap}
.kz-bfeat-cta:hover{background:var(--kz-accent);color:#fff !important}

/* Blog layout */
.kz-blog-layout{display:grid;grid-template-columns:1fr 320px;gap:40px;align-items:start;padding:36px 0 60px}
.kz-slabel{font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--kz-accent-ink);margin-bottom:18px;display:flex;align-items:center;gap:8px}
.kz-slabel::before{content:"";width:20px;height:2px;background:var(--kz-accent)}

/* Article grid */
.kz-agrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.kz-acard{background:var(--kz-surface);border:1px solid var(--kz-border);border-radius:var(--kz-r);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s;text-decoration:none;color:inherit}
.kz-acard:hover{transform:translateY(-3px);box-shadow:var(--kz-shadow)}
.kz-athumb{aspect-ratio:16/9;overflow:hidden;position:relative;display:block;flex-shrink:0}
.kz-athumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.kz-acard:hover .kz-athumb img{transform:scale(1.04)}
.kz-atag{position:absolute;top:10px;left:10px;background:var(--kz-accent);color:#fff;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;padding:3px 9px;border-radius:4px}
.kz-abody{padding:18px;display:flex;flex-direction:column;flex:1}
.kz-acat{font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--kz-accent-ink);margin-bottom:6px}
.kz-atitle{font-size:16px;font-weight:700;line-height:1.35;color:var(--kz-fg);margin-bottom:10px;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;transition:color .15s;text-decoration:none}
.kz-atitle:hover{color:var(--kz-accent-ink)}
.kz-aexcerpt{font-size:12.5px;color:var(--kz-muted);line-height:1.55;margin-bottom:14px;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.kz-ameta{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--kz-border);padding-top:10px;margin-top:auto}
.kz-adate{font-size:11.5px;color:var(--kz-muted);display:flex;align-items:center;gap:5px}
.kz-aread{font-size:12.5px;font-weight:600;color:var(--kz-accent-ink);display:inline-flex;align-items:center;gap:4px;transition:gap .15s;white-space:nowrap;text-decoration:none}
.kz-aread:hover{gap:7px}

/* Blog pagination (WP native) */
.kz-blog-pagination{padding:28px 0 0}
.kz-blog-pagination .nav-links{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.kz-blog-pagination .page-numbers{min-width:38px;height:38px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:13.5px;font-weight:600;border:1px solid var(--kz-border);background:var(--kz-surface);color:var(--kz-muted);cursor:pointer;transition:.15s;padding:0 12px;text-decoration:none}
.kz-blog-pagination .page-numbers:hover{border-color:var(--kz-dark);color:var(--kz-dark);background:var(--kz-bg)}
.kz-blog-pagination .page-numbers.current{background:var(--kz-dark);color:#fff;border-color:var(--kz-dark)}
.kz-blog-pagination .page-numbers.dots{background:none;border-color:transparent;cursor:default}

/* Blog sidebar */
.kz-blog-sidebar{display:flex;flex-direction:column;gap:22px}
.kz-sbox{background:var(--kz-surface);border:1px solid var(--kz-border);border-radius:var(--kz-r);padding:22px}
.kz-sbox h3{font-size:16px;font-weight:700;text-transform:uppercase;margin-bottom:16px;font-family:var(--kz-font-display);letter-spacing:.02em}
.kz-spost{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--kz-border)}
.kz-spost:last-child{border-bottom:0;padding-bottom:0}
.kz-spost-thumb{width:68px;height:52px;border-radius:8px;overflow:hidden;flex-shrink:0;display:block}
.kz-spost-thumb img{width:100%;height:100%;object-fit:cover}
.kz-spost-cat{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--kz-accent-ink);margin-bottom:3px;display:block}
.kz-spost-title{font-size:13px;font-weight:600;color:var(--kz-fg);line-height:1.3;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;transition:color .15s;text-decoration:none}
.kz-spost-title:hover{color:var(--kz-accent-ink)}
.kz-spost-date{font-size:11px;color:var(--kz-muted);margin-top:4px;display:block}
.kz-stags{display:flex;flex-wrap:wrap;gap:8px}
.kz-stag{padding:6px 14px;border-radius:999px;border:1px solid var(--kz-border);font-size:12px;font-weight:500;color:var(--kz-muted);transition:.15s;cursor:pointer;text-decoration:none;display:inline-block}
.kz-stag:hover{background:var(--kz-dark);color:#fff !important;border-color:var(--kz-dark)}
.kz-snews-box{background:var(--kz-dark);color:#fff;border-radius:var(--kz-r);padding:22px}
.kz-snews-box h3{font-family:var(--kz-font-display);font-size:18px;font-weight:700;text-transform:uppercase;margin-bottom:10px;color:#fff}
.kz-snews-box p{font-size:13px;color:#9aa0ad;margin-bottom:16px;line-height:1.5}
.kz-snews-box input{width:100%;border:0;border-radius:8px;padding:10px 14px;font-size:13px;outline:0;color:var(--kz-fg);margin-bottom:10px;display:block}
.kz-snews-btn{width:100%;background:var(--kz-accent);color:#fff;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:filter .15s;border:0;display:block}
.kz-snews-btn:hover{filter:brightness(1.08)}

/* Blog newsletter section */
.kz-blog-news{background:var(--kz-dark);color:#fff;border-radius:16px;padding:48px 40px;text-align:center;margin-bottom:60px}
.kz-blog-news h2{font-family:var(--kz-font-display);font-size:clamp(26px,3.4vw,38px);font-weight:800;text-transform:uppercase;margin-bottom:10px}
.kz-blog-news p{color:#8b919c;font-size:16px;margin-bottom:26px}
.kz-blog-news-form{display:flex;max-width:460px;margin:0 auto;gap:10px}
.kz-blog-news input{flex:1;height:48px;border-radius:999px;border:0;padding:0 20px;font-size:14px;outline:0;color:var(--kz-fg)}
.kz-blog-news-btn{height:48px;padding:0 26px;border-radius:999px;background:var(--kz-accent);color:#fff;font-weight:700;font-size:14px;white-space:nowrap;cursor:pointer;transition:filter .15s;border:0}
.kz-blog-news-btn:hover{filter:brightness(1.08)}

/* ═══════════════════════════════════════════════════════════════
   BLOG SINGLE POST
   ═══════════════════════════════════════════════════════════════ */
.kz-art-hero{position:relative;height:520px;overflow:hidden;background:var(--kz-dark)}
.kz-art-hero-img{width:100%;height:100%;object-fit:cover;opacity:.7;display:block}
.kz-art-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(12,14,19,.88) 0%,rgba(12,14,19,.3) 55%,transparent 100%)}
.kz-art-hero-content{position:absolute;bottom:0;left:0;right:0;padding:48px 0 40px;color:#fff}
.kz-art-breadcrumb{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#9aa0ad;margin-bottom:16px;flex-wrap:wrap}
.kz-art-breadcrumb a{color:#9aa0ad;transition:color .15s;text-decoration:none}
.kz-art-breadcrumb a:hover{color:#fff}
.kz-art-breadcrumb .sep{opacity:.4}
.kz-art-cat-chip{display:inline-flex;align-items:center;background:var(--kz-accent);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;padding:4px 12px;border-radius:4px;margin-bottom:14px}
.kz-art-hero h1{font-family:var(--kz-font-display);font-size:clamp(30px,4vw,52px);font-weight:800;text-transform:uppercase;max-width:780px;line-height:1.08;margin-bottom:20px;color:#ffffff}
.kz-art-meta{display:flex;align-items:center;flex-wrap:wrap;gap:16px}
.kz-art-author{display:flex;align-items:center;gap:10px}
.kz-art-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.3)}
.kz-art-author .kz-name{font-size:14px;font-weight:600;display:block;line-height:1.25}
.kz-art-author .kz-date{font-size:12px;color:#9aa0ad;display:block;line-height:1.25}
.kz-art-stats{display:flex;align-items:center;gap:14px;font-size:12.5px;color:#9aa0ad}
.kz-art-stats span{display:flex;align-items:center;gap:5px}
.kz-art-layout{display:grid;grid-template-columns:1fr 300px;gap:48px;align-items:start;padding:48px 0 64px}
.kz-art-body{background:var(--kz-surface);border:1px solid var(--kz-border);border-radius:16px;padding:48px;font-size:16px;line-height:1.75}
.kz-art-body h2{font-family:var(--kz-font-display);font-size:clamp(22px,2.2vw,28px);font-weight:800;text-transform:uppercase;margin:36px 0 14px;color:var(--kz-fg)}
.kz-art-body h3{font-size:18px;font-weight:700;margin:28px 0 10px}
.kz-art-body p{margin-bottom:18px;color:#2a2e36}
.kz-art-body p:last-child{margin-bottom:0}
.kz-art-body strong{font-weight:600;color:var(--kz-fg)}
.kz-art-body a{color:var(--kz-accent-ink);text-decoration:underline;text-underline-offset:3px}
.kz-art-body ul,.kz-art-body ol{margin:0 0 18px 20px}
.kz-art-body ul{list-style:disc}
.kz-art-body li{margin-bottom:8px;line-height:1.65;color:#2a2e36}
.kz-art-body img{border-radius:12px;margin:28px 0;width:100%}
.kz-art-body blockquote{margin:28px 0;padding:22px 28px;border-left:4px solid var(--kz-accent);background:#fdf1f1;border-radius:0 12px 12px 0}
.kz-art-body blockquote p{font-family:var(--kz-font-display);font-size:20px;font-weight:700;font-style:normal;color:var(--kz-fg);line-height:1.35;margin:0 0 10px}
.kz-art-body blockquote cite{font-size:13px;color:var(--kz-muted);font-style:normal;font-weight:600}
.kz-art-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:36px;padding-top:28px;border-top:1px solid var(--kz-border)}
.kz-art-tag{padding:6px 14px;border-radius:999px;border:1px solid var(--kz-border);font-size:12.5px;color:var(--kz-muted);transition:.15s;text-decoration:none}
.kz-art-tag:hover{background:var(--kz-dark);color:#fff !important;border-color:var(--kz-dark)}
.kz-share-bar{display:flex;align-items:center;gap:12px;margin-top:28px;padding-top:24px;border-top:1px solid var(--kz-border);flex-wrap:wrap}
.kz-share-label{font-size:13px;font-weight:600;color:var(--kz-muted);margin-right:4px}
.kz-share-btn{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 16px;border-radius:999px;font-size:13px;font-weight:600;border:1px solid var(--kz-border);color:var(--kz-fg);background:var(--kz-surface);transition:.15s;cursor:pointer;font-family:var(--kz-font-body);text-decoration:none}
.kz-share-btn:hover{background:var(--kz-dark);color:#fff !important;border-color:var(--kz-dark)}
.kz-art-sidebar{display:flex;flex-direction:column;gap:22px;position:sticky;top:88px}
.kz-toc-list{display:flex;flex-direction:column;gap:4px}
.kz-toc-item{display:flex;align-items:flex-start;gap:10px;padding:6px 8px;border-radius:7px;font-size:13px;color:var(--kz-muted);transition:.15s;cursor:pointer}
.kz-toc-item:hover,.kz-toc-item.active{background:var(--kz-bg);color:var(--kz-fg)}
.kz-toc-item.active{color:var(--kz-accent-ink);font-weight:600}
.kz-toc-num{font-family:var(--kz-font-display);font-size:14px;font-weight:700;color:var(--kz-accent);min-width:18px}
.kz-author-bio{background:var(--kz-surface);border:1px solid var(--kz-border);border-radius:16px;padding:32px;display:flex;gap:24px;align-items:flex-start}
.kz-bio-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;flex-shrink:0;border:3px solid var(--kz-border)}
.kz-bio-name{font-family:var(--kz-font-display);font-size:22px;font-weight:800;text-transform:uppercase;margin-bottom:6px}
.kz-bio-role{font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--kz-accent-ink);margin-bottom:10px}
.kz-bio-text{font-size:14px;color:var(--kz-muted);line-height:1.65}
.kz-related-head{font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--kz-accent-ink);margin-bottom:18px;display:flex;align-items:center;gap:8px}
.kz-related-head::before{content:"";width:20px;height:2px;background:var(--kz-accent)}
.kz-rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.kz-rcard{background:var(--kz-surface);border:1px solid var(--kz-border);border-radius:var(--kz-r);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s;text-decoration:none;color:inherit;padding:0}
.kz-rcard:hover{transform:translateY(-3px);box-shadow:var(--kz-shadow)}
.kz-rcard-thumb{aspect-ratio:16/9;overflow:hidden;position:relative;display:block;flex-shrink:0}
.kz-rcard-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.kz-rcard:hover .kz-rcard-thumb img{transform:scale(1.04)}
.kz-rcard-body{padding:16px 16px 18px;flex:1;display:flex;flex-direction:column}
.kz-rcard-cat{font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--kz-accent-ink);margin-bottom:6px}
.kz-rcard-title{font-size:15px;font-weight:700;color:var(--kz-fg);line-height:1.35;margin-bottom:10px;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;transition:color .15s}
.kz-rcard-title:hover{color:var(--kz-accent-ink)}
.kz-rcard-meta{display:flex;align-items:center;justify-content:space-between;margin-top:auto;border-top:1px solid var(--kz-border);padding-top:10px}
.kz-rcard-date{font-size:11.5px;color:var(--kz-muted)}
.kz-rcard-read{font-size:12.5px;font-weight:600;color:var(--kz-accent-ink);display:inline-flex;align-items:center;gap:4px;transition:gap .15s;text-decoration:none}
.kz-rcard-read:hover{gap:7px}
.kz-read-progress{position:fixed;top:0;left:0;height:3px;background:var(--kz-accent);z-index:999;width:0;transition:width .1s linear;pointer-events:none}

/* ─── BLOG GRID SHORTCODE [kz_blog_grid] ───────────────────── */
/* outer: grid only — no card bg/border */
.kz-bfeed{display:grid;grid-template-columns:1.6fr 1fr;gap:24px;align-items:stretch}
/* featured card — left column */
.kz-bfeed-main{background:var(--kz-surface);border:1px solid var(--kz-border);border-radius:var(--kz-r);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}
.kz-bfeed-main:hover{transform:translateY(-3px);box-shadow:var(--kz-shadow)}
.kz-bfeed-feat-img{position:relative;overflow:hidden;flex-shrink:0;aspect-ratio:16/9}
.kz-bfeed-feat-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.kz-bfeed-main:hover .kz-bfeed-feat-img img{transform:scale(1.04)}
.kz-bfeed-chip{position:absolute;top:12px;left:12px;background:var(--kz-accent);color:#fff;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:4px;z-index:1}
.kz-bfeed-feat-body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.kz-bfeed-cat{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--kz-accent-ink);margin-bottom:8px;display:block}
.kz-bfeed-title{font-size:22px;font-weight:800;line-height:1.25;color:var(--kz-fg);margin:0 0 10px}
.kz-bfeed-excerpt{font-size:14px;color:var(--kz-muted);line-height:1.65;margin:0 0 16px;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.kz-bfeed-meta{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:14px;border-top:1px solid var(--kz-border)}
.kz-bfeed-date{font-size:12px;color:var(--kz-muted)}
.kz-bfeed-read{font-size:13px;font-weight:600;color:var(--kz-accent-ink)}
/* right column — individual cards with gaps */
.kz-bfeed-side{display:flex;flex-direction:column;gap:10px}
.kz-bfeed-mini{background:var(--kz-surface);border:1px solid var(--kz-border);border-radius:var(--kz-r);overflow:hidden;display:flex;flex-direction:row;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s;flex:1;min-height:0}
.kz-bfeed-mini:hover{transform:translateY(-2px);box-shadow:var(--kz-shadow)}
.kz-bfeed-mini-thumb{position:relative;overflow:hidden;width:150px;min-width:150px;flex-shrink:0;align-self:stretch}
.kz-bfeed-mini-thumb img{width:100%;height:100%;min-height:110px;object-fit:cover;display:block;transition:transform .4s}
.kz-bfeed-mini:hover .kz-bfeed-mini-thumb img{transform:scale(1.04)}
.kz-bfeed-mini-body{padding:14px 16px;display:flex;flex-direction:column;flex:1;min-width:0}
.kz-bfeed-mini-title{font-size:14px;font-weight:700;line-height:1.35;color:var(--kz-fg);margin:4px 0 auto;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:768px){.kz-bfeed{grid-template-columns:1fr}.kz-bfeed-mini-thumb{width:110px;min-width:110px}}

/* ═══════════════════════════════════════════════════════════════
   404 ERROR PAGE
   ═══════════════════════════════════════════════════════════════ */
.kz-err-hero{position:relative;background:var(--kz-dark);color:#fff;overflow:hidden;min-height:520px;display:flex;align-items:center}
.kz-err-bg-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(90% 80% at 50% 50%,rgba(225,6,0,.14),transparent 65%),radial-gradient(50% 40% at 10% 90%,rgba(255,255,255,.04),transparent 50%)}
.kz-err-bg-lines{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(115deg,rgba(255,255,255,.025) 0 2px,transparent 2px 26px)}
.kz-err-bg-check{position:absolute;bottom:0;left:0;right:0;height:6px;pointer-events:none;background-image:repeating-linear-gradient(90deg,#fff 0 14px,#C8102E 14px 28px);opacity:.25}
.kz-circuit-wrap{position:absolute;right:-60px;bottom:-20px;opacity:.07;pointer-events:none}
.kz-err-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;padding:72px 0;width:100%}
.kz-err-label{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--kz-accent);margin-bottom:20px}
.kz-err-label::before{content:"";width:26px;height:2px;background:var(--kz-accent)}
.kz-err-code{font-family:var(--kz-font-display);font-size:clamp(120px,18vw,200px);font-weight:800;line-height:.88;letter-spacing:-.04em;text-transform:uppercase;background:linear-gradient(135deg,#fff 30%,rgba(255,255,255,.3) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block}
.kz-err-title{font-family:var(--kz-font-display);font-size:clamp(32px,5vw,56px);font-weight:800;text-transform:uppercase;margin-bottom:14px;margin-top:6px;color:#ffffff}
.kz-err-title .kz-cy{color:var(--kz-accent);font-style:italic}
.kz-err-desc{color:#aeb4bf;font-size:16px;max-width:44ch;margin-bottom:30px}
.kz-err-actions{display:flex;gap:12px;flex-wrap:wrap}
.kz-err-art{flex:none;width:280px}
.kz-quicklinks{padding:44px 0 36px}
.kz-ql-head{font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--kz-muted);margin-bottom:18px}
.kz-ql-grid{display:flex;gap:10px;flex-wrap:wrap}
.kz-ql-pill{display:inline-flex;align-items:center;gap:8px;background:var(--kz-surface);border:1px solid var(--kz-border);border-radius:999px;padding:10px 18px;font-size:14px;font-weight:500;transition:.15s;text-decoration:none;color:var(--kz-fg)}
.kz-ql-pill:hover{background:var(--kz-dark);color:#fff !important;border-color:var(--kz-dark)}
.kz-ql-pill svg{flex:none;color:var(--kz-accent)}
.kz-err-pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.kz-err-card{background:var(--kz-surface);border:1px solid var(--kz-border);border-radius:var(--kz-r);overflow:hidden;display:flex;flex-direction:column;transition:transform .16s,box-shadow .16s,border-color .16s;text-decoration:none;color:inherit}
.kz-err-card:hover{transform:translateY(-4px);box-shadow:var(--kz-shadow);border-color:transparent}
.kz-err-card-thumb{position:relative;aspect-ratio:1/1;overflow:hidden;background:#eef0f3}
.kz-err-card-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.kz-err-card:hover .kz-err-card-thumb img{transform:scale(1.04)}
.kz-err-card-body{padding:14px;display:flex;flex-direction:column;flex:1}
.kz-err-card-name{font-size:14.5px;font-weight:600;line-height:1.3;margin-bottom:12px;color:var(--kz-fg)}
.kz-err-card-price{font-family:var(--kz-font-display);font-weight:700;font-size:21px;color:var(--kz-dark);margin-top:auto}
.kz-err-card-price ins{text-decoration:none}
.kz-err-sec{padding-bottom:64px}
.kz-err-sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:26px}

/* ═══════════════════════════════════════════════════════════════
   BLOG + 404 RESPONSIVE
   ═══════════════════════════════════════════════════════════════ */
@media(max-width:1080px){
  .kz-blog-layout{grid-template-columns:1fr}
  .kz-blog-sidebar{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;align-items:start}
  .kz-agrid{grid-template-columns:repeat(2,1fr)}
  .kz-art-layout{grid-template-columns:1fr;gap:32px}
  .kz-art-sidebar{position:static;display:grid;grid-template-columns:repeat(2,1fr)}
  .kz-rgrid{grid-template-columns:repeat(2,1fr)}
  .kz-err-inner{grid-template-columns:1fr}
  .kz-err-art{display:none}
  .kz-err-pgrid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:860px){
  .kz-bfeat{grid-template-columns:1fr}
  .kz-bfeat-img img{min-height:unset;aspect-ratio:16/9;height:auto}
  .kz-bfeat-body{padding:26px 24px}
  .kz-agrid{grid-template-columns:repeat(2,1fr)}
  .kz-art-hero{height:420px}
  .kz-art-body{padding:28px 24px}
  .kz-author-bio{flex-direction:column;gap:16px}
  .kz-rgrid{grid-template-columns:1fr}
  .kz-art-sidebar{grid-template-columns:1fr}
  .kz-blog-news-form{flex-direction:column}
}
@media(max-width:560px){
  .kz-agrid{grid-template-columns:1fr}
  .kz-blog-sidebar{grid-template-columns:1fr}
  .kz-err-code{font-size:clamp(80px,24vw,140px)}
  .kz-art-hero{height:320px}
  .kz-err-pgrid{grid-template-columns:1fr 1fr;gap:12px}
}

/* ── kz-btn: base button used on 404 + other pages ── */
.kz-btn{display:inline-flex;align-items:center;gap:9px;height:50px;padding:0 28px;border-radius:999px;font-size:15px;font-weight:700;letter-spacing:.02em;text-decoration:none !important;transition:.15s;cursor:pointer;font-family:var(--kz-font-body);white-space:nowrap;border:2px solid transparent}
.kz-btn--primary{background:var(--kz-accent);color:#fff !important;border-color:var(--kz-accent)}
.kz-btn--primary:hover{filter:brightness(1.12);color:#fff !important}
.kz-btn--outline-light{background:transparent;color:#fff !important;border-color:rgba(255,255,255,.4)}
.kz-btn--outline-light:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff !important}
/* override Flatsome default h1 border inside 404 hero */
.kz-err-hero h1.kz-err-title,.kz-err-title{border:none !important;padding:0 !important;background:none !important}
body.single-product .woocommerce-tabs .wc-tabs li a::before { display:none !important; }

/* fix Flatsome border on kicker/eyebrow inside dark hero sections */
.kz-pg-hero .kz-kicker,.kz-pg-hero .kz-eyebrow{border:none !important;outline:none !important;box-shadow:none !important}

/* blog catbar search */
.kz-blog-search{display:flex;align-items:center;flex-shrink:0;background:var(--kz-bg);border:1px solid var(--kz-border);border-radius:999px;padding:0 6px 0 14px;height:36px;min-width:190px}
.kz-blog-search input[type=search]{flex:1;border:0;background:none;font-size:13px;color:var(--kz-fg);outline:none;-webkit-appearance:none;min-width:0}
.kz-blog-search input[type=search]::placeholder{color:var(--kz-muted)}
.kz-blog-search button{width:28px;height:28px;min-width:28px;background:var(--kz-accent);border:0;border-radius:999px;display:grid;place-items:center;color:#fff;cursor:pointer;flex-shrink:0;transition:filter .15s}
.kz-blog-search button:hover{filter:brightness(1.1)}
/* ── Price box ── */
body.single-product .price.product-page-price,
body.single-product .woocommerce-variation-price { display:none !important; }

body.single-product .kz-price-box {
  background:#fff1f0; border-radius:12px;
  padding:16px 18px; margin:14px 0;
}
body.single-product .kz-price-flash {
  display:flex; align-items:center; gap:10px; margin-bottom:8px;
}
body.single-product .kz-flash-text {
  font-size:13px; font-weight:700; color:#C8102E;
  text-transform:uppercase; letter-spacing:.04em;
  display:flex; align-items:center; gap:5px;
}
body.single-product .kz-price-line {
  display:flex; align-items:baseline; gap:10px; flex-wrap:wrap;
}
body.single-product .kz-price-was {
  font-size:15px; color:#6a7280; text-decoration:line-through;
}
body.single-product .kz-price-now {
  font-family:'Barlow Condensed', sans-serif;
  font-size:38px; font-weight:800; color:#C8102E; line-height:1;
}
body.single-product .kz-price-now .woocommerce-Price-amount,
body.single-product .kz-price-now .woocommerce-Price-currencySymbol {
  font-size:inherit; font-weight:inherit; font-family:inherit; color:inherit;
}
body.single-product .kz-price-off {
  background:#C8102E; color:#fff; font-size:12px; font-weight:700;
  padding:3px 8px; border-radius:4px; align-self:center;
}

/* ── Variation swatch: tooltip + selected state fixes ── */
/* disable plugin hover tooltip (uses ::before); our triangle uses ::after */
body.single-product .variable-item::before { display:none !important; }

/* corner triangle — clip-path at bottom-right of selected tile */
body.single-product .variable-item.selected::after {
  content:"" !important; position:absolute !important;
  bottom:0 !important; right:0 !important; top:auto !important; left:auto !important;
  width:13px !important; height:13px !important;
  background:#C8102E !important;
  clip-path:polygon(100% 0, 100% 100%, 0 100%) !important;
  border:none !important;
  opacity:1 !important; visibility:visible !important;
  transform:none !important; z-index:2 !important;
}

/* image swatch padding */
body.single-product .image-variable-item { padding:7px 12px 7px 7px !important; gap:7px !important; }
body.single-product .variable-item-image { width:34px !important; height:34px !important; border-radius:3px !important; object-fit:cover !important; flex:none !important; }

/* ── Label column consistent width ── */
body.single-product .variations th.label {
  color:#6a7280; font-size:13px !important; font-weight:500 !important; padding-top:4px !important;
  width:80px !important; flex:none !important;
}
body.single-product .qty-label {
  font-size:13px !important; color:#6a7280 !important;
  font-weight:500 !important; text-transform:none !important; letter-spacing:0 !important;
  margin-bottom:8px !important;
}
body.single-product .kz-qty-row .qty-label {
  font-size:13px !important; color:#6a7280 !important;
  font-weight:500 !important; margin-bottom:0 !important;
  width:80px !important; flex:none !important; text-transform:none !important;
}


/* ── Stock info ── */
body.single-product .kz-stock-info { font-size:13px; color:#6a7280; }
body.single-product .kz-stock-info b { color:#15181d; font-weight:600; }

/* ── Gallery thumbnails — Flatsome Flickity uses .product-thumbnails .col ── */
body.single-product .product-thumbnails { margin-top:8px !important; }
body.single-product .product-thumbnails .col { padding:0 4px !important; }
body.single-product .product-thumbnails .col a {
  display:block; overflow:hidden;
  border-radius:6px; border:2px solid #e6e8eb !important;
  transition:border-color .12s; cursor:pointer; aspect-ratio:1/1;
}
body.single-product .product-thumbnails .col img {
  width:100% !important; height:100% !important; object-fit:cover; display:block;
}
body.single-product .product-thumbnails .col.is-nav-selected a,
body.single-product .product-thumbnails .col:hover a { border-color:#C8102E !important; }

/* ── Hide stock availability texts ── */
body.single-product .woocommerce-variation-availability,
body.single-product .kz-stock-info { display:none !important; }

/* ── Qty control size ── */
body.single-product .quantity.buttons_added {
  display:inline-flex !important; align-items:center !important;
  border:1.5px solid #e6e8eb !important; border-radius:6px !important;
  overflow:hidden !important; background:#fff !important; width:auto !important;
}
body.single-product .quantity .minus,
body.single-product .quantity .plus {
  border:none !important; width:34px !important; height:34px !important;
  background:#fff !important; color:#15181d !important;
  font-size:18px !important; display:grid !important; place-items:center !important;
  transition:background .1s !important; flex:none !important;
  min-height:2.3em !important;
}
body.single-product .quantity .minus { border-right:1.5px solid #e6e8eb !important; }
body.single-product .quantity .plus  { border-left:1.5px solid #e6e8eb !important; }
body.single-product .quantity .minus:hover,
body.single-product .quantity .plus:hover { background:#f5f5f5 !important; }
body.single-product .quantity .qty {
  border:none !important; height:34px !important; min-height:2.3em !important; width:50px !important;
  text-align:center !important; font-size:14px !important; font-weight:600 !important;
  box-shadow:none !important; background:#fff !important; outline:none !important;
}

/* ═══════════════════════════════════════════
   KZ PROSE PAGE TEMPLATE  (page-kz-prose.php)
   ═══════════════════════════════════════════ */

/* Page header — dark bg + subtle gradient overlay */
.kzp-page-hd {
  background:#0c0e13; color:#fff;
  padding:36px 0 32px; position:relative; overflow:hidden;
}
.kzp-page-hd::before {
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(80% 120% at 100% 50%,rgba(225,6,0,.14),transparent 55%),
    repeating-linear-gradient(115deg,rgba(255,255,255,.022) 0 2px,transparent 2px 28px);
}
.kzp-page-hd .kz-wrap { position:relative; z-index:1; }

/* Breadcrumb */
.kzp-bread {
  display:flex; align-items:center; gap:7px;
  font-size:12.5px; color:#5c6475; margin-bottom:12px;
}
.kzp-bread a { color:#6b7a8d; transition:color .15s; }
.kzp-bread a:hover { color:#fff; }
.kzp-sep { font-size:10px; opacity:.5; }

/* Title + meta */
.kzp-title {
  font-family:Barlow Condensed,sans-serif;
  font-size:clamp(30px,4vw,52px); font-weight:800;
  text-transform:uppercase; line-height:1.05; letter-spacing:-.01em;
}
.kzp-meta { font-size:13px; color:#505868; margin-top:8px; }
.kzp-meta b { color:#7b8491; }

/* Main wrapper */
.kzp-main { background:#f4f5f7; }
.kzp-layout {
  max-width:1080px; margin:0 auto; padding:48px 24px 80px;
}

/* Prose card */
.kzp-prose {
  background:#fff; border:1px solid #e6e8eb;
  border-radius:16px; padding:40px 44px;
}

/* Section blocks */
.kzp-prose .sec { margin-bottom:44px; }
.kzp-prose .sec:last-child { margin-bottom:0; }

/* h2 with numbered badge */
.kzp-prose h2 {
  font-family:Barlow Condensed,sans-serif;
  font-size:clamp(20px,2.5vw,28px); font-weight:800;
  text-transform:uppercase; color:#15181d;
  margin-bottom:14px; padding-bottom:10px;
  border-bottom:2px solid #e6e8eb;
  display:flex; align-items:center; gap:10px;
  line-height:1.05; letter-spacing:-.01em;
}
.kzp-prose h2 .sec-num {
  font-family:Barlow Condensed,sans-serif;
  font-size:13px; font-weight:700; letter-spacing:.06em;
  background:#C8102E; color:#fff;
  padding:2px 8px; border-radius:6px; flex:none;
}

/* h3 sub-heading */
.kzp-prose h3 {
  font-family:Barlow Condensed,sans-serif;
  font-size:17px; font-weight:700; text-transform:uppercase;
  color:#15181d; margin:22px 0 8px; letter-spacing:-.01em;
}

/* Body text */
.kzp-prose p { font-size:15px; color:#3a4052; line-height:1.78; margin-bottom:14px; }
.kzp-prose p:last-child { margin-bottom:0; }

/* Lists */
.kzp-prose ul,
.kzp-prose ol {
  padding-left:20px; margin-bottom:14px;
  display:flex; flex-direction:column; gap:7px;
}
.kzp-prose ul li { list-style:disc; font-size:15px; color:#3a4052; line-height:1.7; }
.kzp-prose ol li { list-style:decimal; font-size:15px; color:#3a4052; line-height:1.7; }

/* Links */
.kzp-prose a { color:#9E0B22; text-decoration:underline; text-underline-offset:3px; }
.kzp-prose a:hover { color:#C8102E; }

/* Inline formatting */
.kzp-prose strong { font-weight:600; color:#15181d; }
.kzp-prose em { font-style:italic; }

/* Table */
.kzp-prose table { width:100%; border-collapse:collapse; font-size:14px; margin-bottom:14px; }
.kzp-prose th {
  background:#f4f5f7; font-weight:600; text-align:left;
  padding:10px 14px; border:1px solid #e6e8eb;
  font-size:13px; letter-spacing:.03em;
}
.kzp-prose td { padding:10px 14px; border:1px solid #e6e8eb; color:#3a4052; vertical-align:top; }
.kzp-prose tr:hover td { background:#f4f5f7; }

/* Divider */
.kzp-prose hr { border:0; border-top:1px solid #e6e8eb; margin:36px 0; }

/* Callout boxes */
.kzp-prose .callout {
  background:#fdecec; border-left:3px solid #C8102E;
  border-radius:0 10px 10px 0; padding:14px 18px; margin:18px 0;
}
.kzp-prose .callout p { color:#9E0B22; font-size:14px; margin:0; }
.kzp-prose .callout.info { background:#eef4ff; border-color:#3b82f6; }
.kzp-prose .callout.info p { color:#1d4ed8; }

/* Responsive */
@media(max-width:960px){
  .kzp-layout { padding:28px 16px 60px; }
  .kzp-prose { padding:28px 22px; }
}
@media(max-width:560px){
  .kzp-prose { padding:22px 16px; }
  .kzp-layout { padding:20px 0 48px; }
}

/* Mobile: product-detail tab pills on one row, no text wrap, scroll if overflow */
@media (max-width: 560px) {
  body.single-product .woocommerce-tabs .wc-tabs {
    display:flex !important; flex-wrap:nowrap !important; gap:6px !important;
    overflow-x:auto !important; -webkit-overflow-scrolling:touch;
    scrollbar-width:none; padding-bottom:2px !important;
  }
  body.single-product .woocommerce-tabs .wc-tabs::-webkit-scrollbar { display:none; }
  body.single-product .woocommerce-tabs .wc-tabs li {
    flex:0 0 auto !important; width:auto !important; display:block !important; float:none !important;
  }
  body.single-product .woocommerce-tabs .wc-tabs li a {
    white-space:nowrap !important; text-align:center !important;
    padding:8px 18px !important; font-size:13px !important;
  }
}

/* Clickable shop-rating block: smooth-scroll to the reviews section */
html { scroll-behavior: smooth; }
.kz-stat-row-link { display: inline-flex; text-decoration: none; cursor: pointer; }
.kz-stat-row-link:hover .kz-stat-num { opacity: .7; }
.kz-stat-row-link:hover .kz-stat-stars { filter: brightness(1.05); }
#kz-reviews { scroll-margin-top: 120px; }
/* =========================================================================
   KOZMOZ RACING — CART PAGE (ported from cart.html)
   All selectors scoped under .kz-cart / .kzc- to avoid theme clashes.
   ========================================================================= */
.kz-cart{
  --kzc-bg:#f4f5f7;--kzc-surface:#fff;--kzc-fg:#15181d;--kzc-muted:#6a7280;--kzc-border:#e6e8eb;
  --kzc-accent:#C8102E;--kzc-accent-ink:#9E0B22;--kzc-accent-soft:#fff1f0;
  --kzc-success:#16a34a;--kzc-danger:#e11d48;--kzc-warn:#f59e0b;
  --kzc-fd:'Barlow Condensed','Archivo Narrow',system-ui,sans-serif;
  --kzc-r:12px;--kzc-shadow:0 6px 24px rgba(15,24,40,.10);
  color:var(--kzc-fg);
}
.kz-cart *{box-sizing:border-box}
.kz-cart .tnum{font-variant-numeric:tabular-nums}

/* remove the default theme cart heading / continue-shopping overrides */
.woocommerce-cart .page-title,
.woocommerce-cart-form .actions .coupon{display:none}

/* STEP INDICATOR */
.kzc-steps{display:flex;align-items:center;justify-content:center;gap:16px;padding:8px 0 18px;flex-wrap:wrap}
.kzc-step{display:flex;align-items:center;gap:11px;color:var(--kzc-muted);font-family:var(--kzc-fd);font-weight:600;font-size:18px;letter-spacing:.04em;text-transform:uppercase}
.kzc-step .kzc-dot{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:15px;font-weight:700;font-family:inherit;background:#fff;border:2px solid #d7dbe1;color:var(--kzc-muted);transition:.2s}
.kzc-step.on{color:var(--kzc-fg)}
.kzc-step.on .kzc-dot{background:var(--kzc-accent);border-color:var(--kzc-accent);color:#fff;box-shadow:0 0 0 4px var(--kzc-accent-soft)}
.kzc-sep{width:48px;height:2px;background:#d7dbe1;border-radius:2px}

/* PAGE HEADER */
.kzc-page-h{font-size:clamp(26px,3vw,36px);font-weight:800;text-transform:uppercase;margin:6px 0 14px;display:flex;align-items:baseline;gap:10px;font-family:var(--kzc-fd);line-height:1.04}
.kzc-page-h span{font-size:15px;font-weight:500;color:var(--kzc-muted);font-family:inherit;text-transform:none}
.kzc-cont-shop{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--kzc-muted);margin-bottom:18px;transition:color .12s}
.kzc-cont-shop:hover{color:var(--kzc-accent-ink)}

/* GRID */
.kzc-grid{display:grid;grid-template-columns:1fr 384px;gap:26px;align-items:start}
.kzc-left{min-width:0}

/* CARD */
.kzc-card{background:var(--kzc-surface);border:1px solid var(--kzc-border);border-radius:var(--kzc-r);box-shadow:var(--kzc-shadow);padding:18px 20px}
.kzc-card + .kzc-card{margin-top:18px}
.kzc-card-title{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--kzc-muted);margin-bottom:14px;display:flex;align-items:center;gap:8px}
.kzc-card-title svg{color:var(--kzc-accent)}

/* FREE SHIP BAR */
.kzc-ship-bar{background:linear-gradient(180deg,#fff,#fbfcfd);margin-bottom:20px}
.kzc-ship-msg{font-size:14.5px;font-weight:600;margin-bottom:10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.kzc-ship-msg b{color:var(--kzc-accent)}
.kzc-ship-msg.done{color:var(--kzc-success)}
.kzc-ship-track{height:9px;background:#eef0f3;border-radius:999px;overflow:hidden}
.kzc-ship-fill{height:100%;background:linear-gradient(90deg,var(--kzc-accent),#ff5a45);border-radius:999px;transition:width .45s cubic-bezier(.4,0,.2,1)}
.kzc-ship-fill.done{background:linear-gradient(90deg,var(--kzc-success),#34d27e)}
.kzc-ship-ticks{display:block;text-align:right;margin-top:6px;font-size:11.5px;color:var(--kzc-muted)}

/* LINE ITEMS */
.kzc-litem{display:grid;grid-template-columns:92px 1fr auto;gap:16px;padding:18px 0;border-bottom:1px solid var(--kzc-border)}
.kzc-litem:first-child{padding-top:0}
.kzc-litem:last-child{border-bottom:0}
.kzc-litem-imgwrap,.kzc-litem-imgwrap img{width:92px;height:92px;border-radius:10px;object-fit:cover}
.kzc-litem-imgwrap img{border:1px solid var(--kzc-border);background:#f2f3f5;display:block}
.kzc-litem-mid{min-width:0}
.kzc-litem-name{font-size:15px;font-weight:600;line-height:1.3;margin-bottom:3px}
.kzc-litem-name a:hover{color:var(--kzc-accent-ink)}
.kzc-litem-var{font-size:12.5px;color:var(--kzc-muted);margin-bottom:4px}
.kzc-litem-var dl,.kzc-litem-var p{margin:0;font-size:12.5px;color:var(--kzc-muted)}
.kzc-litem-var dt,.kzc-litem-var dd{display:inline;margin:0;font-weight:400}
.kzc-litem-stock{font-size:11.5px;font-weight:600;color:var(--kzc-warn);display:inline-flex;align-items:center;gap:5px;margin-bottom:10px}
.kzc-litem-stock::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--kzc-warn);display:inline-block}
.kzc-litem-stock.oos{color:var(--kzc-danger)}.kzc-litem-stock.oos::before{background:var(--kzc-danger)}
.kzc-litem-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:6px}
/* qty stepper — override Flatsome product-page `.is-form` button styling
   (height:50px, radii, box-shadow) to a seamless bordered stepper like the
   mockup. High specificity (.kz-cart) + !important to beat theme rules. */
.kz-cart .kzc-qty .qty-label{display:none}
.kz-cart .kzc-qty .quantity.buttons_added{display:inline-flex;align-items:center;border:1.5px solid var(--kzc-border);border-radius:8px;overflow:hidden;margin:0;background:#fff}
.kz-cart .kzc-qty .quantity .is-form{width:34px;height:36px;min-height:0;font-size:18px;font-weight:500;line-height:1;padding:0;margin:0;border:0!important;border-radius:0!important;background:#fff;color:var(--kzc-fg);box-shadow:none!important}
.kz-cart .kzc-qty .quantity .is-form:hover{background:#f5f5f7;box-shadow:none!important}
.kz-cart .kzc-qty .quantity .input-text.qty{width:44px;height:36px;min-height:0;border:0!important;border-radius:0;background:#fff;text-align:center;font-size:14px;font-weight:600;padding:0;box-shadow:none;-moz-appearance:textfield}
.kz-cart .kzc-qty .quantity .input-text.qty::-webkit-outer-spin-button,.kz-cart .kzc-qty .quantity .input-text.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* remove link — beat theme `a.remove` (circular/faded) → plain inline text link */
.kzc-link-btn{font-size:12.5px;color:var(--kzc-muted);display:inline-flex;align-items:center;gap:5px;transition:color .12s;background:none;border:0;cursor:pointer}
.kzc-link-btn:hover{color:var(--kzc-accent-ink)}
.kzc-link-btn.del:hover{color:var(--kzc-danger)}
.kz-cart .kzc-litem-actions a.remove{display:inline-flex;align-items:center;justify-content:flex-start;gap:5px;width:auto;height:auto;min-height:0;line-height:1;font-size:12px!important;font-weight:400;color:var(--kzc-muted)!important;background:none!important;border:none!important;box-shadow:none!important;border-radius:0;padding:0;text-indent:0}
.kz-cart .kzc-litem-actions a.remove::before,.kz-cart .kzc-litem-actions a.remove::after{display:none!important;content:none!important}
.kz-cart .kzc-litem-actions a.remove:hover{color:var(--kzc-danger)!important;background:none!important}
.kz-cart .kzc-litem-actions a.remove svg{width:13px;height:13px;flex:none}
.kzc-litem-right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.kzc-litem-price{font-family:var(--kzc-fd);font-size:19px;font-weight:800}
.kzc-litem-each{font-size:11.5px;color:var(--kzc-muted)}

/* update cart row — hidden: qty changes auto-refresh the cart (Flatsome
   cart-refresh JS triggers the update_cart button after 1.2s) */
.kzc-cart-actions{display:none;justify-content:flex-end;margin-top:14px;padding-top:14px;border-top:1px solid var(--kzc-border)}
.kzc-update-btn{height:38px;padding:0 16px;border-radius:8px;background:#fff;border:1.5px solid var(--kzc-border);color:var(--kzc-fg);font-weight:600;font-size:13px;cursor:pointer;transition:.12s}
.kzc-update-btn:hover{border-color:#cfd3da;background:#f7f8fa}

/* SECTION HEAD */
.kzc-sec-h{font-size:clamp(19px,2.2vw,24px);font-weight:800;text-transform:uppercase;margin:30px 0 14px;display:flex;align-items:center;gap:9px;font-family:var(--kzc-fd)}
.kzc-sec-h .eb{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--kzc-accent-ink);background:var(--kzc-accent-soft);padding:4px 9px;border-radius:5px;font-family:inherit}

/* RECO ROW */
.kzc-reco-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.kzc-reco{border:1px solid var(--kzc-border);border-radius:10px;overflow:hidden;background:var(--kzc-surface);display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s}
.kzc-reco:hover{box-shadow:var(--kzc-shadow);transform:translateY(-2px)}
.kzc-reco-imglink{display:block}
.kzc-reco-img{aspect-ratio:1;object-fit:cover;background:#f2f3f5;width:100%;display:block}
.kzc-reco-b{padding:9px 10px 11px;display:flex;flex-direction:column;gap:6px;flex:1}
.kzc-reco-name{font-size:12.5px;font-weight:600;line-height:1.3;color:var(--kzc-fg)}
.kzc-reco-name:hover{color:var(--kzc-accent-ink)}
.kzc-reco-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:6px}
.kzc-reco-price{font-family:var(--kzc-fd);font-weight:800;font-size:15px}
.kzc-reco-price del{opacity:.5;font-weight:600;font-size:12px}
.kzc-reco-price ins{text-decoration:none}
.kzc-add-mini{height:30px;padding:0 11px;border-radius:7px;background:var(--kzc-accent-soft);color:var(--kzc-accent-ink);font-weight:700;font-size:12.5px;border:1px solid var(--kzc-accent);display:inline-flex;align-items:center;gap:4px;transition:.12s;white-space:nowrap;cursor:pointer}
.kzc-add-mini:hover{background:#ffe2e0;color:var(--kzc-accent-ink)}
.kzc-add-mini.added,.kzc-add-mini.loading{position:relative}

/* ===== SUMMARY (right column) ===== */
.kzc-aside{min-width:0}
/* Not sticky. It used to be `position:sticky;top:84px`, which meant the card
   could never be taller than the viewport without hiding its own footer — the
   element stops moving, so anything below the fold stays there. That forced a
   max-height plus an overflow scrollbar. Letting the card scroll with the page
   removes the constraint and the scrollbar together. */
.kzc-applied-chip{display:flex;align-items:center;gap:7px;background:#eafaf0;color:var(--kzc-success);font-size:12.5px;font-weight:600;padding:7px 10px;border-radius:8px;margin-bottom:12px}
.kzc-applied-chip a{margin-left:auto;color:var(--kzc-success);font-weight:700}
.kzc-applied-chip a:hover{color:var(--kzc-danger)}

/* ── Order-summary coupon block ──────────────────────────────────────────
   Sits above the divider and Total. The value badge is neutral graphite, not
   the brand red: the summary card already spends its red on the prices and the
   Secure Checkout button, and three tinted badges in a list would make it a
   fourth claim on the same attention. Matches the product page's Offers block. */
.kzc-cpn-block{margin:0 0 12px}

.kzc-cpn-avail{margin:0}
.kzc-cpn-avail>summary{display:flex;align-items:center;gap:8px;min-height:34px;padding:0;cursor:pointer;list-style:none;font-family:var(--kzc-fd);font-size:15px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--kzc-fg);line-height:1}
.kzc-cpn-avail>summary::-webkit-details-marker{display:none}
.kzc-cpn-avail>summary::marker{content:""}
.kzc-cpn-avail>summary>span{flex:0 0 auto}
/* Count sits between the label and the chevron and takes the slack, so the
   chevron stays pinned right whether or not there are coupons to count. */
.kzc-cpn-avail>summary>em{flex:1 1 auto;min-width:0;font-style:normal;font-family:var(--kzc-fd);font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--kzc-muted);text-align:right;padding-right:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kzc-cpn-avail>summary>svg{flex:none}
.kzc-cpn-avail>summary:hover{color:var(--kzc-accent-ink)}
.kzc-cpn-avail>summary:focus-visible{outline:2px solid var(--kzc-accent);outline-offset:3px;border-radius:6px}
.kzc-cpn-chev{transition:transform .18s}
.kzc-cpn-avail[open]>summary .kzc-cpn-chev{transform:rotate(180deg)}

/* Full-width perforated tickets, one per row. Same visual language as the cart
   drawer's chips — tinted counterfoil, dashed perforation, punched notches —
   but stacked rather than in a horizontal scroller: this column is 316px wide
   and already scrolls vertically, so nothing has to be hidden off-edge. */
.kzc-cpn-rows{display:flex;flex-direction:column;gap:7px;padding:8px 0 0}
.kzc-cpn-row{display:flex;align-items:stretch;gap:0;margin:0;padding:0;border:1px solid var(--kzc-border);border-radius:9px;background:var(--kzc-surface);overflow:hidden;transition:border-color .14s,box-shadow .14s}
.kzc-cpn-row:not(.locked):hover{border-color:#aeb4bd;box-shadow:0 2px 8px rgba(15,24,40,.08)}
.kzc-cpn-row.locked{background:#fafbfc}

/* 62px counterfoil. One font size covers every figure here: "$6.95" at 19px in
   Barlow Condensed measures ~38px against 52px of usable width, so the drawer's
   len-N size tiers are not needed at this width. */
.kzc-cpn-stub{position:relative;flex:0 0 62px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:9px 5px;background:var(--kzc-bg);border-right:1.5px dashed #d3d7dd}
/* Notches centred on the perforation and half outside, so the row's
   overflow:hidden clips each circle into a bitten arc. */
.kzc-cpn-stub::before,.kzc-cpn-stub::after{content:"";position:absolute;right:-6px;width:11px;height:11px;border-radius:50%;background:var(--kzc-surface);border:1px solid var(--kzc-border)}
.kzc-cpn-stub::before{top:-6px}
.kzc-cpn-stub::after{bottom:-6px}
.kzc-cpn-row.locked .kzc-cpn-stub::before,.kzc-cpn-row.locked .kzc-cpn-stub::after{background:#fafbfc}
.kzc-cpn-row:not(.locked):hover .kzc-cpn-stub::before,.kzc-cpn-row:not(.locked):hover .kzc-cpn-stub::after{border-color:#aeb4bd}

.kzc-cpn-val{display:block;font-family:var(--kzc-fd);font-size:19px;font-weight:700;line-height:.92;color:var(--kzc-fg);font-variant-numeric:tabular-nums;white-space:nowrap}
.kzc-cpn-unit{display:block;font-size:8.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--kzc-muted);line-height:1}

.kzc-cpn-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:8px 10px}
.kzc-cpn-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.kzc-cpn-code{min-width:0;font-size:12.5px;font-weight:800;letter-spacing:.03em;color:var(--kzc-fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kzc-cpn-req{font-style:normal;font-size:10.5px;color:var(--kzc-muted);line-height:1.32;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.kzc-cpn-apply{flex:none;height:28px;padding:0 11px;margin:0;-webkit-appearance:none;appearance:none;border:1.5px solid var(--kzc-fg);border-radius:7px;background:transparent;color:var(--kzc-fg);font-family:inherit;font-size:11.5px;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:background .14s,color .14s,border-color .14s}
.kzc-cpn-apply:hover:not(:disabled){background:var(--kzc-fg);color:#fff}
.kzc-cpn-apply:focus-visible{outline:2px solid var(--kzc-accent);outline-offset:2px}
/* Disabled is the only state allowed to drop contrast. */
.kzc-cpn-apply:disabled{border-color:#e0e3e7;background:transparent;color:#9aa1ab;cursor:not-allowed}

@media (prefers-reduced-motion:reduce){
  .kzc-cpn-row,.kzc-cpn-apply,.kzc-cpn-chev{transition:none}
}

.kzc-sum-row{display:flex;align-items:center;justify-content:space-between;font-size:14px;padding:7px 0;gap:10px}
.kzc-sum-row.muted{color:var(--kzc-muted)}
.kzc-sum-row .save{color:var(--kzc-success);font-weight:600}
.kzc-shipping-rows ul{margin:0;padding:0;list-style:none;text-align:right}
.kzc-shipping-rows li{font-size:13px}
.kzc-sum-hr{height:1px;background:var(--kzc-border);margin:8px 0}
.kzc-sum-total{display:flex;align-items:baseline;justify-content:space-between;padding-top:6px}
.kzc-sum-total .lab{font-size:14px;font-weight:600}
.kzc-sum-total .amt{font-family:var(--kzc-fd);font-size:30px;font-weight:800}
.kzc-sum-total .amt .woocommerce-Price-amount{font-size:inherit}
.kzc-sum-tax{font-size:11.5px;color:var(--kzc-muted);text-align:right;margin-top:-2px;margin-bottom:6px}

/* checkout button (overrides proceed-to-checkout-button.php markup) */
.kzc-checkout-wrap{margin-top:14px}
.kz-cart .kzc-checkout-wrap .checkout-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:54px;background:var(--kzc-accent);color:#fff;font-family:var(--kzc-fd);font-size:19px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:var(--kzc-r);transition:filter .15s;box-shadow:0 6px 18px rgba(225,6,0,.28);margin:0}
.kz-cart .kzc-checkout-wrap .checkout-button:hover{filter:brightness(1.07);color:#fff}
.kz-cart .kzc-checkout-wrap .checkout-button .checkout-btn-icon{display:inline-flex;align-items:center}
.kz-cart .kzc-checkout-wrap .checkout-button svg{width:18px;height:18px}

.kzc-urgency{display:flex;align-items:center;gap:9px;background:#fff6f5;border:1px solid #ffd9d5;border-radius:10px;padding:11px 13px;margin-top:14px;font-size:13px}
.kzc-urgency svg{color:var(--kzc-accent);flex:none}
.kzc-urgency b{font-family:var(--kzc-fd);font-size:16px;font-variant-numeric:tabular-nums}
.kzc-urgency small{color:var(--kzc-muted)}
.kzc-trust{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:14px;flex-wrap:wrap}
.kzc-trust span{font-size:11.5px;color:var(--kzc-muted);display:inline-flex;align-items:center;gap:5px;font-weight:500}
.kzc-trust svg{color:var(--kzc-success)}
.kzc-pay-icons{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:11px;flex-wrap:wrap}
.kzc-pay-icons img{height:38px;width:auto;display:block}
.kzc-guarantee{font-size:12px;color:var(--kzc-muted);text-align:center;margin-top:14px;line-height:1.5}
.kzc-guarantee b{color:var(--kzc-fg)}

/* RESPONSIVE */
@media(max-width:849px){
  .kzc-grid{grid-template-columns:1fr}
  .kzc-cart-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:nowrap;margin-bottom:18px}
  .kzc-cart-head .kzc-page-h{margin:0;font-size:22px;flex-wrap:wrap}
  .kzc-cart-head .kzc-page-h span{font-size:13px}
  .kzc-cart-head .kzc-cont-shop{margin:0;flex:none;white-space:nowrap}
}
@media(max-width:768px){
  .kzc-steps{gap:10px;flex-wrap:nowrap}
  .kzc-step{font-size:14px;gap:8px;white-space:nowrap}
  .kzc-step .kzc-dot{width:28px;height:28px;font-size:14px}
  .kzc-step:not(.on) .kzc-lab{display:none}
  .kzc-sep{width:28px;flex:0 0 auto}
  .kzc-reco-row{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .kzc-litem{grid-template-columns:74px 1fr;gap:13px}
  .kzc-litem-imgwrap,.kzc-litem-imgwrap img{width:74px;height:74px}
  .kzc-litem-right{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between;width:100%;margin-top:4px}
}

/* ── Order summary: clean up the native shipping table into a tidy row ── */
.kzc-sum-row.kzc-shipping-rows{align-items:flex-start}
.kzc-shipping-rows .shipping__table{width:100%;margin:0;border:0;border-collapse:collapse;display:flex;justify-content:space-between;gap:12px;background:none}
.kzc-shipping-rows .shipping__table tbody,.kzc-shipping-rows .shipping__table tr{display:contents}
.kzc-shipping-rows .shipping__table th{border:0 !important;padding:0 !important;margin:0;font-weight:400;color:var(--kzc-muted);font-size:14px;text-align:left;white-space:nowrap;background:none}
.kzc-shipping-rows .shipping__table td{border:0 !important;padding:0 !important;margin:0;text-align:right;background:none}
.kzc-shipping-rows .shipping__list{margin:0;padding:0;list-style:none}
.kzc-shipping-rows .shipping__list_item{margin:0;padding:0}
.kzc-shipping-rows .shipping__list_label{font-weight:600;color:var(--kzc-fg);font-size:14px;cursor:default;margin:0}
.kzc-shipping-rows .woocommerce-shipping-destination{margin:5px 0 0;font-size:12px;color:var(--kzc-muted);line-height:1.45}
.kzc-shipping-rows .woocommerce-shipping-destination strong{font-weight:600;color:var(--kzc-fg)}
.kzc-shipping-rows .woocommerce-shipping-calculator{margin:4px 0 0}
.kzc-shipping-rows .woocommerce-shipping-calculator>a{font-size:12px;color:var(--kzc-accent-ink);font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:4px}
.kzc-shipping-rows .woocommerce-shipping-calculator>a:hover{text-decoration:underline}

/* ─── PRODUCT DESCRIPTION ACCORDIONS ─────────────────────────
   Styles the <details class="kzr-acc"> blocks in product descriptions
   (Product Details / Size Guide / Care Instructions).

   Lives here rather than in the description itself: a <style> block saved
   through the editor loses its tag, and wpautop then renders the orphaned
   CSS as visible text above the copy — which is exactly what happened on
   product 982342, where the rules also ended up inside the Product schema.
   Keep this out of post content. */
.kzr-acc {
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  padding: 12px 16px;
  margin: 10px 0;
}
.kzr-acc > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 16px;
  font-weight: bold;
  list-style: none;
  cursor: pointer;
}
.kzr-acc > summary::-webkit-details-marker { display: none; }
.kzr-acc > summary::after {
  content: "\25BE";
  margin-left: 12px;
  color: #c0392b;
  font-size: 14px;
  transition: transform .2s ease;
}
.kzr-acc[open] > summary::after { transform: rotate(180deg); }

/* ═══════════════════════════════════════════════════════════════
   ARTICLE TOC - collapsible on mobile, sticky sidebar on desktop
   ═══════════════════════════════════════════════════════════════ */
.kz-toc-summary{font-size:16px;font-weight:700;text-transform:uppercase;font-family:var(--kz-font-display);letter-spacing:.02em;list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px}
.kz-toc-summary::-webkit-details-marker{display:none}
/* Chevron only shows where the box is actually collapsible (mobile) */
.kz-toc-summary::after{content:"";display:none;flex:none;width:8px;height:8px;border-right:2px solid var(--kz-accent);border-bottom:2px solid var(--kz-accent);transform:rotate(45deg);transition:transform .2s}
.kz-toc-box[open] .kz-toc-summary{margin-bottom:16px}
.kz-toc-box[open] .kz-toc-summary::after{transform:rotate(-135deg)}
.kz-toc-item{text-decoration:none}
.kz-toc-sub{padding-left:24px;font-size:12.5px}
.kz-toc-dash{flex:none;width:12px;min-width:12px;height:1px;background:var(--kz-border);margin-top:9px}
/* Sticky header would otherwise cover the heading we just jumped to */
.kz-art-body h2,.kz-art-body h3{scroll-margin-top:100px}
@media(max-width:1080px){
  .kz-toc-summary::after{display:block}
  /* TOC is hoisted out of the sidebar on mobile, leaving a single widget */
  .kz-art-sidebar{grid-template-columns:1fr}
}

/* Phones stack three horizontal paddings before the text starts: .kz-wrap (15px),
   .kz-art-body (24px) and the per-post content wrapper (~16px, set by the inline
   <style> each guide post ships). That left ~278px of a 390px screen for text, so
   trim the two the theme controls. */
@media(max-width:560px){
  .kz-art-body{padding:24px 14px}
  .kz-art-body>article,.kz-art-body>section{padding-left:0;padding-right:0}
}
