/* PTR Product Page UX Enhancer v1.2 — scoped to Elementor template 30369 */
:root{
  --ptr-teal:#00586f;
  --ptr-teal-dark:#00475a;
  --ptr-teal-soft:#edf8fb;
  --ptr-text:#101828;
  --ptr-muted:#667085;
  --ptr-border:#d5dbe3;
  --ptr-border-soft:#ebeff3;
  --ptr-panel:#ffffff;
  --ptr-soft:#f7fafc;
  --ptr-shadow:0 14px 38px rgba(16,24,40,.075);
  --ptr-radius:14px;
}

body.ptr-ux-product-template-30369 .elementor-30369{
  --e-global-color-primary:var(--ptr-teal);
}

/* Make the product hero feel like the mockup */
body.ptr-ux-product-template-30369 .elementor-30369 .elementor-element-93801d4 > .elementor-container{
  max-width:1240px !important;
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  gap:42px !important;
  align-items:flex-start !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .elementor-element-93801d4 .elementor-column.elementor-col-50:first-child{width:47% !important;}
body.ptr-ux-product-template-30369 .elementor-30369 .elementor-element-93801d4 .elementor-column.elementor-col-50:last-child{width:53% !important;}

/* Hide noisy Woo meta in the hero, like the mockup */
body.ptr-ux-product-template-30369 .elementor-30369 .elementor-widget-woocommerce-product-meta{display:none !important;}

/* Product image card */
body.ptr-ux-product-template-30369 .elementor-30369 .elementor-widget-woocommerce-product-images > .elementor-widget-container{
  background:#fff !important;
  border:1px solid var(--ptr-border) !important;
  border-radius:18px !important;
  padding:18px !important;
  box-shadow:var(--ptr-shadow) !important;
  overflow:hidden !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .woo-product-gallery-slider,
body.ptr-ux-product-template-30369 .elementor-30369 .wpgs-for,
body.ptr-ux-product-template-30369 .elementor-30369 .woocommerce-product-gallery__image,
body.ptr-ux-product-template-30369 .elementor-30369 .slick-list,
body.ptr-ux-product-template-30369 .elementor-30369 .slick-track{
  background:#f5f7f9 !important;
  border-radius:14px !important;
}
/* Center the gallery image both axes within its slide.
   Scope flex to the WC image wrapper only — never .slick-track/.slick-list,
   whose layout slick computes in JS. */
body.ptr-ux-product-template-30369 .elementor-30369 .woocommerce-product-gallery__image{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:420px !important;
  text-align:center !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .woocommerce-product-gallery__image img{
  display:block !important;
  width:auto !important;
  max-width:100% !important;
  max-height:480px !important;
  margin:auto !important;
  object-fit:contain !important;
  padding:20px !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-image-trust-strip{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:12px !important;
  border-top:1px solid var(--ptr-border-soft) !important;
  margin:18px -18px -18px !important;
  padding:16px 18px !important;
  background:#fff !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-image-trust-strip .ptr-ux-trust-point{
  color:#1f2937 !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.22 !important;
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-image-trust-strip .ptr-ux-trust-icon{
  flex:0 0 auto !important;
  width:26px !important;
  height:26px !important;
  object-fit:contain !important;
  display:block !important;
}

/* Title/short description */
body.ptr-ux-product-template-30369 .elementor-30369 .elementor-widget-woocommerce-product-title h1{
  color:var(--ptr-text) !important;
  font-size:clamp(38px,3.25vw,56px) !important;
  line-height:1.06 !important;
  letter-spacing:-.035em !important;
  font-weight:850 !important;
  margin:0 0 14px !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .woocommerce-product-details__short-description{
  color:#344054 !important;
  font-size:19px !important;
  line-height:1.55 !important;
  margin:0 0 22px !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .woocommerce-product-details__short-description ul{margin:0 0 0 20px !important;}
body.ptr-ux-product-template-30369 .elementor-30369 .woocommerce-product-details__short-description li{margin:0 0 6px !important;}

/* Original RightPress table stays available for data but hidden once modern grid is built */
body.ptr-ux-product-template-30369 .elementor-30369 .rp_wcdpd_product_page.ptr-ux-original-pricing-hidden{
  display:none !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .rp_wcdpd_product_page_title{
  color:var(--ptr-text) !important;
  font-size:16px !important;
  font-weight:800 !important;
  margin:0 0 12px !important;
}

/* Modern pricing grid */
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-modern-pricing{
  margin:20px 0 18px !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-modern-pricing table{
  width:100% !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  table-layout:fixed !important;
  border:1px solid var(--ptr-border) !important;
  border-radius:10px !important;
  overflow:hidden !important;
  background:#fff !important;
  box-shadow:0 10px 26px rgba(16,24,40,.045) !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-modern-pricing th,
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-modern-pricing td{
  padding:10px 12px !important;
  border-right:1px solid var(--ptr-border) !important;
  border-bottom:1px solid var(--ptr-border) !important;
  text-align:center !important;
  background:#fff !important;
  color:var(--ptr-text) !important;
  vertical-align:middle !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-modern-pricing th{
  width:24% !important;
  text-align:left !important;
  text-transform:uppercase !important;
  font-size:13px !important;
  font-weight:850 !important;
  letter-spacing:.025em !important;
  background:#f3f5f7 !important;
  color:#475467 !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-modern-pricing td{
  font-size:15px !important;
  font-weight:750 !important;
  cursor:pointer !important;
  transition:all .18s ease !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-modern-pricing tr:last-child th,
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-modern-pricing tr:last-child td{border-bottom:0 !important;}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-modern-pricing th:last-child,
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-modern-pricing td:last-child{border-right:0 !important;}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-modern-pricing td.ptr-active-tier{
  background:var(--ptr-teal) !important;
  color:#fff !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-modern-pricing td:not(.ptr-active-tier):hover{background:var(--ptr-teal-soft) !important;}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-pricing-note{
  color:var(--ptr-muted) !important;
  font-size:14px !important;
  margin:10px 0 0 !important;
}
/* When the minimum-qty notice has been promoted into the pricing-note slot,
   give it the banner treatment (replaces the old "All prices USD" line). */
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-pricing-note.ptr-ux-has-qty-notice{
  margin:14px 0 0 !important;
  padding:12px 14px !important;
  border-left:4px solid var(--ptr-teal) !important;
  background:#f4f4f5 !important;
  color:#344054 !important;
  font-size:14px !important;
  font-weight:600 !important;
  line-height:1.35 !important;
  border-radius:0 6px 6px 0 !important;
}

/* Tighten the dead space between the pricing block and the cart form.
   The pricing table + min-qty notice and the cart form live inside the same
   wc-add-to-cart widget; default Elementor/widget margins leave a large gap. */
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-modern-pricing{margin:18px 0 0 !important;}
body.ptr-ux-product-template-30369 .elementor-30369 .elementor-widget-wc-add-to-cart > .elementor-widget-container{padding:0 !important;}
body.ptr-ux-product-template-30369 .elementor-30369 .elementor-widget-wc-add-to-cart .price{display:none !important;margin:0 !important;}
/* Hidden source price widget must not reserve vertical space */
body.ptr-ux-product-template-30369 .elementor-30369 .elementor-widget-woocommerce-product-price.ptr-ux-price-source-hidden{
  display:none !important;
  margin:0 !important;
  padding:0 !important;
  height:0 !important;
}
/* Tighten the space between the pricing grid (with its min-qty notice) and the
   cart form. The modern pricing block already carries the bottom notice, so the
   cart form should sit close beneath it. */
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-modern-pricing{margin-bottom:14px !important;}

/* Minimum qty line */
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-qr-info{
  margin:12px 0 14px !important;
  padding:12px 14px !important;
  border-left:4px solid var(--ptr-teal) !important;
  background:#f4f4f5 !important;
  color:#344054 !important;
  font-size:14px !important;
  line-height:1.35 !important;
}

/* Cart/purchase region */
body.ptr-ux-product-template-30369 .elementor-30369 form.cart.ptr-ux-enhanced-cart{
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  margin:0 !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-purchase-panel{
  order:20 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.12fr) minmax(230px,.88fr) !important;
  background:#fff !important;
  border:1px solid var(--ptr-border) !important;
  border-radius:14px !important;
  box-shadow:0 10px 28px rgba(16,24,40,.055) !important;
  overflow:hidden !important;
  margin:0 !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-qty-area,
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-total-area{
  padding:22px 26px !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-total-area{
  border-left:1px solid var(--ptr-border-soft) !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-label{
  display:block !important;
  color:var(--ptr-text) !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
  margin:0 0 14px !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-total-amount{
  display:block !important;
  color:var(--ptr-text) !important;
  font-size:clamp(32px,2.5vw,42px) !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:-.035em !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-qty-area .quantity{
  display:inline-grid !important;
  grid-template-columns:48px 124px 48px !important;
  margin:0 !important;
  width:auto !important;
  float:none !important;
  align-items:stretch !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-qty-area input.qty{
  width:124px !important;
  height:52px !important;
  min-height:52px !important;
  padding:0 !important;
  border:1px solid var(--ptr-border) !important;
  border-left:0 !important;
  border-right:0 !important;
  border-radius:0 !important;
  background:#fff !important;
  box-shadow:none !important;
  color:var(--ptr-text) !important;
  font-size:26px !important;
  font-weight:850 !important;
  line-height:52px !important;
  text-align:center !important;
  -moz-appearance:textfield !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-qty-area input.qty::-webkit-outer-spin-button,
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-qty-area input.qty::-webkit-inner-spin-button{-webkit-appearance:none !important;margin:0 !important;}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-qty-step{
  width:48px !important;
  height:52px !important;
  min-height:52px !important;
  padding:0 !important;
  border:1px solid var(--ptr-border) !important;
  background:#f9fafb !important;
  color:#475467 !important;
  font-size:26px !important;
  font-weight:400 !important;
  line-height:1 !important;
  cursor:pointer !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-qty-minus{border-radius:8px 0 0 8px !important;}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-qty-plus{border-radius:0 8px 8px 0 !important;}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-tier-buttons{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:7px !important;
  margin:14px 0 0 !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-tier-button{
  flex:1 1 0 !important;
  min-width:0 !important;
  min-height:28px !important;
  padding:0 6px !important;
  border:1px solid var(--ptr-border) !important;
  border-radius:6px !important;
  background:#fff !important;
  color:var(--ptr-text) !important;
  font-size:12px !important;
  font-weight:800 !important;
  cursor:pointer !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-tier-button:hover,
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-tier-button.ptr-active-tier-button{
  border-color:var(--ptr-teal) !important;
  background:var(--ptr-teal) !important;
  color:#fff !important;
}

/* Button stack — force Add first, sample second, note below */
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-button-stack{
  order:30 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  margin:0 !important;
  width:100% !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-main-add-button{
  order:1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:62px !important;
  border-radius:9px !important;
  border:0 !important;
  background:var(--ptr-teal) !important;
  color:#fff !important;
  font-size:22px !important;
  font-weight:900 !important;
  line-height:1 !important;
  margin:0 !important;
  box-shadow:0 5px 0 rgba(0,71,90,.25) !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-main-add-button:hover{background:var(--ptr-teal-dark) !important;}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-main-add-button::before{content:'🛒';font-size:23px;margin-right:12px;line-height:1;}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-free-sample-btn{
  order:2 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:60px !important;
  border:2px solid var(--ptr-teal) !important;
  border-radius:9px !important;
  background:#fff !important;
  color:var(--ptr-teal) !important;
  font-size:21px !important;
  font-weight:900 !important;
  line-height:1 !important;
  margin:0 !important;
  box-shadow:none !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-free-sample-btn::before{content:'▧';font-size:22px;margin-right:12px;}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-free-sample-btn:hover{background:var(--ptr-teal-soft) !important;}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-free-sample-note{
  order:3 !important;
  text-align:center !important;
  margin:0 !important;
  color:var(--ptr-muted) !important;
  font-size:14px !important;
  font-weight:650 !important;
  line-height:1.25 !important;
}

/* Personalization accordion — placed BEFORE the quantity/add-to-cart box */
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-panel{
  order:10 !important;
  width:100% !important;
  border:1px solid var(--ptr-border) !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:0 8px 22px rgba(16,24,40,.045) !important;
  overflow:hidden !important;
  margin:0 0 4px !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-toggle{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  padding:16px 22px !important;
  border:0 !important;
  background:#fff !important;
  color:var(--ptr-text) !important;
  font-size:16px !important;
  font-weight:700 !important;
  text-align:left !important;
  cursor:pointer !important;
  line-height:1.3 !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-headwrap{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  min-width:0 !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-pencil{font-size:20px !important;line-height:1 !important;flex:0 0 auto !important;}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-headtext{
  color:#344054 !important;
  font-size:16px !important;
  font-weight:700 !important;
  line-height:1.3 !important;
}
/* Keep the moved "FREE Consultation" link looking like a link */
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-headtext a{
  color:var(--ptr-teal) !important;
  font-weight:800 !important;
  text-decoration:none !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-headtext a:hover{text-decoration:underline !important;}
/* If no Need-help text was found, hide the pencil so we don't show a lone icon */
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-panel:not(.ptr-ux-has-headtext) .ptr-ux-pencil{display:none !important;}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-chevron{font-size:22px !important;line-height:1 !important;flex:0 0 auto !important;transition:transform .18s ease !important;}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-panel.is-open .ptr-ux-personalization-chevron{transform:rotate(180deg) !important;}

/* Always-expanded mode (required fields, or admin-forced): no toggle affordance */
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-expanded .ptr-ux-personalization-toggle{
  cursor:default !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-expanded .ptr-ux-personalization-chevron{display:none !important;}
/* If the panel has no header text at all (no Need-help element), drop the empty header bar */
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-expanded:not(.ptr-ux-has-headtext) .ptr-ux-personalization-toggle{display:none !important;}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-expanded:not(.ptr-ux-has-headtext) .ptr-ux-personalization-content{border-top:0 !important;}

/* Collapse via max-height/overflow rather than display:none. EPO sizes its
   image swatches from the container's rendered width; display:none yields a
   zero-width measurement and produces empty/broken swatch boxes. Keeping the
   element laid out (just clipped) lets EPO measure correctly even while
   collapsed. */
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-content{
  border-top:1px solid var(--ptr-border-soft) !important;
  width:100% !important;
  box-sizing:border-box !important;
  max-height:0 !important;
  overflow:hidden !important;
  padding:0 22px !important;
  opacity:0 !important;
  transition:none !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-panel.is-open .ptr-ux-personalization-content{
  max-height:none !important;
  overflow:visible !important;
  padding:22px !important;
  opacity:1 !important;
}

/* ============================================================
   Themecomplete / TM Extra Product Options (TM EPO) — HANDS OFF
   EPO renders a complete, self-contained, responsive form whose
   fields are generated dynamically per product (swatches, selects,
   text, conditional fields, late-injected fields, etc.). We do NOT
   style, size, move, or special-case ANYTHING inside the EPO form.
   The form is a black box. We only:
     (a) ensure our wrapper doesn't constrain it, and
     (b) hide the one "Need help…" element we promote to the header.
   No rules targeting .tc-* / .tm-* / .tmcp-* internals — they break
   EPO's runtime layout (collapsed swatches, zero-size fields, etc.).
   ============================================================ */

/* The content wrapper must not impose width/overflow on EPO. */
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-content{
  width:100% !important;
  box-sizing:border-box !important;
}

/* Hide the original in-form "Need help…" element once promoted to the header. */
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-needhelp-source-hidden{display:none !important;}

/* Trust strip after personalization, exactly like mockup */
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-trust-strip{
  order:50 !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  border:1px solid var(--ptr-border-soft) !important;
  border-radius:12px !important;
  background:#f7fafc !important;
  overflow:hidden !important;
  margin:8px 0 0 !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-trust-item{
  padding:19px 12px !important;
  text-align:center !important;
  border-right:1px solid var(--ptr-border-soft) !important;
  color:var(--ptr-text) !important;
  font-size:13px !important;
  font-weight:850 !important;
  line-height:1.22 !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-trust-item:last-child{border-right:0 !important;}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-trust-icon{
  display:block !important;
  width:26px !important;
  height:26px !important;
  object-fit:contain !important;
  margin:0 auto 7px !important;
}

/* Tabs below */
body.ptr-ux-product-template-30369 .elementor-30369 .eael-advance-tabs{
  max-width:1240px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  border:1px solid var(--ptr-border) !important;
  border-radius:12px !important;
  background:#fff !important;
  overflow:hidden !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .eael-tabs-nav ul{display:grid !important;grid-template-columns:repeat(2,1fr) !important;}
body.ptr-ux-product-template-30369 .elementor-30369 .eael-tab-item-trigger{background:#fff !important;color:var(--ptr-text) !important;border-bottom:1px solid var(--ptr-border-soft) !important;}
body.ptr-ux-product-template-30369 .elementor-30369 .eael-tab-item-trigger.active{background:#fff !important;color:var(--ptr-teal) !important;box-shadow:inset 0 -4px 0 var(--ptr-teal) !important;}
body.ptr-ux-product-template-30369 .elementor-30369 .eael-tab-title{font-size:18px !important;font-weight:800 !important;}

@media(max-width:1024px){
  body.ptr-ux-product-template-30369 .elementor-30369 .elementor-element-93801d4 > .elementor-container{display:block !important;}
  body.ptr-ux-product-template-30369 .elementor-30369 .elementor-element-93801d4 .elementor-column.elementor-col-50:first-child,
  body.ptr-ux-product-template-30369 .elementor-30369 .elementor-element-93801d4 .elementor-column.elementor-col-50:last-child{width:100% !important;}
  body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-purchase-panel{grid-template-columns:1fr !important;}
  body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-total-area{border-left:0 !important;border-top:1px solid var(--ptr-border-soft) !important;}
}
@media(max-width:767px){
  body.ptr-ux-product-template-30369 .elementor-30369 .elementor-widget-woocommerce-product-title h1{font-size:34px !important;}
  body.ptr-ux-product-template-30369 .elementor-30369 .woocommerce-product-details__short-description{font-size:16px !important;}
  /* Shrink the pricing table so every tier column fits — no horizontal scroll */
  body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-modern-pricing{overflow:visible !important;}
  body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-modern-pricing table{width:100% !important;min-width:0 !important;table-layout:fixed !important;}
  body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-modern-pricing th,
  body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-modern-pricing td{
    padding:6px 3px !important;
    font-size:11px !important;
    word-break:break-word !important;
    overflow-wrap:anywhere !important;
  }
  body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-modern-pricing th{
    width:20% !important;
    font-size:10px !important;
    letter-spacing:0 !important;
    padding:6px 4px !important;
  }
  body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-toggle{padding:16px 16px !important;font-size:16px !important;}
  body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-content{padding:16px !important;}
  /* Keep tier quick-buttons on ONE line; shrink to fit */
  body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-tier-buttons{flex-wrap:nowrap !important;gap:5px !important;}
  body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-tier-button{flex:1 1 0 !important;min-width:0 !important;min-height:32px !important;font-size:11px !important;padding:0 3px !important;}
  body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-trust-strip,
  body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-image-trust-strip{grid-template-columns:1fr 1fr !important;}
}
/* Extra-small phones: shrink a touch more to keep all columns visible */
@media(max-width:400px){
  body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-modern-pricing th,
  body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-modern-pricing td{font-size:10px !important;padding:5px 2px !important;}
  body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-modern-pricing th{font-size:9px !important;}
  body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-tier-button{font-size:10px !important;padding:0 2px !important;}
}
