/* OLIFT B2B UI Refresh — front-end only, reversible by deactivation. */
:root {
  --olift-navy: #092238;
  --olift-navy-dark: #061722;
  --olift-orange: #b84d11;
  --olift-orange-hover: #913b0c;
  --olift-ink: #1d2a33;
  --olift-muted: #687681;
  --olift-line: #dfe5e9;
}

body { color: var(--olift-ink); background: #f6f8f9; font-size: 16px; line-height: 1.65; }
a { transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
a:hover, a:focus { color: var(--olift-orange); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(184, 77, 17, .35); outline-offset: 3px; }

/* Header and navigation */
.mg-nav-widget-area-back { background-color: var(--olift-navy) !important; background-image: none !important; }
.mg-nav-widget-area-back .overlay { background: linear-gradient(115deg, rgba(6, 23, 34, .96), rgba(9, 34, 56, .87)) !important; }
.site-title a, .site-title a:hover { color: #fff; font-weight: 800; letter-spacing: .035em; }
.site-description { color: rgba(255, 255, 255, .72); }
.mg-menu-full, .navbar-wp { background: #fff; box-shadow: 0 5px 18px rgba(6, 23, 34, .07); }
.navbar-wp .navbar-nav > li > a { color: var(--olift-navy); font-size: .84rem; font-weight: 700; letter-spacing: .025em; padding-top: 18px; padding-bottom: 18px; }
.navbar-wp .navbar-nav > li > a:hover, .navbar-wp .navbar-nav > .active > a, .navbar-wp .navbar-nav > .active > a:hover, .navbar-wp .navbar-nav > .active > a:focus { color: var(--olift-orange) !important; background: transparent !important; }
.navbar-wp .dropdown-menu { border-top: 3px solid var(--olift-orange); box-shadow: 0 10px 24px rgba(6, 23, 34, .16); }
.navbar-wp .dropdown-menu > li > a:hover { background: #f4f7f8; color: var(--olift-navy); }

/* Existing theme and form calls to action */
.btn-theme, input[type="submit"], .wpcf7-submit, .wp-block-button__link {
  border-radius: 2px;
  background: var(--olift-orange);
  border-color: var(--olift-orange);
  box-shadow: none;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.btn-theme:hover, input[type="submit"]:hover, .wpcf7-submit:hover, .wp-block-button__link:hover { background: var(--olift-orange-hover); border-color: var(--olift-orange-hover); box-shadow: 0 8px 18px rgba(184, 77, 17, .24); transform: translateY(-1px); }

/* Section headings and cards */
.mg-posts-sec, .mg-posts-sec-inner, .mg-featured-slider, .mg-latest-news-sec { margin-bottom: 34px; }
.mg-sec-title { border-bottom: 1px solid var(--olift-line); margin-bottom: 24px; }
.mg-sec-title h4, .mg-sec-title h1, .mg-sec-title h2 { color: var(--olift-navy); font-size: 1.45rem; font-weight: 800; letter-spacing: -.02em; }
.mg-sec-title h4:before, .mg-sec-title h1:before, .mg-sec-title h2:before { background: var(--olift-orange); height: 3px; }
.mg-blog-post, .mg-blog-post-box, .mg-blog-post-3, .mg-posts-sec-inner .mg-blog-post-3 { border: 1px solid var(--olift-line); border-radius: 3px; box-shadow: 0 5px 18px rgba(6, 23, 34, .055); overflow: hidden; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.mg-blog-post:hover, .mg-blog-post-box:hover, .mg-blog-post-3:hover { box-shadow: 0 14px 30px rgba(6, 23, 34, .12); transform: translateY(-3px); }
.mg-blog-post .title a, .mg-blog-post-box .title a, .mg-blog-post-3 .title a { color: var(--olift-navy); font-weight: 800; }
.mg-blog-post .title a:hover, .mg-blog-post-box .title a:hover, .mg-blog-post-3 .title a:hover { color: var(--olift-orange); }
.mg-blog-category a, .mg-blog-category a:hover { background: var(--olift-orange); color: #fff; font-size: .68rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.mg-blog-meta, .mg-blog-meta a { color: var(--olift-muted); font-size: .78rem; }

/* Product and information pages */
.site-main .entry-title, .site-main .entry-content h1, .site-main .entry-content h2, .site-main .entry-content h3 { color: var(--olift-navy); font-weight: 800; line-height: 1.22; }
.site-main .entry-content h2 { margin-top: 2rem; }
.site-main .entry-content p, .site-main .entry-content li { color: #33424d; }
.site-main .entry-content table { width: 100%; border-collapse: collapse; background: #fff; font-size: .92rem; }
.site-main .entry-content th { background: var(--olift-navy); color: #fff; font-weight: 700; text-align: left; }
.site-main .entry-content th, .site-main .entry-content td { border: 1px solid var(--olift-line); padding: .72rem .82rem; vertical-align: top; }
.site-main .entry-content tbody tr:nth-child(even) { background: #f4f7f8; }

/* Enquiry fields */
.site-main input[type="text"], .site-main input[type="email"], .site-main input[type="tel"], .site-main input[type="number"], .site-main select, .site-main textarea { width: 100%; min-height: 46px; border: 1px solid #cbd5dc; border-radius: 2px; background: #fff; color: var(--olift-ink); padding: .7rem .8rem; }
.site-main textarea { min-height: 150px; }
.site-main label { color: var(--olift-navy); font-weight: 700; }

footer, .mg-footer, .footer-copyright { background-color: var(--olift-navy-dark); }
footer a:hover, .mg-footer a:hover, .footer-copyright a:hover { color: var(--olift-orange); }
.ta_upscr { background: var(--olift-orange); border-radius: 2px; }

/* Fixed conversion action; it is deliberately a link rather than a form or popup. */
.olift-quote-action { position: fixed; z-index: 9999; right: 22px; bottom: 22px; display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 19px; border: 1px solid var(--olift-orange); border-radius: 2px; background: var(--olift-orange); color: #fff !important; box-shadow: 0 10px 24px rgba(6, 23, 34, .24); font-size: .8rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.olift-quote-action:hover, .olift-quote-action:focus { background: var(--olift-orange-hover); border-color: var(--olift-orange-hover); color: #fff !important; transform: translateY(-2px); }

/* B2B homepage: a clear product-and-enquiry journey without unverified claims. */
.olift-homepage { max-width: 1200px; margin: 30px auto 56px; padding: 0 20px; }
.olift-homepage-hero { position: relative; overflow: hidden; margin: 0 0 42px; padding: clamp(42px, 7vw, 88px) clamp(26px, 7vw, 88px); background: linear-gradient(120deg, #061722 0%, #092238 58%, #174664 100%); color: #fff; box-shadow: 0 18px 38px rgba(6, 23, 34, .18); }
.olift-homepage-hero::after { position: absolute; inset: 0; background-image: linear-gradient(135deg, rgba(255,255,255,.05) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.05) 50%, rgba(255,255,255,.05) 75%, transparent 75%); background-size: 28px 28px; content: ""; opacity: .45; pointer-events: none; }
.olift-homepage-hero > * { position: relative; z-index: 1; max-width: 780px; }
.olift-eyebrow { margin: 0 0 13px; color: #ffb180 !important; font-size: .77rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.olift-homepage-hero h1 { margin: 0 0 18px; color: #fff !important; font-size: clamp(2.05rem, 4.4vw, 4rem); font-weight: 800; letter-spacing: -.035em; line-height: 1.06; }
.olift-homepage-hero p:not(.olift-eyebrow) { max-width: 690px; color: rgba(255,255,255,.85) !important; font-size: clamp(1rem, 1.8vw, 1.18rem); }
.olift-homepage-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.olift-homepage .olift-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 11px 20px; border: 1px solid var(--olift-orange); border-radius: 2px; background: var(--olift-orange); color: #fff !important; font-size: .8rem; font-weight: 800; letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }
.olift-homepage .olift-button:hover, .olift-homepage .olift-button:focus { background: var(--olift-orange-hover); border-color: var(--olift-orange-hover); color: #fff !important; transform: translateY(-1px); }
.olift-homepage .olift-button--secondary { border-color: rgba(255,255,255,.72); background: transparent; }
.olift-homepage .olift-button--secondary:hover, .olift-homepage .olift-button--secondary:focus { border-color: #fff; background: #fff; color: var(--olift-navy) !important; }
.olift-homepage-section { margin: 0 0 48px; }
.olift-homepage-section h2 { margin: 0 0 11px; color: var(--olift-navy); font-size: clamp(1.6rem, 2.7vw, 2.3rem); font-weight: 800; letter-spacing: -.025em; }
.olift-homepage-section > p { max-width: 760px; margin-top: 0; }
.olift-homepage-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: 24px; }
.olift-homepage-card { display: flex; flex-direction: column; min-height: 224px; padding: 25px 22px; border: 1px solid var(--olift-line); border-top: 4px solid var(--olift-orange); background: #fff; box-shadow: 0 8px 22px rgba(6, 23, 34, .06); }
.olift-homepage-card h3 { margin: 0 0 10px; color: var(--olift-navy); font-size: 1.08rem; font-weight: 800; }
.olift-homepage-card p { margin: 0 0 18px; color: #41515d !important; }
.olift-homepage-card a { margin-top: auto; color: var(--olift-orange); font-size: .82rem; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.olift-homepage-band { padding: clamp(28px, 5vw, 52px); background: #eaf0f3; border-left: 4px solid var(--olift-orange); }
.olift-homepage-band h2 { margin-top: 0; }
.olift-application-list, .olift-proof-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; padding: 0; list-style: none; }
.olift-application-list li { padding: 14px; background: #fff; color: var(--olift-navy); font-size: .9rem; font-weight: 800; text-align: center; }
.olift-proof-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.olift-proof { padding: 22px; border-top: 3px solid var(--olift-orange); background: #fff; }
.olift-proof h3 { margin: 0 0 9px; color: var(--olift-navy); font-size: 1.05rem; font-weight: 800; }
.olift-proof p { margin: 0; }
.olift-delivery { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(250px, .65fr); gap: 30px; align-items: center; padding: clamp(28px, 5vw, 50px); background: var(--olift-navy); }
.olift-delivery h2, .olift-delivery p { color: #fff !important; }
.olift-delivery p { opacity: .84; }
.olift-delivery-note { padding: 20px; border: 1px solid rgba(255,255,255,.2); color: rgba(255,255,255,.88); font-size: .92rem; }
.olift-homepage-cta { padding: clamp(32px, 6vw, 62px); background: linear-gradient(115deg, #061722, #123e59); text-align: center; }
.olift-homepage-cta h2, .olift-homepage-cta p { color: #fff !important; }
.olift-homepage-cta p { margin-right: auto; margin-left: auto; opacity: .84; }
.olift-homepage-cta .olift-homepage-actions { justify-content: center; }
.olift-homepage-faq details { margin: 10px 0; padding: 15px 17px; border: 1px solid var(--olift-line); background: #fff; }
.olift-homepage-faq summary { color: var(--olift-navy); cursor: pointer; font-weight: 800; }
.olift-homepage-faq p { margin: 12px 0 0; }

@media (max-width: 767px) {
  body { font-size: 15px; }
  .navbar-wp .navbar-nav > li > a { padding-top: 13px; padding-bottom: 13px; }
  .mg-posts-sec, .mg-posts-sec-inner, .mg-featured-slider, .mg-latest-news-sec { margin-bottom: 22px; }
  .mg-sec-title h4, .mg-sec-title h1, .mg-sec-title h2 { font-size: 1.25rem; }
  .site-main .entry-content table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .site-main .entry-content th, .site-main .entry-content td { min-width: 120px; }
  .olift-quote-action { right: 14px; bottom: 14px; min-height: 46px; padding: 0 16px; }
  .olift-homepage { margin-top: 20px; padding: 0 14px; }
  .olift-homepage-hero { margin-bottom: 28px; padding: 44px 24px; }
  .olift-homepage-grid, .olift-application-list, .olift-proof-grid { grid-template-columns: 1fr; }
  .olift-homepage-section { margin-bottom: 32px; }
  .olift-delivery { grid-template-columns: 1fr; gap: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Industrial B2B product journey (v1.3): remove legacy news chrome from
   WordPress pages and give products, specifications and enquiries a clearer
   procurement hierarchy. No product text or technical values are changed. */
body.page .mg-tpt-tag-area,
body.page .mg-latest-news-sec,
body.page .missed-inner { display: none !important; }

.mg-breadcrumb-section { background: #092238 !important; }
.mg-breadcrumb-section .overlay { background: linear-gradient(115deg, rgba(6, 23, 34, .97), rgba(17, 62, 89, .90)) !important; }
.mg-breadcrumb-section .mg-breadcrumb-title { max-width: 1200px; margin: 0 auto; padding: clamp(28px, 4vw, 48px) 20px; }
.mg-breadcrumb-section .mg-breadcrumb-title h1 { max-width: 780px; margin: 0; color: #fff !important; font-size: clamp(1.8rem, 3.5vw, 3rem); font-weight: 800; letter-spacing: -.03em; line-height: 1.08; }

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item-2570 > a.mega-menu-link {
  display: inline-flex !important;
  align-items: center;
  min-height: 38px !important;
  margin: 8px 0 8px 8px !important;
  padding: 0 16px !important;
  background: var(--olift-orange) !important;
  color: #fff !important;
  font-weight: 800 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase;
}
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item-2570 > a.mega-menu-link:hover,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item-2570 > a.mega-menu-link:focus { background: var(--olift-orange-hover) !important; color: #fff !important; }

body.page-child #content .elementor-widget-image .elementor-widget-container {
  overflow: hidden;
  border: 1px solid var(--olift-line);
  background: #fff;
  box-shadow: 0 8px 20px rgba(6, 23, 34, .06);
}
body.page-child #content .elementor-widget-image img { display: block; width: 100%; object-fit: contain; }

body.page.parent-pageid-27 #content .elementor-top-section + .elementor-top-section .elementor-widget-image .elementor-widget-container {
  margin: 8px;
  border-top: 3px solid var(--olift-orange);
}
body.page.parent-pageid-27 #content .elementor-top-section + .elementor-top-section .elementor-widget-image a { color: var(--olift-navy); font-weight: 800; }
body.page.parent-pageid-27 #content .elementor-widget-toggle .elementor-tab-title {
  margin-bottom: 7px;
  padding: 12px 14px;
  border: 1px solid var(--olift-line);
  border-left: 3px solid var(--olift-orange);
  background: #fff;
  color: var(--olift-navy);
  font-size: .86rem;
  font-weight: 800;
}
body.page.parent-pageid-27 #content .elementor-widget-toggle .elementor-tab-content { border: 1px solid var(--olift-line); border-top: 0; background: #fff; }

body.page-child #content .elementor-widget-text-editor:not(:has(table)):not(:has(.wpcf7)) .elementor-widget-container {
  padding: clamp(20px, 3vw, 34px);
  border: 1px solid var(--olift-line);
  border-left: 4px solid var(--olift-orange);
  background: #fff;
  box-shadow: 0 8px 20px rgba(6, 23, 34, .05);
}
body.page-child #content .elementor-widget-text-editor:not(:has(table)):not(:has(.wpcf7)) p:first-child { color: var(--olift-navy); font-size: 1.13rem; font-weight: 800; line-height: 1.35; }

body.page-child #content .elementor-widget-container > table,
body.page-child #content table.tablepress {
  width: 100% !important;
  margin: 28px 0 !important;
  border: 1px solid var(--olift-line) !important;
  border-collapse: separate !important;
  border-spacing: 0;
  background: #fff !important;
  box-shadow: 0 8px 20px rgba(6, 23, 34, .05);
  font-size: .9rem;
}
body.page-child #content table.tablepress td,
body.page-child #content table.tablepress th,
body.page-child #content .elementor-widget-container > table td,
body.page-child #content .elementor-widget-container > table th {
  padding: .78rem .85rem !important;
  border-color: var(--olift-line) !important;
  vertical-align: top;
}
body.page-child #content table.tablepress tbody tr:first-child td,
body.page-child #content .elementor-widget-container > table tbody tr:first-child td { background: var(--olift-navy) !important; color: #fff !important; font-weight: 800; }
body.page-child #content table.tablepress tbody tr:nth-child(even) td,
body.page-child #content .elementor-widget-container > table tbody tr:nth-child(even) td { background: #f4f7f8; }

body.page-child #content .elementor-widget-button .elementor-button {
  min-height: 50px;
  padding: 13px 22px;
  border: 1px solid var(--olift-orange);
  border-radius: 2px;
  background: var(--olift-orange);
  color: #fff !important;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}
body.page-child #content .elementor-widget-button .elementor-button:hover,
body.page-child #content .elementor-widget-button .elementor-button:focus { background: var(--olift-orange-hover); border-color: var(--olift-orange-hover); color: #fff !important; }

#olift-product-inquiry { scroll-margin-top: 92px; }
body.page-id-1216 #content form.wpcf7-form,
body.page-child #content form.wpcf7-form {
  margin: 30px 0 0;
  padding: clamp(22px, 4vw, 38px);
  border: 1px solid #163d55;
  border-top: 4px solid var(--olift-orange);
  background: linear-gradient(135deg, #071b2a, #0d3045);
  box-shadow: 0 12px 28px rgba(6, 23, 34, .14);
}
body.page-id-1216 #content form.wpcf7-form label,
body.page-id-1216 #content form.wpcf7-form p,
body.page-child #content form.wpcf7-form label,
body.page-child #content form.wpcf7-form p { color: #fff; }
body.page-child #content form.wpcf7-form input[type="text"],
body.page-child #content form.wpcf7-form input[type="email"],
body.page-child #content form.wpcf7-form input[type="tel"],
body.page-child #content form.wpcf7-form textarea { border-color: rgba(255, 255, 255, .22); }

/* Shared equipment quotation form: readable on desktop and deliberately
   single-column on smaller screens. The markup is supplied by CF7. */
#content .olift-quote-form { max-width: 980px; }
#content .olift-quote-form__intro { max-width: 760px; margin: 0 0 24px; color: rgba(255, 255, 255, .84) !important; font-size: 1rem; line-height: 1.6; }
#content .olift-quote-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 22px; margin: 0 0 18px; }
#content .olift-quote-form label { display: block; margin: 0 0 18px; color: #fff !important; font-size: .88rem; font-weight: 800; }
#content .olift-quote-form .wpcf7-form-control-wrap { display: block; margin-top: 8px; }
#content .olift-quote-form input[type="text"],
#content .olift-quote-form input[type="email"],
#content .olift-quote-form input[type="tel"],
#content .olift-quote-form input[type="number"],
#content .olift-quote-form select,
#content .olift-quote-form textarea { border-color: rgba(255, 255, 255, .24); background: #fff; }
#content .olift-quote-form .wpcf7-submit { min-width: 180px; margin-top: 4px; }
#content form.wpcf7-form .wpcf7-response-output { margin: 20px 0 0; color: #fff; }

@media (max-width: 767px) {
  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item-2570 > a.mega-menu-link { justify-content: center; margin: 6px 0 !important; }
  .mg-breadcrumb-section .mg-breadcrumb-title { padding: 28px 14px; }
  body.page.parent-pageid-27 #content .elementor-top-section + .elementor-top-section .elementor-widget-image .elementor-widget-container { margin: 6px 0; }
  body.page-child #content .elementor-widget-container > table,
  body.page-child #content table.tablepress { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  #content .olift-quote-grid { grid-template-columns: 1fr; gap: 0; }
}
