/* 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;
}
body.ptr-ux-product-template-30369 .elementor-30369 .woocommerce-product-gallery__image img{
  display:block !important;
  width:100% !important;
  max-height:520px !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:18px !important;
  background:#fff !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-image-trust-strip div{
  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 span{font-size:24px !important;color:var(--ptr-teal) !important;line-height:1 !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:17px 14px !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;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-modern-pricing td{
  font-size:16px !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;
}

/* 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:28px 30px !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(38px,3.1vw,50px) !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:58px 116px 58px !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:116px !important;
  height:58px !important;
  min-height:58px !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:28px !important;
  font-weight:850 !important;
  line-height:58px !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:58px !important;
  height:58px !important;
  min-height:58px !important;
  padding:0 !important;
  border:1px solid var(--ptr-border) !important;
  background:#f9fafb !important;
  color:#475467 !important;
  font-size:31px !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:wrap !important;
  gap:10px !important;
  margin:16px 0 0 !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-tier-button{
  min-height:38px !important;
  padding:0 18px !important;
  border:1px solid var(--ptr-border) !important;
  border-radius:8px !important;
  background:#fff !important;
  color:var(--ptr-text) !important;
  font-size:16px !important;
  font-weight:800 !important;
  cursor:pointer !important;
  line-height:1 !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 as a proper accordion, after buttons */
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-panel{
  order:40 !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 !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:22px 24px !important;
  border:0 !important;
  background:#fff !important;
  color:var(--ptr-text) !important;
  font-size:18px !important;
  font-weight:900 !important;
  text-align:left !important;
  cursor:pointer !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-pencil{font-size:24px !important;margin-right:10px !important;}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-toggle small{color:var(--ptr-muted) !important;font-size:13px !important;font-weight:700 !important;}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-chevron{font-size:24px !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;}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-content{display:none !important;border-top:1px solid var(--ptr-border-soft) !important;padding:24px !important;}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-panel.is-open .ptr-ux-personalization-content{display:block !important;}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-content .tc-section-label-text{display:none !important;}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-content .tc-row{display:grid !important;grid-template-columns:1fr 1fr !important;gap:28px !important;align-items:start !important;}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-content .tc-container{width:100% !important;max-width:none !important;}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-content label{font-size:15px !important;font-weight:800 !important;color:#344054 !important;}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-content textarea{
  width:100% !important;
  min-height:120px !important;
  border:1px solid var(--ptr-border) !important;
  border-radius:9px !important;
  background:#fff !important;
  padding:14px !important;
}
body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-content input[type=file]{
  width:100% !important;
  min-height:104px !important;
  padding:34px 22px !important;
  border:1px dashed #b8c0cc !important;
  border-radius:10px !important;
  background:#fff !important;
}

/* Hide source Elementor price widget */
body.ptr-ux-product-template-30369 .elementor-30369 .elementor-widget-woocommerce-product-price.ptr-ux-price-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;color:var(--ptr-teal) !important;font-size:22px !important;margin-bottom: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;}
  body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-modern-pricing{overflow-x:auto !important;}
  body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-modern-pricing table{min-width:680px !important;}
  body.ptr-ux-product-template-30369 .elementor-30369 .ptr-ux-personalization-content .tc-row{grid-template-columns:1fr !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;}
}
