/* === KIMA Labs — WooCommerce skin =====================================
 * Adapted from the tellytides WC stylesheet.
 * Brand swap: black→#17191D ink, yellow→#2E9BDD KIMA blue, soft→#F4F2EC,
 * Inter→Switzer, sharper border radius (18px / 11px).
 * Covers BLOCK Cart + BLOCK Checkout + shop archive + single product + my-account.
 * ====================================================================== */
:root {
  --kl-ink: #17191D;
  --kl-ink-2: #5C616A;
  --kl-white: #FFFFFF;
  --kl-bg: #F4F2EC;
  --kl-soft: #F4F2EC;
  --kl-line: #E3E0D5;
  --kl-line-w: #ECE9DF;
  --kl-blue: #2E9BDD;
  --kl-blue-d: #1F86C6;
  --kl-blue-soft: #E4F0F9;
  --kl-muted: #8A8F98;
  --klw-radius: 18px;
  --klw-radius-sm: 11px;
  --klw-input-h: 52px;
  --klw-border: #ECE9DF;
  --klw-border-strong: #17191D;
}

/* ===========================================================
 * Single product page
 * =========================================================== */
.single-product .product_title,
body.single-product h1.product_title,
body.single-product .entry-title {
  font-size: clamp(1.75rem, 3.5vw, 2.5rem) !important;
  line-height: 1.1 !important;
  text-transform: none !important;
  letter-spacing: -0.01em !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  margin: 0 0 1rem !important;
  font-family: "Switzer", sans-serif !important;
  color: var(--kl-ink) !important;
  font-weight: 600 !important;
}
.single-product div.product {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 2.5rem 3rem !important;
  align-items: start !important;
  background: var(--kl-white) !important;
  border: 1px solid var(--kl-line-w) !important;
  border-radius: 24px !important;
  padding: clamp(28px, 3.5vw, 52px) !important;
  box-shadow: 0 24px 56px -24px rgba(23, 40, 66, .26) !important;
}
.single-product div.product .woocommerce-product-gallery {
  width: 100% !important;
  float: none !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  background: var(--kl-blue-soft) !important;
  border-radius: var(--klw-radius) !important;
  padding: clamp(20px, 3vw, 40px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 380px !important;
}
.single-product div.product .woocommerce-product-gallery img,
.single-product div.product .woocommerce-product-gallery .wp-post-image {
  max-width: 88% !important;
  width: auto !important;
  height: auto !important;
  max-height: 460px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 30px 40px rgba(23, 40, 66, .3)) !important;
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  margin: 0 auto !important;
}
.single-product div.product .summary {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  padding: 8px 0 !important;
}
.single-product div.product .woocommerce-tabs,
.single-product div.product .related,
.single-product div.product .upsells,
.single-product div.product .product_meta {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  float: none !important;
  clear: both !important;
}
.single-product .price,
.single-product .woocommerce-Price-amount {
  font-family: "Switzer", sans-serif !important;
  font-size: 2rem !important;
  font-weight: 600 !important;
  color: var(--kl-ink) !important;
}
.single-product .summary .woocommerce-product-rating {
  margin: 0 0 14px !important;
}
.single-product .summary .star-rating {
  color: var(--kl-blue) !important;
  font-size: 15px !important;
  letter-spacing: 1.5px !important;
}
.single-product .summary .woocommerce-review-link {
  font-size: 13px !important;
  color: var(--kl-ink-2) !important;
  margin-left: 8px !important;
}
.single-product .summary .woocommerce-product-details__short-description {
  font-size: 15.5px !important;
  color: var(--kl-ink-2) !important;
  line-height: 1.65 !important;
  margin: 0 0 24px !important;
  padding-bottom: 22px !important;
  border-bottom: 1px solid var(--kl-line-w) !important;
}
.single-product .product_meta {
  font-size: 0.85rem !important;
  color: var(--kl-ink-2) !important;
  padding-top: 18px !important;
  border-top: 1px solid var(--kl-line-w) !important;
  margin-top: 18px !important;
  line-height: 1.8 !important;
}
.single-product .product_meta > span { display: block !important; margin-bottom: 4px !important; }
.single-product .product_meta a { color: var(--kl-ink) !important; font-weight: 600 !important; text-decoration: none !important; }

/* Quantity + Add-to-Cart on same row */
.single-product form.cart {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.75rem !important;
  align-items: stretch !important;
  margin: 0 0 1.5rem !important;
  padding: 0 !important;
}
.single-product form.cart .quantity {
  flex: 0 0 auto !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  border: 1.5px solid var(--kl-line) !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  background: var(--kl-white) !important;
}
.single-product form.cart .quantity input.qty {
  width: 72px !important;
  height: 56px !important;
  min-height: 56px !important;
  border: 0 !important;
  text-align: center !important;
  font-family: "Switzer", sans-serif !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--kl-ink) !important;
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
}
.single-product form.cart .quantity input.qty:focus {
  outline: none !important;
  box-shadow: none !important;
}
.single-product form.cart .single_add_to_cart_button {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  width: auto !important;
  height: 56px !important;
  min-height: 56px !important;
  background: var(--kl-ink) !important;
  color: var(--kl-white) !important;
  border-radius: 999px !important;
  font-family: "Switzer", sans-serif !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  border: none !important;
  padding: 0 1.75rem !important;
  cursor: pointer !important;
  transition: transform 0.16s ease, box-shadow 0.2s ease !important;
}
.single-product form.cart .single_add_to_cart_button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 30px -10px rgba(23, 25, 29, 0.6) !important;
  background: var(--kl-ink) !important;
  color: var(--kl-white) !important;
}
.single-product form.cart .single_add_to_cart_button.disabled,
.single-product form.cart .single_add_to_cart_button:disabled {
  background: var(--kl-line) !important;
  color: var(--kl-ink-2) !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}
@media (max-width: 600px) {
  .single-product form.cart .single_add_to_cart_button { flex: 1 1 100% !important; }
}

/* Product tabs */
.single-product .woocommerce-tabs {
  margin-top: 48px !important;
  background: var(--kl-white) !important;
  border: 1px solid var(--kl-line-w) !important;
  border-radius: 24px !important;
  padding: clamp(24px, 3vw, 40px) !important;
  box-shadow: 0 12px 30px -14px rgba(23, 40, 66, .22) !important;
}
.single-product .woocommerce-tabs ul.tabs {
  display: flex !important;
  gap: 8px !important;
  list-style: none !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 0 28px !important;
  border-bottom: 1px solid var(--kl-line-w) !important;
}
.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs::after { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li a {
  display: inline-block !important;
  padding: 12px 20px !important;
  font-family: "Switzer", sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  color: var(--kl-ink-2) !important;
  text-decoration: none !important;
  border-bottom: 2px solid transparent !important;
  margin-bottom: -1px !important;
  text-transform: none !important;
  transition: color 0.15s ease, border-color 0.15s ease !important;
}
.single-product .woocommerce-tabs ul.tabs li.active a {
  color: var(--kl-ink) !important;
  border-bottom-color: var(--kl-blue) !important;
}
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-tabs .wc-tab {
  font-size: 15.5px !important;
  color: var(--kl-ink-2) !important;
  line-height: 1.7 !important;
}
.single-product .woocommerce-tabs .panel h2,
.single-product .woocommerce-tabs h2 {
  font-family: "Switzer", sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: -0.01em !important;
  color: var(--kl-ink) !important;
  margin: 0 0 14px !important;
}

@media (max-width: 768px) {
  .single-product div.product {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }
  .single-product div.product .woocommerce-product-gallery,
  .single-product div.product .summary { grid-column: 1 !important; }
  .single-product div.product .summary { grid-row: 2 !important; }
}

/* ===========================================================
 * Shop archive
 * =========================================================== */
.woocommerce-page .woocommerce-result-count,
.woocommerce-page .woocommerce-ordering {
  margin: 0 0 1.5rem 0 !important;
  float: none !important;
}
.woocommerce-page .woocommerce-result-count {
  display: inline-block !important;
  color: var(--kl-ink-2) !important;
  font-size: 0.9rem !important;
  vertical-align: middle !important;
  font-family: "Switzer", sans-serif !important;
}
.woocommerce-page .woocommerce-ordering { float: right !important; margin-top: -2rem !important; margin-bottom: 1rem !important; }
.woocommerce-page .woocommerce-ordering select {
  appearance: none !important;
  -webkit-appearance: none !important;
  background: var(--kl-white) !important;
  border: 1px solid var(--kl-line) !important;
  border-radius: 999px !important;
  padding: 0.55rem 2.2rem 0.55rem 1.1rem !important;
  font-family: "Switzer", sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: var(--kl-ink) !important;
  cursor: pointer !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none' stroke='%2317191D' stroke-width='1.6'%3E%3Cpath d='m1 1 4 4 4-4'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 1rem center !important;
  transition: border-color 0.15s ease !important;
}
.woocommerce-page .woocommerce-ordering select:hover,
.woocommerce-page .woocommerce-ordering select:focus { border-color: var(--kl-ink) !important; outline: none !important; }
@media (max-width: 600px) {
  .woocommerce-page .woocommerce-ordering { float: none !important; margin-top: 0 !important; }
}

.woocommerce-page ul.products,
.woocommerce ul.products {
  clear: both !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-auto-flow: row dense !important;
  gap: 1.5rem !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
}
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after,
.woocommerce ul.products::before,
.woocommerce ul.products::after {
  content: none !important;
  display: none !important;
}
.woocommerce-page ul.products > br,
.woocommerce-page ul.products > .clear,
.woocommerce-page ul.products > li:not(.product) { display: none !important; }
.woocommerce-page ul.products li.product,
.woocommerce ul.products li.product {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
  background: var(--kl-white) !important;
  border-radius: var(--klw-radius) !important;
  border: 1px solid var(--kl-line-w) !important;
  overflow: hidden !important;
  box-shadow: 0 12px 30px -14px rgba(23, 40, 66, .22) !important;
  display: flex !important;
  flex-direction: column !important;
  text-align: left !important;
  transition: transform 0.22s ease, box-shadow 0.22s ease !important;
}
.woocommerce-page ul.products li.product:hover,
.woocommerce ul.products li.product:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 24px 56px -24px rgba(23, 40, 66, .26) !important;
}
.woocommerce-page ul.products li.product a,
.woocommerce ul.products li.product a {
  color: inherit !important;
  text-decoration: none !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}
.woocommerce-page ul.products li.product a img,
.woocommerce ul.products li.product img {
  background: var(--kl-blue-soft) !important;
  padding: 24px !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / .95 !important;
  object-fit: contain !important;
  margin: 0 !important;
  border-radius: 0 !important;
  display: block !important;
}
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product h2,
.woocommerce-page ul.products li.product h3 {
  font-family: "Switzer", sans-serif !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: -0.005em !important;
  color: var(--kl-ink) !important;
  padding: 20px 22px 6px !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}
.woocommerce-page ul.products li.product .star-rating {
  margin: 0 22px 8px !important;
  color: var(--kl-blue) !important;
  font-size: 14px !important;
  letter-spacing: 1px !important;
}
.woocommerce-page ul.products li.product .price {
  display: block !important;
  padding: 0 22px 16px !important;
  font-family: "Switzer", sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  color: var(--kl-ink) !important;
  margin: 0 !important;
}
.woocommerce-page ul.products li.product .price ins {
  background: transparent !important;
  color: var(--kl-blue-d) !important;
  text-decoration: none !important;
}
.woocommerce-page ul.products li.product .price del {
  color: var(--kl-muted) !important;
  font-size: 0.85em !important;
  margin-right: 0.5em !important;
}
.woocommerce-page ul.products li.product .button,
.woocommerce-page ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--kl-ink) !important;
  color: var(--kl-white) !important;
  font-family: "Switzer", sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  padding: 13px 22px !important;
  border-radius: 999px !important;
  border: 0 !important;
  margin: 0 22px 22px !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  width: calc(100% - 44px) !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  transition: transform 0.16s ease, box-shadow 0.2s ease !important;
}
.woocommerce-page ul.products li.product .button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 30px -10px rgba(23, 25, 29, 0.6) !important;
  background: var(--kl-ink) !important;
  color: var(--kl-white) !important;
}
.woocommerce-page ul.products li.product .added_to_cart { display: none !important; }

@media (max-width: 1024px) {
  .woocommerce-page ul.products,
  .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 768px) {
  .woocommerce-page ul.products,
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1rem !important; }
}
@media (max-width: 480px) {
  .woocommerce-page ul.products,
  .woocommerce ul.products { grid-template-columns: 1fr !important; }
}

/* ===========================================================
 * Related / Upsells
 * =========================================================== */
.single-product .related,
.single-product .upsells {
  margin-top: 4rem !important;
  clear: both !important;
}
.single-product .related > h2,
.single-product .upsells > h2 {
  font-family: "Switzer", sans-serif !important;
  font-size: clamp(1.5rem, 2.8vw, 2rem) !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: -0.01em !important;
  color: var(--kl-ink) !important;
  margin: 0 0 1.5rem !important;
  text-align: center !important;
}

/* ===========================================================
 * Pagination
 * =========================================================== */
.woocommerce-page nav.woocommerce-pagination,
.woocommerce nav.woocommerce-pagination {
  margin: 3rem 0 1rem !important;
  clear: both !important;
  text-align: center !important;
}
.woocommerce-page nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul {
  display: inline-flex !important;
  gap: 0.4rem !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
.woocommerce-page nav.woocommerce-pagination ul li,
.woocommerce nav.woocommerce-pagination ul li {
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-page nav.woocommerce-pagination ul li a,
.woocommerce-page nav.woocommerce-pagination ul li span,
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  min-width: 42px !important;
  height: 42px !important;
  padding: 0 0.75rem !important;
  border-radius: 10px !important;
  background: var(--kl-white) !important;
  color: var(--kl-ink) !important;
  border: 1px solid var(--kl-line) !important;
  font-family: "Switzer", sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.15s ease, color 0.15s ease;
}
.woocommerce-page nav.woocommerce-pagination ul li a:hover {
  background: var(--kl-ink) !important;
  color: var(--kl-white) !important;
  border-color: var(--kl-ink) !important;
}
.woocommerce-page nav.woocommerce-pagination ul li span.current {
  background: var(--kl-ink) !important;
  color: var(--kl-white) !important;
  border-color: var(--kl-ink) !important;
}

/* ===========================================================
 * Block CART + block CHECKOUT shared shell + sidebar-layout grid
 * (THIS is the key: tellytides puts the grid at sidebar-layout, fixed 380px)
 * =========================================================== */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
  max-width: 1200px !important;
  margin-inline: auto !important;
  padding-inline: 1.25rem !important;
  font-family: "Switzer", sans-serif !important;
  color: var(--kl-ink) !important;
}

/* Checkout — contained, hide site page title to focus the checkout */
.woocommerce-checkout .wp-block-woocommerce-checkout {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
.woocommerce-checkout .page-head { display: none !important; }

/* Two-column layout: form left, FIXED 380px summary right.
   Target the ACTUAL WC 10.8 grid containers (wp-block-woocommerce-*-block)
   AND the older sidebar-layout class for backwards compat. */
.wc-block-components-sidebar-layout,
.wp-block-woocommerce-checkout,
.wc-block-checkout,
.wp-block-woocommerce-filled-cart-block,
.wc-block-cart__filled-cart {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 380px !important;
  gap: 3rem !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
}
.wc-block-components-main,
.wp-block-woocommerce-checkout-fields-block,
.wp-block-woocommerce-cart-items-block {
  padding: clamp(22px, 2.6vw, 34px) !important;
  margin: 0 !important;
  min-width: 0 !important;
  max-width: none !important;
  width: auto !important;
  background: var(--kl-white) !important;
  border: 1px solid var(--kl-line-w) !important;
  border-radius: var(--klw-radius) !important;
  box-shadow: 0 12px 30px -14px rgba(23, 40, 66, .22) !important;
}
.wc-block-components-sidebar,
.wp-block-woocommerce-checkout-totals-block,
.wp-block-woocommerce-cart-totals-block {
  background: var(--kl-soft) !important;
  border: 1px solid var(--kl-line) !important;
  border-radius: var(--klw-radius) !important;
  padding: 1.5rem !important;
  width: 380px !important;
  max-width: 380px !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.wc-block-components-sidebar > *,
.wp-block-woocommerce-checkout-totals-block > *,
.wp-block-woocommerce-cart-totals-block > * {
  min-width: 0 !important;
  max-width: 100% !important;
}
@media (min-width: 901px) {
  .wp-block-woocommerce-checkout-totals-block,
  .wc-block-components-sidebar {
    position: sticky !important;
    top: 1.5rem !important;
  }
}
@media (max-width: 900px) {
  .wc-block-components-sidebar-layout,
  .wp-block-woocommerce-checkout,
  .wc-block-checkout,
  .wp-block-woocommerce-filled-cart-block,
  .wc-block-cart__filled-cart {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }
  .wc-block-components-sidebar,
  .wp-block-woocommerce-checkout-totals-block,
  .wp-block-woocommerce-cart-totals-block {
    width: 100% !important;
    max-width: 100% !important;
    order: -1 !important;
    position: static !important;
  }
}

/* Cart items wrapper — also a soft card */
.wp-block-woocommerce-cart-items-block,
.wc-block-components-main {
  background: var(--kl-white) !important;
  border: 1px solid var(--kl-line-w) !important;
  border-radius: var(--klw-radius) !important;
  padding: clamp(20px, 2.5vw, 32px) !important;
  box-shadow: 0 12px 30px -14px rgba(23, 40, 66, .22) !important;
}
.woocommerce-checkout .wc-block-components-main,
.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block {
  background: var(--kl-white) !important;
  border: 1px solid var(--kl-line-w) !important;
  border-radius: var(--klw-radius) !important;
  padding: clamp(22px, 2.6vw, 34px) !important;
  box-shadow: 0 12px 30px -14px rgba(23, 40, 66, .22) !important;
}

/* Step headings */
.wc-block-components-checkout-step__title,
.wc-block-components-title,
.wc-block-components-totals-wrapper > h2,
.wp-block-woocommerce-cart-order-summary-heading-block,
.wp-block-woocommerce-cart-order-summary-heading-block h2,
.wp-block-woocommerce-checkout-order-summary-heading-block,
.wc-block-cart__totals-title {
  font-family: "Switzer", sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  color: var(--kl-ink) !important;
  font-size: 1.05rem !important;
  text-transform: none !important;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
  line-height: 1.2 !important;
  margin: 0 0 1rem !important;
}
.wc-block-components-checkout-step {
  border: none !important;
  padding: 0 0 1.5rem !important;
  margin-bottom: 1.5rem !important;
  border-bottom: 1px solid var(--kl-line-w) !important;
}
.wc-block-components-checkout-step:last-of-type {
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
.wc-block-components-checkout-step__description {
  color: var(--kl-ink-2) !important;
  font-size: 0.875rem !important;
  margin-bottom: 1rem !important;
}

/* Inputs */
.wc-block-components-text-input input.components-text-control__input,
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-textarea,
.wc-block-components-combobox input,
.wc-block-components-select select,
.wc-block-components-select .components-custom-select-control__button {
  height: var(--klw-input-h) !important;
  min-height: var(--klw-input-h) !important;
  border: 1px solid var(--kl-line) !important;
  border-radius: var(--klw-radius-sm) !important;
  padding: 1.25rem 0.9rem 0.4rem !important;
  font-size: 1rem !important;
  font-family: "Switzer", sans-serif !important;
  background: var(--kl-white) !important;
  color: var(--kl-ink) !important;
  width: 100% !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-combobox input:focus,
.wc-block-components-select select:focus,
.wc-block-components-textarea:focus {
  border-color: var(--kl-blue) !important;
  box-shadow: 0 0 0 3px rgba(46, 155, 221, 0.18) !important;
  outline: none !important;
}
.wc-block-components-text-input label,
.wc-block-components-combobox label,
.wc-block-components-select label {
  color: var(--kl-ink-2) !important;
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  left: 0.9rem !important;
  background: transparent !important;
}
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input input:focus + label {
  font-size: 0.7rem !important;
  color: var(--kl-blue-d) !important;
}

/* Express payment row */
.wc-block-components-express-payment {
  border-radius: var(--klw-radius) !important;
  background: var(--kl-soft) !important;
  border: 1px solid var(--kl-line) !important;
  padding: 1.25rem !important;
}
.wc-block-components-express-payment__title-container { color: var(--kl-ink-2) !important; }

/* Radio / payment / shipping option cards — reserve left padding for the dot */
.wc-block-components-radio-control__option,
.wc-block-components-shipping-rates-control__package,
.wc-block-checkout__payment-method label {
  border: 1px solid var(--kl-line) !important;
  border-radius: var(--klw-radius-sm) !important;
  padding: 1rem 1rem 1rem 2.75rem !important;
  margin-bottom: 0.5rem !important;
  background: var(--kl-white) !important;
  cursor: pointer !important;
  position: relative !important;
  transition: border-color 0.15s ease, background 0.15s ease !important;
}
.wc-block-components-radio-control__option > .wc-block-components-radio-control__input,
.wc-block-components-radio-control__option input[type="radio"] {
  position: absolute !important;
  left: 1rem !important;
  top: 1.1rem !important;
  accent-color: var(--kl-blue) !important;
}
.wc-block-components-radio-control__option:hover,
.wc-block-checkout__payment-method label:hover {
  border-color: var(--kl-ink) !important;
}
.wc-block-components-radio-control__option-checked,
.wc-block-components-radio-control__option--checked,
.wc-block-components-radio-control__option[aria-checked="true"] {
  border-color: var(--kl-blue) !important;
  background: var(--kl-blue-soft) !important;
  box-shadow: 0 0 0 1px var(--kl-blue) !important;
}
.wc-block-components-radio-control__label {
  font-family: "Switzer", sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  color: var(--kl-ink) !important;
}
.wc-block-components-radio-control__description {
  font-size: 13px !important;
  color: var(--kl-ink-2) !important;
}

/* Order summary totals */
.wc-block-components-totals-wrapper {
  border-color: var(--kl-line) !important;
  padding: 0.75rem 0 !important;
}
.wc-block-components-totals-item {
  display: flex !important;
  justify-content: space-between !important;
  padding: 0.6rem 0 !important;
  font-size: 0.95rem !important;
  color: var(--kl-ink) !important;
  flex-direction: row !important;
}
.wc-block-components-totals-item__label {
  color: var(--kl-ink-2) !important;
  white-space: nowrap !important;
}
.wc-block-components-totals-item__value {
  color: var(--kl-ink) !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  font-family: "Switzer", sans-serif !important;
}
.wc-block-components-totals-footer-item {
  border-top: 1px solid var(--kl-line) !important;
  padding-top: 1rem !important;
  margin-top: 0.5rem !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  font-family: "Switzer", sans-serif !important;
  color: var(--kl-ink) !important;
}

/* Order summary items (line items in sidebar) */
.wc-block-components-order-summary-item {
  padding: 0.875rem 0 !important;
  border-bottom: 1px solid var(--kl-line-w) !important;
  display: flex !important;
  gap: 12px !important;
}
.wc-block-components-order-summary-item:last-child { border-bottom: 0 !important; }
.wc-block-components-order-summary-item__image {
  flex: 0 0 auto !important;
  width: 60px !important;
  height: 60px !important;
  background: var(--kl-blue-soft) !important;
  border-radius: var(--klw-radius-sm) !important;
  overflow: hidden !important;
}
.wc-block-components-order-summary-item__image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 6px !important;
  border-radius: 0 !important;
  border: 0 !important;
}
.wc-block-components-product-badge,
.wc-block-components-order-summary-item__quantity {
  background: var(--kl-ink) !important;
  color: var(--kl-white) !important;
  border: none !important;
  font-family: "Switzer", sans-serif !important;
  font-weight: 600 !important;
}

/* Coupon (collapsed accordion) */
.wc-block-components-totals-coupon,
.wp-block-woocommerce-cart-order-summary-coupon-form-block {
  border-top: 1px solid var(--kl-line) !important;
  padding-top: 0.75rem !important;
  margin-top: 0.75rem !important;
}
.wc-block-components-panel__button {
  color: var(--kl-ink) !important;
  font-family: "Switzer", sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  text-decoration: none !important;
  padding: 0.5rem 0 !important;
  background: transparent !important;
  border: 0 !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
}
.wc-block-components-panel__button-icon { flex: none !important; margin-left: auto !important; }
.wc-block-components-totals-coupon__form button[type="submit"] {
  background: var(--kl-ink) !important;
  color: var(--kl-white) !important;
  border-radius: var(--klw-radius-sm) !important;
  border: 0 !important;
  padding: 0.85rem 1rem !important;
  font-weight: 600 !important;
}

/* Place Order — money button */
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block a,
.wp-block-woocommerce-proceed-to-checkout-block button,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button {
  width: 100% !important;
  background: var(--kl-ink) !important;
  color: var(--kl-white) !important;
  font-family: "Switzer", sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  padding: 1.05rem 1.5rem !important;
  border-radius: 999px !important;
  font-size: 1rem !important;
  min-height: 56px !important;
  border: none !important;
  text-transform: none !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
  cursor: pointer !important;
  transition: transform 0.16s ease, box-shadow 0.2s ease !important;
}
.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block a:hover,
.wp-block-woocommerce-proceed-to-checkout-block button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 30px -10px rgba(23, 25, 29, 0.6) !important;
  background: var(--kl-ink) !important;
  color: var(--kl-white) !important;
}
.wc-block-components-checkout-place-order-button *,
.wc-block-cart__submit-button * { color: var(--kl-white) !important; white-space: nowrap !important; }

/* Cart line items */
.wc-block-cart-items__header > th {
  font-family: "Switzer", sans-serif !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--kl-ink-2) !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--kl-line) !important;
  padding-bottom: 14px !important;
  text-align: left !important;
}
.wc-block-cart-items__row {
  border-bottom: 1px solid var(--kl-line-w) !important;
  padding: 1rem 0 !important;
}
.wc-block-cart-items__row:last-child { border-bottom: 0 !important; }
.wc-block-cart-item__image img,
.wc-block-components-product-image img {
  background: var(--kl-blue-soft) !important;
  padding: 8px !important;
  border: 0 !important;
  border-radius: var(--klw-radius-sm) !important;
  max-width: 90px !important;
  height: auto !important;
}
.wc-block-cart-item__product-name,
.wc-block-components-product-name {
  font-family: "Switzer", sans-serif !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  color: var(--kl-ink) !important;
  text-decoration: none !important;
}
.wc-block-cart-item__product-name:hover,
.wc-block-components-product-name:hover { color: var(--kl-blue-d) !important; }
.wc-block-components-product-price__value {
  color: var(--kl-ink) !important;
  font-family: "Switzer", sans-serif !important;
  font-weight: 600 !important;
}
.wc-block-cart-item__quantity .wc-block-components-quantity-selector,
.wc-block-components-quantity-selector {
  border: 1.5px solid var(--kl-line) !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  background: var(--kl-white) !important;
  display: inline-flex !important;
  align-items: center !important;
  margin-top: 8px !important;
  width: auto !important;
  max-width: 140px !important;
}
.wc-block-components-quantity-selector__input {
  border: 0 !important;
  background: transparent !important;
  text-align: center !important;
  font-family: "Switzer", sans-serif !important;
  font-weight: 600 !important;
  color: var(--kl-ink) !important;
  font-size: 15px !important;
  width: 40px !important;
}
.wc-block-components-quantity-selector__button {
  background: none !important;
  border: 0 !important;
  color: var(--kl-ink) !important;
  width: 36px !important;
  height: 42px !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  flex: none !important;
}
.wc-block-cart-item__remove-link {
  color: var(--kl-ink-2) !important;
  font-size: 0.8rem !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  margin-top: 8px !important;
  display: inline-block !important;
}
.wc-block-cart-item__remove-link:hover { color: #cc3030 !important; }

/* "Return to cart" link */
.wc-block-components-checkout-return-to-cart-button,
.wc-block-components-checkout-return-to-cart-button > * {
  white-space: nowrap !important;
  color: var(--kl-ink-2) !important;
  font-family: "Switzer", sans-serif !important;
}

/* Notices */
.wc-block-components-notice-banner {
  background: var(--kl-white) !important;
  border-radius: var(--klw-radius-sm) !important;
  border: 1px solid var(--kl-line) !important;
  border-left: 3px solid var(--kl-blue) !important;
  padding: 0.875rem 1rem !important;
  color: var(--kl-ink) !important;
  font-family: "Switzer", sans-serif !important;
  font-size: 14.5px !important;
}
.wc-block-components-notice-banner.is-error { background: #FFF4F4 !important; border-left-color: #D33 !important; }
.wc-block-components-notice-banner.is-success { border-left-color: #37A87E !important; }

/* Hide the default "added to cart" banner */
.woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-message,
.wc-block-components-notice-banner.is-success {
  display: none !important;
}

/* Empty cart state */
.wc-block-cart__empty-cart__title {
  font-family: "Switzer", sans-serif !important;
  font-size: 1.75rem !important;
  font-weight: 600 !important;
  color: var(--kl-ink) !important;
  margin-bottom: 0.75rem !important;
}

/* ===========================================================
 * Buttons everywhere (legacy + block)
 * =========================================================== */
.woocommerce .button,
.woocommerce-page .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce input.button.alt,
.woocommerce #respond input#submit,
.wp-block-button__link {
  background: var(--kl-ink) !important;
  color: var(--kl-white) !important;
  border-radius: 999px !important;
  font-family: "Switzer", sans-serif !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  padding: 0.85rem 1.5rem !important;
  font-size: 0.95rem !important;
  border: none !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: transform 0.16s ease, box-shadow 0.2s ease !important;
}
.woocommerce .button:hover,
.woocommerce-page .button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover,
.wp-block-button__link:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 30px -10px rgba(23, 25, 29, 0.6) !important;
  background: var(--kl-ink) !important;
  color: var(--kl-white) !important;
}
.woocommerce .button.alt,
.woocommerce button.button.alt { background: var(--kl-blue) !important; }
.woocommerce .button.alt:hover { background: var(--kl-blue-d) !important; }

/* ===========================================================
 * Star ratings (KIMA blue)
 * =========================================================== */
.woocommerce .star-rating,
.woocommerce-page .star-rating { color: var(--kl-blue) !important; }
.woocommerce .star-rating::before,
.woocommerce-page .star-rating::before { color: rgba(23, 25, 29, 0.15) !important; }
.woocommerce .star-rating span::before,
.woocommerce-page .star-rating span::before { color: var(--kl-blue) !important; }

/* ===========================================================
 * Loading shimmer subtler
 * =========================================================== */
.wc-block-components-loading-mask { border-radius: var(--klw-radius-sm) !important; }

/* ===========================================================
 * Logo specificity (catch-all)
 * =========================================================== */
body #header .logo-img,
body .site-footer .logo-img {
  height: 44px !important;
  width: auto !important;
  max-width: none !important;
  display: block !important;
  filter: brightness(0);
  transition: filter 0.25s ease;
}
body .site-footer .footer-logo,
body .footer-logo {
  height: 40px !important;
  width: auto !important;
  max-width: none !important;
  margin-bottom: 18px;
  filter: brightness(0) invert(1);
}
body.dark-hero #header:not(.scrolled) .logo-img {
  filter: brightness(0) invert(1) !important;
}

/* Single product page has no dark hero — force header to light-mode colors
   so the nav doesn't render white-on-beige (invisible). */
body.single-product.dark-hero #header:not(.scrolled) .logo-img {
  filter: brightness(0) !important;
}
body.single-product.dark-hero #header:not(.scrolled) .nav-links a {
  color: var(--kl-ink-2) !important;
}
body.single-product.dark-hero #header:not(.scrolled) .nav-links li.current-menu-item > a,
body.single-product.dark-hero #header:not(.scrolled) .nav-links li.current_page_item > a {
  color: var(--kl-ink) !important;
}
body.single-product.dark-hero #header:not(.scrolled) .cart-btn {
  color: var(--kl-ink) !important;
}
body.single-product.dark-hero #header:not(.scrolled) .burger span {
  background: var(--kl-ink) !important;
}
body.single-product.dark-hero #header:not(.scrolled) .btn-dark {
  background: var(--kl-ink) !important;
  color: var(--kl-white) !important;
}
body.single-product #header {
  background: rgba(244, 242, 236, .88) !important;
  backdrop-filter: blur(14px) !important;
  border-bottom: 1px solid var(--kl-line) !important;
}
