/*

 * ============================================================

 * LR Environmental Equipment Co.

 * Main Stylesheet — idata-bootstrap-theme.css

 * Dark Industrial Design System

 * ============================================================

 *

 * TO CHANGE THE ACCENT COLOR — edit ONE line:

 *   --accent: #e85d14;   ← change this hex value only

 *

 * Examples:

 *   Orange (default)  #e85d14

 *   Sky Blue          #38bdf8

 *   Electric Teal     #2dd4bf

 *   Gold              #f5a623

 *   Crimson           #dc2626

 *

 * ============================================================

 */



/* ── Google Fonts ──────────────────────────────────────────── */

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:wght@300;400;500;700&family=JetBrains+Mono:wght@400;700&display=swap');



/* ── Design Tokens ─────────────────────────────────────────── */

:root {

  --accent:        #38bdf8;   /* ← CHANGE THIS to retheme everything */



  /* Derived accent variants — update automatically */

  --accent-dim:    color-mix(in srgb, var(--accent) 12%, transparent);

  --accent-border: color-mix(in srgb, var(--accent) 30%, transparent);

  --accent-glow:   color-mix(in srgb, var(--accent) 25%, transparent);

  --accent-hover:  color-mix(in srgb, var(--accent) 80%, white);



  /* Base palette */

  --black:   #0a0b0d;

  --coal:    #111318;

  --steel:   #1c2029;

  --iron:    #2a2f3a;

  --slate:   #3d4455;

  --mist:    #8a93a8;

  --smoke:   #c8cdd8;

  --white:   #f0f2f5;

  --teal:    #2dd4bf;

  --amber:   #f5a623;



  /* Typography */

  --font-display: 'Bebas Neue', sans-serif;

  --font-body:    'DM Sans', sans-serif;

  --font-mono:    'JetBrains Mono', monospace;



  /* Motion */

  --transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);

}



/* ── Reset & Base ──────────────────────────────────────────── */

*, *::before, *::after { box-sizing: border-box; }



html { scroll-behavior: smooth; }



body {

  font-family: var(--font-body);

  font-size: 15px;

  line-height: 1.7;

  color: var(--smoke);

  background: var(--black);

  text-align: left;

  padding-top: 120px; /* navbar height — JS adjusts this dynamically */

}



/* Subtle noise texture overlay */

body::before {

  content: '';

  position: fixed; inset: 0;

  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");

  pointer-events: none; z-index: 9000; opacity: 0.4;

}



/* ── Container ─────────────────────────────────────────────── */

.container { padding: 16px; }



@media (min-width: 1400px) { .container { width: 1370px; } }

@media (min-width: 1800px) { .container { width: 1670px; } }

@media (min-width: 2200px) { .container { width: 2070px; } }



/* ── Typography ────────────────────────────────────────────── */

h1, h2, h3, h4, h5, h6 {

  font-family: var(--font-display);

  font-weight: 400;

  letter-spacing: 1.5px;

  color: var(--white);

  text-align: center;

  line-height: 1.05;

  margin-top: 0;

}



h1 { font-size: clamp(32px, 5vw, 56px); margin-bottom: 20px; }

h2 { font-size: clamp(26px, 3.5vw, 40px); margin-bottom: 16px; }

h3 { font-size: 28px; margin-bottom: 12px; }

h4 {

  font-family: var(--font-mono);

  font-size: 12px;

  letter-spacing: 0.2em;

  text-transform: uppercase;

  color: var(--accent);

  font-weight: 400;

}

h5 { font-size: 16px; }

h6 { font-size: 14px; }



p {

  font-family: var(--font-body);

  font-size: 16px;

  color: var(--smoke);

  line-height: 1.75;

  text-align: left;

  margin-bottom: 14px;

}



/* Inline body links */

a { color: var(--accent); text-decoration: none; transition: color var(--transition); }

a:hover, a:focus { color: var(--accent-hover); text-decoration: none; }



li { list-style: none; }



/* Utility classes */

.left  { text-align: left !important; }

.right { text-align: right !important; }

.red   { color: #e84040; }

.pad_right_small { padding-right: 10px; }



/* ── Bootstrap override: section padding ───────────────────── */

.row { margin-left: -12px; margin-right: -12px; }

[class^="col-"] { padding-left: 12px; padding-right: 12px; }



/* ── Buttons ───────────────────────────────────────────────── */

.btn {

  font-family: var(--font-mono) !important;

  font-size: 11px !important;

  letter-spacing: 0.14em !important;

  text-transform: uppercase !important;

  font-weight: 700 !important;

  border-radius: 3px !important;

  padding: 11px 22px !important;

  transition: all var(--transition) !important;

  border: 1px solid transparent !important;

}

.btn-primary {

  background: var(--accent) !important;

  border-color: var(--accent) !important;

  color: white !important;

}

.btn-primary:hover, .btn-primary:focus {

  background: transparent !important;

  border-color: var(--accent) !important;

  color: var(--accent) !important;

  box-shadow: 0 0 20px var(--accent-glow) !important;

}

.btn-default {

  background: transparent !important;

  border-color: var(--iron) !important;

  color: var(--mist) !important;

}

.btn-default:hover {

  border-color: var(--smoke) !important;

  color: var(--white) !important;

}

.btn-lg { padding: 13px 28px !important; font-size: 12px !important; }



/* ── Tables ────────────────────────────────────────────────── */

td, th {

  padding: 10px 12px;

  text-align: left;

  vertical-align: top;

  color: var(--mist);

  font-size: 15px;

  border-color: var(--iron) !important;

}

th {

  font-family: var(--font-mono);

  font-size: 10px;

  letter-spacing: 0.15em;

  text-transform: uppercase;

  color: var(--accent);

  font-weight: 700;

  background: var(--steel);

}

table.bordered {

  border-collapse: collapse;

  border: 1px solid var(--iron);

  width: 100%;

}

table.bordered td, table.bordered th {

  border: 1px solid var(--iron);

}

tr:nth-child(even) { background: rgba(255,255,255,0.02); }



/* ── Eyebrow label helper ───────────────────────────────────── */

.lre-eyebrow {

  font-family: var(--font-mono);

  font-size: 11px; letter-spacing: 0.25em;

  color: var(--accent); text-transform: uppercase;

  display: flex; align-items: center; gap: 12px;

  margin-bottom: 12px; justify-content: center;

}

.lre-eyebrow::before,

.lre-eyebrow::after {

  content: ''; display: block;

  width: 24px; height: 1px; background: var(--accent); flex-shrink: 0;

}



/* ── CAROUSEL ──────────────────────────────────────────────── */

.carousel { margin-bottom: 0 !important; top: 0; }



.carousel-inner > .item > img,

.carousel img {

  min-width: 100%; min-height: 100%;

  bottom: 0; left: 0; margin: auto;

  overflow: auto; position: fixed;

  right: 0; top: 0;

  filter: brightness(0.55) saturate(0.8);

}



/* Overlay on carousel for readability */

.carousel-inner > .item::after {

  content: '';

  position: absolute; inset: 0;

  background: linear-gradient(

    135deg,

    rgba(10,11,13,0.7) 0%,

    rgba(10,11,13,0.3) 60%,

    transparent 100%

  );

}



.carousel-caption {

  text-align: left !important;

  left: 8% !important;

  right: auto !important;

  bottom: 18% !important;

  max-width: 640px;

}



.carousel-caption h1 {

  font-family: var(--font-display) !important;

  font-size: clamp(36px, 5vw, 72px) !important;

  letter-spacing: 2px !important;

  line-height: 0.95 !important;

  color: var(--white) !important;

  text-align: left !important;

  background: none !important;

  padding: 0 !important;

  margin-bottom: 24px;

  text-shadow: 0 2px 20px rgba(0,0,0,0.5);

}



.carousel-caption p { text-align: left !important; }



.carousel-indicators li {

  background: rgba(255,255,255,0.3);

  border-color: transparent;

}

.carousel-indicators li.active { background: var(--accent); }



.carousel-control {

  background: none !important;

  opacity: 0.4;

  transition: opacity var(--transition);

}

.carousel-control:hover { opacity: 1; }



/* ── SEARCH + NEWSLETTER FORMS (homepage side-by-side) ──────── */

#formDiv {

  background: var(--steel) !important;

  border: none;

  border-top: 2px solid var(--accent);

}



#formDiv.home {

  padding: 40px 48px;

}



#formDiv h2 {

  font-family: var(--font-display) !important;

  font-size: 28px !important;

  letter-spacing: 2px !important;

  color: var(--white) !important;

  text-align: left !important;

  margin-bottom: 4px;

}



#formDiv p {

  text-align: left !important;

  color: var(--mist) !important;

  font-size: 13px !important;

  margin-bottom: 20px;

}



#formDiv strong { color: var(--smoke); font-weight: 500; }



/* Form inputs inside #formDiv */

#formDiv input[type="text"],

#formDiv input[type="email"],

#formDiv textarea {

  width: 100% !important;

  background: var(--iron) !important;

  border: 1px solid var(--slate) !important;

  color: var(--white) !important;

  padding: 11px 14px !important;

  font-family: var(--font-body) !important;

  font-size: 14px !important;

  border-radius: 3px !important;

  outline: none !important;

  transition: border-color var(--transition) !important;

  margin-top: 4px;

  display: block;

}

#formDiv input[type="text"]:focus,

#formDiv input[type="email"]:focus,

#formDiv textarea:focus {

  border-color: var(--accent) !important;

}

#formDiv input[type="text"]::placeholder,

#formDiv input[type="email"]::placeholder { color: var(--mist) !important; }



/* Submit buttons inside #formDiv */

#formDiv input[type="submit"],

#search_form input[type="submit"] {

  background: var(--accent) !important;

  color: white !important;

  border: none !important;

  padding: 12px 24px !important;

  font-family: var(--font-mono) !important;

  font-size: 11px !important;

  letter-spacing: 0.14em !important;

  text-transform: uppercase !important;

  font-weight: 700 !important;

  border-radius: 3px !important;

  cursor: pointer !important;

  transition: all var(--transition) !important;

  margin-top: 12px;

  display: inline-block;

}

#formDiv input[type="submit"]:hover,

#search_form input[type="submit"]:hover {

  background: var(--accent-hover) !important;

}



/* Spam trap — always hidden */

input.form-check { display: none !important; }



/* ── BLUE CALL-TO-ACTION BAR (was #blueDiv) ──────────────────

   Kept the id for backward compatibility with pages that use it.

   ─────────────────────────────────────────────────────────── */

#blueDiv {

  background: linear-gradient(135deg, var(--iron) 0%, var(--steel) 100%);

  border-top: 1px solid var(--iron);

  border-bottom: 1px solid var(--iron);

  padding: 60px 20px;

  text-align: center;

  position: relative;

  overflow: hidden;

}



/* Grid pattern behind CTA bar */

#blueDiv::before {

  content: '';

  position: absolute; inset: 0;

  background-image:

    linear-gradient(var(--accent-dim) 1px, transparent 1px),

    linear-gradient(90deg, var(--accent-dim) 1px, transparent 1px);

  background-size: 48px 48px;

  mask-image: radial-gradient(ellipse 80% 100% at 50% 50%, black 50%, transparent 100%);

  pointer-events: none;

}



#blueDiv h2 {

  color: var(--smoke) !important;

  font-family: var(--font-body) !important;

  font-size: 18px !important;

  font-weight: 400 !important;

  letter-spacing: 0 !important;

  margin-bottom: 8px;

  position: relative;

}



#blueDiv h1 a {

  font-family: var(--font-display) !important;

  font-size: clamp(42px, 6vw, 72px) !important;

  letter-spacing: 4px !important;

  color: var(--white) !important;

  text-decoration: none;

  transition: color var(--transition);

  position: relative;

  display: inline-block;

}

#blueDiv h1 a:hover { color: var(--accent) !important; }



/* ── MAIN TEXT SECTION ─────────────────────────────────────── */

#textDiv {

  padding: 60px 0;

  margin: 0 auto;

  background: none;

  width: 80%;

  max-width: 900px;

  text-align: left;

}



#textDiv h1 {

  font-family: var(--font-display) !important;

  font-size: clamp(28px, 4vw, 48px) !important;

  letter-spacing: 2px !important;

  color: var(--white) !important;

  text-align: center !important;

  margin-bottom: 28px;

  line-height: 1;

}



#textDiv p {

  font-size: 16px;

  color: var(--smoke);

  line-height: 1.85;

  text-align: left;

}



#textDiv a { color: var(--accent); }

#textDiv a:hover { color: var(--accent-hover); }



/* ── MANUFACTURERS SECTION ─────────────────────────────────── */

#manufacturersDiv {

  padding: 48px 0 32px;
  text-align: center;
  border-top: 1px solid var(--iron);

}



#manufacturersDiv h2 {

  font-family: var(--font-display) !important;

  font-size: 36px !important;

  letter-spacing: 3px !important;

  color: var(--white) !important;

  margin-bottom: 8px;

}



#manufacturersDiv ul { padding: 0; }



#manufacturersDiv ul li a {

  font-family: var(--font-body);

  font-size: 13px;

  color: var(--smoke);

  display: block;

  padding: 7px 12px;

  border-left: 2px solid transparent;

  transition: all var(--transition);

  text-decoration: none;

}

#manufacturersDiv ul li a:hover {

  color: var(--accent);

  border-left-color: var(--accent);

  padding-left: 18px;

  background: var(--iron);

}



/* ── ABOUT / SPECIALS / BLOG COLUMNS ───────────────────────── */

#regTextDiv h1, #regTextDiv h2,

#regTextDiv h3, #regTextDiv p {

  text-align: left;

}



.col-sm-4 h2 {

  font-family: var(--font-display) !important;

  font-size: 24px !important;

  letter-spacing: 2px !important;

  color: var(--white) !important;

  text-align: left !important;

  margin-bottom: 16px;

  padding-bottom: 10px;

  border-bottom: 1px solid var(--iron);

}



.col-sm-4 ul li a {

  font-size: 14px;
padding-left: 0;
  margin-left: 0;
  color: var(--smoke);

  text-decoration: none;

  display: block;

  padding: 5px 0 0 0;

  transition: color var(--transition);

}

.col-sm-4 ul li a:hover { color: var(--accent); }



/* Blog date label */

.lre-post-date {

  font-family: var(--font-mono);

  font-size: 10px;

  letter-spacing: 0.1em;

  color: var(--accent);

  text-transform: uppercase;

  display: inline-block;

  margin-right: 4px;

}



/* ── VIDEO EMBED ────────────────────────────────────────────── */

#videoDiv {

  width: 100% !important;

  height: 560px;

  border: 1px solid var(--iron);

  border-radius: 4px;

}



/* ── HR DIVIDERS ───────────────────────────────────────────── */

hr {

  border: none;

  border-top: 1px solid var(--iron);

  margin: 40px 0;

}



/* ── INVENTORY / PRODUCT PAGES ─────────────────────────────── */

/* These classes are used by the PHP inventory system output */



/* Product listing page grid */

.lre-inv-grid {

  display: grid;

  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));

  gap: 2px;

  background: var(--iron);

  margin-top: 24px;

}



/* Individual product card */

.lre-inv-card,

.product-card {

  background: var(--steel);

  overflow: hidden;

  transition: background var(--transition);

  display: flex; flex-direction: column;

}

.lre-inv-card:hover, .product-card:hover { background: var(--iron); }



.lre-inv-img, .product-img {

  height: 200px;

  background: var(--iron);

  overflow: hidden;

  position: relative;

}

.lre-inv-img img, .product-img img {

  width: 100%; height: 100%;

  object-fit: cover;

  transition: transform var(--transition), opacity var(--transition);

  opacity: 0.85;

  filter: none; /* override the carousel filter */

  position: static; /* override carousel img positioning */

  min-width: unset; min-height: unset;

}

.lre-inv-card:hover .lre-inv-img img,

.product-card:hover .product-img img {

  transform: scale(1.03); opacity: 1;

}



/* Status badge */

.lre-badge {

  position: absolute; top: 10px; left: 10px;

  font-family: var(--font-mono); font-size: 9px;

  letter-spacing: 0.15em; text-transform: uppercase;

  padding: 3px 9px; border-radius: 2px; font-weight: 700;

}

.lre-badge-refurb { background: var(--accent); color: white; }

.lre-badge-new    { background: var(--teal);   color: var(--black); }

.lre-badge-ready  { background: var(--amber);  color: var(--black); }

.lre-badge-asis   { background: var(--slate);  color: var(--white); }



.lre-inv-body, .product-body {

  padding: 20px;

  display: flex; flex-direction: column; gap: 8px;

  flex: 1;

}

.lre-inv-make, .product-make {

  font-family: var(--font-mono); font-size: 10px;

  letter-spacing: 0.15em; color: var(--accent);

  text-transform: uppercase;

}

.lre-inv-name, .product-name {

  font-family: var(--font-display); font-size: 20px;

  letter-spacing: 1px; color: var(--white); line-height: 1.1;

}

.lre-inv-spec, .product-spec {

  display: inline-block;

  background: var(--iron); border: 1px solid var(--slate);

  padding: 2px 7px; font-family: var(--font-mono); font-size: 9px;

  letter-spacing: 0.1em; color: var(--mist);

  border-radius: 2px; text-transform: uppercase; margin: 2px 2px 0 0;

}

.lre-inv-stock, .product-stock {

  font-family: var(--font-mono); font-size: 10px;

  letter-spacing: 0.1em; color: var(--slate);

  margin-top: auto; padding-top: 8px;

}



/* Product page CTA button */

.lre-inv-cta, .product-cta {

  display: block; margin: 0 20px 20px;

  background: transparent; border: 1px solid var(--iron);

  color: var(--mist); padding: 10px; text-align: center;

  text-decoration: none; font-family: var(--font-mono);

  font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase;

  border-radius: 3px; transition: all var(--transition);

}

.lre-inv-cta:hover, .product-cta:hover {

  background: var(--accent) !important;

  border-color: var(--accent) !important;

  color: white !important;

}



/* ── INLINE QUOTE FORM (banner variant used on inner pages) ─── */

#formDiv.banner {

  padding: 20px 28px;

  min-height: 90px;

  background: var(--iron) !important;

  border-top: 2px solid var(--accent);

}

#formQuoteDiv {

  background: var(--steel);

  border: 1px solid var(--iron);

  border-left: 3px solid var(--accent);

  color: var(--smoke);

  padding: 20px;

  margin: 24px 0;

  border-radius: 0 4px 4px 0;

}

#formQuoteDiv h3, #formQuoteDiv h4 {

  font-family: var(--font-mono) !important;

  font-size: 11px !important;

  letter-spacing: 0.18em !important;

  color: var(--accent) !important;

  text-align: left !important;

}

#formQuoteDiv a { color: var(--accent); }

#formQuoteDiv input,

#formQuoteDiv textarea {

  color: var(--white) !important;

  background: var(--iron) !important;

  border: 1px solid var(--slate) !important;

  font-weight: 400 !important;

  width: 100% !important;

  padding: 10px 12px !important;

  border-radius: 3px !important;

}

#formQuoteDiv input:focus,

#formQuoteDiv textarea:focus { border-color: var(--accent) !important; outline: none; }



/* ── FOOTER FORM ───────────────────────────────────────────── */

.lre-footer-form-wrap {

  background: var(--coal);

  border-top: 2px solid var(--accent);

  padding: 72px 0 60px;

}

.lre-footer-form-header {

  text-align: center;

  margin-bottom: 44px;

}

.lre-footer-form-header h2 {

  font-family: var(--font-display) !important;

  font-size: 40px !important;

  letter-spacing: 3px !important;

  color: var(--white) !important;

  margin-bottom: 10px;

}

.lre-footer-form-header p {

  color: var(--mist);

  font-size: 15px;

  text-align: center;

  max-width: 520px;

  margin: 0 auto;

}



.lre-quote-form {}



/* Form field group */

.lre-form-group {

  margin-bottom: 16px;

}

.lre-form-group label {

  font-family: var(--font-mono);

  font-size: 10px; letter-spacing: 0.15em;

  color: var(--mist); text-transform: uppercase;

  display: block; margin-bottom: 6px;

}

.lre-form-group input[type="text"],

.lre-form-group input[type="email"],

.lre-form-group input[type="tel"],

.lre-form-group textarea,

.lre-form-group select {

  width: 100%;

  background: var(--iron) !important;

  border: 1px solid var(--slate) !important;

  color: var(--white) !important;

  padding: 11px 14px !important;

  font-family: var(--font-body) !important;

  font-size: 14px !important;

  border-radius: 3px !important;

  outline: none !important;

  transition: border-color var(--transition) !important;

}

.lre-form-group input:focus,

.lre-form-group textarea:focus,

.lre-form-group select:focus {

  border-color: var(--accent) !important;

}

.lre-form-group input::placeholder,

.lre-form-group textarea::placeholder { color: var(--mist) !important; }

.lre-form-group-tall textarea { min-height: 148px; resize: vertical; }



/* Contact aside in footer form */

.lre-form-submit-col { display: flex; flex-direction: column; justify-content: flex-end; }

.lre-contact-aside {

  background: var(--iron);

  border: 1px solid var(--slate);

  border-top: 2px solid var(--accent);

  padding: 20px;

  margin-bottom: 16px;

  text-align: center;

}

.lre-contact-aside-label {

  font-family: var(--font-mono);

  font-size: 10px; letter-spacing: 0.15em;

  color: var(--mist); text-transform: uppercase;

  margin-bottom: 10px;

}

.lre-phone-large {

  display: block;

  font-family: var(--font-display);

  font-size: 28px; letter-spacing: 2px;

  color: var(--white) !important;

  margin-bottom: 4px;

  text-decoration: none;

  transition: color var(--transition);

}

.lre-phone-large:hover { color: var(--accent) !important; }

.lre-phone-small {

  display: block;

  font-family: var(--font-mono); font-size: 12px;

  color: var(--mist) !important;

  text-decoration: none; margin-bottom: 8px;

  transition: color var(--transition);

}

.lre-phone-small:hover { color: var(--accent) !important; }

.lre-email-link {

  display: block;

  font-family: var(--font-mono); font-size: 12px;

  color: var(--accent) !important;

  text-decoration: none;

  transition: color var(--transition);

}

.lre-email-link:hover { color: var(--accent-hover) !important; }



.lre-submit-btn {

  width: 100% !important;

  background: var(--accent) !important;

  color: white !important;

  border: none !important;

  padding: 14px !important;

  font-family: var(--font-mono) !important;

  font-size: 12px !important;

  letter-spacing: 0.15em !important;

  text-transform: uppercase !important;

  font-weight: 700 !important;

  border-radius: 3px !important;

  cursor: pointer !important;

  transition: background var(--transition) !important;

}

.lre-submit-btn:hover { background: var(--accent-hover) !important; }



/* ── FOOTER BODY ───────────────────────────────────────────── */

#main-footer {

  background: var(--black) !important;

  border-top: 1px solid var(--iron);

}



#et-footer-nav {

  background: var(--coal) !important;

  border-top: 1px solid var(--iron);

  padding: 60px 0 40px;

}



.lre-footer-cols { display: flex; flex-wrap: wrap; }



/* Brand column */

.lre-footer-brand-col { padding-right: 32px; }



.lre-footer-logo-img {

  height: 44px;

  width: auto;

  display: block;

  margin-bottom: 10px;

  filter: none !important;

  position: static !important;

  min-width: unset !important;

  min-height: unset !important;

}

.lre-footer-brand-name {

  font-family: var(--font-display);

  font-size: 24px; letter-spacing: 3px;

  color: var(--white); display: block; margin-bottom: 4px;

	line-height: 1.1;

}

.lre-footer-tagline {

  font-family: var(--font-mono);

  font-size: 10px; letter-spacing: 0.18em;

  color: var(--accent); text-transform: uppercase;

  margin-bottom: 16px;

}

.lre-footer-desc {

  font-size: 13px; color: var(--mist);

  line-height: 1.75; margin-bottom: 20px;

  text-align: left;

}

.lre-footer-contact-list { display: flex; flex-direction: column; gap: 8px; }

.lre-footer-contact-list a {

  font-family: var(--font-mono); font-size: 12px;

  color: var(--mist) !important;

  text-decoration: none;

  display: flex; align-items: flex-start; gap: 8px;

  transition: color var(--transition);

}

.lre-footer-contact-list a:hover { color: var(--accent) !important; }

.lre-footer-contact-list .glyphicon {

  font-size: 12px; top: 1px; color: var(--slate); flex-shrink: 0;

}



/* Footer nav columns */

.lre-footer-col-title {

  font-family: var(--font-mono) !important;

  font-size: 10px !important;

  letter-spacing: 0.2em !important;

  color: var(--accent) !important;

  text-transform: uppercase !important;

  text-align: left !important;

  margin-bottom: 16px !important;

  padding-bottom: 10px !important;

  border-bottom: 1px solid var(--iron) !important;

}



.lre-footer-links { padding: 0; margin: 0; }

.lre-footer-links li { list-style: none; margin-bottom: 6px; }

.lre-footer-links a {

  font-size: 13px; color: var(--mist) !important;

  text-decoration: none;

  transition: color var(--transition), padding-left var(--transition);

  display: block;

}

.lre-footer-links a:hover {

  color: var(--accent) !important;

  padding-left: 6px;

}



.lre-footer-links-spaced li { margin-bottom: 10px; }

.lre-footer-links-spaced a { line-height: 1.4; }



.lre-footer-more-link {

  display: inline-block;

  font-family: var(--font-mono); font-size: 10px;

  letter-spacing: 0.12em; text-transform: uppercase;

  color: var(--accent) !important;

  margin-top: 12px; text-decoration: none;

  transition: color var(--transition);

}

.lre-footer-more-link:hover { color: var(--accent-hover) !important; }



/* ── FOOTER BOTTOM BAR ─────────────────────────────────────── */

#footer-bottom {

  background: var(--black) !important;

  border-top: 1px solid var(--iron);

  padding: 18px 0;

}

p#footer-copy {

  font-family: var(--font-mono);

  font-size: 10px; letter-spacing: 0.1em;

  color: var(--slate) !important;

  text-align: center !important;

  text-transform: uppercase;

  margin-bottom: 4px;

}

p#footer-copy a {

  color: var(--slate) !important;

  text-decoration: none;

  transition: color var(--transition);

}

p#footer-copy a:hover { color: var(--mist) !important; }

span#footer-info {

  font-family: var(--font-mono);

  font-size: 10px; letter-spacing: 0.1em;

  color: var(--slate) !important;

  text-transform: uppercase;

  display: block; text-align: center;

}

span#footer-info a { color: var(--slate) !important; }

span#footer-info a:hover { color: var(--accent) !important; }



/* ── MANUFACTURER LIST (used on product pages) ─────────────── */

.manufacturer-list {

  list-style: none;

  display: inline;

  margin: 0.5em 1em;

  line-height: 2.2em;

}



/* ── INNER PAGE: REG TEXT DIV ──────────────────────────────── */

#regTextDiv {

  background: var(--coal);

  border: 1px solid var(--iron);

  border-radius: 4px;

  padding: 32px;

  margin: 24px 0;

}

#regTextDiv h1, #regTextDiv h2, #regTextDiv h3 {

  text-align: left !important;

  color: var(--white) !important;

}



/* ── UTILITY: FADE-UP ANIMATION ────────────────────────────── */

.lre-fade-up {

  opacity: 0; transform: translateY(20px);

  transition: opacity 0.55s ease, transform 0.55s ease;

}

.lre-fade-up.lre-visible { opacity: 1; transform: translateY(0); }



/* ── RESPONSIVE ────────────────────────────────────────────── */

@media (min-width: 769px) {

  /* Inventory grid bumps to 3 cols on desktop */

  .lre-inv-grid { grid-template-columns: repeat(3, 1fr); }

}



@media (max-width: 992px) {

  #textDiv { width: 90%; }

  .lre-footer-brand-col { padding-right: 16px; }

}



@media (max-width: 768px) {

  body { padding-top: 90px; }

  .carousel-caption h1 { font-size: 28px !important; }

  .carousel-caption { left: 5% !important; bottom: 10% !important; }

  .btn { font-size: 12px !important; }

  #videoDiv { height: 320px !important; }

  #blueDiv { padding: 40px 20px; }

  #formDiv.home { padding: 28px 24px; }

  .lre-footer-form-wrap { padding: 48px 0 40px; }

  .lre-form-submit-col { margin-top: 16px; }

  .lre-footer-brand-col { margin-bottom: 32px; }

}



@media (max-width: 480px) {

  body { padding-top: 80px; }

  .carousel-caption h1 { font-size: 22px !important; }

  #videoDiv { height: 200px !important; }

  .lre-inv-grid { grid-template-columns: 1fr; }

  h1 { font-size: 32px !important; }

  h2 { font-size: 26px !important; }

}

