/*
 * ============================================================
 * 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: 11px;
  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: 15px;
  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(--smoke);
  font-size: 14px;
  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: 15px;
  color: var(--mist);
  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;
  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(--mist);
  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: 13px;
  color: var(--mist);
  text-decoration: none;
  display: block;
  padding: 5px 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-brand-mark {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px;
  background: var(--accent);
  clip-path: polygon(0 0, 100% 0, 100% 70%, 70% 100%, 0 100%);
  font-family: var(--font-display); font-size: 17px;
  color: white; letter-spacing: 1px;
  margin-bottom: 10px;
}
.lre-footer-brand-name {
  font-family: var(--font-display);
  font-size: 24px; letter-spacing: 3px;
  color: var(--white); display: block; margin-bottom: 4px;
}
.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; }
}
