`/* =========================
   CZT PDP - Custom Template
   ========================= */

.czt-pdp{
  max-width: 1180px;
  margin: 0 auto;
  padding: 18px 16px 42px;
}

.czt-pdp__grid{
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 22px;
  align-items: start;
}

/* Gallery wrapper */
.czt-pdp__gallery{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 12px;
  box-shadow: 0 8px 22px rgba(0,0,0,.06);
}

/* Force Woo gallery to fit inside */
.czt-pdp__gallery .woocommerce-product-gallery{
  margin: 0 !important;
}

.czt-pdp__gallery img{
  border-radius: 12px;
}

/* Summary */
.czt-pdp__summary{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 8px 22px rgba(0,0,0,.06);
  position: sticky;
  top: 14px;
}

.czt-pdp__sku{
  font-size: 12px;
  opacity: .75;
  margin-bottom: 6px;
}

.czt-pdp__title{
  margin: 0 0 10px;
  font-size: clamp(28px, 3.2vw, 44px);
  line-height: 1.06;
  letter-spacing: -0.6px;
}

.czt-pdp__trust{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0 6px;
}

.czt-chip{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(11,79,146,.08);
  border: 1px solid rgba(11,79,146,.18);
  font-size: 13px;
  font-weight: 700;
  color: #0b4f92;
}

.czt-chip--google{
  background: rgba(0,0,0,.06);
  border-color: rgba(0,0,0,.10);
  color: #111;
}

.czt-dot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #ffd100;
  border: 1px solid rgba(0,0,0,.35);
}

.czt-chip-txt{ line-height: 1; }

/* Price box */
.czt-pdp__pricebox{
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(0,0,0,.08);
}

.czt-pdp__pricebox .price{
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 0 0 6px !important;
}

.czt-pdp__pricebox .price ins,
.czt-pdp__pricebox .price > span{
  font-size: 26px;
  font-weight: 900;
}

.czt-pdp__pricebox .price del{
  opacity: .55;
  font-size: 16px;
}

/* Financing line (updated) */
.finance-line{
  font-size: 13px;
  color: rgba(17,17,17,.72);
  display:flex;
  gap: 8px;
  align-items:center;
  margin: 6px 0 0;
}
.finance-line .pay{
  color: rgba(17,17,17,.92);
  font-weight: 800;
}
.finance-line .sep{opacity: .6;}
.finance-line .later{color: rgba(17,17,17,.72);}
.finance-line--pdp{
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(255,209,0,.18);
  border: 1px solid rgba(0,0,0,.10);
}

/* Short description */
.czt-pdp__shortdesc{
  margin-top: 12px;
  color: rgba(0,0,0,.78);
  line-height: 1.6;
}

/* Cart area */
.czt-pdp__cart{
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(0,0,0,.08);
}

.czt-pdp__cart .variations select,
.czt-pdp__cart .quantity .qty{
  height: 44px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(0,0,0,.18) !important;
}

/* Main buttons (including login-to-see-price plugin) */
.czt-pdp__summary a.button,
.czt-pdp__summary .button,
.czt-pdp__summary button,
.czt-pdp__summary input[type="submit"]{
  border-radius: 14px !important;
  font-weight: 900 !important;
  border: 2px solid #111 !important;
  background: #ffd100 !important;
  color: #111 !important;
  box-shadow: 0 12px 20px rgba(0,0,0,.12);
  padding: 12px 16px !important;
}

.czt-pdp__summary a.button:hover,
.czt-pdp__summary .button:hover{
  transform: translateY(-1px);
}

.czt-pdp__meta{
  margin-top: 12px;
  font-size: 13px;
  opacity: .85;
}

/* Tabs section */
.czt-pdp__tabs{
  margin-top: 22px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 8px 22px rgba(0,0,0,.06);
}

.czt-pdp__tabs .woocommerce-tabs ul.tabs{
  border-bottom: 1px solid rgba(0,0,0,.08) !important;
}

.czt-pdp__tabs .woocommerce-tabs ul.tabs li{
  background: transparent !important;
  border: 0 !important;
}

.czt-pdp__tabs .woocommerce-tabs ul.tabs li a{
  font-weight: 900 !important;
  opacity: .75;
}

.czt-pdp__tabs .woocommerce-tabs ul.tabs li.active a{
  opacity: 1;
  border-bottom: 3px solid #0b4f92;
}

/* Related */
.czt-pdp__related{
  margin-top: 22px;
}

.czt-pdp__related > h2,
.czt-pdp__related .related > h2{
  font-size: 34px;
  letter-spacing: -0.4px;
  margin: 0 0 12px;
}

/* Make related grid modern */
.czt-pdp__related ul.products{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.czt-pdp__related ul.products li.product{
  margin: 0 !important;
  padding: 12px !important;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  box-shadow: 0 8px 22px rgba(0,0,0,.06);
}

.czt-pdp__related ul.products li.product a img{
  border-radius: 14px;
}

.czt-pdp__related .woocommerce-loop-product__title{
  font-size: 15px !important;
  line-height: 1.25 !important;
  margin: 10px 0 8px !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 38px;
}

.czt-pdp__related a.button{
  width: 100%;
  border-radius: 14px !important;
}

/* Responsive */
@media (max-width: 980px){
  .czt-pdp__grid{
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .czt-pdp__summary{
    position: relative;
    top: auto;
  }
  .czt-pdp__related ul.products{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px){
  .czt-pdp{
    padding: 14px 12px 34px;
  }
  .czt-pdp__related ul.products{
    grid-template-columns: 1fr;
  }
}


:root{
  --czt-blue:#0B4F92;
  --czt-yellow:#FFD100;
  --czt-black:#111;
  --czt-border:#E9EDF2;
  --czt-radius:16px;
  --czt-shadow:0 8px 24px rgba(0,0,0,.08);
}

.czt-pdp{ background:#fff; color:var(--czt-black); }
.czt-pdp__section{ margin:24px 0; }
.czt-pdp__h2{ font-size:18px; line-height:1.2; margin:0 0 12px; }

.czt-card{
  border:1px solid var(--czt-border);
  border-radius:var(--czt-radius);
  box-shadow:var(--czt-shadow);
  background:#fff;
}

.czt-btn{
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:12px;
  padding:12px 16px;
  font-weight:600;
  text-decoration:none;
}
.czt-btn--primary{ background:var(--czt-blue); color:#fff; border:1px solid var(--czt-blue); }
.czt-btn--ghost{ background:#fff; color:var(--czt-blue); border:1px solid var(--czt-border); }

.czt-acc__btn{
  width:100%;
  text-align:left;
  display:flex; align-items:center; justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border:1px solid var(--czt-border);
  border-radius:14px;
  background:#fff;
  font-weight:700;
}
.czt-acc__panel{ padding:12px 16px; }
.czt-acc__item + .czt-acc__item{ margin-top:10px; }

.czt-specs__table{ width:100%; border-collapse:separate; border-spacing:0; }
.czt-specs__th,.czt-specs__td{ padding:12px 10px; border-bottom:1px solid var(--czt-border); vertical-align:top; }
.czt-specs__th{ width:42%; font-weight:700; }

.czt-mbar{
  position:fixed; left:0; right:0; bottom:0;
  z-index:9999;
  background:#fff;
  border-top:1px solid var(--czt-border);
  box-shadow:0 -10px 30px rgba(0,0,0,.08);
  padding:10px 12px;
  display:none;
}
.czt-mbar__inner{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.czt-mbar__price .price{ font-weight:800; }
.czt-mbar__btn{ width:100%; }
@media (max-width: 768px){
  .czt-mbar{ display:block; }
  body{ padding-bottom:72px; } /* keep content above sticky bar */
}


/* Hide the first heading in each accordion panel to avoid duplicate titles */
.czt-acc__content > h2:first-child,
.czt-acc__content > h3:first-child {
  display: none;
}


/* 1) Remove duplicate headings printed by Woo tab callbacks inside accordion panels */
.czt-acc__content > h2:first-child,
.czt-acc__content > h3:first-child,
.czt-acc__content > header:first-child,
.czt-acc__content > .woocommerce-Tabs-panel > h2:first-child {
  display: none !important;
}

/* If some themes wrap title inside .woocommerce-Tabs-panel */
.czt-acc__content .woocommerce-Tabs-panel > h2:first-child {
  display: none !important;
}


/* Highlights */
.czt-pdp__highlights .czt-hi{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
}
.czt-hi__item{
  border:1px solid var(--czt-border, #E9EDF2);
  border-radius:14px;
  padding:12px 14px;
  background:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}

/* ✅ Remove thumbnail numbering + reset list spacing */
.czt-pdp__gallery ol,
.czt-pdp__gallery ul{
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.czt-pdp__gallery li{
  margin: 0 !important;
  padding: 0 !important;
}


/* ✅ Make thumbs look modern */
.czt-pdp__gallery .flex-control-thumbs{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px !important;
}

.czt-pdp__gallery .flex-control-thumbs img{
  border-radius: 12px !important;
}


/* ✅ Force accordion buttons to NOT inherit theme button styles */
.czt-pdp .czt-acc__btn{
  background: #fff !important;
  color: #111 !important;
  border: 1px solid var(--czt-border) !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.06) !important;
  border-radius: 14px !important;
  font-weight: 800 !important;
}

.czt-pdp .czt-acc__btn:hover{
  border-color: rgba(11,79,146,.35) !important;
}


/* ✅ Disabled ATC button for variations */
.czt-pdp__cart .single_add_to_cart_button.disabled,
.czt-pdp__cart .single_add_to_cart_button:disabled{
  opacity: .55 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}


/* ======================================
   PDP: Sale badge fix (keep inside gallery)
   ====================================== */

/* Make sure the gallery wrapper is a positioning context */
.czt-pdp__gallery,
.czt-pdp__gallery .woocommerce-product-gallery,
.czt-pdp__gallery .woocommerce-product-gallery__wrapper{
  position: relative !important;
}

/* Force the badge to sit on top of the main image area */
.czt-pdp__gallery span.onsale{
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 20 !important;
  margin: 0 !important;
}


/* Brand styling for sale badge */
.czt-pdp__gallery span.onsale{
  background: var(--czt-yellow) !important;
  color: var(--czt-black) !important;
  border: 2px solid var(--czt-black) !important;
  border-radius: 10px !important;
  font-weight: 900 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  padding: 8px 10px !important;
  box-shadow: 0 10px 18px rgba(0,0,0,.12) !important;
}


/* ================================
   PDP Title (H1)
================================ */

.czt-pdp__title{
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
}

/* Desktop fine-tune */
@media (min-width: 1200px){
  .czt-pdp__title{
    font-size: 40px !important;
  }
}

/* Tablet */
@media (max-width: 1024px){
  .czt-pdp__title{
    font-size: 34px !important;
  }
}

/* Mobile */
@media (max-width: 640px){
  .czt-pdp__title{
    font-size: 28px !important;
  }
}

.czt-pdp__header{
  max-width: 640px;
}



/* ======================================
   PDP: Add to cart row layout (simple products)
   ====================================== */

/* Make the cart form a row */
.czt-pdp__cart form.cart{
  display: flex;
  align-items: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}

/* Quantity box: fixed width */
.czt-pdp__cart form.cart .quantity{
  flex: 0 0 88px;
}

/* Make qty input full width inside */
.czt-pdp__cart form.cart .quantity .qty{
  width: 100% !important;
}

/* Button: take remaining space */
.czt-pdp__cart form.cart .single_add_to_cart_button{
  flex: 1 1 auto;
  min-width: 180px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Mobile: stack clean */
@media (max-width: 520px){
  .czt-pdp__cart form.cart{
    flex-direction: column;
    align-items: stretch;
  }
  .czt-pdp__cart form.cart .quantity{
    flex: 1 1 auto;
    width: 100%;
  }
  .czt-pdp__cart form.cart .single_add_to_cart_button{
    width: 100%;
  }
}

/* Variable products: row layout for qty + button */
.czt-pdp__cart form.variations_form .woocommerce-variation-add-to-cart{
  display: flex;
  align-items: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}

.czt-pdp__cart form.variations_form .woocommerce-variation-add-to-cart .quantity{
  flex: 0 0 88px;
}

.czt-pdp__cart form.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button{
  flex: 1 1 auto;
  min-width: 180px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 520px){
  .czt-pdp__cart form.variations_form .woocommerce-variation-add-to-cart{
    flex-direction: column;
    align-items: stretch;
  }
  .czt-pdp__cart form.variations_form .woocommerce-variation-add-to-cart .quantity,
  .czt-pdp__cart form.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button{
    width: 100%;
  }
}
/* ======================================
   PDP: Variation "Clear" link styling
   ====================================== */

/* Layout: keep select + clear aligned */
.czt-pdp__cart form.variations_form .variations td.value{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

/* Style the "Clear" link like a small chip button */
.czt-pdp__cart a.reset_variations{
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 8px 10px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(0,0,0,.18) !important;
  background: #fff !important;
  color: var(--czt-blue) !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 6px 16px rgba(0,0,0,.06);
}

.czt-pdp__cart a.reset_variations:hover{
  background: rgba(11,79,146,.08) !important;
  border-color: rgba(11,79,146,.22) !important;
  transform: translateY(-1px);
}

/* Optional: make it say "Clear selection" (visual only) */
.czt-pdp__cart a.reset_variations{
  position: relative;
  font-size: 0 !important;  /* hide old text */
}
.czt-pdp__cart a.reset_variations::after{
  content: "Clear selection";
  font-size: 13px;
  font-weight: 800;
  color: var(--czt-blue);
}

.czt-pdp__cart form.variations_form .variations select{
  height: 42px !important;
}

/* ======================================
   PDP: Shipping / Returns trust cards
   ====================================== */

.czt-ship{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 14px 0 16px;
}

.czt-ship__card{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid var(--czt-border, #E9EDF2);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
}

.czt-ship__icon{
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(11,79,146,.08);
  border: 1px solid rgba(11,79,146,.18);
  font-size: 16px;
}

.czt-ship__txt{
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.czt-ship__ttl{
  font-weight: 700;
  font-size: 14px;
  color: #1a1a1a;
  letter-spacing: 0.2px;
  line-height: 1.25;
}

.czt-ship__sub{
  font-size: 13px;
  color: #6b7280;
  line-height: 1.35;
}

.czt-ship__txt{
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.czt-ship__card{
  border: 1px solid #e6ebf1;
}

@media (max-width: 640px){
  .czt-ship{
    grid-template-columns: 1fr;
  }
}


/* =========================
   CZT PDP - Premium Gallery
   ========================= */

.czt-pdp__gallery{
  position: relative;
}

/* Make Woo gallery behave inside our card */
.czt-pdp__gallery .woocommerce-product-gallery{
  position: relative;
}

/* MAIN IMAGE "STAGE" */
.czt-pdp__gallery .woocommerce-product-gallery__wrapper{
  margin: 0 !important;
  border-radius: 14px;
  overflow: hidden;
  background: #f6f8fb; /* premium light stage */
  border: 1px solid #e6ebf1;
}

/* Center the main image and avoid weird cropping */
.czt-pdp__gallery .woocommerce-product-gallery__image{
  display:flex;
  align-items:center;
  justify-content:center;
}

.czt-pdp__gallery .woocommerce-product-gallery__image img{
  width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 0; /* stage handles rounding */
}

/* SALE BADGE - premium + fixed inside image */
.czt-pdp__gallery span.onsale{
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 20;
  background: var(--czt-yellow, #FFD100) !important;
  color: #111 !important;
  border: 2px solid #111 !important;
  border-radius: 999px !important;
  padding: 6px 10px !important;
  font-weight: 800 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  box-shadow: 0 10px 18px rgba(0,0,0,.10);
}

/* ZOOM ICON - make it look clean */
.czt-pdp__gallery .woocommerce-product-gallery__trigger{
  top: 12px !important;
  right: 12px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.9) !important;
  border: 1px solid #e6ebf1 !important;
  box-shadow: 0 10px 18px rgba(0,0,0,.10);
}

/* If you want to completely remove zoom icon, uncomment */
/*
.czt-pdp__gallery .woocommerce-product-gallery__trigger{
  display:none !important;
}
*/

/* THUMBNAILS GRID */
.czt-pdp__gallery ol.flex-control-thumbs{
  margin: 14px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;

  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.czt-pdp__gallery ol.flex-control-thumbs li{
  margin: 0 !important;
  width: auto !important;
}

/* thumbnail card style */
.czt-pdp__gallery ol.flex-control-thumbs li img{
  width: 100% !important;
  height: 78px !important;        /* uniform size */
  object-fit: cover !important;
  border-radius: 12px !important;
  background: #f6f8fb !important;
  border: 1px solid #e6ebf1 !important;
  padding: 3px !important;

  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.czt-pdp__gallery ol.flex-control-thumbs li img:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 18px rgba(0,0,0,.10);
  border-color: rgba(11,79,146,.35);
}

/* Active thumbnail highlight */
.czt-pdp__gallery ol.flex-control-thumbs li img.flex-active{
  border-color: var(--czt-blue, #0B4F92) !important;
  box-shadow: 0 10px 18px rgba(11,79,146,.18);
}

/* Responsive thumbnails */
@media (max-width: 980px){
  .czt-pdp__gallery ol.flex-control-thumbs{
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  .czt-pdp__gallery ol.flex-control-thumbs li img{
    height: 68px !important;
  }
}

@media (max-width: 520px){
  .czt-pdp__gallery ol.flex-control-thumbs{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .czt-pdp__gallery ol.flex-control-thumbs li img{
    height: 64px !important;
  }
}

/* =========================
   FIX: Woo Gallery height break (Flexslider)
   ========================= */

/* Undo the flex that breaks slider height */
.czt-pdp__gallery .woocommerce-product-gallery__image{
  display: block !important;
}

/* Center image without flex (safe for Flexslider) */
.czt-pdp__gallery .woocommerce-product-gallery__image a{
  display: block;
  text-align: center;
}

.czt-pdp__gallery .woocommerce-product-gallery__image img{
  display: inline-block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 560px;          /* prevents huge tall stage */
  object-fit: contain !important;
}

/* Force viewport to behave */
.czt-pdp__gallery .woocommerce-product-gallery .flex-viewport{
  height: auto !important;
}

/* Keep the stage but don’t let it stretch weird */
.czt-pdp__gallery .woocommerce-product-gallery__wrapper{
  background: #f6f8fb;
  border: 1px solid #e6ebf1;
  border-radius: 14px;
  overflow: hidden;
}

.czt-pdp__gallery .woocommerce-product-gallery{
  max-width: 100%;
}

/* =========================
   HARD FIX: Gallery oversize + right column hidden
   ========================= */

/* 0) Grid items MUST be allowed to shrink, otherwise left side can push right side away */
.czt-pdp__grid > *{
  min-width: 0 !important;      /* this is the key */
}

/* 1) Ensure gallery never overflows its column */
.czt-pdp__gallery{
  overflow: hidden !important;
  max-width: 100% !important;
}

/* 2) Force Woo gallery container to behave inside grid */
.czt-pdp__gallery .woocommerce-product-gallery{
  width: 100% !important;
  max-width: 100% !important;
}

/* 3) Cap the STAGE height (this prevents the massive grey block) */
.czt-pdp__gallery .woocommerce-product-gallery__wrapper,
.czt-pdp__gallery .flex-viewport{
  max-height: 560px !important;   /* adjust 520–620 if you want */
  height: auto !important;
  overflow: hidden !important;
  border-radius: 14px;
}

/* 4) Make each slide safe for Flexslider (NO flex here) */
.czt-pdp__gallery .woocommerce-product-gallery__image{
  display: block !important;
}

/* 5) Image sizing: contain, centered, never stretch page */
.czt-pdp__gallery .woocommerce-product-gallery__image img{
  width: 100% !important;
  max-width: 100% !important;
  height: 560px !important;      /* same as stage cap */
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
}

/* 6) If Woo adds inline width styles to flexslider, neutralize overflow */
.czt-pdp__gallery .flexslider,
.czt-pdp__gallery .flexslider .slides,
.czt-pdp__gallery .flexslider .slides > li{
  max-width: 100% !important;
  overflow: hidden !important;
}

/* 7) OPTIONAL: Reduce title size so it doesn't feel too heavy */
.czt-pdp__title{
  font-size: clamp(22px, 2.2vw, 34px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.3px !important;
}


/* ===== Premium Thumbnails ===== */
.czt-pdp__gallery{
  --thumbH: 74px;
  --thumbGap: 12px;
}

/* Thumbnail area */
.czt-pdp__gallery .flex-control-nav.flex-control-thumbs{
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: var(--thumbGap) !important;
  margin-top: 14px !important;
  padding: 0 !important;
}

/* Each thumb */
.czt-pdp__gallery .flex-control-nav.flex-control-thumbs li{
  margin: 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  border: 1px solid #e9eef5 !important;
  background: #fff !important;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

/* Thumb images */
.czt-pdp__gallery .flex-control-nav.flex-control-thumbs img{
  width: 100% !important;
  height: var(--thumbH) !important;
  object-fit: cover !important;
  display: block !important;
  opacity: 1 !important;
}

/* Hover */
.czt-pdp__gallery .flex-control-nav.flex-control-thumbs li:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(20,40,70,.10);
  border-color: #cfe0ff;
}

/* Active thumb (Flexslider adds .flex-active on img sometimes) */
.czt-pdp__gallery .flex-control-nav.flex-control-thumbs img.flex-active{
  outline: 3px solid #FFD100;   /* your yellow */
  outline-offset: -3px;
  border-radius: 12px;
}

/* Make main image feel clickable */
.czt-pdp__gallery .woocommerce-product-gallery__image img{
  cursor: zoom-in !important;
}


/* ===== Sale badge premium ===== */
.czt-pdp__gallery .onsale{
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  background: #FFD100 !important;
  color: #111 !important;
  border: 2px solid #111 !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.10);
  z-index: 5 !important;
}


/* =========================================
   PREMIUM: Section headings (Highlights/Specs/etc.)
   (Use your existing .czt-pdp__h2)
========================================= */
.czt-pdp__h2{
  font-size: clamp(26px, 2.2vw, 38px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 14px !important;
  font-weight: 900 !important;
}

/* Give each section a cleaner rhythm */
.czt-pdp__section{
  margin: 28px 0 !important;
}

/* =========================================
   PREMIUM: Highlights
   (Keep your <ul class="czt-hi"><li class="czt-hi__item">...)
========================================= */
.czt-pdp__highlights .czt-hi{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: 12px !important;
}

.czt-pdp__highlights .czt-hi__item{
  position: relative;
  padding: 14px 14px 14px 44px !important;
  border-radius: 16px !important;
  border: 1px solid #e9eef6 !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  box-shadow: 0 10px 22px rgba(10,30,60,.06) !important;

  font-size: 14.5px !important;
  font-weight: 700 !important;
  color: #101828 !important;
  line-height: 1.35 !important;
}

/* check icon */
.czt-pdp__highlights .czt-hi__item::before{
  content: "✓";
  position: absolute;
  left: 14px;
  top: 14px;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--czt-yellow);
  color: #111;
  font-weight: 900;
  border: 1px solid rgba(0,0,0,.20);
  box-shadow: 0 8px 16px rgba(255,209,0,.25);
}

.czt-pdp__highlights .czt-hi__item:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(10,30,60,.10) !important;
  border-color: rgba(11,79,146,.25) !important;
}

/* mobile */
@media (max-width: 860px){
  .czt-pdp__highlights .czt-hi{
    grid-template-columns: 1fr !important;
  }
}

/* =========================================
   PREMIUM: Technical specs table
========================================= */
.czt-pdp__specs .czt-specs{
  border-radius: 16px !important;
  overflow: hidden !important;
}

.czt-pdp__specs .czt-specs__table{
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

/* row treatment */
.czt-pdp__specs .czt-specs__row{
  background: #fff;
}

.czt-pdp__specs .czt-specs__row:nth-child(odd){
  background: #fbfdff;
}

.czt-pdp__specs .czt-specs__th,
.czt-pdp__specs .czt-specs__td{
  padding: 14px 16px !important;
  border-bottom: 1px solid #edf2f8 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}

.czt-pdp__specs .czt-specs__th{
  width: 38% !important;
  color: #0B4F92 !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em;
}

.czt-pdp__specs .czt-specs__td{
  color: #101828 !important;
  font-weight: 650 !important;
}

/* remove last border */
.czt-pdp__specs .czt-specs__row:last-child .czt-specs__th,
.czt-pdp__specs .czt-specs__row:last-child .czt-specs__td{
  border-bottom: 0 !important;
}

/* mobile specs */
@media (max-width: 640px){
  .czt-pdp__specs .czt-specs__th{
    width: 46% !important;
  }
}

/* =========================================
   FIX: Shipping/Returns title weight (too bold)
========================================= */
.czt-ship__ttl{
  font-weight: 650 !important;   /* was 700 */
  letter-spacing: -0.01em !important;
  color: #111 !important;
}

/* Make subtitle slightly clearer */
.czt-ship__sub{
  color: rgba(17,17,17,.62) !important;
}


/* =========================================
   FIX: Woo tab panels inside our accordion
   Woo hides .wc-tab / .woocommerce-Tabs-panel by default (display:none)
   We must force them visible inside accordion content
========================================= */

.czt-acc__content .woocommerce-Tabs-panel,
.czt-acc__content .wc-tab,
.czt-acc__content .woocommerce-tabs .panel{
  display: block !important;
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Remove weird spacing if Woo adds margins */
.czt-acc__content .woocommerce-Tabs-panel{
  margin: 0 !important;
  padding: 0 !important;
}

/* If theme hides review form or comments in tab panels */
.czt-acc__content #reviews,
.czt-acc__content .woocommerce-Reviews{
  display: block !important;
}


/* Woo tab content is hidden by default - force visible inside our accordion */
.czt-acc__content .woocommerce-Tabs-panel,
.czt-acc__content .wc-tab,
.czt-acc__content .woocommerce-tabs .panel{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  height:auto !important;
}


/* =========================
   Related Products - Premium
   ========================= */

.czt-pdp__related{
  margin-top: 26px;
}

/* heading */
.czt-pdp__related > h2,
.czt-pdp__related .related > h2{
  font-size: 28px !important;
  letter-spacing: -0.3px;
  margin: 0 0 14px !important;
}

/* Grid: a bit tighter + premium spacing */
.czt-pdp__related ul.products{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Card */
.czt-pdp__related ul.products li.product{
  position: relative;
  overflow: hidden;
  padding: 14px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  background: #fff !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.08) !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

/* hover */
.czt-pdp__related ul.products li.product:hover{
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(0,0,0,.12) !important;
  border-color: rgba(11,79,146,.22) !important;
}

/* Image stage (clean background, consistent crop) */
.czt-pdp__related ul.products li.product a img{
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  border-radius: 16px !important;
  background: #f6f8fb !important;
  border: 1px solid #e6ebf1 !important;
  padding: 6px !important;
}

/* Title */
.czt-pdp__related .woocommerce-loop-product__title{
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  margin: 12px 0 8px !important;
  letter-spacing: -0.2px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 36px;
}

/* Price area */
.czt-pdp__related .price{
  margin: 0 0 10px !important;
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.czt-pdp__related .price ins,
.czt-pdp__related .price > span{
  font-weight: 900;
  font-size: 16px;
  color: #111;
}

.czt-pdp__related .price del{
  opacity: .55;
  font-size: 13px;
}

/* Sale badge: make it premium and consistent */
.czt-pdp__related span.onsale{
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  left: auto !important;
  background: var(--czt-blue, #0B4F92) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  font-size: 12px !important;
  padding: 6px 10px !important;
  line-height: 1 !important;
  box-shadow: 0 10px 20px rgba(0,0,0,.12) !important;
}

/* Add to cart button (if it shows) */
.czt-pdp__related a.button{
  width: 100%;
  border-radius: 14px !important;
  font-weight: 900 !important;
  border: 2px solid #111 !important;
  background: var(--czt-yellow, #FFD100) !important;
  color: #111 !important;
  padding: 10px 14px !important;
  box-shadow: 0 12px 20px rgba(0,0,0,.10) !important;
}

/* Responsive */
@media (max-width: 980px){
  .czt-pdp__related ul.products{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .czt-pdp__related ul.products li.product a img{
    height: 210px !important;
  }
}
@media (max-width: 520px){
  .czt-pdp__related ul.products{
    grid-template-columns: 1fr;
  }
  .czt-pdp__related ul.products li.product a img{
    height: 240px !important;
  }
}
