/*
Theme Name: Salient Child Theme
Description: This is a custom child theme for Salient
Theme URI:   https://themeforest.net/item/salient-responsive-multipurpose-theme/4363266
Author: ThemeNectar
Author URI:  https://themeforest.net/user/themenectar
Template: salient
Version: 1.0
*/




/* =====================================================================
 * ALMCO RESPONSIVE REFINEMENTS — 
 * ===================================================================== */

@media (max-width: 999px) {
  /* Viewport-unit equipment titles had shrunk to about 20px on phones. */
  body .productHero .largeHeading,
  body .productHero .largeHeading h1 {
    font-size: clamp(30px, 5vw, 44px) !important;
    line-height: 1.12 !important;
  }
  body .productHero .largeHeading { margin-top: 0 !important; }

  /* Put decorative heading accents on their own line so long labels fit. */
  body .smallHeading:not(.footerMenuHeading):not(.footerContacts) h2,
  body .smallHeading:not(.footerMenuHeading):not(.footerContacts) p {
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.3 !important;
  }
  body .smallHeading:not(.footerMenuHeading):not(.footerContacts) h2::after,
  body .smallHeading:not(.footerMenuHeading):not(.footerContacts) p::after {
    position: static;
    display: block;
    margin: 8px 0 0;
  }

  /* Industry/media hero titles should be visible in the first phone screen.
   * Reuse the existing desktop image instead of the inherited demo phone art. */
  body .nectar_section.top-level.min_height_desktop_100svh {
    min-height: 60svh !important;
    padding-bottom: 24px !important;
  }
  body .nectar_section.top-level.min_height_desktop_100svh .row-bg.viewport-phone {
    display: none !important;
  }
  body .nectar_section.top-level.min_height_desktop_100svh .row-bg.viewport-desktop {
    display: block !important;
  }
  body .nectar_section.top-level.min_height_desktop_100svh .fitty-fit {
    white-space: normal !important;
    font-size: clamp(30px, 5vw, 48px) !important;
    line-height: 1.1 !important;
    max-width: 100%;
  }
  body .nectar_section.top-level.min_height_desktop_100svh .fitty-fit h2 {
    font-size: inherit !important;
    line-height: inherit !important;
    overflow-wrap: anywhere;
  }

  /* Tables scroll inside their own existing text blocks, not off-screen. */
  body .wpb_text_column:has(table),
  body .almco2-table-wrap {
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  body .o-scroll { overflow-y: visible; }

  /* Remove desktop dividers from stacked footer columns. */
  body .footerPrimaryRow .footerMenuColumnContainer {
    border-left: 0;
  }
  body .footerPrimaryRow .footerMenuColumnContainer > .vc_column-inner {
    padding-left: 0 !important;
  }
  body .footerMainTop .footerContactText { overflow-wrap: anywhere; }
}

@media (max-width: 690px) {
  /* Home hero copy used 35% right padding and 90px top/bottom spacing. */
  body.home .top-level.first-section {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
  body.home .top-level .right_padding_desktop_35pct > .vc_column-inner {
    padding-right: 0 !important;
  }
  body.home .top-level .nectar-split-heading,
  body.home .top-level .nectar-split-heading * {
    font-size: clamp(27px, 7.8vw, 40px) !important;
    line-height: 1.15 !important;
  }
  body.home .top-level > .row-bg-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(8, 24, 37, 0.42);
    z-index: 2;
  }

  /* Keep service icons beside readable text and use more tab-panel space. */
  body .horizontalIconBlock > .row_col_wrap_12_inner {
    display: flex;
    flex-wrap: nowrap;
    gap: 14px;
    align-items: flex-start;
  }
  body .horizontalIconBlock > .row_col_wrap_12_inner > .vc_col-sm-2 {
    width: 48px !important;
    flex: 0 0 48px;
    margin: 0 !important;
  }
  body .horizontalIconBlock > .row_col_wrap_12_inner > .vc_col-sm-10 {
    width: auto !important;
    flex: 1 1 0;
    min-width: 0;
    margin: 0 !important;
  }
  body .horizontalIconText { width: auto; max-width: 100%; }
  body .productTabs .wpb_tab { padding: 20px 16px !important; }
  body .productTabs .tab-item a { white-space: normal; line-height: 1.35; }

  /* Long article titles need smaller, readable multiline type on phones. */
  body.single-post h1 {
    font-size: clamp(28px, 7.5vw, 36px) !important;
    line-height: 1.15 !important;
    overflow-wrap: anywhere;
  }
}
@media (max-width: 999px) {
  /* Media flip cards kept 60px padding on small screens, crowding both faces. */
  body .nectar-flip-box .flip-box-front .inner,
  body .nectar-flip-box .flip-box-back .inner {
    padding: 24px !important;
    overflow-wrap: anywhere;
  }
  /* News-card long words also need wrapping on tablets. */
  body .nectar-recent-post-slide h3 { overflow-wrap: anywhere; }
}

@media (max-width: 690px) {
  /* Contain filled CTA buttons in narrow overview columns and media rows. */
  body .nectar-cta[data-using-bg="true"] {
    max-width: 100%;
    margin-right: 0 !important;
  }
  body .nectar-cta[data-using-bg="true"] .link_wrap {
    display: inline-block;
    box-sizing: border-box;
    max-width: 100%;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  body .nectar-cta[data-using-bg="true"] .link_text {
    box-sizing: border-box;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  /* Prevent long words from escaping narrow headings/article columns. */
  body.single-post p { overflow-wrap: anywhere; }
  body.page-id-6821 h1 {
    font-size: clamp(28px, 8vw, 41px) !important;
    line-height: 1.15 !important;
    overflow-wrap: anywhere;
  }
  /* Consistent phone gutters for the shared footer. */
  body .footerMainTop > .row_col_wrap_12 {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}
/* END ALMCO RESPONSIVE REFINEMENTS */

/* ALMCO FOOTER NEW MENU — START */
/* Keep long menu labels within their column at every width. */
.footerPrimaryRow .footerMenuColumnContainer .footerMenuColumn {
  min-width: 0;
}
.footerPrimaryRow .footerMenuColumnContainer .footerMenuList a {
  overflow-wrap: anywhere;
}

/* Give the five menus room to wrap below laptop widths. */
@media (max-width: 1199px) {
  .footerPrimaryRow .footerMenuColumnContainer .inner_row > .row_col_wrap_12_inner {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 32px;
    align-items: start;
  }
  .footerPrimaryRow .footerMenuColumnContainer .footerMenuColumn {
    width: auto !important;
    flex: none !important;
    margin: 0 !important;
    padding: 0 18px !important;
  }
}

@media (max-width: 999px) {
  .footerPrimaryRow .footerMenuColumnContainer .inner_row > .row_col_wrap_12_inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 599px) {
  .footerPrimaryRow .footerMenuColumnContainer .inner_row > .row_col_wrap_12_inner {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 28px;
  }
  .footerPrimaryRow .footerMenuColumnContainer .footerMenuColumn {
    padding: 0 20px !important;
  }
}

/* White footer mark on the black background. */
.footerPrimaryRow .footerLogoColumn img.img-with-animation {
  filter: brightness(0) invert(1);
}

/* Keep the copyright line distinct from the main footer. */
.footerCopyrightBar,
.footerCopyrightBar .row-bg {
  background-color: #181818 !important;
}
.footerCopyrightBar .wpb_text_column {
  margin-bottom: 0 !important;
  text-align: center;
}
.footerCopyrightBar p {
  margin: 0;
  color: #d6d6d6;
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: .02em;
}
.footerPrimaryRow .footerLogoColumn img.img-with-animation {
    filter: brightness(0) invert(1);
}

/* Center the contact cards as the footer narrows. */
@media (max-width: 1199px) {
  .footerContactRow > .row_col_wrap_12 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 36px 24px;
    align-items: start;
  }
  .footerContactRow > .row_col_wrap_12 > .wpb_column {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border-left: 0 !important;
    text-align: center !important;
  }
  .footerContactRow > .row_col_wrap_12 > .wpb_column > .vc_column-inner > .wpb_wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .footerContactRow .inner_row { width: 100% !important; }
  .footerContactRow .footerContacts,
  .footerContactRow .footerContacts p,
  .footerContactRow .footerContactText {
    text-align: center !important;
  }
  .footerContactRow .footerContacts { justify-content: center !important; }
  .footerContactRow .footerIcon {
    margin-right: auto !important;
    margin-left: auto !important;
  }
}
@media (max-width: 999px) {
  .footerPrimaryRow .footerMenuColumnContainer { margin-top: 30px !important; }
  .footerContactRow > .row_col_wrap_12 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 599px) {
  .footerContactRow > .row_col_wrap_12 {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* ALMCO FOOTER NEW MENU — END */

/* ================================================================
   ALMCO EQUIPMENT QUOTE FORM — START
   Scoped to the editable WPBakery row on equipment pages.
   ================================================================ */
.equipmentQuoteSection {
  margin: 70px auto 90px;
  padding: 75px 38px !important;
  background: #f3f6f8;
  border: 1px solid #dce4e9;
  border-radius: 12px;
}
.equipmentQuoteSection .equipmentQuoteEyebrow {
  color: #ea6432;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.4;
  margin-bottom: 16px;
}
.equipmentQuoteSection h2 {
  color: #2c3d53;
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1.15;
  margin-bottom: 20px;
  text-transform: none;
}
.equipmentQuoteSection .vc_col-sm-4 .wpb_text_column > p:last-child {
  color: #4b5868;
  font-size: 17px;
  line-height: 1.6;
}
.equipmentQuoteSection .vc_col-sm-8 .wpb_text_column {
  background: #fff;
  border: 1px solid #e1e7ec;
  border-radius: 10px;
  box-shadow: 0 8px 28px rgba(44, 61, 83, .07);
  margin-bottom: 0;
  padding: 32px;
}
.equipmentQuoteSection .gform_wrapper { margin: 0; }
.equipmentQuoteSection .gform_wrapper .gform_fields { row-gap: 20px; }
.equipmentQuoteSection .gform_wrapper .gfield_label {
  color: #2c3d53;
  font-weight: 700;
}
.equipmentQuoteSection .gform_wrapper input[type=text],
.equipmentQuoteSection .gform_wrapper input[type=email],
.equipmentQuoteSection .gform_wrapper input[type=tel],
.equipmentQuoteSection .gform_wrapper textarea {
  border: 1px solid #cbd4dd;
  border-radius: 5px;
  box-shadow: none;
  min-height: 48px;
}
.equipmentQuoteSection .gform_wrapper textarea { min-height: 150px; }
.equipmentQuoteSection .gform_wrapper input:focus,
.equipmentQuoteSection .gform_wrapper textarea:focus {
  border-color: #2c3d53;
  outline-color: #2c3d53;
}
.equipmentQuoteSection .gform_wrapper .gform_footer {
  margin-top: 24px;
  padding: 0;
}
.equipmentQuoteSection .gform_wrapper .gform_button {
  background: #ea6432 !important;
  border: 1px solid #ea6432 !important;
  border-radius: 5px !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  min-height: 50px;
  padding: 12px 28px !important;
}
.equipmentQuoteSection .gform_wrapper .gform_button:hover,
.equipmentQuoteSection .gform_wrapper .gform_button:focus {
  background: #c94e22 !important;
  border-color: #c94e22 !important;
}
@media (max-width: 999px) {
  .equipmentQuoteSection { margin: 54px auto 70px; padding: 54px 28px !important; }
  .equipmentQuoteSection > .row_col_wrap_12 { display: block; }
  .equipmentQuoteSection > .row_col_wrap_12 > .wpb_column {
    float: none;
    margin: 0;
    width: 100%;
  }
  .equipmentQuoteSection .vc_col-sm-4 { margin-bottom: 28px !important; }
}
@media (max-width: 599px) {
  .equipmentQuoteSection {
    margin: 40px auto 55px;
    padding: 32px 18px !important;
  }
  .equipmentQuoteSection h2 { font-size: 30px; }
  .equipmentQuoteSection .vc_col-sm-8 .wpb_text_column { padding: 22px 18px; }
  .equipmentQuoteSection .gform_wrapper .gform_button { width: 100%; }
}
/* ALMCO EQUIPMENT QUOTE FORM — END */


/* ALMCO CONTACT PAGE — START */
.almcoContactSection h1 {
  color: #2c3d53;
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1.15;
  margin-bottom: 20px;
  text-transform: none !important;
}
.almcoContactSection h3 {
  color: #2c3d53;
  font-size: 21px;
  line-height: 1.3;
  margin: 30px 0 8px;
}
.almcoContactSection .gform_wrapper {
  background: #fff;
  border: 1px solid #e1e7ec;
  border-radius: 10px;
  box-shadow: 0 8px 28px rgba(44, 61, 83, .07);
  padding: 32px;
}
@media (max-width: 999px) {
  .almcoContactSection > .row_col_wrap_12 > .wpb_column:first-child {
    margin-bottom: 28px !important;
  }
}
@media (max-width: 599px) {
  .almcoContactSection h1 { font-size: 30px; }
  .almcoContactSection .gform_wrapper { padding: 22px 18px; }
}
/* ALMCO CONTACT PAGE — END */

/* ALMCO GRAVITY FORMS PHONE FIELD — START */
.equipmentQuoteSection .gform-phone__country-selector,
.almcoContactSection .gform-phone__country-selector {
  box-sizing: border-box;
  height: 48px !important;
  min-height: 48px !important;
}
/* ALMCO GRAVITY FORMS PHONE FIELD — END */

/* ALMCO HOME AND INDUSTRY EQUIPMENT TABS — START */
/* Scope the active underline to the shared Find Your Equipment section. */
body:is(.page-id-5909, .page-id-6279, .page-id-6270, .page-id-6289, .page-id-6630, .page-id-6283, .page-id-6627, .page-id-6286, .page-id-6623, .page-id-6281) .tabbed[data-style="minimal_alt"]:has(#tab-all-solutions) > .wpb_tabs_nav .magic-line {
  display: none !important;
}
body:is(.page-id-5909, .page-id-6279, .page-id-6270, .page-id-6289, .page-id-6630, .page-id-6283, .page-id-6627, .page-id-6286, .page-id-6623, .page-id-6281) .tabbed[data-style="minimal_alt"]:has(#tab-all-solutions) > .wpb_tabs_nav > .tab-item > a::after {
  display: none !important;
}
body:is(.page-id-5909, .page-id-6279, .page-id-6270, .page-id-6289, .page-id-6630, .page-id-6283, .page-id-6627, .page-id-6286, .page-id-6623, .page-id-6281) .tabbed[data-style="minimal_alt"]:has(#tab-all-solutions) > .wpb_tabs_nav > .tab-item.active-tab > a::after {
  display: block !important;
  height: 2px;
  bottom: 0;
}
/* ALMCO HOME AND INDUSTRY EQUIPMENT TABS — END */

/* ALMCO HOME AND INDUSTRY EQUIPMENT CAROUSEL IMAGES — START */
/* Keep each equipment image contained in an even 4:3 frame. */
body:is(.page-id-5909, .page-id-6279, .page-id-6270, .page-id-6289, .page-id-6630, .page-id-6283, .page-id-6627, .page-id-6286, .page-id-6623, .page-id-6281) :is(#tab-all-solutions, #tab-parts-washing-and-drying, #tab-deburring-and-finishing) .nectar-post-grid-item-bg-wrap,
body:is(.page-id-5909, .page-id-6279, .page-id-6270, .page-id-6289, .page-id-6630, .page-id-6283, .page-id-6627, .page-id-6286, .page-id-6623, .page-id-6281) :is(#tab-all-solutions, #tab-parts-washing-and-drying, #tab-deburring-and-finishing) .nectar-post-grid-item-bg-wrap-inner,
body:is(.page-id-5909, .page-id-6279, .page-id-6270, .page-id-6289, .page-id-6630, .page-id-6283, .page-id-6627, .page-id-6286, .page-id-6623, .page-id-6281) :is(#tab-all-solutions, #tab-parts-washing-and-drying, #tab-deburring-and-finishing) .nectar-post-grid-item-bg {
  height: auto !important;
  aspect-ratio: 4 / 3;
}
body:is(.page-id-5909, .page-id-6279, .page-id-6270, .page-id-6289, .page-id-6630, .page-id-6283, .page-id-6627, .page-id-6286, .page-id-6623, .page-id-6281) :is(#tab-all-solutions, #tab-parts-washing-and-drying, #tab-deburring-and-finishing) .nectar-post-grid-item-bg {
  background: #ffffff;
}
body:is(.page-id-5909, .page-id-6279, .page-id-6270, .page-id-6289, .page-id-6630, .page-id-6283, .page-id-6627, .page-id-6286, .page-id-6623, .page-id-6281) :is(#tab-all-solutions, #tab-parts-washing-and-drying, #tab-deburring-and-finishing) .nectar-post-grid-item-bg__media {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}
/* ALMCO HOME AND INDUSTRY EQUIPMENT CAROUSEL IMAGES — END */

/* ALMCO EQUIPMENT MODEL COMPARISON IMAGES — START */
/* Keep the existing card frames and text alignment while showing full machines. */
body.single-equipment .almco2-comparison-section .nectar-post-grid-item-bg__media {
  object-fit: contain !important;
}
/* ALMCO EQUIPMENT MODEL COMPARISON IMAGES — END */

/* ALMCO FOOTER CONTACT COLUMN ALIGNMENT — START */
@media (max-width: 1199px) {
  .footerContactRow > .row_col_wrap_12 > .wpb_column > .vc_column-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
/* ALMCO FOOTER CONTACT COLUMN ALIGNMENT — END */

/* ALMCO FOOTER MENU RESPONSIVE FLOW — START */
/* Let each menu follow the previous one within its column, without shared grid rows. */
@media (max-width: 1199px) {
  .footerPrimaryRow .footerMenuColumnContainer .inner_row > .row_col_wrap_12_inner {
    display: block !important;
    column-count: 2;
    column-gap: 24px;
  }
  .footerPrimaryRow .footerMenuColumnContainer .footerMenuColumn {
    display: inline-block !important;
    box-sizing: border-box;
    width: 100% !important;
    margin-bottom: 32px !important;
    break-inside: avoid;
  }
}
@media (max-width: 599px) {
  .footerPrimaryRow .footerMenuColumnContainer .inner_row > .row_col_wrap_12_inner {
    column-count: 1;
  }
  .footerPrimaryRow .footerMenuColumnContainer .footerMenuColumn {
    margin-bottom: 28px !important;
  }
}
/* ALMCO FOOTER MENU RESPONSIVE FLOW — END */


/* ALMCO CONVERTED EQUIPMENT HERO SPACING — START */
body:is(.postid-11286, .postid-11318, .postid-11380) .container-wrap {
  padding-top: 0;
}
/* ALMCO CONVERTED EQUIPMENT HERO SPACING — END */

/* ALMCO HOMEPAGE MOBILE CONTENT FIXES — START */
@media (max-width: 999px) {
  /* Soften the image behind the Featured Solution copy. */
  body.home .bottomOrangeBlueBorder > .row-bg-wrap .row-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(253, 253, 253, .88);
  }
  body.home .bottomOrangeBlueBorder .largeHeading,
  body.home .bottomOrangeBlueBorder .largeHeading h3 {
    font-size: 30px !important;
    line-height: 1.14 !important;
  }
  body.home .bottomOrangeBlueBorder .blueBoxText,
  body.home .bottomOrangeBlueBorder .blueBoxText p {
    font-size: 22px !important;
    line-height: 1.25 !important;
  }
}
@media (max-width: 767px) {
  /* Clear the Latest News copy before its button. */
  body.home .full-width-section.has-row-bg-color:has(.max_width_desktop_600px) .vc_col-sm-4 {
    margin-top: 32px !important;
  }
}
/* ALMCO HOMEPAGE MOBILE CONTENT FIXES — END */
