.elementor-kit-6{--e-global-color-primary:#003C73;--e-global-color-secondary:#008FD6;--e-global-color-text:#131A28;--e-global-color-accent:#ECAB44;--e-global-color-1867570:#47474747;--e-global-color-a5c42d7:#000E34;--e-global-color-dbaff0f:#E5EBF1;--e-global-typography-primary-font-family:"Overpass";--e-global-typography-primary-font-size:38px;--e-global-typography-primary-font-weight:700;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-primary-line-height:1.15em;--e-global-typography-primary-letter-spacing:0px;--e-global-typography-primary-word-spacing:0px;--e-global-typography-secondary-font-family:"Overpass";--e-global-typography-secondary-font-size:26px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-text-transform:none;--e-global-typography-secondary-line-height:24px;--e-global-typography-secondary-letter-spacing:0px;--e-global-typography-secondary-word-spacing:0px;--e-global-typography-text-font-family:"Overpass";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:300;--e-global-typography-text-line-height:1.6em;--e-global-typography-text-letter-spacing:0px;--e-global-typography-text-word-spacing:0px;--e-global-typography-accent-font-family:"Overpass";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-line-height:16px;--e-global-typography-accent-letter-spacing:0px;--e-global-typography-accent-word-spacing:0px;--e-global-typography-65a8a5b-font-family:"Overpass";--e-global-typography-65a8a5b-font-size:20px;--e-global-typography-65a8a5b-font-weight:500;--e-global-typography-65a8a5b-line-height:20px;--e-global-typography-65a8a5b-letter-spacing:0.2px;--e-global-typography-dd91a76-font-family:"Overpass";--e-global-typography-dd91a76-font-size:20px;--e-global-typography-dd91a76-text-transform:uppercase;--e-global-typography-dd91a76-line-height:22px;--e-global-typography-dd91a76-letter-spacing:0px;--e-global-typography-234cbed-font-family:"Overpass";--e-global-typography-234cbed-font-size:22px;--e-global-typography-234cbed-font-weight:700;--e-global-typography-234cbed-line-height:25px;--e-global-typography-0ef98a8-font-family:"Overpass";--e-global-typography-0ef98a8-font-size:24px;--e-global-typography-0ef98a8-font-weight:700;color:var( --e-global-color-text );font-family:var( --e-global-typography-secondary-font-family ), Open-sans;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:#008FD6;font-family:var( --e-global-typography-primary-font-family ), Open-sans;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );color:#FFFFFF;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:#003C73;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 p{margin-block-end:22px;}.elementor-kit-6 a{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-text-font-family ), Open-sans;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-6 h1{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Open-sans;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-6 h2{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Open-sans;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-6 h3{color:var( --e-global-color-primary );font-family:var( --e-global-typography-secondary-font-family ), Open-sans;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-kit-6 h4{color:var( --e-global-color-primary );font-family:var( --e-global-typography-accent-font-family ), Open-sans;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-kit-6 h5{color:var( --e-global-color-primary );font-family:var( --e-global-typography-accent-font-family ), Open-sans;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-kit-6 h6{color:var( --e-global-color-primary );font-family:var( --e-global-typography-accent-font-family ), Open-sans;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-header .site-branding .site-logo img{width:0px;max-width:0px;}.site-header .site-description{color:var( --e-global-color-text );}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1000px){.elementor-kit-6{--e-global-typography-primary-font-size:32px;--e-global-typography-primary-line-height:1.2em;--e-global-typography-primary-letter-spacing:0.5px;--e-global-typography-primary-word-spacing:0em;--e-global-typography-secondary-font-size:22px;--e-global-typography-secondary-line-height:1.3em;--e-global-typography-secondary-letter-spacing:0.3px;--e-global-typography-secondary-word-spacing:0em;--e-global-typography-text-font-size:16px;--e-global-typography-text-line-height:1.6em;--e-global-typography-text-letter-spacing:0px;--e-global-typography-text-word-spacing:0em;--e-global-typography-accent-font-size:14px;--e-global-typography-accent-line-height:1.2em;--e-global-typography-accent-letter-spacing:1px;--e-global-typography-accent-word-spacing:0em;font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-kit-6 a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-6 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-6 h2{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-6 h3{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-kit-6 h4{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-kit-6 h5{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-kit-6 h6{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1047px;}.e-con{--container-max-width:1047px;}}@media(max-width:846px){.elementor-kit-6{--e-global-typography-primary-font-size:28px;font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-kit-6 a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-6 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-6 h2{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-6 h3{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-kit-6 h4{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-kit-6 h5{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-kit-6 h6{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:850px;}.e-con{--container-max-width:850px;}}/* Start custom CSS *//* === JETSMARTFILTERS FONT: MANROPE === */
.jet-search-filter__input,
.jet-search-filter__input::placeholder,
.jet-search-filter__submit,
.jet-search-filter__submit-text {
  font-family: "Overpass Custom", sans-serif !important;
}
/* === TV: WooCommerce product cards - matched to live tanksandvessels.com === */

/* Button wrapper carried a second background; the inner <a> takes the Primary
   global (navy), so the two stacked and showed a dark block inside the bar. */
.woocommerce-loop-product__buttons{background:transparent !important;}

/* Button = live .btn-alt : #008FD6, 16px/500, 15px 25px, square, full width */
.elementor-widget-woocommerce-products .woocommerce-loop-product__buttons .button,
.elementor-widget-woocommerce-products ul.products li.product > a.button{
  display:block;width:100%;box-sizing:border-box;text-align:center;
  background-color:#008FD6 !important;color:#fff !important;
  font-size:16px !important;font-weight:500 !important;
  text-transform:uppercase;letter-spacing:.5px;
  padding:15px 25px !important;border-radius:0 !important;
}
.elementor-widget-woocommerce-products .woocommerce-loop-product__buttons .button:hover{
  background-color:#003C73 !important;color:#fff !important;
}

/* Title = live li.product h2 : 18px/600 #003C73, normal case */
.elementor-widget-woocommerce-products ul.products li.product .woocommerce-loop-product__title{
  color:#003C73 !important;font-size:18px !important;font-weight:600 !important;
  line-height:1.3 !important;text-transform:none !important;
  min-height:72px;padding-top:15px;margin:0;
}

/* === PRODUCT GALLERY ==================================================
   Source photos are small (e.g. 433x577), so the column would upscale and
   soften them. Constrain the IMAGE only - never the slider wrapper or the
   slides. WooCommerce's FlexSlider lays the slides out as floats inside
   .woocommerce-product-gallery__wrapper and moves that wrapper by transform.
   A previous display:flex/justify-content:center on the wrapper re-centred
   the slides inside the 2x-wide track, pushing the first image out of the
   viewport and breaking left/right swiping on mobile. Do not add flex,
   justify-content, or !important widths to that wrapper.
   ==================================================================== */
[data-elementor-type="product"] .woocommerce-product-gallery__image img{
  max-width:100%;
  height:auto;
}

/* Thumbnails: WooCommerce ships
   .woocommerce div.product div.images .flex-control-thumbs li{width:25%}
   which renders 144px on desktop and ~98px on mobile - inconsistent between
   breakpoints and chunky when a product has only two images. Fixed at 88px
   everywhere. Woo's rule is specificity 0,4,3 so this one carries enough
   classes to win outright rather than relying on !important. */
[data-elementor-type="product"] div.woocommerce-product-gallery.images.woocommerce-product-gallery--with-images ol.flex-control-thumbs li{
  width:88px;
  margin:0 10px 10px 0;
}
[data-elementor-type="product"] ol.flex-control-thumbs li img{
  width:100%;
  height:auto;
}

/* Desktop: keep the image at natural size (no upscaling), aligned to the page
   grid and capped so a tall portrait shot cannot outrun the info column. */
@media (min-width:1001px){
  /* WooCommerce ships .woocommerce div.product div.images img{width:100%;height:auto}
     at specificity 0,3,3, which outranked the 0,2,1 rule used here before. The
     result: width was forced to the full 576px column while max-height clamped
     the height to 540px, so a portrait photo (768x1024) was stretched into a
     landscape box and looked squashed. Carry one more class than Woo (0,4,3)
     and let BOTH axes derive from the intrinsic aspect ratio. */
  .woocommerce div.product div.images .woocommerce-product-gallery__image img{
    width:auto;
    height:auto;
    max-width:100%;
    max-height:540px;
    margin-left:0;
    margin-right:auto;
  }
}

/* Tablet & mobile: never upscale. Many source photos are small (e.g. 433x577)
   and width:100% stretched them to fill the column - on a 768px tablet that
   rendered one at 753x1003, a 74% upscale filling 98% of the screen height,
   soft as well as oversized. Same 540px cap as desktop so every product has a
   consistent image height, centred in the slide. Uses the same 0,4,3 .elementor-kit-6
   as the desktop rule because WooCommerce div.product div.images img (0,3,3)
   sets width:100% and would otherwise win. */
@media (max-width:1000px){
  .woocommerce div.product div.images .woocommerce-product-gallery__image img{
    display:block;
    width:auto;
    height:auto;
    max-width:100%;
    max-height:540px;
    margin-left:auto;
    margin-right:auto;
  }
}


/* === PRODUCT GRID - SMALL TABLET BAND ================================
   This kit sets viewport_mobile = 846, so Elementor treats everything up to
   846px as "mobile" and applies .elementor-grid-mobile-1 there. On a phone
   that is right, but it also catches portrait tablets: at 842px the archive
   and the related-products grid both rendered a single column, upscaling a
   300x300 WooCommerce thumbnail to 787x787 (+162%) - huge and soft.
   Give that upper band two columns instead. Phones stay single-column.
   Specificity 0,3,1 to beat .elementor-grid-mobile-1 .elementor-grid (0,2,0)
   inside its own max-width:846px query. */
@media (min-width:600px) and (max-width:846px){
  .elementor-wc-products ul.products.elementor-grid{
    grid-template-columns:repeat(2,1fr);
  }
}


/* === KEY SPECIFICATIONS - ALIGN AS A TABLE ===========================
   Each spec row is a flex container holding a label text-editor plus one or
   two value text-editors, every one set to width:auto. Because the labels
   differ in length (Material: 57px ... Accessories: 82px) the values each
   started at a different x - 972 / 976 / 981 / 993 / 997 - which read as
   sloppily lined up. Giving the label a fixed column makes the values align
   like a table at every screen size.

   Scoped to the spec block of each product template: df7377a Vessels (97),
   7f25ceb Process (13925), 0c466b1 Pumps (13935). The heading container is
   untouched because its first child is a heading widget, not a text-editor.
   A row's optional third widget (the unit, e.g. 'L') still sits directly
   after the value.
   ==================================================================== */
.elementor-element-df7377a .elementor-widget-text-editor:first-child,
.elementor-element-7f25ceb .elementor-widget-text-editor:first-child,
.elementor-element-0c466b1 .elementor-widget-text-editor:first-child{
  flex:0 0 108px;
  width:108px;
  max-width:108px;
}


/* === PRODUCT COLUMNS - CLOSE THE GAP =================================
   The gallery and details columns are both 48% (576px each in a 1200px row).
   But 392 of 400 sampled product photos are portrait, median ratio 0.75, and
   the image is capped at 540px tall - so 90% of them render only 405px wide.
   That left 171px of dead space inside the gallery column, plus the 48px
   column gap: a ~219px void between the photo and the text on desktop.
   Give the gallery only the width its images can actually fill (36% = 432px,
   ~27px slack) and hand the rest to the details column. The image stays
   left-aligned, so it still lines up with the breadcrumb and the RELATED
   PRODUCTS heading below. Desktop only - tablet/mobile stack at 100%.
   ==================================================================== */
@media (min-width:1001px){
  .elementor-element-0c48f42,
  .elementor-element-3bf1f24,
  .elementor-element-493504c{
    width:36%;
  }
  .elementor-element-a7639c4,
  .elementor-element-234aa39,
  .elementor-element-549129c{
    width:60%;
  }
}


/* === PRODUCT TYPOGRAPHY WEIGHTS ======================================
   Body copy inherits font-weight:300 from the child theme's container rule,
   so nothing here sets a weight directly - a plain rule wins on its own.

   1. ENQUIRE ABOUT THIS ... was 600 while every other section heading on the
      page (KEY SPECIFICATIONS, DESCRIPTION, the product title) is 700.
      Matched to 700. Targeted by widget id per template rather than by
      .elementor-widget-heading, so RELATED PRODUCTS stays at its 600.
      927413c Vessels (97), 0527bf2 Process (13925), ef0bb55 Pumps (13935).
   2. Spec labels (Capacity:, Accessories:, ...) 300 -> 600 so the label column
      reads as headers against their values.
   3. Spec values and the product description 300 -> 400. 300 is very light for
      running copy at 15-16px; 400 is the natural step up and keeps values and
      description consistent with each other.
   ==================================================================== */

/* 1. Enquiry box heading */
.elementor-element-927413c .elementor-heading-title,
.elementor-element-0527bf2 .elementor-heading-title,
.elementor-element-ef0bb55 .elementor-heading-title{
  font-weight:700;
}

/* 3a. Spec values. Elementor generates its own per-widget weight rule at
   specificity 0,2,0 in post-97.css, which loads AFTER this kit CSS - a plain
   .block .widget .elementor-kit-6 tied and lost on source order. :not(:first-child)
   lifts this to 0,3,0 and wins outright (and also covers the unit widget,
   e.g. the 'L' after a capacity). */
.elementor-element-df7377a .elementor-element.elementor-widget-text-editor:not(:first-child),
.elementor-element-df7377a .elementor-element.elementor-widget-text-editor:not(:first-child) p,
.elementor-element-7f25ceb .elementor-element.elementor-widget-text-editor:not(:first-child),
.elementor-element-7f25ceb .elementor-element.elementor-widget-text-editor:not(:first-child) p,
.elementor-element-0c466b1 .elementor-element.elementor-widget-text-editor:not(:first-child),
.elementor-element-0c466b1 .elementor-element.elementor-widget-text-editor:not(:first-child) p{
  font-weight:400;
}

/* 2. Spec labels - higher specificity than the rule above, so it wins */
.elementor-element-df7377a .elementor-element.elementor-widget-text-editor:first-child,
.elementor-element-df7377a .elementor-element.elementor-widget-text-editor:first-child p,
.elementor-element-7f25ceb .elementor-element.elementor-widget-text-editor:first-child,
.elementor-element-7f25ceb .elementor-element.elementor-widget-text-editor:first-child p,
.elementor-element-0c466b1 .elementor-element.elementor-widget-text-editor:first-child,
.elementor-element-0c466b1 .elementor-element.elementor-widget-text-editor:first-child p{
  font-weight:600;
}

/* 3b. Product description */
[data-elementor-type="product"] .elementor-widget-woocommerce-product-content,
[data-elementor-type="product"] .elementor-widget-woocommerce-product-content p,
[data-elementor-type="product"] .elementor-widget-woocommerce-product-content li{
  font-weight:400;
}


/* === PRODUCT SECTION SPACING =========================================
   Measured before: KEY SPECIFICATIONS heading -> first row = 5px, but
   DESCRIPTION heading -> first line = 0px, so the two sections looked
   unevenly set. And only 10px separated the end of the spec list from the
   DESCRIPTION heading, so the two blocks ran together.

   Selectors carry .elementor-element to reach 0,4,0 - Elementor emits
   .elementor-97 .elementor-element.elementor-element-{id} at 0,3,0 in
   post-{template}.css, which loads after this kit CSS and would otherwise win.

   1. Heading -> body gap set to 10px in BOTH sections (was 5 and 0).
   2. Gap between the spec list and DESCRIPTION raised 10px -> 30px.
   ==================================================================== */

/* 1a. KEY SPECIFICATIONS heading -> first spec row */
.elementor-element.elementor-element-968d954,
.elementor-element.elementor-element-2ccee32,
.elementor-element.elementor-element-7beddce{
  padding-bottom:7px;
}

/* 1b. DESCRIPTION heading -> description text (heading and content are
      siblings inside this container, previously flush at 0px) */
/* Elementor emits a margin SHORTHAND for this heading widget at 0,3,0 in
   post-{template}.css (loads after the kit), e.g. .elementor-13935
   .elementor-element.elementor-element-b5c3c45{margin:0 0 calc(...) 0}. A
   0,3,0 rule here tied and lost, so carry .elementor-element for 0,4,0. */
.elementor-element.elementor-element-09fd413 .elementor-element.elementor-widget-heading,
.elementor-element.elementor-element-39da2b8 .elementor-element.elementor-widget-heading,
.elementor-element.elementor-element-fe2021c .elementor-element.elementor-widget-heading{
  margin-bottom:10px;
}

/* 2. Separate the DESCRIPTION block from the spec list above it.
      Parent container gap is 10px, so 20px more gives 30px total. */
.elementor-element.elementor-element-09fd413,
.elementor-element.elementor-element-39da2b8,
.elementor-element.elementor-element-fe2021c{
  margin-top:20px;
}


/* 3. The email contact row carries its own 3px gap at mobile while the phone
      row keeps 10px, so the envelope sat tight against its text on phones.
      EMAIL ROW GAP - normalise both rows to 10px at every width. Elementor
      drives container gaps through the --gap custom property, so set that as
      well as gap itself. .e-con.e-flex takes this to 0,4,0 to beat Elementor's
      own .elementor-97 .elementor-element.elementor-element-{id} at 0,3,0. */
.elementor-element.elementor-element-aaedacb.e-con.e-flex,
.elementor-element.elementor-element-b9851a6.e-con.e-flex,
.elementor-element.elementor-element-b4d5ff5.e-con.e-flex{
  --gap:10px;
  gap:10px;
}


/* === SECTION SEPARATION - TABLET AND MOBILE =========================
   Below 1001px everything collapses to one column, so image, enquiry box,
   spec list and description stack and the sections run together.
   Centring the headings was considered and rejected: at 375px the product
   title, both headings, the spec labels and the description text all share
   a left edge at x=5, and centring two of them would break that rail while
   leaving their own content left-aligned.
   Instead: more space above each section + a hairline under each heading.
   Desktop untouched - the wider layout already separates them.

   ANCHOR NOTE: the two headings sit in different-width wrappers. The spec
   heading WIDGET is only 250px (auto width) while its CONTAINER is full
   width; the description heading widget is already full width. So the rule
   goes on the spec heading CONTAINER and the description heading WIDGET -
   both 360px at 375px - or the two rules would be different lengths.
   Extra class on each .elementor-kit-6 gives 0,4,0 to beat Elementor 0,3,0 rules
   in post-{template}.css, which loads after this kit CSS.
   ==================================================================== */
@media (max-width:1000px){
  .elementor-element.elementor-element-df7377a.e-con.e-flex,
  .elementor-element.elementor-element-7f25ceb.e-con.e-flex,
  .elementor-element.elementor-element-0c466b1.e-con.e-flex{
    margin-top:22px;
  }
  .elementor-element.elementor-element-09fd413.e-con.e-flex,
  .elementor-element.elementor-element-39da2b8.e-con.e-flex,
  .elementor-element.elementor-element-fe2021c.e-con.e-flex{
    margin-top:22px;
  }
  /* hairline under KEY SPECIFICATIONS (on the heading container) */
  .elementor-element.elementor-element-968d954.e-con.e-flex,
  .elementor-element.elementor-element-2ccee32.e-con.e-flex,
  .elementor-element.elementor-element-7beddce.e-con.e-flex{
    padding-bottom:8px;
    margin-bottom:10px;
    border-bottom:1px solid rgba(0,60,115,.15);
  }
  /* hairline under DESCRIPTION (on the heading widget) */
  .elementor-element.elementor-element-09fd413 .elementor-element.elementor-widget-heading,
  .elementor-element.elementor-element-39da2b8 .elementor-element.elementor-widget-heading,
  .elementor-element.elementor-element-fe2021c .elementor-element.elementor-widget-heading{
    padding-bottom:8px;
    margin-bottom:10px;
    border-bottom:1px solid rgba(0,60,115,.15);
  }
}


/* Sticky header is now handled by Elementor's native Motion Effects setting on
   the header containers (a5b0739 desktop, 295397c mobile), so it is visible and
   editable in the panel. The previous CSS override was removed to avoid two
   mechanisms fighting. *//* End custom CSS */