/*
 * Kaizora Commerce Skin 3.2.1
 * Front-end eCommerce continuity: archive, blocks, mini-cart, cart and checkout.
 */

body.kaizora-theme {
  --kai-commerce-bg: #080b0a;
  --kai-commerce-panel: rgba(15, 22, 19, .92);
  --kai-commerce-panel-2: rgba(20, 29, 25, .88);
  --kai-commerce-border: rgba(239, 214, 160, .18);
  --kai-commerce-border-strong: rgba(239, 214, 160, .38);
  --kai-commerce-gold: #d8ab53;
  --kai-commerce-gold-hi: #f0d79f;
  --kai-commerce-jade: #0a7a65;
  --kai-commerce-text: #f4eee2;
  --kai-commerce-muted: #a9aea9;
  --kai-commerce-danger: #b83b37;
  --kai-commerce-ease: cubic-bezier(.2,.75,.25,1);
}

/* ---------- Header geometry / logo / language selector ---------- */
body.kaizora-theme .site-header { overflow: visible; }
body.kaizora-theme .header-inner {
  grid-template-columns: minmax(210px, 260px) minmax(280px, 1fr) minmax(245px, 310px);
  gap: clamp(14px, 2vw, 30px);
  padding-inline: 2px;
}
body.kaizora-theme .brand {
  min-width: 0;
  max-width: 100%;
  align-items: center;
  gap: 11px;
  transform: none !important;
}
body.kaizora-theme .brand > img,
body.kaizora-theme .brand .custom-logo {
  flex: 0 0 auto;
  width: 52px;
  height: 52px;
  object-fit: contain;
  object-position: center;
  transform: none !important;
  filter: drop-shadow(0 9px 18px rgba(0,0,0,.28));
}
body.kaizora-theme .brand > span:last-child { min-width: 0; }
body.kaizora-theme .brand strong { display:block; white-space:nowrap; line-height:1; }
body.kaizora-theme .header-actions {
  justify-self: end;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 13px;
  min-width: 0;
  padding-right: 2px;
}
body.kaizora-theme .language-switcher { display:block; min-width:0; }
body.kaizora-theme .kaizora-auto-translate-bridge {
  position:fixed;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
  pointer-events:none;
  opacity:0;
}
body.kaizora-theme .kaizora-language-links {
  display:flex;
  align-items:center;
  gap:3px;
  padding:4px;
  border:1px solid rgba(239,214,160,.13);
  background:rgba(7,11,9,.42);
  backdrop-filter:blur(10px);
}
/* The theme switcher is a fixed control, never a fragment to be translated by
   GTranslate. Keeping its labels and links intact prevents a locked selector. */
body.kaizora-theme .kaizora-language-links[translate="no"],
body.kaizora-theme .kaizora-language-links[translate="no"] * {
  translate:none;
}
body.kaizora-theme .goog-te-banner-frame.skiptranslate,
body.kaizora-theme .goog-te-balloon-frame {
  display:none !important;
}
html body.kaizora-theme { top:0 !important; }
body.kaizora-theme .kaizora-language-link {
  display:grid;
  place-items:center;
  min-width:31px;
  height:29px;
  padding:0 7px;
  border:1px solid transparent;
  color:#bbb9b1;
  font-size:.56rem;
  font-weight:700;
  line-height:1;
  letter-spacing:.08em;
  text-decoration:none;
  transition:color .25s, background .25s, border-color .25s, transform .25s;
}
body.kaizora-theme a.kaizora-language-link:hover {
  color:var(--kai-commerce-gold-hi);
  border-color:rgba(239,214,160,.24);
  background:rgba(239,214,160,.05);
  transform:translateY(-1px);
}
body.kaizora-theme .kaizora-language-link.is-current {
  color:#151109;
  border-color:var(--kai-commerce-gold);
  background:linear-gradient(135deg,#efd184,#b77d25);
}
body.kaizora-theme .kaizora-language-link.is-disabled:not(.is-current) { opacity:.42; cursor:default; }
body.kaizora-theme .cart-link {
  flex:0 0 43px;
  width:43px;
  height:43px;
  display:grid;
  place-items:center;
  border:1px solid rgba(239,214,160,.20);
  border-radius:50%;
  background:rgba(7,11,9,.34);
  color:var(--kai-commerce-text);
  transform:none !important;
  transition:border-color .25s, background .25s, box-shadow .25s;
}
body.kaizora-theme .cart-link:hover {
  border-color:rgba(239,214,160,.50);
  background:rgba(216,171,83,.08);
  box-shadow:0 0 28px rgba(216,171,83,.10);
}
body.kaizora-theme .cart-link svg { width:20px; height:20px; margin:0; transform:none; }
body.kaizora-theme .cart-link span.kaizora-cart-count {
  top:-5px;
  right:-5px;
  min-width:18px;
  height:18px;
  padding:0 4px;
  border:2px solid #0a0d0c;
  background:var(--kai-commerce-gold);
  color:#151109;
  font-size:.55rem;
  line-height:14px;
}

/* ---------- Unified buttons ---------- */
body.kaizora-theme .site-main .button,
body.kaizora-theme .site-main .wp-element-button,
body.kaizora-theme .site-main .wp-block-button__link,
body.kaizora-theme .woocommerce a.button,
body.kaizora-theme .woocommerce button.button,
body.kaizora-theme .woocommerce input.button,
body.kaizora-theme .wc-block-components-button:not(.is-link),
body.kaizora-theme .wc-block-components-totals-coupon__button,
body.kaizora-theme .wc-block-cart__submit-button,
body.kaizora-theme .wc-block-mini-cart__footer-actions a {
  min-height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 24px !important;
  border:1px solid rgba(239,214,160,.36) !important;
  border-radius:0 !important;
  background:linear-gradient(135deg,#e7bd67,#b9802d) !important;
  box-shadow:0 12px 28px rgba(0,0,0,.20), inset 0 1px rgba(255,255,255,.18) !important;
  color:#151109 !important;
  font-family:var(--body) !important;
  font-size:.68rem !important;
  font-weight:750 !important;
  letter-spacing:.11em !important;
  line-height:1.15 !important;
  text-align:center;
  text-transform:uppercase;
  white-space:normal;
  text-decoration:none !important;
  transition:transform .25s var(--kai-commerce-ease), border-color .25s, background .25s, box-shadow .25s !important;
}
body.kaizora-theme .site-main .button:hover,
body.kaizora-theme .site-main .wp-element-button:hover,
body.kaizora-theme .site-main .wp-block-button__link:hover,
body.kaizora-theme .woocommerce a.button:hover,
body.kaizora-theme .woocommerce button.button:hover,
body.kaizora-theme .wc-block-components-button:not(.is-link):hover,
body.kaizora-theme .wc-block-cart__submit-button:hover {
  transform:translateY(-2px) !important;
  border-color:var(--kai-commerce-gold-hi) !important;
  background:linear-gradient(135deg,#f0d79f,#c99137) !important;
  box-shadow:0 17px 34px rgba(0,0,0,.25), 0 0 25px rgba(216,171,83,.08) !important;
}
body.kaizora-theme .site-main .button-jade,
body.kaizora-theme .site-main .button-jade .wp-block-button__link,
body.kaizora-theme .site-main .wp-block-button.button-jade .wp-block-button__link {
  border-color:rgba(87,179,156,.38) !important;
  background:linear-gradient(135deg,#119a7d,#076650) !important;
  color:#f2f7f4 !important;
  box-shadow:0 14px 34px rgba(3,68,55,.22) !important;
}
body.kaizora-theme .site-main .button-jade:hover,
body.kaizora-theme .site-main .wp-block-button.button-jade .wp-block-button__link:hover {
  border-color:#6dcab2 !important;
  background:linear-gradient(135deg,#16a98a,#08715d) !important;
}
body.kaizora-theme .request-card .button,
body.kaizora-theme .request-card .wp-block-button__link {
  min-width:240px;
  height:56px;
  padding-inline:26px !important;
  border-radius:0 !important;
}
body.kaizora-theme .request-card .button svg { flex:0 0 20px; width:20px; height:20px; }

/* ---------- Shop/archive cards ---------- */
body.kaizora-theme.post-type-archive-product .site-main,
body.kaizora-theme.tax-product_cat .site-main,
body.kaizora-theme.tax-product_tag .site-main {
  min-height:100vh;
  padding-top:clamp(145px, 14vw, 190px);
  padding-bottom:110px;
  background:
    radial-gradient(circle at 86% 8%,rgba(8,113,93,.12),transparent 28%),
    radial-gradient(circle at 8% 55%,rgba(216,171,83,.07),transparent 25%),
    var(--kai-commerce-bg);
}
body.kaizora-theme .woocommerce-products-header,
body.kaizora-theme .woocommerce-notices-wrapper,
body.kaizora-theme .woocommerce-result-count,
body.kaizora-theme .woocommerce-ordering,
body.kaizora-theme .woocommerce ul.products,
body.kaizora-theme.post-type-archive-product .site-main > .woocommerce,
body.kaizora-theme.tax-product_cat .site-main > .woocommerce {
  width:var(--container);
  margin-left:auto;
  margin-right:auto;
}
body.kaizora-theme .woocommerce-products-header { margin-bottom:28px; }
body.kaizora-theme .woocommerce-products-header__title.page-title {
  margin:0;
  color:var(--kai-commerce-text);
  font-family:var(--display);
  font-size:clamp(2.9rem,5.5vw,5.2rem);
  line-height:.92;
}
body.kaizora-theme .woocommerce .woocommerce-result-count { margin:10px 0 30px; color:var(--kai-commerce-muted); }
body.kaizora-theme .woocommerce .woocommerce-ordering { float:right; margin:-55px 0 30px; }
body.kaizora-theme .woocommerce .woocommerce-ordering select,
body.kaizora-theme select.orderby {
  min-width:245px;
  height:44px;
  padding:0 40px 0 14px;
  border:1px solid var(--kai-commerce-border) !important;
  border-radius:0 !important;
  outline:0;
  background:#101513 !important;
  color:var(--kai-commerce-text) !important;
}
body.kaizora-theme .woocommerce ul.products {
  clear:both;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px !important;
  padding:0 !important;
}
body.kaizora-theme .woocommerce ul.products li.product,
body.kaizora-theme .site-main ul.products li.product {
  position:relative;
  float:none !important;
  width:auto !important;
  min-width:0;
  height:100%;
  margin:0 !important;
  padding:0 0 22px !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column;
  border:1px solid var(--kai-commerce-border) !important;
  border-radius:0 !important;
  background:linear-gradient(160deg,rgba(18,25,22,.98),rgba(8,12,10,.98)) !important;
  box-shadow:0 18px 48px rgba(0,0,0,.18);
  transform:none;
}
body.kaizora-theme .woocommerce ul.products li.product:hover,
body.kaizora-theme .site-main ul.products li.product:hover {
  border-color:rgba(239,214,160,.42) !important;
  box-shadow:0 24px 58px rgba(0,0,0,.28), 0 0 28px rgba(216,171,83,.05);
}
body.kaizora-theme .woocommerce ul.products li.product a.woocommerce-LoopProduct-link { flex:1 1 auto; display:block; }
body.kaizora-theme .woocommerce ul.products li.product a img,
body.kaizora-theme .site-main ul.products li.product img {
  display:block;
  width:100% !important;
  aspect-ratio:1 / 1;
  height:auto !important;
  margin:0 0 19px !important;
  object-fit:cover;
  transform:scale(1.001);
  transition:transform .75s var(--kai-commerce-ease), filter .5s;
}
body.kaizora-theme .woocommerce ul.products li.product:hover a img { transform:scale(1.035); filter:saturate(1.05) contrast(1.02); }
body.kaizora-theme .woocommerce ul.products li.product .woocommerce-loop-product__title {
  min-height:48px;
  margin:0 20px 7px !important;
  padding:0 !important;
  color:var(--kai-commerce-text) !important;
  font-family:var(--display) !important;
  font-size:1.02rem !important;
  font-weight:600 !important;
  line-height:1.28;
}
body.kaizora-theme .woocommerce ul.products li.product .kaizora-product-weight { margin:0 20px 4px !important; color:var(--kai-commerce-muted); }
body.kaizora-theme .woocommerce ul.products li.product .price {
  margin:0 20px !important;
  color:var(--kai-commerce-gold-hi) !important;
  font-size:.9rem !important;
  font-weight:600;
}
body.kaizora-theme .woocommerce ul.products li.product .button,
body.kaizora-theme .site-main ul.products li.product .button {
  align-self:stretch;
  width:calc(100% - 40px) !important;
  min-height:52px;
  margin:20px 20px 0 !important;
  padding:0 14px !important;
}
body.kaizora-theme .woocommerce ul.products li.product .added_to_cart {
  margin:8px 20px 0;
  color:var(--kai-commerce-gold-hi);
  font-size:.68rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* ---------- Native Woo notices ---------- */
body.kaizora-theme .woocommerce-message,
body.kaizora-theme .woocommerce-info,
body.kaizora-theme .woocommerce-error {
  width:var(--container);
  margin:20px auto !important;
  padding:18px 20px 18px 54px !important;
  border:1px solid var(--kai-commerce-border) !important;
  border-top:1px solid var(--kai-commerce-border-strong) !important;
  border-radius:0;
  background:rgba(15,22,19,.94) !important;
  color:var(--kai-commerce-text) !important;
  box-shadow:0 16px 36px rgba(0,0,0,.16);
}
body.kaizora-theme .woocommerce-message::before,
body.kaizora-theme .woocommerce-info::before { color:var(--kai-commerce-gold); }
body.kaizora-theme .woocommerce-error::before { color:#d76d68; }

/* ---------- WooCommerce Blocks mini-cart drawer ---------- */
body.kaizora-theme .wc-block-components-drawer__screen-overlay,
body.kaizora-theme .wc-block-mini-cart__drawer .wc-block-components-drawer__screen-overlay {
  background:rgba(2,4,3,.76) !important;
  backdrop-filter:blur(8px);
}
body.kaizora-theme .wc-block-components-drawer,
body.kaizora-theme .wc-block-mini-cart__drawer .wc-block-components-drawer {
  width:min(100%,510px) !important;
  max-width:510px !important;
  border-left:1px solid rgba(239,214,160,.20) !important;
  background:
    radial-gradient(circle at 100% 6%,rgba(8,113,93,.18),transparent 30%),
    linear-gradient(145deg,#111c18 0%,#070a09 60%,#1a1208 115%) !important;
  color:var(--kai-commerce-text) !important;
  box-shadow:-34px 0 100px rgba(0,0,0,.46) !important;
}
body.kaizora-theme .wc-block-components-drawer__content { color:var(--kai-commerce-text); }
body.kaizora-theme .wc-block-mini-cart__title {
  padding:26px 28px 20px !important;
  border-bottom:1px solid var(--kai-commerce-border);
  color:var(--kai-commerce-text) !important;
  font-family:var(--display) !important;
  font-size:clamp(1.9rem,4vw,2.8rem) !important;
  font-weight:600 !important;
}
body.kaizora-theme .wc-block-mini-cart__title .wc-block-mini-cart__badge { background:var(--kai-commerce-gold) !important; color:#151109 !important; }
body.kaizora-theme .wc-block-components-drawer__close {
  top:24px !important;
  right:24px !important;
  width:42px !important;
  height:42px !important;
  display:grid !important;
  place-items:center !important;
  border:1px solid var(--kai-commerce-border-strong) !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.025) !important;
  color:var(--kai-commerce-text) !important;
}
body.kaizora-theme .wc-block-mini-cart__items { padding:18px 26px !important; }
body.kaizora-theme .wc-block-mini-cart__products-table .wc-block-cart-items__row,
body.kaizora-theme .wc-block-mini-cart__items .wc-block-cart-items__row {
  border-bottom:1px solid rgba(255,255,255,.09) !important;
}
body.kaizora-theme .wc-block-mini-cart__items .wc-block-components-product-name,
body.kaizora-theme .wc-block-cart-item__product .wc-block-components-product-name { color:var(--kai-commerce-text) !important; font-family:var(--display); font-weight:600; }
body.kaizora-theme .wc-block-mini-cart__items .wc-block-components-product-price,
body.kaizora-theme .wc-block-mini-cart__items .wc-block-components-product-price__value,
body.kaizora-theme .wc-block-mini-cart__items .woocommerce-Price-amount { color:var(--kai-commerce-gold-hi) !important; }
body.kaizora-theme .wc-block-mini-cart__items .wc-block-cart-item__image img { border:1px solid rgba(239,214,160,.14); border-radius:0 !important; }
body.kaizora-theme .wc-block-components-quantity-selector {
  border:1px solid var(--kai-commerce-border) !important;
  border-radius:0 !important;
  background:#0f1512 !important;
}
body.kaizora-theme .wc-block-components-quantity-selector input,
body.kaizora-theme .wc-block-components-quantity-selector button { color:var(--kai-commerce-text) !important; background:transparent !important; }
body.kaizora-theme .wc-block-mini-cart__footer {
  padding:20px 26px 26px !important;
  border-top:1px solid var(--kai-commerce-border) !important;
  background:linear-gradient(180deg,rgba(8,12,10,.22),rgba(8,12,10,.96)) !important;
}
body.kaizora-theme .wc-block-mini-cart__footer-subtotal,
body.kaizora-theme .wc-block-mini-cart__footer .wc-block-components-totals-item { color:var(--kai-commerce-text) !important; }
body.kaizora-theme .wc-block-mini-cart__footer .woocommerce-Price-amount { color:var(--kai-commerce-gold-hi) !important; }
body.kaizora-theme .wc-block-mini-cart__footer-actions { display:grid !important; grid-template-columns:1fr 1fr !important; gap:10px !important; }
body.kaizora-theme .wc-block-mini-cart__footer-actions .wc-block-mini-cart__footer-cart { background:transparent !important; color:var(--kai-commerce-gold-hi) !important; }
body.kaizora-theme .wc-block-mini-cart__footer-actions .wc-block-mini-cart__footer-checkout { color:#151109 !important; }

/* ---------- Custom Kaizora mini-cart ---------- */
body.kaizora-theme .kaizora-cart-panel { border-left-color:var(--kai-commerce-border-strong); }
body.kaizora-theme .kaizora-mini-cart-body .woocommerce-mini-cart-item { grid-template-columns:82px minmax(0,1fr) 28px; }
body.kaizora-theme .kaizora-mini-cart-body .woocommerce-mini-cart-item img { width:82px; height:96px; }
body.kaizora-theme .kaizora-mini-cart-body .woocommerce-mini-cart__buttons .button { width:100% !important; margin:0 !important; }

/* ---------- Cart & Checkout common canvas ---------- */
body.kaizora-theme.woocommerce-cart .site-main,
body.kaizora-theme.woocommerce-checkout .site-main,
body.kaizora-theme .wp-block-woocommerce-cart,
body.kaizora-theme .wp-block-woocommerce-checkout {
  color:var(--kai-commerce-text);
}
body.kaizora-theme.woocommerce-cart .site-main,
body.kaizora-theme.woocommerce-checkout .site-main {
  min-height:100vh;
  padding-top:clamp(135px,13vw,185px);
  padding-bottom:110px;
  background:
    radial-gradient(circle at 13% 18%,rgba(8,113,93,.15),transparent 30%),
    radial-gradient(circle at 88% 52%,rgba(216,171,83,.065),transparent 24%),
    #080b0a;
}
body.kaizora-theme .wp-block-woocommerce-cart,
body.kaizora-theme .wp-block-woocommerce-checkout,
body.kaizora-theme .woocommerce-cart-form,
body.kaizora-theme .cart-collaterals,
body.kaizora-theme form.woocommerce-checkout,
body.kaizora-theme .woocommerce-order { width:var(--container); margin-left:auto; margin-right:auto; }
body.kaizora-theme .wc-block-cart__main,
body.kaizora-theme .wc-block-checkout__main { padding-right:clamp(18px,3vw,38px) !important; }
body.kaizora-theme .wc-block-cart__sidebar,
body.kaizora-theme .wc-block-checkout__sidebar,
body.kaizora-theme .wc-block-components-sidebar,
body.kaizora-theme .cart_totals,
body.kaizora-theme #order_review {
  border:1px solid var(--kai-commerce-border) !important;
  border-radius:0 !important;
  background:linear-gradient(155deg,rgba(20,29,25,.92),rgba(8,12,10,.94)) !important;
  box-shadow:0 24px 60px rgba(0,0,0,.22);
}

/* Cart items */
body.kaizora-theme table.shop_table,
body.kaizora-theme .wc-block-cart-items {
  border:1px solid var(--kai-commerce-border) !important;
  border-radius:0 !important;
  background:rgba(13,19,16,.76) !important;
  color:var(--kai-commerce-text) !important;
}
body.kaizora-theme table.shop_table th,
body.kaizora-theme table.shop_table td,
body.kaizora-theme .wc-block-cart-items td,
body.kaizora-theme .wc-block-cart-items th { border-color:rgba(255,255,255,.08) !important; }
body.kaizora-theme .wc-block-components-product-name,
body.kaizora-theme table.shop_table .product-name a { color:var(--kai-commerce-text) !important; font-family:var(--display); font-weight:600; }
body.kaizora-theme .wc-block-components-product-metadata,
body.kaizora-theme .wc-block-components-product-details,
body.kaizora-theme .product-weight { color:var(--kai-commerce-muted) !important; }
body.kaizora-theme .wc-block-components-product-price,
body.kaizora-theme .wc-block-formatted-money-amount,
body.kaizora-theme table.shop_table .amount { color:var(--kai-commerce-gold-hi) !important; }
body.kaizora-theme .wc-block-cart-item__image img,
body.kaizora-theme table.shop_table .product-thumbnail img { border:1px solid rgba(239,214,160,.13); border-radius:0 !important; }
body.kaizora-theme .wc-block-cart-item__remove-link,
body.kaizora-theme a.remove { color:#c9aaa3 !important; text-decoration:none !important; }

/* Coupon / totals */
body.kaizora-theme .wc-block-components-totals-wrapper,
body.kaizora-theme .wc-block-components-totals-item,
body.kaizora-theme .wc-block-components-totals-coupon,
body.kaizora-theme .wc-block-components-panel { border-color:rgba(255,255,255,.09) !important; color:var(--kai-commerce-text) !important; }
body.kaizora-theme .wc-block-components-totals-item__label,
body.kaizora-theme .wc-block-components-totals-item__value { color:var(--kai-commerce-text) !important; }
body.kaizora-theme .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.kaizora-theme .order-total .amount { color:var(--kai-commerce-gold-hi) !important; font-size:1.22em; }

/* Inputs: checkout + cart coupon */
body.kaizora-theme .woocommerce input.input-text,
body.kaizora-theme .woocommerce textarea,
body.kaizora-theme .woocommerce select,
body.kaizora-theme .wc-block-components-text-input input,
body.kaizora-theme .wc-block-components-text-input textarea,
body.kaizora-theme .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
body.kaizora-theme .wc-block-components-address-form select,
body.kaizora-theme .wc-block-components-select .wc-block-components-select__select {
  min-height:52px;
  border:1px solid rgba(239,214,160,.20) !important;
  border-radius:0 !important;
  outline:0 !important;
  background:#101513 !important;
  box-shadow:none !important;
  color:var(--kai-commerce-text) !important;
}
body.kaizora-theme .wc-block-components-text-input label,
body.kaizora-theme .wc-block-components-combobox label,
body.kaizora-theme .wc-block-components-select label { color:#c5c2b8 !important; }
body.kaizora-theme .woocommerce input.input-text:focus,
body.kaizora-theme .woocommerce textarea:focus,
body.kaizora-theme .woocommerce select:focus,
body.kaizora-theme .wc-block-components-text-input input:focus,
body.kaizora-theme .wc-block-components-combobox .components-combobox-control__input:focus,
body.kaizora-theme .wc-block-components-select__select:focus {
  border-color:rgba(239,214,160,.60) !important;
  box-shadow:0 0 0 3px rgba(216,171,83,.07) !important;
}
body.kaizora-theme .select2-container--default .select2-selection--single {
  height:52px;
  border:1px solid rgba(239,214,160,.20);
  border-radius:0;
  background:#101513;
  color:var(--kai-commerce-text);
}
body.kaizora-theme .select2-container--default .select2-selection--single .select2-selection__rendered { line-height:50px; color:var(--kai-commerce-text); }
body.kaizora-theme .select2-container--default .select2-selection--single .select2-selection__arrow { height:50px; }

/* Checkout sections */
body.kaizora-theme .wc-block-components-checkout-step,
body.kaizora-theme .woocommerce-billing-fields,
body.kaizora-theme .woocommerce-shipping-fields,
body.kaizora-theme .woocommerce-additional-fields {
  margin-bottom:20px;
  padding:clamp(20px,3vw,30px) !important;
  border:1px solid var(--kai-commerce-border) !important;
  background:rgba(15,22,19,.58) !important;
}
body.kaizora-theme .wc-block-components-checkout-step__heading h2,
body.kaizora-theme .wc-block-components-title,
body.kaizora-theme .woocommerce-billing-fields > h3,
body.kaizora-theme .woocommerce-shipping-fields h3,
body.kaizora-theme #order_review_heading {
  color:var(--kai-commerce-text) !important;
  font-family:var(--display) !important;
  font-size:clamp(1.55rem,2.5vw,2.15rem) !important;
  font-weight:600 !important;
}
body.kaizora-theme .wc-block-components-radio-control,
body.kaizora-theme .wc-block-components-radio-control-accordion-option,
body.kaizora-theme #payment ul.payment_methods {
  border-color:var(--kai-commerce-border) !important;
  background:rgba(8,12,10,.72) !important;
  color:var(--kai-commerce-text) !important;
}
body.kaizora-theme .wc-block-components-radio-control-accordion-option,
body.kaizora-theme .wc-block-components-radio-control__option { border-color:rgba(255,255,255,.08) !important; }
body.kaizora-theme .wc-block-components-radio-control__label,
body.kaizora-theme #payment label { color:var(--kai-commerce-text) !important; }
body.kaizora-theme #payment div.payment_box { border-radius:0; background:#121a17; color:var(--kai-commerce-muted); }
body.kaizora-theme #payment div.payment_box::before { border-bottom-color:#121a17; }

/* Checkout hero */
body.kaizora-theme .kaizora-checkout-intro {
  width:var(--container);
  margin:0 auto 44px;
  padding:clamp(30px,5vw,54px);
  border:1px solid rgba(239,214,160,.22);
  background:
    linear-gradient(120deg,rgba(8,113,93,.18),rgba(8,12,10,.62) 56%,rgba(216,171,83,.07)),
    rgba(13,20,17,.80);
  box-shadow:0 28px 70px rgba(0,0,0,.25);
}
body.kaizora-theme .kaizora-checkout-intro h2 { max-width:800px; font-size:clamp(3rem,5.7vw,5.4rem); }
body.kaizora-theme .kaizora-checkout-intro > p:not(.eyebrow) { max-width:820px; color:var(--kai-commerce-muted); }
body.kaizora-theme .kaizora-checkout-badges { display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
body.kaizora-theme .kaizora-checkout-badges span { padding:8px 13px; border:1px solid var(--kai-commerce-border); color:var(--kai-commerce-gold-hi); font-size:.58rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }

/* Errors and empty states */
body.kaizora-theme .wc-block-components-notice-banner,
body.kaizora-theme .woocommerce-NoticeGroup .woocommerce-error,
body.kaizora-theme .wc-block-components-validation-error {
  border-radius:0 !important;
}
body.kaizora-theme .wc-block-components-notice-banner.is-error { border-color:rgba(184,59,55,.62) !important; background:rgba(83,20,18,.25) !important; color:#f0dad7 !important; }
body.kaizora-theme .wc-block-cart__empty-cart__title { color:var(--kai-commerce-text); font-family:var(--display); }

/* ---------- Responsive ---------- */
@media (max-width: 1120px) {
  body.kaizora-theme .header-inner { grid-template-columns:minmax(180px,220px) minmax(240px,1fr) minmax(210px,240px); }
  body.kaizora-theme .kaizora-language-link { min-width:28px; padding-inline:5px; }
  body.kaizora-theme .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 800px) {
  body.kaizora-theme .header-inner { grid-template-columns:minmax(0,1fr) auto auto; gap:9px; }
  body.kaizora-theme .brand > img, body.kaizora-theme .brand .custom-logo { width:43px; height:43px; }
  body.kaizora-theme .brand strong { font-size:.98rem; letter-spacing:.14em; }
  body.kaizora-theme .header-actions { grid-column:2; grid-row:1; gap:8px; }
  body.kaizora-theme .language-switcher { display:block !important; }
  body.kaizora-theme .kaizora-language-links { gap:1px; padding:2px; }
  body.kaizora-theme .kaizora-language-link { min-width:25px; height:26px; padding:0 3px; font-size:.48rem; }
  body.kaizora-theme .cart-link { flex-basis:39px; width:39px; height:39px; }
  body.kaizora-theme .menu-toggle { grid-column:3; grid-row:1; }
  body.kaizora-theme .woocommerce .woocommerce-ordering { float:none; margin:0 0 28px; }
  body.kaizora-theme .woocommerce .woocommerce-result-count { float:none; }
  body.kaizora-theme .woocommerce .woocommerce-ordering select { width:100%; min-width:0; }
  body.kaizora-theme .wc-block-mini-cart__footer-actions { grid-template-columns:1fr !important; }
  body.kaizora-theme .wc-block-cart__main,
  body.kaizora-theme .wc-block-checkout__main { padding-right:0 !important; }
}
@media (max-width: 560px) {
  body.kaizora-theme .brand > span:last-child { display:none; }
  body.kaizora-theme .header-actions { gap:6px; }
  body.kaizora-theme .kaizora-language-link { min-width:23px; font-size:.45rem; }
  body.kaizora-theme .woocommerce ul.products { grid-template-columns:1fr; gap:20px !important; }
  body.kaizora-theme .request-card .button,
  body.kaizora-theme .request-card .wp-block-button__link { width:100% !important; min-width:0; }
  body.kaizora-theme .wc-block-components-drawer,
  body.kaizora-theme .wc-block-mini-cart__drawer .wc-block-components-drawer { width:100% !important; max-width:none !important; }
  body.kaizora-theme .wc-block-mini-cart__items { padding-inline:16px !important; }
  body.kaizora-theme .wc-block-mini-cart__footer { padding-inline:16px !important; }
  body.kaizora-theme .kaizora-checkout-intro { padding:28px 20px; }
}

/* ---------- Commerce geometry refinement 3.2.1 ----------
   Scoped repairs: preserve the OneJapan visual language while ensuring that
   WooCommerce's classic and block markup cannot stretch cards or actions. */
body.kaizora-theme.post-type-archive-product .woo-shell,
body.kaizora-theme.tax-product_cat .woo-shell,
body.kaizora-theme.tax-product_tag .woo-shell {
  width:var(--container);
  max-width:none;
  margin:0 auto;
  padding:clamp(126px,11vw,165px) 0 100px;
}
body.kaizora-theme.post-type-archive-product .woocommerce ul.products,
body.kaizora-theme.tax-product_cat .woocommerce ul.products,
body.kaizora-theme.tax-product_tag .woocommerce ul.products {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  align-items:stretch;
  gap:clamp(16px,2vw,28px) !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}
body.kaizora-theme.post-type-archive-product .woocommerce ul.products::before,
body.kaizora-theme.post-type-archive-product .woocommerce ul.products::after,
body.kaizora-theme.tax-product_cat .woocommerce ul.products::before,
body.kaizora-theme.tax-product_cat .woocommerce ul.products::after,
body.kaizora-theme.tax-product_tag .woocommerce ul.products::before,
body.kaizora-theme.tax-product_tag .woocommerce ul.products::after { display:none !important; }
body.kaizora-theme.post-type-archive-product .woocommerce ul.products li.product,
body.kaizora-theme.tax-product_cat .woocommerce ul.products li.product,
body.kaizora-theme.tax-product_tag .woocommerce ul.products li.product {
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  overflow:hidden !important;
}
body.kaizora-theme.post-type-archive-product .woocommerce ul.products li.product a img,
body.kaizora-theme.tax-product_cat .woocommerce ul.products li.product a img,
body.kaizora-theme.tax-product_tag .woocommerce ul.products li.product a img {
  width:100% !important;
  height:auto !important;
  aspect-ratio:4 / 5;
  object-fit:cover;
}
body.kaizora-theme.post-type-archive-product .woocommerce ul.products li.product .button,
body.kaizora-theme.tax-product_cat .woocommerce ul.products li.product .button,
body.kaizora-theme.tax-product_tag .woocommerce ul.products li.product .button {
  width:calc(100% - 36px) !important;
  min-height:48px !important;
  margin:18px 18px 0 !important;
  padding:0 12px !important;
  font-size:.62rem !important;
  letter-spacing:.09em !important;
  white-space:nowrap;
}

/* Product Collection blocks on shop pages use a different class tree. */
body.kaizora-theme.post-type-archive-product ul.wc-block-product-template,
body.kaizora-theme.post-type-archive-product ul.wp-block-woocommerce-product-template,
body.kaizora-theme.tax-product_cat ul.wc-block-product-template,
body.kaizora-theme.tax-product_cat ul.wp-block-woocommerce-product-template,
body.kaizora-theme.tax-product_tag ul.wc-block-product-template,
body.kaizora-theme.tax-product_tag ul.wp-block-woocommerce-product-template {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:clamp(16px,2vw,28px) !important;
  width:100% !important;
}
body.kaizora-theme.post-type-archive-product li.wc-block-product .wc-block-components-product-image img,
body.kaizora-theme.tax-product_cat li.wc-block-product .wc-block-components-product-image img,
body.kaizora-theme.tax-product_tag li.wc-block-product .wc-block-components-product-image img {
  aspect-ratio:4 / 5;
  object-fit:cover;
}

/* One stable button baseline prevents vertical text and skewed actions. */
body.kaizora-theme .woocommerce a.button,
body.kaizora-theme .woocommerce button.button,
body.kaizora-theme .woocommerce input.button,
body.kaizora-theme .site-main .wp-block-button__link,
body.kaizora-theme .site-main .wp-element-button {
  box-sizing:border-box;
  align-items:center !important;
  justify-content:center !important;
  line-height:1.1 !important;
  text-wrap:balance;
}
body.kaizora-theme .request-card .button,
body.kaizora-theme .request-card .wp-block-button__link {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:252px;
  min-height:54px !important;
  padding:0 25px !important;
  white-space:nowrap;
}
body.kaizora-theme .request-card .button svg {
  display:block;
  flex:0 0 19px;
  width:19px;
  height:19px;
  margin:0 !important;
  overflow:visible;
  transform:none !important;
}

/* Custom mini-cart: fixed column tracks keep names, weights and actions aligned. */
body.kaizora-theme .kaizora-cart-panel { box-sizing:border-box; }
body.kaizora-theme .kaizora-mini-cart-body .woocommerce-mini-cart-item {
  display:grid !important;
  grid-template-columns:78px minmax(0,1fr) 25px !important;
  grid-template-rows:auto auto;
  gap:8px 15px !important;
  width:100% !important;
  min-width:0;
  box-sizing:border-box;
}
body.kaizora-theme .kaizora-mini-cart-body .woocommerce-mini-cart-item img {
  grid-column:1 !important;
  grid-row:1 / span 2 !important;
  width:78px !important;
  height:94px !important;
  max-width:100% !important;
  object-fit:cover;
}
body.kaizora-theme .kaizora-mini-cart-body .woocommerce-mini-cart-item a:not(.remove) {
  grid-column:2 !important;
  grid-row:1 !important;
  min-width:0;
  margin:0 !important;
  overflow-wrap:anywhere;
}
body.kaizora-theme .kaizora-mini-cart-body .woocommerce-mini-cart-item .quantity {
  grid-column:2 !important;
  grid-row:2 !important;
  min-width:0;
  margin:0 !important;
  line-height:1.45;
  overflow-wrap:anywhere;
}
body.kaizora-theme .kaizora-mini-cart-body .woocommerce-mini-cart-item .remove {
  grid-column:3 !important;
  grid-row:1 !important;
  width:25px !important;
  height:25px !important;
  margin:0 !important;
  line-height:25px !important;
  text-align:center;
}
body.kaizora-theme .kaizora-mini-cart-body .woocommerce-mini-cart__buttons {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
  width:100%;
}
body.kaizora-theme .kaizora-mini-cart-body .woocommerce-mini-cart__buttons .button {
  display:flex !important;
  width:100% !important;
  min-width:0 !important;
  min-height:50px !important;
  margin:0 !important;
  padding:0 11px !important;
  font-size:.63rem !important;
  line-height:1.12 !important;
  letter-spacing:.075em !important;
}

/* The drawer has its own compact markup so automatic translations cannot break
   WooCommerce's legacy float layout into vertical fragments. */
body.kaizora-theme .kaizora-mini-cart-body { min-width:0; }
body.kaizora-theme .kaizora-mini-cart-list {
  display:grid;
  gap:0;
  width:100%;
  margin:0;
  padding:0;
  list-style:none;
}
body.kaizora-theme .kaizora-mini-cart-item {
  display:grid;
  grid-template-columns:76px minmax(0,1fr) 26px;
  grid-template-areas:"image copy remove";
  gap:8px 14px;
  width:100%;
  min-width:0;
  padding:18px 0;
  border-bottom:1px solid rgba(239,214,160,.13);
  box-sizing:border-box;
}
body.kaizora-theme .kaizora-mini-cart-image { grid-area:image; display:block; width:76px; height:92px; overflow:hidden; }
body.kaizora-theme .kaizora-mini-cart-image img { display:block; width:100%; height:100%; object-fit:cover; border:1px solid rgba(239,214,160,.18); }
body.kaizora-theme .kaizora-mini-cart-item-copy { grid-area:copy; min-width:0; }
body.kaizora-theme .kaizora-mini-cart-item-copy h3 {
  margin:0;
  color:var(--kai-commerce-text);
  font:600 1rem/1.2 var(--kai-commerce-body);
  overflow-wrap:anywhere;
  word-break:normal;
}
body.kaizora-theme .kaizora-mini-cart-item-copy h3 a { color:inherit; text-decoration:none; }
body.kaizora-theme .kaizora-mini-cart-variation { margin:6px 0 0; color:var(--kai-commerce-muted); font-size:.73rem; line-height:1.35; }
body.kaizora-theme .kaizora-mini-cart-price,
body.kaizora-theme .kaizora-mini-cart-weight {
  margin:6px 0 0;
  color:var(--kai-commerce-gold-hi);
  font-size:.76rem;
  font-weight:600;
  line-height:1.35;
  overflow-wrap:anywhere;
}
body.kaizora-theme .kaizora-mini-cart-weight { color:var(--kai-commerce-muted); font-weight:500; }
body.kaizora-theme .kaizora-mini-cart-weight span { color:var(--kai-commerce-text); font-weight:600; }
body.kaizora-theme .kaizora-mini-cart-remove {
  grid-area:remove;
  display:grid;
  place-items:center;
  align-self:start;
  width:26px;
  height:26px;
  margin:0;
  border:1px solid rgba(239,214,160,.26);
  border-radius:50%;
  color:var(--kai-commerce-text);
  font-size:1.05rem;
  line-height:1;
  text-decoration:none;
}
body.kaizora-theme .kaizora-mini-cart-remove:hover { color:#16120a; background:var(--kai-commerce-gold-hi); border-color:var(--kai-commerce-gold-hi); }
body.kaizora-theme .kaizora-mini-cart-subtotal {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:20px 0;
  padding-top:16px;
  border-top:1px solid rgba(239,214,160,.13);
  color:var(--kai-commerce-text);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.kaizora-theme .kaizora-mini-cart-subtotal .amount { color:var(--kai-commerce-gold-hi); font-size:1rem; letter-spacing:0; }
body.kaizora-theme .kaizora-mini-cart-empty { margin:24px 0; color:var(--kai-commerce-muted); }
@media (max-width:520px) {
  body.kaizora-theme .kaizora-mini-cart-item { grid-template-columns:68px minmax(0,1fr) 24px; gap:8px 12px; }
  body.kaizora-theme .kaizora-mini-cart-image { width:68px; height:82px; }
  body.kaizora-theme .kaizora-mini-cart-item-copy h3 { font-size:.92rem; }
}

/* More deliberate motion for the shipping rings: continuous, calm and optional. */
body.kaizora-theme .logistics-visual { isolation:isolate; }
body.kaizora-theme .logistics-visual::after {
  content:"";
  position:absolute;
  z-index:-1;
  inset:2%;
  border:1px solid rgba(239,214,160,.11);
  border-radius:50%;
  box-shadow:0 0 0 26px rgba(8,113,93,.018),0 0 72px rgba(8,113,93,.14);
  animation:kaizoraLogisticsHalo 6.4s ease-in-out infinite;
}
body.kaizora-theme .logistics-visual::before {
  animation:kaizoraLogisticsBreath 4.8s ease-in-out infinite;
}
body.kaizora-theme .logistics-visual strong { animation:kaizoraLogisticsNumber 5.6s ease-in-out infinite; }
body.kaizora-theme .logistics-copy li { transition:transform .35s var(--kai-commerce-ease),color .35s; }
body.kaizora-theme .logistics-copy li:hover { color:var(--kai-commerce-gold-hi); transform:translateX(7px); }
body.kaizora-theme .logistics-copy li::before { transition:width .35s var(--kai-commerce-ease),box-shadow .35s; }
body.kaizora-theme .logistics-copy li:hover::before { width:38px; box-shadow:0 0 12px rgba(216,171,83,.52); }
@keyframes kaizoraLogisticsHalo { 0%,100% { transform:scale(.94); opacity:.32; } 50% { transform:scale(1.035); opacity:.85; } }
@keyframes kaizoraLogisticsBreath { 0%,100% { transform:scale(.94); opacity:.55; } 50% { transform:scale(1.08); opacity:1; } }
@keyframes kaizoraLogisticsNumber { 0%,100% { transform:translateY(0); text-shadow:0 0 38px rgba(216,171,83,.14); } 50% { transform:translateY(-5px); text-shadow:0 0 72px rgba(216,171,83,.3); } }

@media (max-width:1120px) {
  body.kaizora-theme.post-type-archive-product .woocommerce ul.products,
  body.kaizora-theme.tax-product_cat .woocommerce ul.products,
  body.kaizora-theme.tax-product_tag .woocommerce ul.products,
  body.kaizora-theme.post-type-archive-product ul.wc-block-product-template,
  body.kaizora-theme.post-type-archive-product ul.wp-block-woocommerce-product-template,
  body.kaizora-theme.tax-product_cat ul.wc-block-product-template,
  body.kaizora-theme.tax-product_cat ul.wp-block-woocommerce-product-template,
  body.kaizora-theme.tax-product_tag ul.wc-block-product-template,
  body.kaizora-theme.tax-product_tag ul.wp-block-woocommerce-product-template { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
}
@media (max-width:760px) {
  body.kaizora-theme.post-type-archive-product .woo-shell,
  body.kaizora-theme.tax-product_cat .woo-shell,
  body.kaizora-theme.tax-product_tag .woo-shell { width:min(100% - 32px,var(--container)); padding-top:116px; }
  body.kaizora-theme.post-type-archive-product .woocommerce ul.products,
  body.kaizora-theme.tax-product_cat .woocommerce ul.products,
  body.kaizora-theme.tax-product_tag .woocommerce ul.products,
  body.kaizora-theme.post-type-archive-product ul.wc-block-product-template,
  body.kaizora-theme.post-type-archive-product ul.wp-block-woocommerce-product-template,
  body.kaizora-theme.tax-product_cat ul.wc-block-product-template,
  body.kaizora-theme.tax-product_cat ul.wp-block-woocommerce-product-template,
  body.kaizora-theme.tax-product_tag ul.wc-block-product-template,
  body.kaizora-theme.tax-product_tag ul.wp-block-woocommerce-product-template { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:14px !important; }
  body.kaizora-theme .logistics-visual { max-width:390px; margin-inline:auto; }
}
@media (max-width:520px) {
  body.kaizora-theme.post-type-archive-product .woocommerce ul.products,
  body.kaizora-theme.tax-product_cat .woocommerce ul.products,
  body.kaizora-theme.tax-product_tag .woocommerce ul.products,
  body.kaizora-theme.post-type-archive-product ul.wc-block-product-template,
  body.kaizora-theme.post-type-archive-product ul.wp-block-woocommerce-product-template,
  body.kaizora-theme.tax-product_cat ul.wc-block-product-template,
  body.kaizora-theme.tax-product_cat ul.wp-block-woocommerce-product-template,
  body.kaizora-theme.tax-product_tag ul.wc-block-product-template,
  body.kaizora-theme.tax-product_tag ul.wp-block-woocommerce-product-template { grid-template-columns:1fr !important; }
  body.kaizora-theme .request-card .button,
  body.kaizora-theme .request-card .wp-block-button__link { width:100% !important; min-width:0; }
  body.kaizora-theme .kaizora-cart-panel { padding:24px 18px; }
  body.kaizora-theme .kaizora-mini-cart-body .woocommerce-mini-cart__buttons { grid-template-columns:1fr !important; }
}
@media (prefers-reduced-motion:reduce) {
  body.kaizora-theme .logistics-visual::after,
  body.kaizora-theme .logistics-visual::before,
  body.kaizora-theme .logistics-visual strong { animation:none !important; }
  body.kaizora-theme .logistics-copy li { transition:none; }
}

/* ---------- Kaizora final storefront layout ---------- */
body.kaizora-theme .kaizora-shop-shell {
  width:var(--container);
  max-width:none;
  margin:0 auto;
  padding:clamp(138px,12vw,176px) 0 110px;
}
body.kaizora-theme .kaizora-catalog-header {
  max-width:720px;
  margin:0 0 34px;
}
body.kaizora-theme .kaizora-catalog-header .eyebrow { margin-bottom:13px; }
body.kaizora-theme .kaizora-catalog-header h1 {
  margin:0;
  color:var(--kai-commerce-text);
  font-family:var(--display);
  font-size:clamp(2.9rem,5vw,5.1rem);
  line-height:.9;
  letter-spacing:-.045em;
}
body.kaizora-theme .kaizora-shop-tools {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:52px;
  margin:0 0 27px;
}
body.kaizora-theme .kaizora-shop-tools .woocommerce-result-count,
body.kaizora-theme .kaizora-shop-tools .woocommerce-ordering {
  float:none !important;
  width:auto;
  margin:0 !important;
}
body.kaizora-theme .kaizora-catalog-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:stretch;
  gap:clamp(16px,2vw,28px);
  width:100%;
  margin:0;
  padding:0;
  list-style:none;
}
body.kaizora-theme .kaizora-catalog-card {
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(239,214,160,.16);
  background:linear-gradient(155deg,rgba(21,29,25,.98),rgba(8,12,10,.99));
  box-shadow:0 22px 48px rgba(0,0,0,.23),inset 0 1px rgba(255,255,255,.035);
  transition:transform .45s var(--kai-commerce-ease),border-color .35s,box-shadow .35s;
}
body.kaizora-theme .kaizora-catalog-card:hover {
  z-index:2;
  border-color:rgba(239,214,160,.44);
  box-shadow:0 30px 64px rgba(0,0,0,.35),0 0 30px rgba(216,171,83,.08),inset 0 1px rgba(255,255,255,.06);
  transform:translateY(-7px);
}
body.kaizora-theme .kaizora-catalog-link { display:block; min-width:0; color:inherit; }
body.kaizora-theme .kaizora-catalog-media {
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:4 / 5;
  overflow:hidden;
  background:#111714;
}
body.kaizora-theme .kaizora-catalog-media img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  margin:0 !important;
  object-fit:cover;
  transition:transform .8s var(--kai-commerce-ease),filter .5s;
}
body.kaizora-theme .kaizora-catalog-card:hover .kaizora-catalog-media img { transform:scale(1.055); filter:saturate(1.06) contrast(1.03); }
body.kaizora-theme .kaizora-catalog-card .onsale {
  z-index:2;
  top:13px !important;
  left:13px !important;
  right:auto !important;
  min-width:auto !important;
  min-height:auto !important;
  padding:6px 9px !important;
  border-radius:0 !important;
  background:var(--kai-commerce-jade) !important;
  color:#f5f7f2 !important;
  font-size:.55rem !important;
  line-height:1.2 !important;
}
body.kaizora-theme .kaizora-catalog-card .woocommerce-loop-product__title {
  min-height:0;
  margin:18px 18px 8px !important;
  padding:0 !important;
  color:var(--kai-commerce-text) !important;
  font-family:var(--display) !important;
  font-size:1.08rem !important;
  font-weight:600 !important;
  line-height:1.22;
}
body.kaizora-theme .kaizora-catalog-meta {
  display:grid;
  gap:6px;
  margin:0 18px;
  color:var(--kai-commerce-muted);
}
body.kaizora-theme .kaizora-catalog-meta .price {
  margin:0 !important;
  color:var(--kai-commerce-gold-hi) !important;
  font-size:.92rem !important;
  font-weight:650;
}
body.kaizora-theme .kaizora-catalog-meta .kaizora-product-weight {
  margin:0 !important;
  font-size:.64rem;
  letter-spacing:.035em;
}
body.kaizora-theme .kaizora-catalog-action { margin-top:auto; padding:18px; }
body.kaizora-theme .kaizora-catalog-action .button {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-width:0 !important;
  min-height:48px !important;
  margin:0 !important;
  padding:0 12px !important;
  border-radius:0 !important;
  font-size:.61rem !important;
  font-weight:750 !important;
  line-height:1 !important;
  letter-spacing:.085em !important;
  text-align:center !important;
  white-space:nowrap !important;
}
body.kaizora-theme .kaizora-catalog-action .added_to_cart {
  display:block;
  margin-top:8px;
  color:var(--kai-commerce-gold-hi);
  font-size:.62rem;
  line-height:1.35;
  text-align:center;
}

/* Full-width checkout content: no nested fixed-width wrapper may crop a field. */
body.kaizora-theme.woocommerce-checkout .woo-shell,
body.kaizora-theme.woocommerce-cart .woo-shell {
  width:var(--container);
  max-width:none;
  margin:0 auto;
  padding:clamp(128px,11vw,164px) 0 110px;
}
body.kaizora-theme .woo-shell .wp-block-woocommerce-checkout,
body.kaizora-theme .woo-shell .wp-block-woocommerce-cart,
body.kaizora-theme .woo-shell .wc-block-checkout,
body.kaizora-theme .woo-shell .wc-block-cart,
body.kaizora-theme .woo-shell form.woocommerce-checkout,
body.kaizora-theme .woo-shell .woocommerce-cart-form {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
}
body.kaizora-theme .woo-shell .wc-block-checkout {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(320px,.46fr) !important;
  gap:clamp(20px,3vw,42px) !important;
}
body.kaizora-theme .woo-shell .wc-block-checkout__main,
body.kaizora-theme .woo-shell .wc-block-checkout__sidebar,
body.kaizora-theme .woo-shell .wc-block-components-sidebar,
body.kaizora-theme .woo-shell .wc-block-cart__main,
body.kaizora-theme .woo-shell .wc-block-cart__sidebar {
  width:auto !important;
  min-width:0 !important;
  max-width:100% !important;
  margin:0 !important;
}
body.kaizora-theme .woo-shell .wc-block-checkout__main { padding-right:0 !important; }
body.kaizora-theme .woo-shell .woocommerce form .form-row { min-width:0; }
body.kaizora-theme .woo-shell .woocommerce form .form-row-first,
body.kaizora-theme .woo-shell .woocommerce form .form-row-last { width:calc(50% - 10px); }
body.kaizora-theme .woo-shell .woocommerce form .form-row-first { float:left; }
body.kaizora-theme .woo-shell .woocommerce form .form-row-last { float:right; }
body.kaizora-theme .woo-shell .woocommerce form .form-row-wide { clear:both; width:100%; }
body.kaizora-theme .woo-shell .woocommerce input.input-text,
body.kaizora-theme .woo-shell .woocommerce textarea,
body.kaizora-theme .woo-shell .woocommerce select { width:100% !important; max-width:100% !important; }
body.kaizora-theme .woo-shell .woocommerce-checkout-review-order,
body.kaizora-theme .woo-shell #order_review { width:100% !important; max-width:100% !important; }

/* A single horizontal baseline for every action, including Block Checkout. */
body.kaizora-theme .button,
body.kaizora-theme .wp-element-button,
body.kaizora-theme .woocommerce a.button,
body.kaizora-theme .woocommerce button.button,
body.kaizora-theme .woocommerce input.button,
body.kaizora-theme .wc-block-components-button:not(.is-link) {
  display:inline-flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  vertical-align:middle;
  box-sizing:border-box;
  line-height:1 !important;
  text-align:center !important;
  white-space:nowrap;
}
body.kaizora-theme .button > span,
body.kaizora-theme .wp-element-button > span { display:block; line-height:1; }
body.kaizora-theme .button > svg,
body.kaizora-theme .wp-element-button > svg {
  display:block;
  flex:0 0 19px;
  width:19px;
  height:19px;
  margin:0 !important;
  transform:none !important;
}

/* More visible, still premium movement in the frete visual. */
body.kaizora-theme .logistics-visual[data-kaizora-shipping-motion] { perspective:1000px; }
body.kaizora-theme .logistics-visual[data-kaizora-shipping-motion] .orbit { animation-duration:8.5s; will-change:transform; }
body.kaizora-theme .logistics-visual[data-kaizora-shipping-motion] .orbit-two { animation-duration:6.3s; }
body.kaizora-theme .logistics-pulse {
  position:absolute;
  z-index:1;
  inset:13%;
  border:1px solid rgba(239,214,160,.29);
  border-radius:50%;
  opacity:0;
  transform:scale(.72);
  animation:kaizoraShippingPulse 3.8s cubic-bezier(.16,.8,.32,1) infinite;
}
body.kaizora-theme .logistics-pulse-two {
  inset:25%;
  border-color:rgba(87,179,156,.32);
  animation-delay:1.88s;
}
body.kaizora-theme .logistics-visual[data-kaizora-shipping-motion] strong {
  z-index:2;
  animation:kaizoraLogisticsNumber 3.8s ease-in-out infinite;
}
@keyframes kaizoraShippingPulse {
  0% { opacity:0; transform:scale(.72); }
  18% { opacity:.76; }
  76%,100% { opacity:0; transform:scale(1.18); }
}

/* The active page can be made with either the Customizer or Gutenberg.
   This layer is injected only when motion is available and makes the freight
   rings visibly orbit without altering the editor's content or its spacing. */
body.kaizora-theme .logistics-visual.kaizora-shipping-motion-ready {
  isolation:isolate;
  perspective:1100px;
}
body.kaizora-theme .logistics-visual.kaizora-shipping-motion-ready .kaizora-shipping-orbit-layer {
  position:absolute;
  z-index:1;
  inset:-5%;
  display:block;
  pointer-events:none;
  border-radius:50%;
}
body.kaizora-theme .logistics-visual.kaizora-shipping-motion-ready .kaizora-shipping-orbit {
  position:absolute;
  display:block;
  box-sizing:border-box;
  border:1px solid rgba(226,181,84,.36);
  border-radius:50%;
  transform:translateZ(0);
  will-change:transform;
  animation:kaizoraShippingOrbit 7.2s linear infinite;
}
body.kaizora-theme .logistics-visual.kaizora-shipping-motion-ready .kaizora-shipping-orbit-one {
  inset:3%;
  border-color:rgba(226,181,84,.46);
  animation-duration:8.4s;
}
body.kaizora-theme .logistics-visual.kaizora-shipping-motion-ready .kaizora-shipping-orbit-two {
  inset:18%;
  border-color:rgba(89,195,167,.52);
  animation-duration:5.8s;
  animation-direction:reverse;
}
body.kaizora-theme .logistics-visual.kaizora-shipping-motion-ready .kaizora-shipping-orbit-three {
  inset:33%;
  border-color:rgba(237,211,151,.36);
  animation-duration:4.4s;
}
body.kaizora-theme .logistics-visual.kaizora-shipping-motion-ready .kaizora-shipping-satellite {
  position:absolute;
  top:-5px;
  left:68%;
  display:block;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#d9a547;
  box-shadow:0 0 0 5px rgba(217,165,71,.09), 0 0 20px rgba(226,181,84,.72);
}
body.kaizora-theme .logistics-visual.kaizora-shipping-motion-ready .kaizora-shipping-orbit-two .kaizora-shipping-satellite {
  top:43%;
  left:-5px;
  width:9px;
  height:9px;
  background:#56bca2;
  box-shadow:0 0 0 5px rgba(86,188,162,.09), 0 0 20px rgba(86,188,162,.72);
}
body.kaizora-theme .logistics-visual.kaizora-shipping-motion-ready .kaizora-shipping-orbit-three .kaizora-shipping-satellite {
  top:auto;
  bottom:-4px;
  left:24%;
  width:7px;
  height:7px;
  background:#f1dca8;
  box-shadow:0 0 14px rgba(241,220,168,.78);
}
body.kaizora-theme .logistics-visual.kaizora-shipping-motion-ready .kaizora-shipping-orbit-layer::after {
  content:"";
  position:absolute;
  inset:22%;
  border:1px solid rgba(226,181,84,.19);
  border-radius:50%;
  box-shadow:0 0 42px rgba(42,166,132,.13);
  animation:kaizoraShippingRingPulse 2.9s ease-out infinite;
}
body.kaizora-theme .logistics-visual.kaizora-shipping-motion-ready > strong,
body.kaizora-theme .logistics-visual.kaizora-shipping-motion-ready .logistics-number {
  position:relative;
  z-index:3;
}
@keyframes kaizoraShippingOrbit { to { transform:rotate(360deg); } }
@keyframes kaizoraShippingRingPulse {
  0%,100% { opacity:.18; transform:scale(.9); }
  48% { opacity:.76; transform:scale(1.1); }
}
@media (prefers-reduced-motion:reduce) {
  body.kaizora-theme .logistics-visual.kaizora-shipping-motion-ready .kaizora-shipping-orbit,
  body.kaizora-theme .logistics-visual.kaizora-shipping-motion-ready .kaizora-shipping-orbit-layer::after { animation:none !important; }
}

@media (max-width:1120px) {
  body.kaizora-theme .kaizora-catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:880px) {
  body.kaizora-theme .kaizora-shop-shell,
  body.kaizora-theme.woocommerce-checkout .woo-shell,
  body.kaizora-theme.woocommerce-cart .woo-shell { width:min(100% - 32px,var(--container)); padding-top:116px; }
  body.kaizora-theme .woo-shell .wc-block-checkout { grid-template-columns:1fr !important; }
  body.kaizora-theme .woo-shell .wc-block-checkout__sidebar { order:2; }
}
@media (max-width:720px) {
  body.kaizora-theme .kaizora-shop-tools { align-items:stretch; flex-direction:column; }
  body.kaizora-theme .kaizora-shop-tools .woocommerce-ordering,
  body.kaizora-theme .kaizora-shop-tools .woocommerce-ordering select { width:100%; }
  body.kaizora-theme .kaizora-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  body.kaizora-theme .kaizora-catalog-card .woocommerce-loop-product__title { margin:14px 14px 7px !important; font-size:1rem !important; }
  body.kaizora-theme .kaizora-catalog-meta { margin:0 14px; }
  body.kaizora-theme .kaizora-catalog-action { padding:14px; }
  body.kaizora-theme .woo-shell .woocommerce form .form-row-first,
  body.kaizora-theme .woo-shell .woocommerce form .form-row-last { float:none; width:100%; }
}
@media (max-width:480px) {
  body.kaizora-theme .kaizora-catalog-grid { grid-template-columns:1fr; }
  body.kaizora-theme .kaizora-catalog-card .woocommerce-loop-product__title { margin:18px 18px 8px !important; }
  body.kaizora-theme .kaizora-catalog-meta { margin:0 18px; }
  body.kaizora-theme .kaizora-catalog-action { padding:18px; }
}
@media (prefers-reduced-motion:reduce) {
  body.kaizora-theme .logistics-pulse { animation:none !important; }
}

/* Checkout Blocks can also be inserted in a normal WordPress Page.
   Release the editorial page width in that case, otherwise Woo's two-column
   sidebar layout overflows the 860px article column and gets cut at the edge. */
body.kaizora-theme .editorial-commerce-content {
  width:100%;
  max-width:none;
  margin-inline:0;
}
body.kaizora-theme .editorial-commerce-content .entry-content,
body.kaizora-theme .editorial-commerce-content .wp-block-woocommerce-checkout,
body.kaizora-theme .editorial-commerce-content .wp-block-woocommerce-cart,
body.kaizora-theme .editorial-commerce-content .wc-block-checkout,
body.kaizora-theme .editorial-commerce-content .wc-block-cart {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
body.kaizora-theme .editorial-commerce-content .wc-block-components-sidebar-layout {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,340px) !important;
  align-items:start;
  gap:clamp(20px,3vw,40px) !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
}
body.kaizora-theme .editorial-commerce-content .wc-block-components-main,
body.kaizora-theme .editorial-commerce-content .wc-block-components-sidebar,
body.kaizora-theme .editorial-commerce-content .wc-block-checkout__main,
body.kaizora-theme .editorial-commerce-content .wc-block-checkout__sidebar {
  width:auto !important;
  min-width:0 !important;
  max-width:100% !important;
  margin:0 !important;
}
body.kaizora-theme .editorial-commerce-content .wc-block-components-main { padding-right:0 !important; }
body.kaizora-theme .editorial-commerce-content .wc-block-components-sidebar { overflow:hidden; }
body.kaizora-theme .editorial-commerce-content .kaizora-checkout-intro,
body.kaizora-theme .editorial-commerce-content .kaizora-logistics {
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
body.kaizora-theme .editorial-commerce-content .wc-block-components-sidebar .wc-block-components-totals-wrapper,
body.kaizora-theme .editorial-commerce-content .wc-block-components-sidebar .wc-block-components-panel,
body.kaizora-theme .editorial-commerce-content .wc-block-components-sidebar .wc-block-components-order-summary {
  max-width:100% !important;
  min-width:0 !important;
}
@media (max-width:920px) {
  body.kaizora-theme .editorial-commerce-content .wc-block-components-sidebar-layout {
    grid-template-columns:1fr !important;
  }
  body.kaizora-theme .editorial-commerce-content .wc-block-components-sidebar { order:2; }
}
