/* 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); }

@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; }
}

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