/* ==========================================================================
   Kaizer Leather — Single Product Page
   Enqueued only on is_product() by kaizer-product-fields.php
   ========================================================================== */

:root{
  --kz-cream:#FFFFFF;
  --kz-paper:#FFFFFF;
  --kz-ink:#231A12;
  --kz-saddle:#C3935B;
  --kz-saddle-dark:#A97840;
  --kz-crimson:#B40800;
  --kz-crimson-dark:#8F0600;
  --kz-stone:#8A8272;
  --kz-stone-light:#ECE2D4;
  --kz-radius-s:6px;
  --kz-radius-m:14px;
  --kz-maxw:1240px;
}

.kz-visually-hidden{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* ---------- Breadcrumb ---------- */
.kz-breadcrumb-bar{ max-width:var(--kz-maxw); margin:0 auto; padding:18px 20px 8px; }
.kz-breadcrumb{
  list-style:none; display:flex; flex-wrap:nowrap; align-items:center; overflow-x:auto;
  gap:0; margin:0; padding:0; font-size:13px; color:var(--kz-stone);
  scrollbar-width:none; -ms-overflow-style:none;
}
.kz-breadcrumb::-webkit-scrollbar{ display:none; }
.kz-breadcrumb li{
  display:inline-block; vertical-align:middle; flex:0 0 auto;
  max-width:200px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.kz-breadcrumb li:not(:first-child)::before{
  content:"›"; display:inline-block; margin:0 8px; color:var(--kz-stone); opacity:0.6;
}
.kz-breadcrumb a{ text-decoration:none; color:var(--kz-stone); transition:color .15s ease; }
.kz-breadcrumb a:hover{ color:var(--kz-saddle-dark); text-decoration:underline; }
.kz-breadcrumb li:last-child{ color:var(--kz-ink); font-weight:600; max-width:260px; }
@media (max-width:600px){
  .kz-breadcrumb li{ max-width:120px; }
  .kz-breadcrumb li:last-child{ max-width:160px; }
}

/* ---------- Layout ---------- */
.kz-product-wrap{
  max-width:var(--kz-maxw); margin:0 auto; padding:24px 20px 48px;
  display:grid; grid-template-columns:1fr; gap:36px;
}
.kz-gallery, .kz-info{ min-width:0; }
@media (min-width:960px){
  .kz-product-wrap{
    grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);
    gap:56px; padding-top:32px;
  }
  .kz-gallery{ position:sticky; top:24px; align-self:start; }
}

/* WooCommerce's native gallery wrapper */
.kz-gallery .woocommerce-product-gallery{ background:var(--kz-paper); border-radius:var(--kz-radius-m); overflow:hidden; }
.kz-gallery .woocommerce-product-gallery img{ display:block; width:100%; max-width:100%; height:auto; }
.kz-gallery .flex-control-thumbs{ gap:10px; margin-top:14px; display:flex; flex-wrap:wrap; }
.kz-gallery .flex-control-thumbs li img{ border-radius:var(--kz-radius-s); border:2px solid transparent; max-width:100%; height:auto; }
.kz-gallery .flex-control-thumbs li img.flex-active{ border-color:var(--kz-saddle); }

/* ---------- Info column ---------- */
.kz-info .product_title{ font-size:clamp(26px,4vw,34px); font-weight:500; line-height:1.15; margin:0 0 10px; }
.kz-price-row{ margin-bottom:18px; font-size:22px; font-weight:500; color:var(--kz-ink); }
.kz-price-row del{ color:var(--kz-stone); font-size:14px; margin-right:8px; }
.kz-price-row ins{ text-decoration:none; }
.kz-desc{ color:#4B4038; margin-bottom:22px; max-width:56ch; }
.kz-microcopy{ font-size:12.5px; color:var(--kz-stone); margin-bottom:22px; }

/* ---------- Add to cart form (WooCommerce native markup) ---------- */
.kz-add-to-cart-wrap .variations{ width:100%; border-collapse:collapse; margin-bottom:16px; }
.kz-add-to-cart-wrap .variations td{ padding:0; display:block; }
.kz-add-to-cart-wrap .variations tr{ display:block; margin-bottom:16px; }
.kz-add-to-cart-wrap .variations label{
  font-size:12.5px; text-transform:uppercase; letter-spacing:0.06em; color:var(--kz-stone);
  margin-bottom:10px; display:block;
}
.kz-add-to-cart-wrap .reset_variations{ font-size:12px; color:var(--kz-stone); text-decoration:underline; margin-left:10px; }

.kz-add-to-cart-wrap .quantity{ display:inline-block; margin-right:12px; }
.kz-add-to-cart-wrap .quantity .qty{
  width:70px; height:48px; border:1px solid var(--kz-stone-light); border-radius:var(--kz-radius-s);
  text-align:center; font-size:15px; color:var(--kz-ink); background:var(--kz-paper);
}
.kz-add-to-cart-wrap .single_add_to_cart_button{
  height:48px; padding:0 28px; border-radius:0; border:none; cursor:pointer;
  background:var(--kz-crimson); color:#fff; font-weight:600; font-size:14.5px; letter-spacing:0.02em;
}
.kz-add-to-cart-wrap .single_add_to_cart_button:hover{ background:var(--kz-crimson-dark); }
.kz-add-to-cart-wrap .single_add_to_cart_button.disabled{ background:var(--kz-stone-light); color:var(--kz-stone); cursor:not-allowed; }

.kz-add-to-cart-wrap .woocommerce-variation-price{ margin-bottom:12px; font-weight:500; }
.kz-add-to-cart-wrap .woocommerce-variation-availability{ margin-bottom:12px; font-size:13px; }

/* ---------- Image swatches (replaces the dropdown) ---------- */
.kz-swatch-native-select{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.kz-swatch-row{ display:flex; flex-wrap:wrap; gap:10px; }
.kz-swatch{
  width:56px; height:56px; border-radius:var(--kz-radius-s); background:var(--kz-paper);
  cursor:pointer; padding:5px; border:2px dashed var(--kz-stone-light);
  transition:border-color .15s ease, box-shadow .15s ease;
}
.kz-swatch:hover{ border-color:var(--kz-stone); }
.kz-swatch[aria-pressed="true"]{
  border-style:solid; border-color:var(--kz-saddle);
  box-shadow:0 0 0 3px rgba(195,147,91,0.22);
}
.kz-swatch img{ width:100%; height:100%; object-fit:cover; border-radius:3px; }
.kz-swatch-fallback{
  display:flex; align-items:center; justify-content:center; width:100%; height:100%;
  font-family:serif; font-weight:600; color:var(--kz-stone);
}

/* ---------- Accordion ---------- */
.kz-accordion{ border-top:1px solid var(--kz-stone-light); }
.kz-accordion-item{ border-bottom:1px solid var(--kz-stone-light); }
.kz-accordion-trigger{
  width:100%; background:none; border:none; padding:16px 2px;
  display:flex; align-items:center; justify-content:space-between;
  cursor:pointer; font-size:14.5px; font-weight:600; color:var(--kz-ink); text-align:left;
}
.kz-accordion-trigger .plus{ transition:transform .2s ease; font-size:18px; color:var(--kz-saddle); }
.kz-accordion-trigger[aria-expanded="true"] .plus{ transform:rotate(45deg); }
.kz-accordion-panel{ max-height:0; overflow:hidden; transition:max-height .25s ease; font-size:13.5px; color:#4B4038; }
.kz-accordion-panel-inner{ padding:0 2px 16px; }

/* ---------- Photo + Video ---------- */
.kz-media-story{ max-width:var(--kz-maxw); margin:0 auto; padding:8px 20px; display:grid; grid-template-columns:1fr; gap:16px; }
.kz-media-story.kz-media-split{ }
@media (min-width:760px){
  .kz-media-story.kz-media-split{ grid-template-columns:1fr 1fr; }
}
.kz-media-block{ position:relative; border-radius:var(--kz-radius-m); overflow:hidden; aspect-ratio:4/3; background:var(--kz-stone-light); min-width:0; }
.kz-media-block img, .kz-media-block video{ width:100%; height:100%; max-width:100%; object-fit:cover; display:block; }
.kz-video-embed{ position:relative; width:100%; height:100%; max-width:100%; }
.kz-video-embed iframe{ position:absolute; inset:0; width:100%; height:100%; max-width:100%; border:0; }

/* ---------- Why we made it ---------- */
.kz-story{ max-width:var(--kz-maxw); margin:0 auto; padding:8px 20px 48px; }
.kz-story-panel{
  background:var(--kz-paper); border:1px solid var(--kz-stone-light); border-radius:var(--kz-radius-m);
  padding:32px 24px; display:grid; grid-template-columns:1fr; gap:24px;
}
@media (min-width:960px){
  .kz-story-panel{ grid-template-columns:1.2fr 0.8fr; padding:48px; gap:48px; align-items:center; }
}
.kz-story-eyebrow{ font-size:12px; text-transform:uppercase; letter-spacing:0.08em; color:var(--kz-saddle-dark); font-weight:600; margin-bottom:10px; }
.kz-story-panel h2{ font-size:clamp(22px,3.4vw,30px); font-weight:500; line-height:1.2; margin:0 0 14px; max-width:18ch; }
.kz-story-body p{ color:#4B4038; margin:0 0 14px; max-width:60ch; }
.kz-story-signoff{ margin-top:18px; display:flex; align-items:center; gap:12px; }
.kz-story-signoff-mark{
  width:38px; height:38px; border-radius:50%; background:var(--kz-stone-light);
  display:flex; align-items:center; justify-content:center; font-weight:600; color:var(--kz-saddle-dark); flex:0 0 auto;
}
.kz-story-signoff-text{ font-size:13px; color:var(--kz-stone); line-height:1.3; }
.kz-story-signoff-text strong{ color:var(--kz-ink); display:block; font-size:13.5px; }
.kz-story-quote{ border-left:3px solid var(--kz-saddle); padding:4px 0 4px 20px; }
.kz-story-quote p{ font-style:italic; font-weight:500; font-size:clamp(18px,2.4vw,22px); line-height:1.4; color:var(--kz-ink); margin:0; }
.kz-story-quote cite{ display:block; margin-top:12px; font-style:normal; font-size:12px; color:var(--kz-stone); letter-spacing:0.03em; text-transform:uppercase; }

/* ---------- Related products (same category) ---------- */
.kz-related{ max-width:var(--kz-maxw); margin:0 auto; padding:0 20px 72px; }
.kz-related-head{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:20px; gap:12px; }
.kz-related-head h2{ font-size:clamp(20px,3vw,26px); font-weight:500; margin:0; }
.kz-related-head a{ font-size:13px; color:var(--kz-stone); text-decoration:underline; white-space:nowrap; }
.kz-related-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
@media (min-width:760px){ .kz-related-grid{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:960px){ .kz-related-grid{ grid-template-columns:repeat(4,1fr); } }
.kz-r-card{ text-decoration:none; color:inherit; }
.kz-r-media{ position:relative; width:100%; aspect-ratio:4/5; border-radius:var(--kz-radius-m); overflow:hidden; background:var(--kz-paper); border:1px solid var(--kz-stone-light); }
.kz-r-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.kz-r-name{ margin-top:10px; font-size:14px; font-weight:500; }
.kz-r-price{ font-size:13px; color:var(--kz-stone); margin-top:2px; }

/* ---------- Mobile ---------- */
@media (max-width:759px){
  .kz-product-wrap{ padding-bottom:24px; }
}
