/* Shared brand styles for native, visually editable Elementor widgets. */
.wf-visual-page { --wf-font-display: 'Barlow Semi Condensed', sans-serif; }
.wf-visual-page > .elementor { padding-top: 96px; }
.wf-visual-page .e-con { --container-widget-width: 100%; }
.wf-builder-row.e-con { padding: 0; gap: 0; }
.wf-inner.e-con { width: var(--shell); max-width: 1180px; margin-inline: auto; padding: 0; }
.wf-visual-page .elementor-widget { margin: 0; }
.wf-visual-page .elementor-heading-title { font-family: var(--wf-font-display); font-weight: 700; letter-spacing: -.02em; line-height: 1.06; color: inherit; }
.wf-visual-page .elementor-widget-text-editor { font-family: var(--body); color: inherit; }
.wf-visual-page .elementor-widget-text-editor p { margin: 0; }
.wf-visual-page .elementor-widget-text-editor p + p { margin-top: 16px; }
.wf-visual-page .elementor-button { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 12px 19px; border-radius: 5px; background: var(--red); color: #fff; font-family: var(--body); font-size: 16px; font-weight: 700; text-decoration: none; line-height: 1.2; }
.wf-visual-page .elementor-button:hover { background: #bc0610; color: #fff; }
.wf-button-outline .elementor-button { background: #070d1280; border: 2px solid #d2d7d9; padding-block: 10px; }
.wf-button-outline .elementor-button:hover { background: #1d2a33; }
.wf-visual-page .wf-kicker { color: var(--red); font-size: 14px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.wf-hero.e-con { min-height: 440px; color: #fff; padding-block: 38px; justify-content: center; }
.wf-hero-copy.e-con { width: min(565px, 100%); gap: 15px; }
.wf-hero-title .elementor-heading-title { font-size: 52px; text-transform: uppercase; color: var(--red); text-wrap: balance; }
.wf-hero-title .elementor-heading-title::first-line { color: #fff; }
.wf-hero-title .accent { display: block; }
.wf-hero-promise { font-size: 21px; font-weight: 700; }
.wf-hero-description { max-width: 455px; font-size: 17px; line-height: 1.4; }
.wf-actions.e-con { flex-direction: row; flex-wrap: wrap; gap: 13px; padding: 0; margin-top: 5px; }
.wf-actions .elementor-widget-button { width: auto; }
.wf-services { background: #edf1f4; }
.wf-services .wf-inner { padding-block: 24px; }
.wf-service.e-con { width: 25%; padding: 0 20px; gap: 8px; text-align: center; border-right: 1px solid #cbd2d6; }
.wf-service.e-con:last-child { border-right: 0; }
.wf-service .elementor-widget-icon { width: 100%; }
.wf-service .elementor-icon { color: var(--red); font-size: 38px; }
.wf-service .elementor-icon svg { fill: var(--red); width: 38px; height: 38px; }
.wf-service .elementor-heading-title { font-size: 21px; }
.wf-service .elementor-heading-title a { color: inherit; text-decoration: none; }
.wf-service .elementor-widget-text-editor { font-size: 16px; line-height: 1.35; }
.wf-about { background: #0b1115; color: #fff; }
.wf-about .wf-inner { align-items: center; gap: 30px; }
.wf-about-image { width: 32%; align-self: stretch; }
.wf-about-image .elementor-widget-container { height: 100%; }
.wf-visual-page .wf-about-image img { display: block; width: 100%; height: 270px; object-fit: cover; object-position: 72% center; }
.wf-about-copy.e-con { width: 42%; gap: 14px; padding-block: 24px; }
.wf-about-copy .elementor-heading-title { font-size: 28px; text-transform: uppercase; }
.wf-about-copy .elementor-widget-text-editor { font-size: 16px; }
.wf-about-aside.e-con { width: 26%; border-left: 1px solid #657078; padding: 5px 0 5px 25px; gap: 20px; }
.wf-about-aside .elementor-icon-list-item { font-size: 14px; padding-bottom: 6px; }
.wf-about-aside .elementor-icon-list-icon i { color: var(--red); }
.wf-about-aside .elementor-icon-list-icon svg { fill: var(--red); width: 18px; }
.wf-about-aside .elementor-icon-list-text { color: #fff; }
.wf-signoff { font: italic 700 23px / 1.2 var(--wf-font-display); }
.wf-range { background: #edf1f4; }
.wf-range .wf-inner { padding-block: 26px; gap: 28px; align-items: center; }
.wf-range-intro.e-con { width: 29%; gap: 13px; }
.wf-range-intro .elementor-heading-title { font-size: 29px; text-transform: uppercase; }
.wf-range-intro .elementor-widget-text-editor { font-size: 15px; }
.wf-equipment-grid.e-con { width: 71%; gap: 15px; padding: 0; }
.wf-equipment-card.e-con { width: 25%; padding: 0; gap: 0; }
.wf-equipment-photo { position: relative; width: 100%; overflow: hidden; aspect-ratio: 1.08; }
.wf-equipment-photo .elementor-widget-container { position: relative; overflow: hidden; aspect-ratio: 1.08; background: #e4e8ec; }
.wf-equipment-photo img { width: 100%; height: 100%; object-fit: contain; }
.wf-equipment-photo img[src*="weldfix-equipment-range"] { position: absolute; top: 0; left: 0; max-width: none; width: 400%; height: 100%; object-fit: fill; }
.wf-tig img[src*="weldfix-equipment-range"] { left: -100%; }
.wf-plasma img[src*="weldfix-equipment-range"] { left: -200%; }
.wf-accessories img[src*="weldfix-equipment-range"] { left: -300%; }
.wf-equipment-caption { width: 100%; min-height: 49px; padding: 8px; border: 1px solid #cbd2d6; font-size: 14px; }
.wf-equipment-caption a { color: #10191f; text-decoration: none; }
.wf-equipment-types { background: #e6ebef; }
.wf-equipment-types .wf-inner { padding-block: 17px; align-items: center; justify-content: space-between; gap: 20px; }
.wf-equipment-types .elementor-widget { width: auto; }
.wf-equipment-types .elementor-heading-title { font-size: 26px; font-style: italic; }
.wf-equipment-types .elementor-widget-text-editor { font-size: 13px; text-transform: uppercase; }
.wf-content-row .wf-inner { padding-block: 48px; gap: 23px; }
.wf-content-row .elementor-heading-title { font-size: 36px; }
.wf-content-row .wf-page-title .elementor-heading-title { font-size: clamp(36px, 5vw, 58px); text-transform: uppercase; }
.wf-page-intro { max-width: 760px; font-size: 20px; line-height: 1.5; }
.wf-content-copy { max-width: 780px; }
.wf-content-copy h3 { margin: 25px 0 9px; font: 700 25px / 1.2 var(--wf-font-display); }
.wf-content-copy p, .wf-content-copy li { max-width: 68ch; }
.wf-content-copy ul { padding-left: 23px; }
.wf-content-copy li { margin-bottom: 9px; }
.wf-faq .elementor-tab-title { font: 700 23px / 1.3 var(--wf-font-display); }
.wf-faq .elementor-tab-title a { color: #111c23; }
.wf-faq .elementor-tab-content { font: 16px / 1.6 var(--body); }
.wf-contact-row { color: #fff; background: var(--coal-soft); }
.wf-contact-row .wf-inner { align-items: flex-start; gap: 55px; }
.wf-contact-details.e-con { width: 40%; gap: 20px; }
.wf-contact-form.e-con { width: 60%; gap: 20px; }
.wf-contact-form { scroll-margin-top: 110px; }
.wf-contact-details dl { margin: 0; }
.wf-contact-details dl > div { margin-bottom: 17px; }
.wf-contact-details dt { font-size: 13px; color: #b7c5cd; text-transform: uppercase; }
.wf-contact-details dd { margin: 4px 0 0; font-size: 19px; }
.wf-contact-form .fluentform { color: #fff; }
.wf-contact-form .fluentform label, .wf-contact-form .fluentform .ff-el-input--label { color: #e7eef2; }
.wf-contact-form .fluentform .ff-el-form-control { border: 1px solid #64737c; background: #090f13; color: #fff; font: 16px var(--body); border-radius: 3px; min-height: 44px; padding: 12px; }
.wf-contact-form .fluentform .ff-el-form-control::placeholder { color: #afbbc3; }
.wf-contact-form .fluentform select { color-scheme: dark; }
.wf-contact-form .fluentform .ff-btn-submit { background: var(--red); color: #fff; min-height: 46px; font: 700 16px var(--body); }
.wf-contact-form .fluentform .ff-message-success { color: #fff; border-color: #70d19a; }
.wf-article-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; }
.wf-article { border-top: 2px solid var(--red); padding-top: 20px; }
.wf-article img { width: 100%; height: 190px; object-fit: cover; }
.wf-article h3 { margin: 15px 0 10px; font-size: 25px; }
.wf-article time { color: #52616a; font-size: 14px; }
.wf-article a { text-underline-offset: 4px; }
.wf-posts-empty { padding-block: 20px; }
.wf-visual-page .wf-article h3 { font-family: var(--wf-font-display); }
.wf-testimonials { background: #edf1f4; }
.wf-testimonials .elementor-testimonial-content { font: 23px / 1.5 var(--body); color: #13212a; }
@media (max-width: 960px) {
  .wf-services .wf-inner { flex-wrap: wrap; row-gap: 25px; }
  .wf-service.e-con { width: 50%; }
  .wf-service.e-con:nth-child(2) { border-right: 0; }
  .wf-about .wf-inner { flex-wrap: wrap; }
  .wf-about-image { width: 40%; }
  .wf-about-copy.e-con { width: calc(60% - 30px); }
  .wf-about-aside.e-con { width: 100%; border: 0; padding: 0 0 25px; }
  .wf-range .wf-inner { flex-wrap: wrap; }
  .wf-range-intro.e-con, .wf-equipment-grid.e-con { width: 100%; }
  .wf-range-intro { max-width: 650px; }
  .wf-equipment-types .wf-inner { flex-wrap: wrap; }
}
@media (max-width: 660px) {
  .wf-visual-page > .elementor { padding-top: 76px; }
  .wf-hero.e-con { min-height: 540px; padding-block: 40px; }
  .wf-hero.e-con::before { background-image: linear-gradient(90deg, rgba(3,7,10,.9), rgba(3,7,10,.6)); }
  .wf-hero-copy.e-con { position: relative; isolation: isolate; }
  .wf-hero-copy.e-con::before { content: ''; position: absolute; z-index: -1; inset: -18px -12px; background: linear-gradient(90deg, rgba(3,7,10,.78), rgba(3,7,10,.38) 75%, transparent); border-radius: 8px; pointer-events: none; }
  .wf-hero-title .elementor-heading-title { font-size: clamp(35px,9.3vw,49px); }
  .wf-hero .wf-kicker { font-size: 11px; }
  .wf-hero-description { font-size: 16px; }
  .wf-hero-promise { font-size: 18px; }
  .wf-visual-page .elementor-button { font-size: 15px; }
  .wf-service.e-con { padding-inline: 10px; }
  .wf-service .elementor-heading-title { font-size: 19px; }
  .wf-service .elementor-widget-text-editor { font-size: 14px; }
  .wf-about .wf-inner { gap: 0; }
  .wf-about-image, .wf-about-copy.e-con { width: 100%; }
  .wf-visual-page .wf-about-image img { height: 220px; }
  .wf-about-copy.e-con { padding-block: 25px; }
  .wf-equipment-grid.e-con { flex-wrap: wrap; gap: 18px; }
  .wf-equipment-card.e-con { width: calc(50% - 9px); }
  .wf-content-row .wf-inner { padding-block: 32px; }
  .wf-contact-row .wf-inner { flex-wrap: wrap; gap: 30px; }
  .wf-contact-details.e-con, .wf-contact-form.e-con { width: 100%; }
  .wf-content-row .elementor-heading-title { font-size: 31px; }
  .wf-article-grid { grid-template-columns: 1fr; }
}
