/* FLOWTRONICS - MOBILE ONLY refinements (24 Oct 2026)
   Every rule is contained in a max-width media query. Desktop 992px+ remains unchanged.
   Locked includes/header.php and approved desktop layout are not edited. */
@media (max-width:991.98px) {
  /* Off-canvas navigation: reachable links and an independently scrolling list. */
  .site-mobile-menu {
    width:min(340px, 90vw) !important;
    height:100vh;
    height:100dvh;
    overflow:hidden;
    padding-top:15px;
  }
  .site-mobile-menu .site-mobile-menu-body {
    height:calc(100vh - 65px);
    height:calc(100dvh - 65px);
    padding:5px 16px 84px;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .site-mobile-menu .site-mobile-menu-header {
    min-height:48px;
  }
  .site-mobile-menu .site-nav-wrap > li > a,
  .site-mobile-menu .site-nav-wrap > li > ul > li > a {
    display:flex;
    align-items:center;
    min-height:44px;
    line-height:1.5;
    overflow-wrap:anywhere;
    padding-top:10px;
    padding-bottom:10px;
  }
  .site-mobile-menu .site-nav-wrap .arrow-collapse {
    width:42px;
    height:42px;
    top:1px;
    border-color:#edf0f4;
  }
  .site-mobile-menu .site-nav-wrap > li {
    border-bottom:1px solid #eff1f5;
  }
  .site-mobile-menu .site-nav-wrap > li.ft-products-parent > ul > li > a {
    min-height:42px;
    font-size:13px;
    color:#283750;
    padding-left:33px;
    padding-right:8px;
  }
  .site-mobile-menu .ft-products-dropdown { display:none !important; }

  /* Normal inner-page banners: more balanced height without desktop changes. */
  .hero-slant:not(#flowtronics-hero-background),
  .hero-slant:not(#flowtronics-hero-background) > .container > .row {
    height:auto !important;
    min-height:440px;
  }
  .hero-slant:not(#flowtronics-hero-background) > .container > .row {
    padding-top:135px;
    padding-bottom:115px;
  }
  .hero-slant .intro { min-width:0; }
  .hero-slant .intro h1 { font-size:clamp(27px,5.2vw,39px);line-height:1.23;overflow-wrap:break-word; }
  .hero-slant .slant {height:clamp(130px,25vw,245px);}

  /* Tall catalogue specification tables: image panel never fills full table height. */
  #ft-efm .ef-item, #ft-dfm .ef-item, #ft-fm .ef-item,
  #ft-lt .ef-item, #ft-lf .ef-item, #ft-wm .ef-item,
  #ft-tf .ef-item, #ft-pg .ef-item, #ft-fi .ef-item,
  #ft-tmf .ef-item {
    grid-template-columns:minmax(0,1fr) !important;
  }
  #ft-efm .ef-visual, #ft-dfm .ef-visual, #ft-fm .ef-visual,
  #ft-lt .ef-visual, #ft-lf .ef-visual, #ft-wm .ef-visual,
  #ft-tf .ef-visual, #ft-pg .ef-visual, #ft-fi .ef-visual,
  #ft-tmf .ef-visual {
    height:clamp(280px,58vw,430px) !important;
    min-height:0 !important;
    align-self:start !important;
    border-right:0 !important;
    border-bottom:1px solid #e1e7f0 !important;
  }
  .ef-info, .ef-spec-caption, .ef-table { min-width:0; }
  .ef-table th, .ef-table td {overflow-wrap:anywhere;word-break:normal;}

  /* Shared footer: avoid cramped three-column contact section on tablets. */
  #ft-site-footer .ft-footer-contact {gap:24px;}
  #ft-site-footer .ft-contact-panel {max-width:100%;}
  #ft-site-footer .ft-contact-rows {max-width:100%;}
  #ft-site-footer .ft-footer-social-list {flex-wrap:wrap;}
  #ft-site-footer .ft-footer-bottom p {overflow-wrap:anywhere;}
}
@media (max-width:767.98px) {
  /* Homepage: legible copy and full-width enquiry fields. */
  #flowtronics-hero-background,
  #flowtronics-hero-background > .container > .row {
    height:auto !important;
    min-height:660px;
    min-height:max(660px,92svh);
  }
  #flowtronics-hero-background > .container > .row {
    padding-top:150px;
    padding-bottom:145px;
  }
  #flowtronics-hero-background .intro {max-width:100%;}
  #flowtronics-hero-background .intro h1 {font-size:clamp(29px,7vw,42px);line-height:1.2;}
  #flowtronics-hero-background .intro p {font-size:14px;line-height:1.8;}
  #flowtronics-hero-background .sign-up-form {
    width:100%;
    display:flex !important;
    flex-direction:column;
    gap:7px;
    padding:8px;
  }
  #flowtronics-hero-background .sign-up-form .form-control,
  #flowtronics-hero-background .sign-up-form input[type="submit"] {
    display:block;
    width:100%;
    max-width:100%;
    min-height:44px;
    margin:0;
  }
  #flowtronics-home-about .feature > [class*="col-"] {min-width:0;}
  #flowtronics-featured-products .ft-products-grid {gap:17px;}
  #flowtronics-featured-products .ft-product-card {min-width:0;}

  #ft-products-page .ft-products-shell {padding-top:44px;padding-bottom:64px;}
  #ft-products-page .ft-category-body {padding:19px 19px 22px;}
  #ft-products-page .ft-category-image img {padding:10px;}
  #ft-products-page .ft-products-toolbar {gap:12px;}

  .ef-info {padding:23px 18px !important;}
  .ef-table {font-size:12px;line-height:1.55;}
  .ef-table th, .ef-table td {padding:9px 8px !important;}
  .ef-table th {width:41%;}
  .ef-search {max-width:100%;}
  .ft-blog-article-body img {max-width:100%;height:auto;}
}
@media (max-width:480px) {
  /* At narrow widths, telephone and email must never collide. */
  #ft-site-footer .ft-footer-grid {gap:21px 15px;}
  #ft-site-footer .ft-footer-contact {grid-template-columns:minmax(0,1fr) !important;}
  #ft-site-footer .ft-contact-row {
    grid-template-columns:minmax(0,1fr) !important;
    gap:1px;
    padding:7px 0;
    border-bottom:1px solid #eff1f4;
  }
  #ft-site-footer .ft-contact-row a {
    min-height:35px;
    padding-left:0 !important;
    padding-right:0 !important;
    border-left:0 !important;
    overflow-wrap:anywhere;
  }
  #ft-site-footer .ft-footer-about {grid-column:1/-1;}
  #ft-site-footer .ft-footer-social {grid-column:1/-1;}
  #ft-products-page .ft-category-title {font-size:18px;}
  .ef-table th,.ef-table td{font-size:11px !important;}
  #flowtronics-hero-background .intro h1{font-size:30px;}
}
@media (max-width:359.98px) {
  #ft-site-footer .ft-footer-grid {grid-template-columns:1fr;}
  .site-mobile-menu .site-mobile-menu-body {padding-left:12px;padding-right:12px;}
  .hero-slant .intro h1 {font-size:27px;}
}
@media (max-width:991.98px) and (prefers-reduced-motion:reduce) {
  .site-mobile-menu {transition:none !important;}
}

/* Tablet landscape only (992–1199px): the hidden 820px Products panel must not
   expand document scroll-width before hover. Its approved open styling and
   positioning script remain unchanged; full desktop >=1200px is untouched. */
@media (min-width:992px) and (max-width:1199.98px) {
  #flowtronics-nav .ft-products-parent > .ft-products-dropdown {display:none;}
  #flowtronics-nav .ft-products-parent:hover > .ft-products-dropdown,
  #flowtronics-nav .ft-products-parent:focus-within > .ft-products-dropdown,
  #flowtronics-nav .ft-products-parent.ft-menu-open > .ft-products-dropdown {display:grid;}
}
