/* ============================================================
   Imprezole — Single Product Page  v3.5.0
   ============================================================ */

/* ── Override child-theme --blue variable page-wide ─────── */
.single-product { --blue: #111827 !important; --blue-b: #1f2937 !important; }

/* ── Kill Storefront sidebar float ───────────────────────── */
.single-product .content-area,
.single-product #primary,
.single-product .widget-area,
.single-product #secondary {
  float: none !important; width: 100% !important;
  margin: 0 !important; padding: 0 !important;
  max-width: 100% !important; box-sizing: border-box !important;
}
.single-product #secondary { display: none !important; }
.single-product .site-content::before,
.single-product .site-content::after { display: none !important; }
.single-product #content.site-content,
.single-product .col-full {
  max-width: 100% !important; width: 100% !important;
  margin: 0 !important; padding: 0 !important;
  box-sizing: border-box !important; float: none !important;
  overflow-x: hidden !important;
}
.single-product #page { background: #f8f8f8 !important; overflow-x: hidden !important; }
.single-product main.site-main {
  max-width: 1360px !important; margin: 0 auto !important;
  padding: 1.5rem 2rem 6rem !important; box-sizing: border-box !important;
  overflow-x: hidden !important;
}
/* All images in product area are responsive */
.single-product img { max-width: 100% !important; height: auto !important; }

/* ── Breadcrumb ──────────────────────────────────────────── */
.imp-single-breadcrumb { margin-bottom: 1.5rem; }
.imp-single-breadcrumb .col-full { max-width:100%!important; margin:0!important; padding:0!important; }
.imp-single-breadcrumb .woocommerce-breadcrumb { font-size:.8rem; color:#94a3b8; }
.imp-single-breadcrumb .woocommerce-breadcrumb a { color:#64748b; text-decoration:none; }

/* ── Product wrapper ─────────────────────────────────────── */
.woocommerce div.product {
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 420px) !important;
  grid-template-rows: auto auto auto !important;
  column-gap: 2.5rem !important;
  align-items: start !important;
  background: transparent !important;
  border: none !important; box-shadow: none !important;
  border-radius: 0 !important; padding: 0 !important;
  margin: 0 !important; width: 100% !important; box-sizing: border-box !important;
}
.woocommerce div.product > * { float: none !important; }
.woocommerce div.product::before,
.woocommerce div.product::after { display: none !important; }

/* ─────────────────────────────────────────────────────────
   GALLERY — col 1
   ───────────────────────────────────────────────────────── */
.woocommerce div.product > .woocommerce-product-gallery,
.woocommerce div.product > div.images {
  grid-column: 1 !important; grid-row: 1 !important;
  width: 100% !important; position: sticky !important;
  top: 5.5rem; align-self: start;
}

/* Gallery container — position:relative for trigger, no custom flex */
.woocommerce-product-gallery {
  position: relative !important;
}

/* Main viewport — let FlexSlider control height, we only style the frame */
.woocommerce-product-gallery .flex-viewport {
  border-radius: .875rem !important;
  border: 1px solid #e8eaed !important;
  background: #fff !important;
  overflow: hidden !important;
  width: 100% !important;
  box-sizing: border-box !important;
  cursor: zoom-in !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.07) !important;
}

/* Slides — natural block stacking, FlexSlider animates them */
.woocommerce-product-gallery .slides li,
.woocommerce-product-gallery .woocommerce-product-gallery__image {
  background: #fff !important;
}

/* Images — full width, natural height, no cropping */
.woocommerce-product-gallery .flex-viewport img,
.woocommerce-product-gallery .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  background: #fff !important;
}

/* Thumbnails — horizontal strip, centered below main image */
.woocommerce-product-gallery .flex-control-nav.flex-control-thumbs {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: .4rem !important;
  list-style: none !important;
  margin: .5rem 0 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.woocommerce-product-gallery .flex-control-thumbs li {
  margin: 0 !important;
  width: 64px !important;
  flex-shrink: 0 !important;
}
.woocommerce-product-gallery .flex-control-thumbs li img {
  width: 64px !important;
  height: 64px !important;
  object-fit: contain !important;
  border-radius: .5rem !important;
  border: 2px solid #e8eaed !important;
  background: #fff !important;
  padding: 4px !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  transition: border-color .15s !important;
  display: block !important;
}
.woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
.woocommerce-product-gallery .flex-control-thumbs li img:hover {
  border-color: #111827 !important;
}

/* Zoom trigger — top-right of viewport */
.woocommerce-product-gallery .woocommerce-product-gallery__trigger {
  position: absolute !important;
  top: 1rem !important; right: 1rem !important;
  z-index: 99 !important;
  background: rgba(255,255,255,.95) !important;
  border-radius: .5rem !important;
  backdrop-filter: blur(4px) !important;
  width: 36px !important; height: 36px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  border: 1px solid #e8eaed !important;
  cursor: pointer !important;
}

/* ─────────────────────────────────────────────────────────
   SUMMARY — col 2
   ───────────────────────────────────────────────────────── */
.woocommerce div.product > div.summary.entry-summary {
  grid-column: 2 !important; grid-row: 1 !important;
  width: 100% !important;
  display: flex !important; flex-direction: row !important; flex-wrap: wrap !important;
  gap: .625rem !important;
  align-items: flex-start !important; align-content: flex-start !important;
  justify-content: flex-start !important;
  align-self: start !important;
  padding: 1.5rem !important;
  background: #fff !important;
  border: 1px solid #e8eaed !important;
  border-radius: 1.25rem !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.04) !important;
  box-sizing: border-box !important;
}
/* Default: full-width for all summary children */
.woocommerce div.product > div.summary.entry-summary > * {
  flex: 0 0 100% !important; min-width: 0 !important; box-sizing: border-box !important;
}

/* Hide ugly auto-generated short description */
.woocommerce div.product .woocommerce-product-details__short-description {
  display: none !important;
}

/* Title — left-aligned */
.woocommerce div.product > div.summary.entry-summary > .product_title {
  order: 1 !important; flex: 0 0 100% !important;
  font-size: 1.45rem !important; font-weight: 700 !important;
  color: #111827 !important; line-height: 1.35 !important;
  margin: 0 !important; font-family: inherit !important;
  text-align: left !important;
}
.single-product .woocommerce .summary .product_title { text-align: left !important; }

/* Rating — left-aligned */
.woocommerce div.product > div.summary.entry-summary > .woocommerce-product-rating {
  order: 2 !important; flex: 0 0 100% !important;
  display: flex !important; align-items: center !important; justify-content: flex-start !important;
  gap: .5rem !important; margin: 0 !important;
}

/* Price — full-width row, left-aligned, prominent */
.woocommerce div.product > div.summary.entry-summary > p.price {
  order: 3 !important; flex: 0 0 100% !important;
  font-size: 2.25rem !important; font-weight: 800 !important;
  color: #111827 !important; line-height: 1 !important;
  margin: .25rem 0 0 !important; display: flex !important;
  align-items: baseline !important; gap: .4rem !important; flex-wrap: wrap !important;
  align-self: auto !important;
  text-align: left !important;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
  font-size: 1rem !important; color: #9ca3af !important;
  font-weight: 400 !important; opacity: 1 !important; text-decoration: line-through !important;
}
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
  text-decoration: none !important; color: #dc2626 !important;
}

/* Stock badge — own row below price, left-aligned */
.woocommerce div.product > div.summary.entry-summary > p.stock {
  order: 4 !important; flex: 0 0 auto !important;
  display: inline-flex !important; align-items: center !important; gap: .35rem !important;
  font-size: .78rem !important; font-weight: 600 !important; letter-spacing: .01em !important;
  padding: .3rem .875rem !important; border-radius: 2rem !important;
  margin: 0 !important; width: auto !important; line-height: 1 !important;
  align-self: flex-start !important;
}
.woocommerce div.product p.stock.in-stock {
  background: #dcfce7 !important; color: #15803d !important;
}
.woocommerce div.product p.stock.out-of-stock {
  background: #fee2e2 !important; color: #dc2626 !important;
}
.woocommerce div.product p.stock.available-on-backorder {
  background: #fff7ed !important; border: 1px solid #fed7aa !important; color: #c2410c !important;
}

/* Points notice — hidden */
.imp-points-notice,
.woocommerce-points-and-rewards-message,
.woocommerce div.product > div.summary.entry-summary > .imp-points-notice,
.woocommerce div.product > div.summary.entry-summary .woocommerce-points-and-rewards-message {
  display: none !important;
}

/* ── Urgency line — left-aligned pill ───────────────────── */
.imp-pd-urgency {
  display: flex !important; align-items: center !important; justify-content: flex-start !important; gap: .4rem !important;
  font-size: .8rem !important; color: #92400e !important; font-weight: 500 !important;
  background: #fffbeb !important; border: 1px solid #fde68a !important;
  border-radius: .5rem !important; padding: .3rem .875rem !important;
  line-height: 1.4 !important; margin: 0 !important;
}
.imp-pd-urgency svg { color: #d97706 !important; flex-shrink: 0 !important; }
.imp-pd-urgency strong { color: #78350f !important; font-weight: 700 !important; }

/* ─────────────────────────────────────────────────────────
   FORM — qty (centered) / button (full-width) / trust (full-width)
   Override child-theme's flex-direction:column with higher specificity
   ───────────────────────────────────────────────────────── */

/* Override --blue variable so child's var(--blue) = dark too */
.single-product .woocommerce div.product form.cart {
  --blue: #111827; --blue-b: #1f2937; --sh-blue: 0 2px 8px rgba(17,24,39,.2);
}

.single-product .woocommerce div.product form.cart,
.woocommerce div.product form.cart {
  order: 5 !important; flex: 0 0 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .625rem !important;
  align-items: stretch !important;
  margin: .5rem 0 0 !important; padding: 0 !important;
  border-top: 1px solid #f1f5f9 !important;
  padding-top: .75rem !important;
  background: none !important; border-left: none !important; border-right: none !important;
  border-bottom: none !important; box-shadow: none !important;
}

.single-product .woocommerce div.product form.cart div.quantity,
.woocommerce div.product form.cart div.quantity {
  order: 1 !important;
  align-self: flex-start !important;
  margin: 0 !important; width: auto !important; display: flex !important;
}
.single-product .woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart .single_add_to_cart_button {
  order: 2 !important;
  align-self: stretch !important;
  width: 100% !important;
  height: 56px !important; padding: 0 2rem !important;
  background: #111827 !important; background-color: #111827 !important; color: #fff !important;
  font-size: 1rem !important; font-weight: 700 !important; letter-spacing: .02em !important;
  border: none !important; border-radius: .875rem !important;
  cursor: pointer !important; text-transform: none !important;
  transition: background .18s !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  white-space: nowrap !important; text-align: center !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
}
/* Nuclear button color override — catches any child-theme specificity */
.single-product .single_add_to_cart_button {
  background: #111827 !important; background-color: #111827 !important; color: #fff !important;
}
.single-product .woocommerce div.product form.cart .imp-pd-trust,
.woocommerce div.product form.cart .imp-pd-trust {
  align-self: stretch !important; order: 3 !important;
}

/* Qty input — flush between +/− buttons */
.woocommerce div.product form.cart .quantity {
  display: flex !important; align-items: stretch !important;
}
.woocommerce div.product form.cart .quantity input.qty {
  width: 52px !important; height: 56px !important;
  border: 1.5px solid #d1d5db !important; border-radius: 0 !important;
  font-size: 1.05rem !important; font-weight: 700 !important;
  text-align: center !important; color: #111827 !important;
  background: #fff !important; padding: 0 !important;
  display: block !important; box-sizing: border-box !important;
  -moz-appearance: textfield !important;
}
.woocommerce div.product form.cart .quantity input.qty::-webkit-inner-spin-button,
.woocommerce div.product form.cart .quantity input.qty::-webkit-outer-spin-button {
  opacity: 0 !important;
}
.woocommerce div.product form.cart .quantity input.qty:focus {
  border-color: #111827 !important; outline: none !important; z-index: 1 !important;
  position: relative !important;
}
.single-product .woocommerce div.product form.cart .single_add_to_cart_button:hover,
.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.single-product .single_add_to_cart_button:hover {
  background: #1f2937 !important; background-color: #1f2937 !important;
}
.single-product .woocommerce div.product form.cart .single_add_to_cart_button:active,
.woocommerce div.product form.cart .single_add_to_cart_button:active {
  background: #374151 !important; background-color: #374151 !important;
  transform: translateY(1px) !important;
}

/* ── Trust strip — horizontal 3-column ───────────────────── */
.imp-pd-trust {
  display: flex !important; flex-direction: column !important; gap: 0 !important;
  background: #fff !important; border: 1px solid #e8eaed !important;
  border-radius: .875rem !important; overflow: hidden !important; padding: 0 !important;
  margin-top: .125rem !important;
}
.imp-pd-trust ~ .imp-pd-trust { display: none !important; }
.imp-pd-trust__items {
  display: flex !important; flex-direction: row !important;
}
.imp-pd-trust__item {
  flex: 1 !important; display: flex !important; flex-direction: column !important;
  align-items: center !important; justify-content: center !important; text-align: center !important;
  gap: .3rem !important; padding: .75rem .5rem !important;
  border-right: 1px solid #e8eaed !important;
  font-size: .75rem !important; color: #374151 !important; line-height: 1.35 !important;
}
.imp-pd-trust__item:last-child { border-right: none !important; }
.imp-pd-trust__item svg { color: #6b7280 !important; flex-shrink: 0 !important; }
.imp-pd-trust__item strong { font-weight: 700 !important; color: #111827 !important; font-size: .8rem !important; }
.imp-pd-trust__footer {
  display: flex !important; align-items: center !important; justify-content: center !important;
  gap: .375rem !important; padding: .5rem 1rem !important;
  border-top: 1px solid #e8eaed !important;
  font-size: .75rem !important; color: #6b7280 !important; line-height: 1 !important;
}
.imp-pd-trust__footer strong { color: #374151 !important; font-weight: 600 !important; }
.imp-pd-trust__dot { color: #d1d5db !important; }

/* ── Qty +/− buttons ─────────────────────────────────────── */
.imp-qty-btn {
  width: 36px !important; height: 56px !important;
  background: #f9fafb !important; border: 1.5px solid #d1d5db !important;
  color: #374151 !important; font-size: 1.25rem !important; font-weight: 400 !important;
  cursor: pointer !important; display: flex !important; align-items: center !important;
  justify-content: center !important; flex-shrink: 0 !important;
  transition: background .12s, border-color .12s !important; line-height: 1 !important;
  padding: 0 !important;
}
.imp-qty-minus {
  border-radius: .875rem 0 0 .875rem !important; border-right: none !important;
}
.imp-qty-plus {
  border-radius: 0 .875rem .875rem 0 !important; border-left: none !important;
}
.imp-qty-btn:hover { background: #f1f5f9 !important; border-color: #9ca3af !important; }

/* Social proof is now inside .imp-pd-trust__footer */
.imp-pd-social-proof { display: none !important; }

/* ── Cart icon on ATC button ─────────────────────────────── */
.woocommerce div.product form.cart .single_add_to_cart_button { gap: .5rem !important; }
.woocommerce div.product form.cart .single_add_to_cart_button::before {
  content: '' !important;
  display: inline-block !important;
  flex-shrink: 0 !important;
  width: 17px !important; height: 17px !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5'%3E%3Cpath d='M6 2L3 6v14a2 2 0 002 2h14a2 2 0 002-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 01-8 0'/%3E%3C/svg%3E") center/contain no-repeat !important;
}

/* ── "Kup teraz" secondary CTA ───────────────────────────── */
.woocommerce div.product .summary .imp-buy-now {
  order: 6 !important; flex: 0 0 100% !important;
}
.imp-buy-now {
  display: flex !important; align-items: center !important; justify-content: center !important;
  gap: .4rem !important;
  padding: .75rem 1.5rem !important;
  border: 1.5px solid #d1d5db !important;
  border-radius: .875rem !important;
  background: #f9fafb !important;
  color: #374151 !important;
  font-size: .875rem !important; font-weight: 600 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: border-color .15s, color .15s, background .15s !important;
  box-sizing: border-box !important;
  width: 100% !important;
}
.imp-buy-now:hover {
  border-color: #111827 !important; color: #111827 !important; background: #f9fafb !important;
}
.imp-buy-now svg { flex-shrink: 0 !important; color: inherit !important; }

/* ── Payment icons row ───────────────────────────────────── */
.woocommerce div.product .summary .imp-payment-icons {
  order: 7 !important; flex: 0 0 100% !important;
}
.imp-payment-icons {
  display: flex !important; align-items: center !important;
  justify-content: center !important; flex-wrap: wrap !important;
  gap: .375rem !important; padding: .125rem 0 0 !important;
}
.imp-payment-icons__label {
  font-size: .72rem !important; color: #9ca3af !important;
  flex: 0 0 100% !important; text-align: center !important;
  margin-bottom: .125rem !important; letter-spacing: .01em !important;
}
.imp-payment-badge {
  font-size: .72rem !important; font-weight: 700 !important;
  letter-spacing: .02em !important; color: #6b7280 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: .3rem !important;
  padding: .2rem .5rem !important;
  background: #f8fafc !important;
  line-height: 1.4 !important;
  white-space: nowrap !important;
}

/* ── Product meta ────────────────────────────────────────── */
.woocommerce div.product .product_meta {
  order: 8 !important;
  font-size: .78rem !important; color: #9ca3af !important;
  background: none !important; border: none !important; padding: 0 !important; margin: 0 !important;
  display: flex !important; flex-wrap: wrap !important; gap: .25rem 1rem !important;
}
.woocommerce div.product .product_meta > span { display: flex !important; align-items: center !important; gap: .3rem !important; }
.woocommerce div.product .product_meta a { color: #6b7280 !important; text-decoration: none !important; }
.woocommerce div.product .product_meta .posted_in,
.woocommerce div.product .product_meta .tagged_as,
.single-product .product_meta .posted_in,
.single-product .product_meta .tagged_as { display: none !important; }

/* ── Tabs — row 2, full width ────────────────────────────── */
.woocommerce div.product > .woocommerce-tabs {
  grid-column: 1 / -1 !important; grid-row: 2 !important;
  width: 100% !important; float: none !important;
  background: #fff !important; border: 1px solid #e8eaed !important;
  border-radius: 1.25rem !important; overflow: hidden !important;
  margin-top: 2.5rem !important; padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important;
  overflow-x: auto !important; scrollbar-width: none !important;
  list-style: none !important; margin: 0 !important; padding: 0 2rem !important;
  background: #f9fafb !important; border-bottom: 1px solid #e8eaed !important; gap: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  float: none !important; border: none !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important; background: transparent !important;
  margin: 0 0 -1px !important; padding: 0 !important; flex-shrink: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: block !important; padding: .9rem 1.25rem !important;
  font-size: .875rem !important; font-weight: 600 !important;
  color: #6b7280 !important; text-decoration: none !important;
  background: transparent !important; white-space: nowrap !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: #111827 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: #111827 !important; }
.woocommerce div.product .woocommerce-tabs .panel {
  padding: 2.5rem !important; border: none !important; background: #fff !important;
  float: none !important; width: 100% !important; box-sizing: border-box !important; margin: 0 !important;
}

/* ── Related products — row 3 ────────────────────────────── */
.woocommerce div.product > .related,
.woocommerce div.product > .upsells {
  grid-column: 1 / -1 !important; grid-row: 3 !important;
  float: none !important; width: 100% !important;
  background: #fff !important; border: 1px solid #e8eaed !important;
  border-radius: 1.25rem !important; padding: 2rem !important; margin-top: 1.5rem !important;
}
.woocommerce div.product .related h2,
.woocommerce div.product .upsells h2 {
  font-size: 1.1rem !important; font-weight: 700 !important; color: #111827 !important; margin: 0 0 1.5rem !important;
}
.woocommerce div.product .related ul.products,
.woocommerce div.product .upsells ul.products {
  display: grid !important; grid-template-columns: repeat(4, 1fr) !important;
  gap: 1rem !important; margin: 0 !important; padding: 0 !important;
}
.woocommerce div.product .related ul.products li.product,
.woocommerce div.product .upsells ul.products li.product {
  float: none !important; width: 100% !important; margin: 0 !important;
  border: 1px solid #e8eaed !important; border-radius: .875rem !important;
  overflow: hidden !important; background: #fff !important;
  transition: box-shadow .2s, transform .2s !important;
}
.woocommerce div.product .related ul.products li.product:hover,
.woocommerce div.product .upsells ul.products li.product:hover {
  box-shadow: 0 6px 20px rgba(0,0,0,.09) !important; transform: translateY(-3px) !important;
}
.woocommerce div.product .related ul.products li.product a img,
.woocommerce div.product .upsells ul.products li.product a img {
  width: 100% !important; aspect-ratio: 1 !important; object-fit: contain !important;
  padding: .75rem !important; background: #f9fafb !important; display: block !important;
}
.woocommerce div.product .related .woocommerce-loop-product__title,
.woocommerce div.product .upsells .woocommerce-loop-product__title {
  font-size: .82rem !important; font-weight: 600 !important; color: #111827 !important;
  padding: .5rem .875rem 0 !important; margin: 0 !important;
  display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important;
}
.woocommerce div.product .related .price,
.woocommerce div.product .upsells .price {
  display: block !important; font-size: .9rem !important; font-weight: 700 !important;
  color: #111827 !important; padding: .25rem .875rem 0 !important;
}
.woocommerce div.product .related .button,
.woocommerce div.product .upsells .button {
  display: block !important; margin: .625rem .875rem .875rem !important;
  padding: .5rem 0 !important; background: #111827 !important; color: #fff !important;
  border-radius: .5rem !important; font-size: .78rem !important; font-weight: 700 !important;
  text-align: center !important; text-decoration: none !important;
  border: none !important; cursor: pointer !important; transition: background .15s !important;
}
.woocommerce div.product .related .button:hover,
.woocommerce div.product .upsells .button:hover { background: #1f2937 !important; color: #fff !important; }

/* ── Description in tab ──────────────────────────────────── */
.imp-product-desc { max-width: 900px; }
.imp-pd-highlights { display: grid; grid-template-columns: repeat(3, 1fr); gap: .875rem; margin-bottom: 2rem; }
.imp-pd-hl-card {
  display: flex; flex-direction: column; align-items: center; text-align: center; gap: .5rem;
  background: #f9fafb; border: 1px solid #e8eaed; border-radius: 1rem; padding: 1.25rem .875rem;
}
.imp-pd-hl-card__icon {
  width: 44px; height: 44px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; background: #111827; color: #fff;
}
.imp-pd-hl-card__icon svg { width: 20px; height: 20px; }
.imp-pd-hl-card strong { font-size: .82rem; font-weight: 700; color: #111827; }
.imp-pd-hl-card span { font-size: .72rem; color: #6b7280; line-height: 1.4; }
.imp-product-desc h3 {
  font-size: .875rem; font-weight: 700; color: #111827;
  border-bottom: 2px solid #111827; padding-bottom: .5rem; margin: 2rem 0 1rem; background: none;
}
.imp-pd-lead {
  font-size: .9rem; color: #374151; line-height: 1.75;
  background: #f9fafb; border-left: 3px solid #111827;
  border-radius: 0 .75rem .75rem 0; padding: .875rem 1.1rem;
}
.imp-features-list { display: grid; grid-template-columns: repeat(2,1fr); gap: .5rem; list-style: none; padding: 0; margin: 0; }
.imp-features-list li {
  display: flex; align-items: flex-start; gap: .5rem; background: #fff;
  border: 1px solid #e8eaed; border-left: 3px solid #111827;
  border-radius: 0 .625rem .625rem 0; padding: .65rem .875rem; font-size: .84rem; color: #1e293b;
}
.imp-features-list li::before { display: none; }
.imp-ship-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: .75rem; }
.imp-ship-item { display: flex; align-items: flex-start; gap: .75rem; background: #f9fafb; border: 1px solid #e8eaed; border-radius: .875rem; padding: .875rem 1rem; }
.imp-ship-icon { font-size: 1.4rem; flex-shrink: 0; }
.imp-ship-item strong { font-size: .84rem; font-weight: 700; color: #111827; display: block; margin-bottom: .15rem; }
.imp-ship-item span { font-size: .75rem; color: #6b7280; }
.imp-specs-table { width: 100%; border-collapse: collapse; border: 1px solid #e8eaed; border-radius: .875rem; overflow: hidden; font-size: .875rem; }
.imp-specs-table tr:nth-child(odd) th, .imp-specs-table tr:nth-child(odd) td { background: #fff; }
.imp-specs-table tr:nth-child(even) th, .imp-specs-table tr:nth-child(even) td { background: #f9fafb; }
.imp-specs-table th { width: 35%; padding: .7rem 1rem; text-align: left; color: #6b7280; font-weight: 500; border-bottom: 1px solid #e8eaed; border-right: 1px solid #e8eaed; }
.imp-specs-table td { padding: .7rem 1rem; color: #111827; font-weight: 600; border-bottom: 1px solid #e8eaed; }
.imp-specs-table tr:last-child th, .imp-specs-table tr:last-child td { border-bottom: none; }
.imp-faq-block { display: flex; flex-direction: column; gap: .5rem; }
.imp-faq-item { border: 1px solid #e8eaed; border-radius: .875rem; overflow: hidden; }
.imp-faq-q { font-size: .875rem; font-weight: 700; color: #111827; background: #f9fafb; border-bottom: 1px solid #e8eaed; margin: 0; padding: .875rem 1.1rem; display: flex; align-items: center; gap: .6rem; }
.imp-faq-q::before { content:'Q'; min-width:22px; height:22px; flex-shrink:0; background:#111827; color:#fff; font-size:.65rem; font-weight:800; border-radius:.35rem; display:flex; align-items:center; justify-content:center; }
.imp-faq-a { font-size: .85rem; color: #4b5563; line-height: 1.65; margin: 0; padding: .875rem 1.1rem; }
.imp-pd-cta { background: #111827; color: #fff; border-radius: 1rem; padding: 1.5rem; font-size: .9rem; line-height: 1.6; margin-top: 2rem; }
.imp-pd-cta strong { color: #fff; }

/* ── Kill Storefront's own sticky add-to-cart just in case ──── */
.storefront-sticky-add-to-cart { display: none !important; }

/* ── Sticky mobile ATC bar ───────────────────────────────── */
.imp-sticky-atc {
  display: none !important;
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 9999;
  background: #fff !important;
  border-top: 1px solid #e8eaed !important;
  box-shadow: 0 -2px 12px rgba(0,0,0,.07) !important;
  padding: 0 1rem !important;
  height: 60px !important;
  height: calc(60px + env(safe-area-inset-bottom, 0px)) !important;
  max-height: calc(60px + env(safe-area-inset-bottom, 0px)) !important;
  overflow: hidden !important;
  transform: translateY(110%);
  transition: transform .25s cubic-bezier(.4,0,.2,1);
  box-sizing: border-box !important;
}
.imp-sticky-atc.imp-sticky-atc--show { transform: translateY(0) !important; }
.imp-sticky-atc__inner {
  display: flex !important; align-items: center !important; gap: .75rem !important;
  max-width: 640px !important; margin: 0 auto !important;
  height: 60px !important;
}
.imp-sticky-atc__info { flex: 1 1 0 !important; min-width: 0 !important; }
.imp-sticky-atc__name {
  display: block !important; font-size: .7rem !important; font-weight: 500 !important;
  color: #6b7280 !important; white-space: nowrap !important;
  overflow: hidden !important; text-overflow: ellipsis !important;
  line-height: 1.2 !important; margin: 0 !important; padding: 0 !important;
}
.imp-sticky-atc__price {
  display: block !important; font-size: .9rem !important;
  font-weight: 800 !important; color: #111827 !important; line-height: 1.2 !important;
  margin: 0 !important; padding: 0 !important;
}
.imp-sticky-atc__price .woocommerce-Price-amount { color: #111827 !important; }
.imp-sticky-atc__btn {
  flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  background: #111827; color: #fff;
  border-radius: .625rem;
  padding: .5rem 1.1rem;
  font-size: .82rem; font-weight: 700; line-height: 1.2;
  cursor: pointer; white-space: nowrap; letter-spacing: .01em;
  user-select: none;
  transition: background .15s;
}
.imp-sticky-atc__btn:hover { background: #1f2937; }
.imp-sticky-atc__btn:active { background: #374151; }

/* ══════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════ */

/* ── ≤ 900px : single-column layout ─────────────────────── */
@media (max-width: 900px) {
  /* Show sticky bar */
  .imp-sticky-atc { display: block !important; }

  /* Extra bottom padding so sticky bar doesn't cover content */
  .single-product main.site-main {
    padding: 0 0 6rem !important; max-width: 100% !important;
  }

  /* 1-column product grid */
  .woocommerce div.product {
    display: block !important;
    width: 100% !important; max-width: 100% !important;
    padding: 0 !important; margin: 0 !important;
  }
  .woocommerce div.product > * {
    float: none !important; width: 100% !important;
    max-width: 100% !important; box-sizing: border-box !important;
  }

  /* Gallery: full-width, no sticky */
  .woocommerce div.product > .woocommerce-product-gallery,
  .woocommerce div.product > div.images {
    position: static !important; display: block !important;
    margin: 0 !important; padding: 0 !important;
  }
  .woocommerce-product-gallery .flex-viewport {
    border-radius: 0 !important;
    border-left: none !important; border-right: none !important;
    box-shadow: none !important;
    width: 100% !important; box-sizing: border-box !important;
  }
  /* Mobile thumbnails: scrollable strip */
  .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs {
    flex-wrap: nowrap !important;
    overflow-x: auto !important; overflow-y: hidden !important;
    justify-content: flex-start !important;
    padding: .625rem .875rem !important;
    margin: 0 !important;
    background: #fafafa !important; border-bottom: 1px solid #f1f5f9 !important;
    scrollbar-width: none !important;
  }
  .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar { display: none !important; }
  .woocommerce-product-gallery .flex-control-thumbs li { width: 56px !important; }
  .woocommerce-product-gallery .flex-control-thumbs li img { width: 56px !important; height: 56px !important; }

  /* Summary — reset card on mobile, just padding */
  .woocommerce div.product > div.summary.entry-summary {
    padding: 1rem !important; gap: .5rem !important;
    background: transparent !important;
    border: none !important; border-radius: 0 !important;
    box-shadow: none !important;
  }

  /* Price */
  .woocommerce div.product p.price,
  .woocommerce div.product span.price { font-size: 1.75rem !important; }

  /* Tabs: edge-to-edge */
  .woocommerce div.product > .woocommerce-tabs {
    border-radius: 0 !important; border-left: none !important; border-right: none !important;
    margin-top: .75rem !important;
  }
  .woocommerce div.product .woocommerce-tabs .panel { padding: 1.25rem 1rem !important; }

  /* Inner desc grids → 1 col */
  .imp-pd-highlights,
  .imp-features-list,
  .imp-ship-grid { grid-template-columns: 1fr !important; }

  /* Related: edge-to-edge, 2 col */
  .woocommerce div.product > .related,
  .woocommerce div.product > .upsells {
    border-radius: 0 !important; border-left: none !important; border-right: none !important;
    padding: 1.25rem 1rem !important; margin-top: 0 !important;
  }
  .woocommerce div.product .related ul.products,
  .woocommerce div.product .upsells ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ── ≤ 480px : phones ────────────────────────────────────── */
@media (max-width: 480px) {
  .woocommerce div.product > div.summary.entry-summary {
    padding: .875rem .875rem 0 !important; gap: .375rem .5rem !important;
  }
  .woocommerce div.product .product_title { font-size: 1.2rem !important; }
  .woocommerce div.product p.price,
  .woocommerce div.product span.price { font-size: 1.45rem !important; }

  .woocommerce-product-gallery .flex-control-thumbs li { width: 52px !important; }
  .woocommerce-product-gallery .flex-control-thumbs li img { width: 52px !important; height: 52px !important; }

  .woocommerce div.product form.cart { gap: .5rem !important; padding: 0 !important; }
  .woocommerce div.product form.cart .quantity input.qty { width: 54px !important; height: 50px !important; }
  .woocommerce div.product form.cart .single_add_to_cart_button { height: 50px !important; font-size: .875rem !important; }

  .imp-pd-urgency { font-size: .75rem !important; padding: .375rem .75rem !important; }
  .imp-pd-trust__item { padding: .7rem .875rem !important; font-size: .8rem !important; }

  .woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0 .75rem !important; }
  .woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: .75rem .625rem !important; font-size: .8rem !important; }
  .woocommerce div.product .woocommerce-tabs .panel { padding: 1rem !important; }

  .woocommerce div.product > .related,
  .woocommerce div.product > .upsells { padding: 1rem .875rem !important; }
  .woocommerce div.product .related ul.products,
  .woocommerce div.product .upsells ul.products { gap: .625rem !important; }
}

/* ── ≤ 375px : small phones ──────────────────────────────── */
@media (max-width: 375px) {
  .woocommerce div.product .product_title { font-size: 1.1rem !important; }
  .woocommerce div.product p.price,
  .woocommerce div.product span.price { font-size: 1.3rem !important; }
  .woocommerce div.product form.cart .quantity input.qty { width: 50px !important; }
  .woocommerce div.product .related ul.products,
  .woocommerce div.product .upsells ul.products { grid-template-columns: 1fr !important; }
  .imp-sticky-atc__btn { padding: .7rem 1.1rem !important; font-size: .82rem !important; }
}
