/* =========================================================
   Kompressor Shop - WooCommerce layer
   Loaded only when WooCommerce is active.
   ========================================================= */

/* ---------- Shop toolbar ---------- */
.k-shop-toolbar{
  display:flex;align-items:center;gap:10px;background:var(--k-surface);border:1px solid var(--k-line);
  border-radius:var(--k-radius);padding:10px 12px;margin-bottom:14px;flex-wrap:wrap;
}
.k-shop-toolbar .woocommerce-result-count{margin:0;font-size:.78rem;color:var(--k-muted);order:3;width:100%}
.k-shop-toolbar .woocommerce-ordering{margin:0;margin-inline-start:auto}
.k-shop-toolbar select{
  padding:8px 12px;border:1px solid var(--k-line-strong);border-radius:var(--k-radius-sm);
  background:var(--k-bg);font-size:.84rem;font-weight:700;color:var(--k-ink);cursor:pointer;
}
.k-filter-toggle{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:.85rem;
  padding:9px 14px;border-radius:var(--k-radius-sm);border:1px solid var(--k-primary);background:var(--k-primary-soft);color:var(--k-primary);cursor:pointer}
.k-filter-toggle svg{width:17px;height:17px}

/* ---------- Filter panel ---------- */
.k-filters{display:grid;gap:12px}
.k-filter-group{border-bottom:1px solid var(--k-line);padding-bottom:12px}
.k-filter-group:last-child{border-bottom:0;padding-bottom:0}
.k-filter-group__head{
  display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-weight:800;
  font-size:.88rem;color:var(--k-ink);margin-bottom:10px;user-select:none;
}
.k-filter-group__head::after{content:"";width:7px;height:7px;border-inline-end:2px solid var(--k-muted);border-block-end:2px solid var(--k-muted);transform:rotate(45deg);transition:.2s}
.k-filter-group.is-closed .k-filter-group__head::after{transform:rotate(-135deg)}
.k-filter-group.is-closed .k-filter-group__body{display:none}
.k-filter-group__body{display:grid;gap:8px;max-height:230px;overflow-y:auto;padding-inline-end:4px}
.k-filter-group__body::-webkit-scrollbar{width:5px}
.k-filter-group__body::-webkit-scrollbar-thumb{background:var(--k-line-strong);border-radius:8px}
.k-check{display:flex;align-items:center;gap:8px;font-size:.84rem;cursor:pointer;color:var(--k-body);line-height:1.6}
.k-check input{width:17px;height:17px;accent-color:var(--k-primary);cursor:pointer;flex-shrink:0}
.k-check:hover{color:var(--k-primary)}
.k-check .count{margin-inline-start:auto;font-size:.72rem;color:var(--k-muted);background:var(--k-bg);border-radius:999px;padding:1px 8px}
.k-price-range{display:flex;gap:8px;align-items:center}
.k-price-range input{width:100%;padding:8px 10px;border:1px solid var(--k-line-strong);border-radius:var(--k-radius-sm);background:var(--k-bg);font-size:.82rem}
.k-active-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.k-active-filters a{display:inline-flex;align-items:center;gap:6px;background:var(--k-accent-soft);color:var(--k-accent-dark);
  border-radius:999px;padding:4px 10px;font-size:.76rem;font-weight:700}
.k-active-filters a::after{content:"×";font-size:14px;line-height:1}
.k-active-filters .k-clear-all{background:var(--k-bg);color:var(--k-muted)}

/* Mobile filter drawer */
.k-filters-drawer{
  position:fixed;inset-block:0;inset-inline-start:0;width:88%;max-width:340px;background:#fff;z-index:600;
  transform:translateX(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;
}
html[dir=rtl] .k-filters-drawer{transform:translateX(100%)}
.k-filters-drawer.is-open{transform:translateX(0)!important}
.k-filters-drawer .k-drawer__body{padding:14px}

/* ---------- Product grid (Woo default classes mapped to ours) ---------- */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0;padding:0;list-style:none}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;clear:none!important}
@media (min-width:768px){.woocommerce ul.products{grid-template-columns:repeat(3,1fr);gap:16px}}
@media (min-width:992px){.woocommerce ul.products{grid-template-columns:repeat(4,1fr)}}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{float:none}

/* ---------- Single product ---------- */
.k-single{display:grid;gap:16px;padding-block:16px;align-items:start}

/* Gallery */
.k-single__gallery{
  background:var(--k-surface);border:1px solid var(--k-line);border-radius:var(--k-radius-lg);
  padding:10px;position:relative;
}
.k-single__gallery .woocommerce-product-gallery{margin:0;float:none;width:100%!important}
.k-single__gallery .woocommerce-product-gallery__wrapper{margin:0}
.k-single__gallery .woocommerce-product-gallery__image{border-radius:var(--k-radius);overflow:hidden}
.k-single__gallery .woocommerce-product-gallery__image img,
.k-single__gallery > img{
  width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff;border-radius:var(--k-radius);
}
.k-single__gallery .woocommerce-product-gallery__trigger{
  position:absolute;top:16px;inset-inline-end:16px;z-index:5;width:40px;height:40px;border-radius:50%;
  background:#fff;border:1px solid var(--k-line);box-shadow:var(--k-shadow-sm);display:flex;
  align-items:center;justify-content:center;font-size:0;color:var(--k-primary);
}
.k-single__gallery .woocommerce-product-gallery__trigger::after{content:"⌕";font-size:22px;line-height:1}
.k-single__gallery .flex-control-thumbs{display:flex;gap:8px;list-style:none;padding:12px 0 0;margin:0;overflow-x:auto}
.k-single__gallery .flex-control-thumbs li{width:72px;flex-shrink:0}
.k-single__gallery .flex-control-thumbs img{border:1px solid var(--k-line);border-radius:var(--k-radius-sm);cursor:pointer;opacity:.65;aspect-ratio:1/1;object-fit:contain;background:#fff}
.k-single__gallery .flex-control-thumbs img.flex-active,.k-single__gallery .flex-control-thumbs img:hover{opacity:1;border-color:var(--k-primary)}
.woocommerce div.product .k-single__gallery span.onsale{top:16px;inset-inline-start:16px;z-index:4}

/* Summary column
   WooCommerce floats div.summary at 48% width by default, which left a large
   empty gutter inside our grid column - reset it to fill the column. */
.woocommerce div.product .k-single__summary,
.woocommerce div.product div.summary.k-single__summary,
.woocommerce div.product .k-single__gallery,
.woocommerce div.product div.images.k-single__gallery{
  float:none;width:100%;max-width:100%;margin:0;clear:none;
}
.woocommerce div.product .k-single > *{min-width:0}
.k-single__summary{background:var(--k-surface);border:1px solid var(--k-line);border-radius:var(--k-radius-lg);padding:20px}
.k-single__summary .product_title{font-size:1.3rem;line-height:1.75;margin-bottom:12px}
.k-single__topmeta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;font-size:.78rem}
.k-single__topmeta .k-chip{font-size:.75rem}
.k-single__summary .woocommerce-product-details__short-description{
  font-size:.88rem;line-height:2;color:var(--k-body);padding:14px;background:var(--k-bg);
  border-radius:var(--k-radius);margin-bottom:16px;
}
.k-single__summary .woocommerce-product-details__short-description p:last-child{margin-bottom:0}
.k-block-title{font-size:.92rem;font-weight:800;color:var(--k-ink);margin:0 0 10px;display:flex;align-items:center;gap:8px}
.k-block-title::before{content:"";width:4px;height:16px;border-radius:3px;background:var(--k-accent)}
.k-single__section{margin-top:18px;padding-top:16px;border-top:1px dashed var(--k-line)}

.k-quickspecs{display:grid;gap:8px}
.k-quickspecs div{display:flex;justify-content:space-between;gap:10px;font-size:.85rem;padding:9px 12px;background:var(--k-bg);border-radius:var(--k-radius-sm)}
.k-quickspecs span:first-child{color:var(--k-muted)}
.k-quickspecs b{color:var(--k-ink);font-weight:800;text-align:end}

/* Buy box */
.k-buybox{
  background:var(--k-surface);border:1px solid var(--k-line);border-radius:var(--k-radius-lg);
  padding:18px;display:grid;gap:14px;
}
.k-buybox__seller{display:flex;align-items:center;gap:9px;font-size:.82rem;color:var(--k-body);
  background:var(--k-primary-soft);border-radius:var(--k-radius);padding:10px 12px}
.k-buybox__seller svg{width:20px;height:20px;color:var(--k-primary);flex-shrink:0}
.k-buybox__seller b{color:var(--k-primary);font-weight:800}
.k-stockline{display:flex;align-items:center;gap:8px;font-size:.84rem;font-weight:700;color:var(--k-success)}
.k-stockline--out{color:var(--k-warning)}
.k-stockline svg{width:18px;height:18px}
.k-buybox p.stock{font-size:.78rem;color:var(--k-muted);margin:0;font-weight:700}
.k-single__price{background:var(--k-bg);border:1px dashed var(--k-line-strong);border-radius:var(--k-radius);padding:14px}
.k-single__price .price{font-size:1.5rem;font-weight:900;color:var(--k-ink);margin:0;display:block;line-height:1.6}
.k-single__price .price del{display:block;font-size:.9rem;color:var(--k-muted);font-weight:600;opacity:.85;line-height:1.8}
.k-single__price .price ins{text-decoration:none}
.k-single__price small{font-size:.72rem;color:var(--k-muted);display:block;margin-top:6px;line-height:1.9}
.k-discount{display:inline-flex;align-items:center;gap:4px;background:var(--k-danger);color:#fff;
  border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:800;margin-bottom:6px}

.woocommerce div.product form.cart{display:grid;gap:10px;margin:0}
.woocommerce div.product form.cart::before,.woocommerce div.product form.cart::after{display:none}
.woocommerce div.product form.cart .quantity{display:flex;align-items:center;justify-content:center;
  border:1.5px solid var(--k-line-strong);border-radius:var(--k-radius-sm);overflow:hidden;background:var(--k-bg);width:100%}
.woocommerce div.product form.cart .quantity input{width:100%;border:0;background:transparent;text-align:center;padding:9px 4px;font-weight:800;color:var(--k-ink)}
.woocommerce div.product form.cart button.button,
.woocommerce div.product form.cart .single_add_to_cart_button{
  width:100%;background:var(--k-accent);color:var(--k-on-accent);border:0;border-radius:var(--k-radius);
  padding:14px 22px;font-weight:800;font-size:1rem;cursor:pointer;transition:.18s;float:none;
}
.woocommerce div.product form.cart button.button:hover{background:var(--k-accent-dark);color:#fff}

.k-single__actions{display:flex;gap:12px;flex-wrap:wrap;padding-top:12px;border-top:1px dashed var(--k-line)}
.k-single__actions button,.k-single__actions a{
  display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:700;color:var(--k-muted);
  background:transparent;border:0;cursor:pointer;padding:4px 2px;
}
.k-single__actions button:hover,.k-single__actions a:hover{color:var(--k-accent)}
.k-single__actions svg{width:17px;height:17px}
.k-single__actions .is-active{color:var(--k-accent)}

.k-guarantees{display:grid;gap:11px;padding-top:14px;border-top:1px dashed var(--k-line)}
.k-guarantees div{display:flex;gap:9px;align-items:center;font-size:.8rem;color:var(--k-body);line-height:1.8}
.k-guarantees svg{width:22px;height:22px;color:var(--k-primary);flex-shrink:0}

/* Tabs */
.woocommerce div.product .woocommerce-tabs{background:var(--k-surface);border:1px solid var(--k-line);border-radius:var(--k-radius-lg);padding:6px 18px 18px;margin-top:20px}
.woocommerce div.product .woocommerce-tabs ul.tabs{list-style:none;margin:0 0 16px;padding:0;display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--k-line)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border:0;margin:0;padding:0;border-radius:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display:block;padding:13px 16px;font-weight:800;font-size:.88rem;color:var(--k-muted);border-bottom:3px solid transparent;white-space:nowrap;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{color:var(--k-primary);border-bottom-color:var(--k-accent)}
.woocommerce div.product .woocommerce-tabs .panel{margin:0;padding:0}

/* Specs table */
.k-specs{width:100%;font-size:.86rem;border:1px solid var(--k-line);border-radius:var(--k-radius);overflow:hidden}
.k-specs th,.k-specs td{padding:11px 14px;text-align:start;border-bottom:1px solid var(--k-line)}
.k-specs th{background:var(--k-bg);width:40%;font-weight:800;color:var(--k-ink)}
.k-specs tr:last-child th,.k-specs tr:last-child td{border-bottom:0}
.woocommerce table.shop_attributes{border:1px solid var(--k-line);border-radius:var(--k-radius);overflow:hidden}
.woocommerce table.shop_attributes th,.woocommerce table.shop_attributes td{border:0;border-bottom:1px solid var(--k-line);padding:11px 14px;font-style:normal}
.woocommerce table.shop_attributes th{background:var(--k-bg)}

/* Compatible models */
.k-models{display:flex;flex-wrap:wrap;gap:7px}
.k-models a{
  padding:6px 13px;border-radius:999px;border:1px solid var(--k-line-strong);background:var(--k-bg);
  font-size:.8rem;font-weight:700;color:var(--k-body);
}
.k-models a:hover{background:var(--k-primary);border-color:var(--k-primary);color:#fff}

/* Sticky add-to-cart on mobile */
.k-sticky-cart{
  position:fixed;inset-inline:0;bottom:0;background:#fff;border-top:1px solid var(--k-line);z-index:392;
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;
  box-shadow:0 -4px 18px rgba(16,32,48,.1);transform:translateY(130%);transition:.3s;
}
.k-sticky-cart.is-visible{transform:none}
.k-sticky-cart .k-price{flex-shrink:0}
.k-sticky-cart .k-btn{flex:1}
@media (min-width:992px){.k-sticky-cart{display:none}}

/* ---------- Compare page ---------- */
.k-compare-wrap{overflow-x:auto;background:var(--k-surface);border:1px solid var(--k-line);border-radius:var(--k-radius-lg);padding:12px}
.k-compare{min-width:640px;font-size:.85rem}
.k-compare th,.k-compare td{border:1px solid var(--k-line);padding:11px 12px;text-align:start;vertical-align:top}
.k-compare thead td{text-align:center;background:#fff}
.k-compare thead img{width:110px;height:110px;object-fit:contain;margin:0 auto 8px}
.k-compare th{background:var(--k-bg);font-weight:800;color:var(--k-ink);width:170px;position:sticky;inset-inline-start:0}
.k-compare .k-remove{color:var(--k-danger);font-size:.76rem;font-weight:700;background:none;border:0;cursor:pointer}

/* ---------- Cart / checkout / account ---------- */
.woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce,.woocommerce-account .woocommerce{
  background:var(--k-surface);border:1px solid var(--k-line);border-radius:var(--k-radius-lg);padding:18px;
}
.woocommerce table.shop_table{border:1px solid var(--k-line);border-radius:var(--k-radius);border-collapse:separate;border-spacing:0;font-size:.86rem}
.woocommerce table.shop_table th{background:var(--k-bg);color:var(--k-ink);font-weight:800;padding:12px}
.woocommerce table.shop_table td{padding:12px;border-top:1px solid var(--k-line)}
.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{
  background:var(--k-primary-dark);color:#fff;border-radius:var(--k-radius);padding:11px 20px;font-weight:800;font-size:.88rem;transition:.18s;border:0;
}
.woocommerce #respond input#submit:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:var(--k-dark);color:#fff}
.woocommerce #respond input#submit.alt,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background:var(--k-accent);color:var(--k-on-accent)}
.woocommerce #respond input#submit.alt:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{background:var(--k-accent-dark);color:#fff}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,
.select2-container--default .select2-selection--single{
  border:1.5px solid var(--k-line-strong)!important;border-radius:var(--k-radius-sm)!important;padding:10px 12px!important;
  background:var(--k-bg)!important;height:auto!important;color:var(--k-ink);
}
.woocommerce form .form-row label{font-weight:700;font-size:.84rem;color:var(--k-ink)}
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  border-top:0;border-inline-start:4px solid var(--k-primary);background:var(--k-primary-soft);border-radius:var(--k-radius);
  padding:14px 18px;font-size:.86rem;color:var(--k-primary-dark);margin-bottom:16px;
}
.woocommerce-message{border-inline-start-color:var(--k-success);background:var(--k-success-soft);color:var(--k-success)}
.woocommerce-error{border-inline-start-color:var(--k-danger);background:var(--k-danger-soft);color:var(--k-danger)}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:6px}
.woocommerce-MyAccount-navigation li a{display:block;padding:11px 14px;border-radius:var(--k-radius-sm);background:var(--k-bg);font-weight:700;font-size:.86rem;color:var(--k-body)}
.woocommerce-MyAccount-navigation li.is-active a,.woocommerce-MyAccount-navigation li a:hover{background:var(--k-primary-dark);color:#fff}
@media (min-width:768px){
  .woocommerce-account .woocommerce-MyAccount-navigation{width:24%}
  .woocommerce-account .woocommerce-MyAccount-content{width:72%}
}

/* Badges Woo default */
.woocommerce span.onsale{
  background:var(--k-danger);border-radius:999px;min-height:auto;min-width:auto;padding:3px 11px;font-size:.7rem;font-weight:800;
  line-height:1.7;top:8px;inset-inline-start:8px;inset-inline-end:auto;margin:0;
}

/* Layout for single product on desktop */
@media (min-width:768px){
  /* Tablet: gallery + information side by side, buy box across the bottom. */
  .k-single{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
  .k-buybox{grid-column:1 / -1}
  .k-buybox form.cart{grid-template-columns:120px 1fr;align-items:center}
}
@media (min-width:992px){
  .k-single{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) 300px;gap:16px}
  .k-single__gallery{position:sticky;top:96px}
  .k-buybox{grid-column:auto;position:sticky;top:96px}
  .k-buybox form.cart{grid-template-columns:none}
  .woocommerce div.product .woocommerce-tabs{padding:6px 24px 24px}
}
@media (min-width:1200px){
  .k-single{grid-template-columns:minmax(0,.85fr) minmax(0,1.45fr) 330px;gap:20px}
}

/* Loop item wrapper (theme card lives inside the default <li>) */
.woocommerce ul.products li.product{display:flex;padding:0;border:0;background:transparent;box-shadow:none}
.woocommerce ul.products li.product > .k-product{width:100%}
.woocommerce ul.products li.product a img{margin:0;box-shadow:none}

/* =========================================================
   Cart page
   ========================================================= */
.k-woo-page{padding-block:6px 0}
.k-woo-page__title{font-size:1.4rem;margin-bottom:16px}

/* Steps */
.k-steps{
  list-style:none;margin:0 0 20px;padding:0;display:flex;align-items:center;gap:8px;
  background:var(--k-surface);border:1px solid var(--k-line);border-radius:var(--k-radius-lg);padding:14px 16px;overflow-x:auto;
}
.k-steps__item{display:flex;align-items:center;gap:8px;color:var(--k-muted);font-size:.84rem;font-weight:700;white-space:nowrap;flex:0 0 auto}
.k-steps__item:not(:last-child)::after{
  content:"";width:34px;height:2px;border-radius:2px;background:var(--k-line-strong);margin-inline:6px;flex:0 0 auto;
}
.k-steps__num{
  width:28px;height:28px;border-radius:50%;background:var(--k-bg);border:1.5px solid var(--k-line-strong);
  display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800;color:var(--k-muted);
}
.k-steps__item.is-current{color:var(--k-primary)}
.k-steps__item.is-current .k-steps__num{background:var(--k-primary-dark);border-color:var(--k-primary-dark);color:#fff}
.k-steps__item.is-done{color:var(--k-success)}
.k-steps__item.is-done .k-steps__num{background:var(--k-success-soft);border-color:var(--k-success);color:var(--k-success)}
@media (min-width:768px){.k-steps{justify-content:center;gap:14px}.k-steps__item:not(:last-child)::after{width:60px}}

/* Layout */
.k-cart{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
.k-cart__items,.k-cart__aside{min-width:0}
@media (min-width:992px){
  .k-cart{grid-template-columns:minmax(0,1fr) 350px;gap:20px}
  .k-cart__aside{position:sticky;top:96px}
}
@media (min-width:1200px){.k-cart{grid-template-columns:minmax(0,1fr) 380px}}

.k-cart__items .woocommerce-cart-form{
  background:var(--k-surface);border:1px solid var(--k-line);border-radius:var(--k-radius-lg);padding:16px 18px;
}
.k-cart__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.k-cart__head .k-block-title{margin:0}
.k-cart__count{font-size:.8rem;color:var(--k-muted);background:var(--k-bg);border-radius:999px;padding:3px 12px;font-weight:700}

/* Item */
.k-cart-item{
  display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;padding:16px 0;
  border-bottom:1px dashed var(--k-line);align-items:start;
}
.k-cart-item:last-of-type{border-bottom:0;padding-bottom:4px}
.k-cart-item__media{border:1px solid var(--k-line);border-radius:var(--k-radius);background:#fff;padding:6px}
.k-cart-item__media img{width:100%;aspect-ratio:1/1;object-fit:contain;border-radius:var(--k-radius-sm)}
.k-cart-item__info{display:grid;gap:7px;min-width:0}
.k-cart-item__brand{font-size:.72rem;color:var(--k-primary-light);font-weight:800}
.k-cart-item__title{margin:0;font-size:.92rem;font-weight:700;line-height:1.8;color:var(--k-ink)}
.k-cart-item__title a{color:inherit}
.k-cart-item__title a:hover{color:var(--k-accent)}
.k-cart-item__meta{display:flex;flex-wrap:wrap;gap:8px;font-size:.74rem;color:var(--k-muted);align-items:center}
.k-cart-item__meta .k-code{background:var(--k-bg);border:1px solid var(--k-line);border-radius:6px;padding:1px 7px}
.k-cart-item__stock{color:var(--k-success);font-weight:700}
.k-cart-item__foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:2px}
.k-cart-item__price{font-weight:900;color:var(--k-ink);font-size:1rem;margin-inline-start:auto}
.k-cart-item__price .amount{white-space:nowrap}
.k-cart-item__remove{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;font-weight:700;color:var(--k-muted)}
.k-cart-item__remove:hover{color:var(--k-danger)}
.k-cart-item__remove svg{width:15px;height:15px}

/* Quantity stepper */
.k-qty{display:flex;align-items:center;border:1.5px solid var(--k-line-strong);border-radius:var(--k-radius-sm);overflow:hidden;background:var(--k-bg)}
.k-qty__btn{
  width:34px;height:36px;border:0;background:transparent;color:var(--k-primary);font-size:1.05rem;font-weight:800;
  cursor:pointer;line-height:1;transition:.15s;
}
.k-qty__btn:hover{background:var(--k-primary-soft)}
.k-qty .quantity{margin:0;border:0;background:transparent;width:auto}
.k-qty input.qty,.k-qty input[type=number]{
  width:46px;border:0;background:transparent;text-align:center;font-weight:800;color:var(--k-ink);padding:8px 0;
  -moz-appearance:textfield;
}
.k-qty input::-webkit-outer-spin-button,.k-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* Coupon + update row */
.k-cart__actions{
  display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;justify-content:space-between;
  border-top:1px solid var(--k-line);margin-top:8px;padding-top:16px;
}
.k-coupon{flex:1;min-width:240px}
.k-coupon label{display:block;font-size:.8rem;font-weight:800;color:var(--k-ink);margin-bottom:7px}
.k-coupon__row{display:flex;gap:8px}
.k-coupon__row input{
  flex:1;min-width:0;padding:10px 12px;border:1.5px solid var(--k-line-strong);border-radius:var(--k-radius-sm);
  background:var(--k-bg);font-size:.86rem;
}
.k-coupon__row input:focus{outline:none;border-color:var(--k-primary-light);background:#fff}
.k-cart__update{white-space:nowrap}

/* Summary card */
.k-summary{
  background:var(--k-surface);border:1px solid var(--k-line);border-radius:var(--k-radius-lg);padding:18px;
  display:grid;gap:14px;
}
.k-summary__title{font-size:1rem;margin:0;padding-bottom:12px;border-bottom:1px solid var(--k-line)}
.k-summary__rows{display:grid;gap:11px}
.k-summary__row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.87rem;color:var(--k-body)}
.k-summary__row b{color:var(--k-ink);font-weight:800}
.k-summary__row--discount b{color:var(--k-success)}
.k-summary__row--total{
  border-top:1px dashed var(--k-line-strong);margin-top:4px;padding-top:13px;font-size:.95rem;
}
.k-summary__row--total b{font-size:1.2rem;font-weight:900;color:var(--k-primary)}
.k-summary .woocommerce-shipping-totals,.k-summary .shipping{font-size:.86rem}
.k-summary .woocommerce-shipping-totals th,.k-summary .woocommerce-shipping-totals td{
  border:0;padding:0;text-align:start;font-weight:700;color:var(--k-body);
}
.k-summary ul#shipping_method{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px;font-size:.84rem}
.k-summary .woocommerce-shipping-destination{font-size:.78rem;color:var(--k-muted);margin:6px 0 0}
.k-summary .wc-proceed-to-checkout{padding:0;margin:0}
.woocommerce .k-summary .wc-proceed-to-checkout a.checkout-button{
  display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin:0;
  background:var(--k-accent);color:var(--k-on-accent);border-radius:var(--k-radius);padding:14px 20px;
  font-size:1rem;font-weight:800;
}
.woocommerce .k-summary .wc-proceed-to-checkout a.checkout-button:hover{background:var(--k-accent-dark);color:#fff}
.k-summary__note{display:flex;gap:8px;align-items:flex-start;font-size:.76rem;color:var(--k-muted);line-height:1.9}
.k-summary__note svg{width:18px;height:18px;flex-shrink:0;margin-top:3px;color:var(--k-primary-light)}
.k-summary__trust{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-top:1px dashed var(--k-line);padding-top:14px}
.k-summary__trust div{display:grid;justify-items:center;gap:5px;text-align:center;font-size:.68rem;color:var(--k-muted);font-weight:700}
.k-summary__trust svg{width:20px;height:20px;color:var(--k-primary)}
.k-cart__continue{display:inline-flex;align-items:center;gap:6px;font-size:.84rem;font-weight:700;color:var(--k-primary-light);justify-self:center}
.k-cart__continue:hover{color:var(--k-accent)}
/* The chevron follows the label, so it points away from it (to the left in RTL). */
.k-cart__continue svg{width:15px;height:15px;transform:none}

/* Empty cart */
.k-empty-cart{
  background:var(--k-surface);border:1px solid var(--k-line);border-radius:var(--k-radius-lg);
  padding:40px 20px;text-align:center;display:grid;gap:10px;justify-items:center;
}
.k-empty-cart__icon{
  width:92px;height:92px;border-radius:50%;background:var(--k-primary-soft);color:var(--k-primary);
  display:flex;align-items:center;justify-content:center;margin-bottom:6px;
}
.k-empty-cart h2{margin:0;font-size:1.15rem}
.k-empty-cart p{margin:0;max-width:52ch;color:var(--k-muted);font-size:.88rem;line-height:2}
.k-empty-cart__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:8px}

/* Cross-sells under the cart */
.k-crosssells{padding-top:26px}

@media (max-width:575px){
  .k-cart-item{grid-template-columns:72px minmax(0,1fr);gap:10px}
  .k-cart-item__price{width:100%;margin-inline-start:0;order:3}
  .k-cart-item__foot{gap:10px}
  .k-cart__actions{flex-direction:column;align-items:stretch}
  .k-cart__update{width:100%}
}

/* WooCommerce floats .cart_totals / .cross-sells at 48% inside .cart-collaterals.
   Our summary lives in its own grid column, so reset that. */
.woocommerce .k-cart__aside,
.woocommerce-page .k-cart__aside{width:100%;float:none}
.woocommerce .k-cart__aside .cart_totals,
.woocommerce-page .k-cart__aside .cart_totals,
.woocommerce .k-cart__aside .cross-sells,
.woocommerce-page .k-cart__aside .cross-sells{float:none;width:100%;max-width:100%}
.woocommerce .k-cart .woocommerce-cart-form,
.woocommerce-page .k-cart .woocommerce-cart-form{width:100%;float:none}
.woocommerce .k-summary .wc-proceed-to-checkout{width:100%}

/* =========================================================
   Catalog layout (reference: oxfil.com)
   ========================================================= */

/* ---------- Home ---------- */
.k-home{padding-block:22px 40px}
.k-section-title{font-size:1.05rem;font-weight:900;color:var(--k-ink);margin:0 0 16px;display:flex;align-items:center;gap:10px}
.k-section-title::before{content:"";width:5px;height:20px;border-radius:3px;background:var(--k-accent)}
.k-home__cats{margin-top:32px}
@media (min-width:768px){
  .k-home{padding-block:30px 56px}
  .k-section-title{font-size:1.25rem}
}

/* ---------- The three catalog searches ---------- */
.k-catalog-search{
  background:var(--k-surface);border:1px solid var(--k-line);border-radius:var(--k-radius-lg);
  padding:18px;box-shadow:var(--k-shadow-sm);margin-bottom:24px;
}
.k-catalog-search__title{font-size:1rem;font-weight:900;color:var(--k-ink);margin:0 0 16px}
.k-catalog-search__grid{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.k-catalog-search__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}}
.k-catalog-search .k-field{display:grid;gap:7px;min-width:0}
.k-catalog-search .k-field > label{font-size:.82rem;font-weight:800;color:var(--k-ink)}
.k-catalog-search__row{display:flex;gap:0;min-width:0}
.k-catalog-search__row input{
  flex:1;min-width:0;padding:11px 14px;font-size:.86rem;font-family:inherit;color:var(--k-ink);
  border:1px solid var(--k-line-strong);border-radius:var(--k-radius-sm);
  border-start-end-radius:0;border-end-end-radius:0;background:var(--k-bg);
}
.k-catalog-search__row input:focus{outline:none;border-color:var(--k-primary);background:#fff;box-shadow:0 0 0 3px var(--k-primary-soft)}
.k-catalog-search__go{
  flex-shrink:0;width:46px;display:flex;align-items:center;justify-content:center;cursor:pointer;
  border:1px solid var(--k-primary);background:var(--k-primary);color:#fff;
  border-radius:var(--k-radius-sm);border-start-start-radius:0;border-end-start-radius:0;
}
.k-catalog-search__go:hover{background:var(--k-primary-dark);border-color:var(--k-primary-dark)}
.k-catalog-search__go .k-icon{width:19px;height:19px}
.k-catalog-search select,
.k-catalog-search__group{
  width:100%;padding:11px 14px;font-size:.86rem;font-family:inherit;font-weight:700;color:var(--k-ink);
  border:1px solid var(--k-line-strong);border-radius:var(--k-radius-sm);background:var(--k-bg);cursor:pointer;
}
.k-catalog-search select:focus{outline:none;border-color:var(--k-primary);box-shadow:0 0 0 3px var(--k-primary-soft)}
.k-catalog-search__dims{
  margin-top:16px;padding-top:16px;border-top:1px dashed var(--k-line);
  display:grid;gap:12px;grid-template-columns:minmax(0,1fr);
}
@media (min-width:700px){.k-catalog-search__dims{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.k-catalog-search__dims{grid-template-columns:repeat(4,minmax(0,1fr))}}
.k-catalog-search__dims .k-field label{font-size:.76rem;color:var(--k-muted);font-weight:700}
.k-catalog-search__dims .k-dim-actions{grid-column:1 / -1;display:flex;gap:10px;flex-wrap:wrap}
.k-catalog-search__hint{margin:10px 0 0;font-size:.76rem;color:var(--k-muted)}

/* ---------- Category grid ---------- */
.k-catgrid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:700px){.k-catgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
@media (min-width:1100px){.k-catgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.k-catcard{
  display:flex;flex-direction:column;background:var(--k-surface);border:1px solid var(--k-line);
  border-radius:var(--k-radius-lg);overflow:hidden;transition:.18s;text-decoration:none;
}
.k-catcard:hover{border-color:var(--k-primary);box-shadow:var(--k-shadow);transform:translateY(-2px)}
.k-catcard__media{
  display:flex;align-items:center;justify-content:center;background:var(--k-bg);
  aspect-ratio:4/3;color:var(--k-primary);
}
.k-catcard__media img{width:100%;height:100%;object-fit:contain;padding:10px}
.k-catcard__media svg{width:44px;height:44px;opacity:.55}
.k-catcard__body{padding:12px 14px;display:grid;gap:4px}
.k-catcard__name{font-size:.88rem;font-weight:800;color:var(--k-ink);line-height:1.7}
.k-catcard__count{font-size:.74rem;color:var(--k-muted)}

/* ---------- Archive head ---------- */
.k-archive-head{margin-bottom:18px}
.k-archive-head__title{font-size:1.25rem;font-weight:900;color:var(--k-ink);margin:0 0 6px;line-height:1.7}
.k-archive-head__text{font-size:.86rem;line-height:2;color:var(--k-body);}
.k-archive-head__text p:last-child{margin-bottom:0}

/* ---------- Single product: eyebrow + reference table ---------- */
.k-single__eyebrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.k-single__cat{
  font-size:.75rem;font-weight:800;color:var(--k-primary);background:var(--k-primary-soft);
  padding:4px 10px;border-radius:999px;text-decoration:none;
}
.k-single__cat:hover{background:var(--k-primary);color:#fff}
.k-badge--ok{background:var(--k-success)}
.k-badge--out{background:var(--k-warning)}
.k-reftable{display:grid;gap:1px;background:var(--k-line);border:1px solid var(--k-line);
  border-radius:var(--k-radius);overflow:hidden;margin:16px 0 0}
.k-reftable > div{display:flex;justify-content:space-between;gap:12px;background:var(--k-surface);padding:11px 14px}
.k-reftable dt{margin:0;font-size:.8rem;color:var(--k-muted);font-weight:700}
.k-reftable dd{margin:0;font-size:.85rem;color:var(--k-ink);font-weight:800;text-align:end;
  direction:ltr;unicode-bidi:isolate}

/* ---------- Full width product tabs ---------- */
.k-ptabs{margin-top:24px;background:var(--k-surface);border:1px solid var(--k-line);border-radius:var(--k-radius-lg);overflow:hidden}
.k-ptabs__nav{display:none;border-bottom:1px solid var(--k-line);background:var(--k-bg)}
.k-ptabs__tab{
  flex:0 0 auto;padding:14px 20px;font-family:inherit;font-size:.88rem;font-weight:800;color:var(--k-muted);
  background:none;border:0;border-bottom:3px solid transparent;cursor:pointer;
}
.k-ptabs__tab:hover{color:var(--k-primary)}
.k-ptabs__tab.is-active{color:var(--k-primary);border-bottom-color:var(--k-primary);background:var(--k-surface)}
.k-ptabs__panel{padding:18px;border-bottom:1px solid var(--k-line)}
.k-ptabs__panel:last-child{border-bottom:0}
.k-ptabs__mobile-title{font-size:.95rem;font-weight:900;color:var(--k-ink);margin:0 0 12px}
.k-tab-lead{font-size:.85rem;color:var(--k-body);margin:0 0 12px}
@media (min-width:768px){
  .k-ptabs__nav{display:flex;overflow-x:auto}
  .k-ptabs__panel{display:none;border-bottom:0;padding:24px}
  .k-ptabs__panel.is-active{display:block}
  .k-ptabs__mobile-title{display:none}
}
.k-proptable,.k-crosstable{width:100%;font-size:.86rem;border:1px solid var(--k-line);border-radius:var(--k-radius);
  overflow:hidden;border-collapse:collapse}
.k-proptable th,.k-proptable td,.k-crosstable th,.k-crosstable td{padding:11px 14px;text-align:start;border-bottom:1px solid var(--k-line)}
.k-proptable th,.k-crosstable thead th{background:var(--k-bg);font-weight:800;color:var(--k-ink)}
.k-proptable th{width:45%}
.k-crosstable th{width:40%;background:var(--k-bg);font-weight:800}
.k-proptable td,.k-crosstable td{direction:ltr;unicode-bidi:isolate}
.k-proptable tr:last-child th,.k-proptable tr:last-child td,
.k-crosstable tr:last-child th,.k-crosstable tr:last-child td{border-bottom:0}
.k-applist{display:flex;flex-wrap:wrap;gap:7px}
.k-applist a{
  font-size:.78rem;font-weight:700;padding:6px 11px;border-radius:var(--k-radius-sm);
  background:var(--k-bg);border:1px solid var(--k-line);color:var(--k-body);text-decoration:none;
  direction:ltr;unicode-bidi:isolate;
}
.k-applist a:hover{background:var(--k-primary);border-color:var(--k-primary);color:#fff}

/* ---------- Order information accordion ---------- */
.k-orderinfo{display:grid;gap:8px}
.k-orderinfo__item{border:1px solid var(--k-line);border-radius:var(--k-radius);background:var(--k-bg);overflow:hidden}
.k-orderinfo__item summary{
  padding:11px 14px;font-size:.83rem;font-weight:800;color:var(--k-ink);cursor:pointer;list-style:none;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.k-orderinfo__item summary::-webkit-details-marker{display:none}
.k-orderinfo__item summary::after{content:"";width:7px;height:7px;flex-shrink:0;
  border-inline-end:2px solid var(--k-muted);border-block-end:2px solid var(--k-muted);transform:rotate(45deg);transition:.2s}
.k-orderinfo__item[open] summary::after{transform:rotate(-135deg)}
.k-orderinfo__body{padding:0 14px 12px;display:grid;gap:9px}
.k-orderinfo__row{display:flex;gap:9px;align-items:flex-start;font-size:.8rem;line-height:1.9;color:var(--k-body)}
.k-orderinfo__row svg{width:18px;height:18px;color:var(--k-primary);flex-shrink:0;margin-top:4px}
.k-catalog-search__empty{grid-column:1 / -1;margin:0;font-size:.82rem;color:var(--k-muted);line-height:2}

/* ---------- Catalog autocomplete ---------- */
.k-ac{position:relative}
.k-ac__panel{
  position:absolute;inset-inline:0;top:calc(100% + 6px);z-index:60;
  background:var(--k-surface);border:1px solid var(--k-line);border-radius:var(--k-radius);
  box-shadow:var(--k-shadow);max-height:340px;overflow-y:auto;padding:6px;
}
.k-ac__panel::-webkit-scrollbar{width:6px}
.k-ac__panel::-webkit-scrollbar-thumb{background:var(--k-line-strong);border-radius:8px}
.k-ac__item{
  display:block;padding:9px 11px;border-radius:var(--k-radius-sm);text-decoration:none;
  color:var(--k-ink);cursor:pointer;
}
.k-ac__item:hover,.k-ac__item.is-active{background:var(--k-primary-soft)}
.k-ac__head{display:flex;align-items:center;gap:8px}
.k-ac__label{
  font-size:.86rem;font-weight:800;color:var(--k-ink);flex:1;min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  direction:ltr;unicode-bidi:isolate;text-align:start;
}
.k-ac__kind{
  flex-shrink:0;font-size:.66rem;font-weight:800;color:var(--k-primary);
  background:var(--k-primary-soft);border-radius:999px;padding:2px 8px;
}
.k-ac__item:hover .k-ac__kind,.k-ac__item.is-active .k-ac__kind{background:#fff}
.k-ac__meta{
  display:block;margin-top:3px;font-size:.74rem;color:var(--k-muted);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.k-ac__note{padding:12px;font-size:.8rem;color:var(--k-muted);text-align:center}

/* ---------- Dimensions: group picker ---------- */
.k-groupselect{position:relative}
.k-groupselect__button{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;
  padding:11px 14px;font-family:inherit;font-size:.86rem;font-weight:700;color:var(--k-ink);text-align:start;
  border:1px solid var(--k-line-strong);border-radius:var(--k-radius-sm);background:var(--k-bg);
}
.k-groupselect__button:hover{border-color:var(--k-primary)}
.k-groupselect.is-open .k-groupselect__button{border-color:var(--k-primary);box-shadow:0 0 0 3px var(--k-primary-soft)}
.k-groupselect__button .k-icon{width:18px;height:18px;flex-shrink:0;color:var(--k-primary);transition:transform .18s ease}
.k-groupselect.is-open .k-groupselect__button .k-icon{transform:rotate(180deg)}
.k-groupselect__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.k-groupselect__list{
  position:absolute;inset-inline:0;top:calc(100% + 6px);z-index:60;list-style:none;margin:0;padding:6px;
  background:var(--k-surface);border:1px solid var(--k-line);border-radius:var(--k-radius);
  box-shadow:var(--k-shadow);max-height:320px;overflow-y:auto;
}
.k-groupselect__list a{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:10px 11px;border-radius:var(--k-radius-sm);font-size:.86rem;font-weight:700;color:var(--k-ink);
}
.k-groupselect__list a:hover,.k-groupselect__list a:focus-visible{background:var(--k-primary-soft);color:var(--k-primary)}
.k-groupselect__list i{
  font-style:normal;font-size:.7rem;font-weight:800;color:var(--k-muted);
  background:var(--k-bg);border-radius:999px;padding:2px 9px;flex-shrink:0;
}

/* ---------- Dimension search page ---------- */
.k-propsearch{padding-bottom:44px}
.k-propsearch__head{margin:16px 0 22px}
.k-propsearch__head h1{font-size:1.3rem;font-weight:900;color:var(--k-ink);margin:0 0 8px;line-height:1.7}
.k-propsearch__head p{margin:0;font-size:.87rem;line-height:2.1;color:var(--k-body);max-width:80ch}

.k-propform{
  background:var(--k-surface);border:1px solid var(--k-line);border-radius:var(--k-radius-lg);
  padding:18px;box-shadow:var(--k-shadow-sm);
}
.k-propform__grid{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}
.k-propfield{
  border:1px solid var(--k-line);border-radius:var(--k-radius);padding:14px 16px 16px;margin:0;min-width:0;
  background:var(--k-bg);
}
.k-propfield legend{
  font-size:.84rem;font-weight:800;color:var(--k-primary-dark);padding:0 6px;
  background:var(--k-surface);border:1px solid var(--k-line);border-radius:999px;
}
.k-propfield__row{display:grid;gap:5px;margin-top:10px}
.k-propfield__row label{font-size:.74rem;font-weight:700;color:var(--k-muted)}
.k-propfield__input{position:relative;display:block}
.k-propfield__input input,.k-propfield__input select{
  width:100%;padding:10px 12px;font-family:inherit;font-size:.86rem;font-weight:700;color:var(--k-ink);
  border:1px solid var(--k-line-strong);border-radius:var(--k-radius-sm);background:var(--k-surface);
  direction:ltr;text-align:start;
}
.k-propfield__input input:focus,.k-propfield__input select:focus{
  outline:none;border-color:var(--k-primary);box-shadow:0 0 0 3px var(--k-primary-soft);
}
/* The value is always LTR, so the unit sits on the physical right and the
   padding that keeps the text clear of it must be on the right too. */
.k-propfield__input i{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);
  font-style:normal;font-size:.72rem;font-weight:800;color:var(--k-muted);pointer-events:none;
}
.k-propfield__input input{padding-right:42px}
.k-propfield__bounds{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
.k-propform__actions{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin-top:16px;padding-top:16px;border-top:1px dashed var(--k-line);
}
.k-propform__actions .k-icon{width:18px;height:18px}
.k-propform__hint{font-size:.76rem;color:var(--k-muted)}

.k-propsearch__results{margin-top:28px}
.k-propsearch__results h2{font-size:1.02rem;font-weight:900;color:var(--k-ink);margin:0 0 16px}

@media (min-width:700px){
  .k-propform__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
}
@media (min-width:1100px){
  .k-propform{padding:24px}
  .k-propform__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .k-propsearch__head h1{font-size:1.6rem}
}

/* ---------- Product tabs: related products and reviews ---------- */
.k-ptabs__panel > ul.products{margin:0}
.k-ptabs__panel #reviews{margin:0}
.k-ptabs__panel #reviews h2,
.k-ptabs__panel #reviews h3{font-size:.98rem;font-weight:900;color:var(--k-ink);margin:0 0 14px}
.k-ptabs__panel #reviews .commentlist{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:12px}
.k-ptabs__panel #reviews .commentlist li{
  background:var(--k-bg);border:1px solid var(--k-line);border-radius:var(--k-radius);padding:14px 16px;
}
.k-ptabs__panel #reviews .comment_container{display:flex;gap:12px;align-items:flex-start}
.k-ptabs__panel #reviews .avatar{width:44px;height:44px;border-radius:50%;flex-shrink:0}
.k-ptabs__panel #reviews .meta{font-size:.8rem;color:var(--k-muted);margin:0 0 6px}
.k-ptabs__panel #reviews .meta strong{color:var(--k-ink);font-weight:800}
.k-ptabs__panel #reviews .description p{font-size:.86rem;line-height:2;color:var(--k-body);margin:0}
.k-ptabs__panel #reviews .woocommerce-noreviews{
  font-size:.86rem;color:var(--k-muted);background:var(--k-bg);
  border-radius:var(--k-radius);padding:14px 16px;margin:0 0 18px;
}
.k-ptabs__panel #review_form_wrapper{
  border-top:1px dashed var(--k-line);padding-top:18px;
}
.k-ptabs__panel #review_form .comment-form{display:grid;gap:12px;max-width:640px}
.k-ptabs__panel #review_form .comment-form label{font-size:.8rem;font-weight:700;color:var(--k-ink);display:block;margin-bottom:5px}
.k-ptabs__panel #review_form .comment-form input[type=text],
.k-ptabs__panel #review_form .comment-form input[type=email],
.k-ptabs__panel #review_form .comment-form textarea{
  width:100%;padding:10px 13px;font-family:inherit;font-size:.86rem;color:var(--k-ink);
  border:1px solid var(--k-line-strong);border-radius:var(--k-radius-sm);background:var(--k-surface);
}
.k-ptabs__panel #review_form .comment-form textarea{min-height:110px;line-height:2}
.k-ptabs__panel #review_form .comment-form input:focus,
.k-ptabs__panel #review_form .comment-form textarea:focus{
  outline:none;border-color:var(--k-primary);box-shadow:0 0 0 3px var(--k-primary-soft);
}
.k-ptabs__panel #review_form .comment-form-cookies-consent{display:flex;align-items:center;gap:8px}
.k-ptabs__panel #review_form .comment-form-cookies-consent label{margin:0;font-weight:600;color:var(--k-body)}
.k-ptabs__panel #review_form .form-submit input[type=submit],
.k-ptabs__panel #review_form .form-submit .submit{
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  padding:11px 22px;font-family:inherit;font-size:.88rem;font-weight:800;
  border:0;border-radius:var(--k-radius-sm);background:var(--k-accent);color:var(--k-on-accent);
}
.k-ptabs__panel #review_form .form-submit input[type=submit]:hover{background:var(--k-accent-dark);color:#fff}
.k-ptabs__panel .stars a{color:var(--k-accent)}
.k-ptabs__panel .comment-form-rating{margin:0}

/* ---------- Category listing, modelled on the reference catalog ---------- */
.k-facets__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.k-facets__head .widget-title{margin:0}
.k-facets__clear{font-size:.76rem;font-weight:700;color:var(--k-muted)}
.k-facets__clear:hover{color:var(--k-danger)}

/* Reference lines on the product card */
.k-product__specs{display:grid;gap:5px;margin:8px 0 10px}
.k-product__specs > div{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.76rem;line-height:1.9}
.k-product__specs span{color:var(--k-muted);flex-shrink:0}
.k-product__specs b{color:var(--k-ink);font-weight:800;text-align:end;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.k-product__specs .k-code{direction:ltr;unicode-bidi:isolate}
.k-product__instock{color:var(--k-success)}
.k-product__outstock{color:var(--k-warning)}
.k-product__details{
  display:block;text-align:center;font-size:.79rem;font-weight:800;
  padding:8px 10px;margin-bottom:10px;border-radius:var(--k-radius-sm);
  border:1px solid var(--k-line);color:var(--k-primary);background:var(--k-bg);
}
.k-product__details:hover{background:var(--k-primary);border-color:var(--k-primary);color:#fff}

/* Result count reads like a sentence, so it sits next to the sorting select */
.k-shop-toolbar .woocommerce-result-count{order:2;width:auto;margin-inline-end:auto;font-weight:700;color:var(--k-body)}

/* =========================================================
   Mobile responsive fixes – product listing
   ========================================================= */

/* Contain overflow inside the main content area */
.woocommerce .k-main{min-width:0}

/* Override every possible WooCommerce columns-* width rule
   so the CSS grid is the single source of truth. */
.woocommerce ul.products{
  display:grid;grid-template-columns:repeat(2,1fr);gap:12px;
  margin:0!important;padding:0!important;list-style:none;
  width:100%!important;max-width:100%!important;float:none!important;
  overflow:hidden;
}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
@media (min-width:768px){.woocommerce ul.products{grid-template-columns:repeat(3,1fr);gap:16px}}
@media (min-width:992px){.woocommerce ul.products{grid-template-columns:repeat(4,1fr)}}

/* Ensure list items never break out of their grid cell */
.woocommerce ul.products li.product{
  width:auto!important;margin:0!important;padding:0!important;
  float:none!important;clear:none!important;
  overflow:hidden;min-width:0;
}
.woocommerce ul.products li.product > .k-product{width:100%}
.woocommerce ul.products li.product a img{margin:0;box-shadow:none}



/* Shop toolbar – prevent overflow on small screens */
.k-shop-toolbar{
  overflow:hidden;
  padding:10px 10px!important;
}
.k-shop-toolbar .woocommerce-ordering{
  max-width:180px;overflow:hidden;
}
.k-shop-toolbar .woocommerce-ordering select{
  max-width:100%;text-overflow:ellipsis;
}

/* Mobile: stack toolbar items for better spacing */
@media (max-width:575px){
  .k-shop-toolbar{
    flex-direction:column;align-items:stretch;gap:8px;
    padding:10px!important;
  }
  .k-shop-toolbar .k-filter-toggle{
    width:100%;justify-content:center;
  }
  .k-shop-toolbar .woocommerce-ordering{
    max-width:100%;margin-inline-start:0;
  }
  .k-shop-toolbar .woocommerce-ordering select{
    width:100%;
  }
  .k-shop-toolbar .woocommerce-result-count{
    order:3;width:100%;text-align:center;
    margin:0;padding-top:4px;
  }
}

/* Filter panel – prevent content push */
.k-filters{overflow:hidden}
.k-filter-group__body{overscroll-behavior:contain}

/* Ensure the k-hide-mobile class works even if sidebar.css overrides it */
@media (max-width:991px){
  .k-sidebar.k-hide-mobile{display:none!important}
}