/* ==========================================================================
   KiKi Meow — Shop layout (left filter sidebar + Zooplus-style product grid)
   Enqueued from bridge-child functions.php. Uses :root --km-* brand vars.
   ========================================================================== */

/* ---------- Layout shell ---------- */
body.kikimeow .km-shop-layout {
  display: flex;
  gap: 30px;
  max-width: 1240px;
  margin: 0 auto;
  padding: 24px 22px 64px;
  align-items: flex-start;
}
body.kikimeow .km-shop-filters {
  flex: 0 0 252px;
  width: 252px;
  position: sticky;
  top: 22px;
}
body.kikimeow .km-shop-main { flex: 1 1 auto; min-width: 0; }

/* result count + sort bar sit at the top of the product column */
body.kikimeow .km-shop-main .woocommerce-result-count,
body.kikimeow .km-shop-main .woocommerce-ordering { margin: 0 0 14px; }
body.kikimeow .km-shop-main .woocommerce-notices-wrapper { width: 100%; }

/* ---------- HUSKY filter sidebar polish ---------- */
body.kikimeow .km-filter-head {
  font-family: 'Poppins', sans-serif;
  font-size: 18px;
  font-weight: 800;
  color: var(--km-ink, #2B2B2B);
  margin: 0 0 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}
body.kikimeow .km-filter-head::before {
  content: "";
  width: 6px; height: 18px;
  border-radius: 3px;
  background: var(--km-coral, #FF7A59);
  display: inline-block;
}
body.kikimeow .km-shop-filters .woof {
  background: #fff;
  border: 1px solid var(--km-divider, #F1E4DC);
  border-radius: 14px;
  padding: 18px 16px;
  box-shadow: 0 4px 16px rgba(43,43,43,.05);
}
body.kikimeow .km-shop-filters .woof .woof_title,
body.kikimeow .km-shop-filters .woof h4 {
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .4px;
  color: var(--km-teal, #1F8A80);
  margin: 0 0 10px;
  padding-bottom: 7px;
  border-bottom: 1px solid var(--km-divider, #F1E4DC);
}
body.kikimeow .km-shop-filters .woof .woof_list { margin: 0 0 16px; padding: 0; list-style: none; }
body.kikimeow .km-shop-filters .woof .woof_list li { margin: 0 0 7px; }
body.kikimeow .km-shop-filters .woof .woof_childs_list { padding-left: 14px; }
/* checkboxes / radios accent */
body.kikimeow .km-shop-filters .woof input[type="checkbox"],
body.kikimeow .km-shop-filters .woof input[type="radio"] { accent-color: var(--km-teal, #1F8A80); }
body.kikimeow .km-shop-filters .woof .woof_reset_search_form,
body.kikimeow .km-shop-filters .woof .woof_reset_button {
  background: var(--km-coral-light, #FFF0EB);
  color: var(--km-coral-dark, #E86946);
  border: 1px solid var(--km-coral, #FF7A59);
  border-radius: 8px;
  padding: 8px 12px;
  font-weight: 700;
  cursor: pointer;
  width: 100%;
}
body.kikimeow .km-shop-filters .woof .button {
  background: var(--km-teal, #1F8A80);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 9px 12px;
  font-weight: 700;
  cursor: pointer;
  width: 100%;
}

/* ---------- Product grid ---------- */
body.kikimeow .km-shop-main ul.products {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  clear: both;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* ---------- Zooplus-style card ---------- */
body.kikimeow .km-shop-main ul.products li.km-product-card {
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  width: auto !important;
  float: none !important;
}
body.kikimeow .km-product-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--km-divider, #F1E4DC);
  border-radius: 14px;
  overflow: hidden;
  transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
  height: 100%;
}
body.kikimeow .km-product-card:hover {
  box-shadow: 0 10px 28px rgba(43,43,43,.12);
  transform: translateY(-3px);
  border-color: var(--km-coral, #FF7A59);
}
body.kikimeow .km-card-media {
  position: relative;
  aspect-ratio: 1 / 1;
  background: var(--km-cream, #FFF8F0);
  display: flex;
  align-items: center;
  justify-content: center;
}
body.kikimeow .km-card-media a { display: block; width: 100%; height: 100%; }
body.kikimeow .km-card-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 16px;
  transition: transform .25s ease;
}
body.kikimeow .km-product-card:hover .km-card-media img { transform: scale(1.05); }
body.kikimeow .km-card-badge {
  position: absolute;
  top: 10px; left: 10px;
  background: var(--km-coral, #FF7A59);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .5px;
  padding: 4px 9px;
  border-radius: 6px;
  z-index: 2;
}
body.kikimeow .km-card-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 14px 14px 0;
  flex: 1 1 auto;
}
body.kikimeow .km-card-cat {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: var(--km-teal, #1F8A80);
}
body.kikimeow .km-card-title {
  font-family: 'Poppins', sans-serif;
  font-size: 14.5px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--km-ink, #2B2B2B);
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 38px;
}
body.kikimeow .km-card-rating {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--km-ink-muted, #8a8a8a);
}
body.kikimeow .km-card-rating .star-rating { font-size: 12px; }
body.kikimeow .km-card-spec {
  font-size: 12px;
  color: var(--km-ink-soft, #5a5a5a);
}
body.kikimeow .km-card-price {
  margin-top: auto;
  font-family: 'Poppins', sans-serif;
  font-size: 19px;
  font-weight: 800;
  color: var(--km-ink, #2B2B2B);
}
body.kikimeow .km-card-price del {
  color: var(--km-ink-muted, #8a8a8a);
  font-weight: 600;
  font-size: 14px;
  margin-right: 6px;
}
body.kikimeow .km-card-price ins { color: var(--km-coral-dark, #E86946); text-decoration: none; }
body.kikimeow .km-card-actions { padding: 12px 14px 14px; }
body.kikimeow .km-product-card a.add_to_cart_button,
body.kikimeow .km-product-card a.button.product_type_ {
  display: block;
  text-align: center;
  background: var(--km-teal, #1F8A80);
  color: #fff !important;
  border: none;
  border-radius: 9px;
  padding: 11px 12px;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: background .2s ease;
  width: 100%;
  box-sizing: border-box;
}
body.kikimeow .km-product-card a.add_to_cart_button:hover,
body.kikimeow .km-product-card a.button.product_type_:hover { background: var(--km-teal-dark, #157269); }
body.kikimeow .km-product-card a.add_to_cart_button.loading { opacity: .7; }
body.kikimeow .km-product-card a.add_to_cart_button.added::after { content: " ✓"; }
body.kikimeow .km-card-stock {
  text-align: center;
  font-size: 11.5px;
  color: var(--km-ink-muted, #8a8a8a);
  margin-top: 8px;
}

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  body.kikimeow .km-shop-main ul.products { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
  body.kikimeow .km-shop-layout { flex-direction: column; gap: 18px; }
  body.kikimeow .km-shop-filters { width: 100%; flex: none; position: static; }
  body.kikimeow .km-shop-filters .woof { box-shadow: none; }
}
@media (max-width: 680px) {
  body.kikimeow .km-shop-main ul.products { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  body.kikimeow .km-card-title { font-size: 13.5px; }
  body.kikimeow .km-card-price { font-size: 17px; }
}

/* Mobile: keep "Add to basket" on one line inside narrow 2-col cards */
@media (max-width: 680px) {
  body.kikimeow .km-product-card a.add_to_cart_button,
  body.kikimeow .km-product-card a.button.product_type_ {
    font-size: 12.5px;
    padding: 10px 6px;
    letter-spacing: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  body.kikimeow .km-card-actions { padding: 10px 10px 12px; }
}

/* =========================================================
   PDP — Zooplus-style product page
   ========================================================= */

/* Quantity stepper: teal accent */
body.single-product .summary form.cart .quantity input {
  border: 1.5px solid #E5D8D0;
  border-radius: 10px;
  height: 46px;
}

/* Specs box: Zooplus-grey panel (exists in style.css; normalize here) */
body.single-product .km-specs {
  background: #F7F2EE;
  border-radius: 12px;
  padding: 14px 16px;
}

/* Related rail: reuse the shop grid for the [products] shortcode cards */
body.single-product .km-related-rail ul.products {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}
body.single-product .km-related-rail ul.products::before,
body.single-product .km-related-rail ul.products::after { display: none; }
body.single-product .km-related-rail ul.products li { float: none; width: auto; margin: 0; }
@media (max-width: 1100px) {
  body.single-product .km-related-rail ul.products { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 680px) {
  body.single-product .km-related-rail ul.products { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}

/* Tabs: clean Zooplus-style underline tabs */
body.single-product .woocommerce-tabs ul.tabs {
  border-bottom: 2px solid #EFE3DA;
  padding: 0;
  margin: 0 0 22px;
}
body.single-product .woocommerce-tabs ul.tabs li {
  background: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
  margin: 0 26px 0 0;
  padding: 0 2px 12px;
}
body.single-product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce-tabs ul.tabs li::after { display: none; }
body.single-product .woocommerce-tabs ul.tabs li a {
  font-weight: 700;
  font-size: 15px;
  color: #8a7d76;
  padding: 0;
}
body.single-product .woocommerce-tabs ul.tabs li.active a {
  color: var(--km-ink, #2B2B2B);
  box-shadow: inset 0 -3px 0 var(--km-coral, #FF7A59);
}

/* Fix: Bridge's own .amount rule greys the price text inside the styled container —
   force the summary price (amount + currency symbol) to inherit the teal 26px style. */
body.kikimeow.woocommerce div.product .summary .price .woocommerce-Price-amount,
body.kikimeow.woocommerce div.product .summary .price .woocommerce-Price-amount bdi,
body.kikimeow.woocommerce div.product .summary .price .woocommerce-Price-currencySymbol {
  color: var(--km-teal, #1F8A80) !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}

/* === v1.35.0 — two-section header + typography === */
.km-topbar { background:#FF7A59; color:#FFF1EC; width:100%; }
.km-topbar-inner { max-width:1240px; margin:0 auto; padding:9px 20px; text-align:center; font-size:13px; font-weight:700; letter-spacing:.2px; }
body.kikimeow .header_bottom, .header_bottom { background:#ffffff !important; box-shadow:0 1px 0 #F1E4DC, 0 2px 8px rgba(43,43,43,.04) !important; border-bottom:1px solid #F1E4DC !important; }
.q_logo img.normal { display:block !important; }
.q_logo img.light, .q_logo img.sticky, .q_logo img.mobile, .q_logo img.dark { display:none !important; }
.main_menu > ul > li > a, .header_bottom .main_menu li a, .header_bottom .menu > li > a { color:#2B2B2B !important; font-weight:700; }
.main_menu > ul > li > a:hover, .header_bottom .main_menu li a:hover { color:#FF7A59 !important; }
.header_bottom .qode-search-opener, .header_bottom .header_cart_holder, .header_bottom .qode-cart-icon, .header_bottom .side_menu_opener, .header_bottom .header-wishlist { color:#2B2B2B !important; }
body, button, input, select, textarea, h1, h2, h3, h4, h5, h6, .main_menu a, .elementor-widget-heading .elementor-heading-title { font-family:'Nunito','Helvetica Neue',Arial,sans-serif !important; }
