/* MEGRA Colorlight mega footer — GO GO GO 2026-09-09 */
.megra-cl-foot {
  --cl: #1226aa;
  --cl-deep: #0b1a4a;
  --navy: #071033;
  --ft-text: #e8eefc;
  --ft-mute: #a8b4d0;
  --ft-line: rgba(232, 238, 252, 0.14);
  --signal: #5b8cff;
  --sans: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  margin: 0;
  padding: 0 0 1.35rem;
  background: linear-gradient(180deg, #0b1a4a 0%, #071033 55%, #050b22 100%);
  color: var(--ft-text);
  font-family: var(--sans);
}
.megra-cl-foot * { box-sizing: border-box; }
.megra-cl-foot a { color: inherit; }
.megra-cl-foot__accent {
  height: 3px;
  background: linear-gradient(90deg, #1226aa 0%, #5b8cff 40%, transparent 70%);
}
.megra-cl-foot__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 1.7rem 20px 0.25rem;
}
.megra-cl-foot__grid {
  display: grid;
  grid-template-columns: 1.15fr 0.95fr 1.1fr;
  gap: 1.5rem 1.75rem;
  align-items: start;
}
@media (max-width: 900px) {
  .megra-cl-foot__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
  .megra-cl-foot__grid { grid-template-columns: 1fr; }
}
.megra-cl-foot .col-kicker {
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--signal);
  margin: 0 0 0.85rem;
  font-weight: 700;
}
.megra-cl-foot .brand-row {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 0.75rem;
}
.megra-cl-foot .brand-row img {
  /* beat megra-mobile-a global img{height:auto!important} */
  height: 14px !important;
  max-height: 14px !important;
  width: auto !important;
  max-width: 88px !important;
  display: block !important;
  opacity: 1 !important;
  object-fit: contain !important;
  filter: brightness(0) invert(1);
}
.megra-cl-foot .brand-word {
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #fff !important;
  border-left: 1px solid rgba(232,238,252,0.35);
  padding-left: 14px;
  line-height: 1;
  white-space: nowrap;
}
.megra-cl-foot .seo-line {
  margin: 0 0 0.75rem;
  font-size: 11px;
  color: var(--ft-mute);
  line-height: 1.4;
  max-width: 36ch;
}
.megra-cl-foot .to-contact {
  margin: 10px 0 0;
  font-size: 12px;
  color: var(--ft-mute);
  line-height: 1.4;
}
.megra-cl-foot .to-contact a {
  color: #9ec1ff;
  text-decoration: none;
  font-weight: 650;
}
.megra-cl-foot .to-contact a:hover { text-decoration: underline; }
.megra-cl-foot .qlinks {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.megra-cl-foot .qlinks a {
  color: var(--ft-text);
  text-decoration: none;
  font-size: 15px;
}
.megra-cl-foot .qlinks a:hover { color: var(--signal); }

/* M2 maps motion */
.megra-cl-foot .map-m2 {
  position: relative;
  display: block;
  height: 128px;
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none;
  color: #fff;
  border: 1px solid rgba(91,140,255,0.35);
  background: #0a1848;
  isolation: isolate;
}
.megra-cl-foot .map-m2 .sky {
  position: absolute; inset: 0;
  background:
    linear-gradient(90deg, transparent 19%, rgba(255,255,255,0.07) 19% 20%, transparent 20% 54%, rgba(255,255,255,0.06) 54% 55%, transparent 55%),
    linear-gradient(0deg, transparent 30%, rgba(255,255,255,0.08) 30% 31%, transparent 31% 68%, rgba(255,255,255,0.06) 68% 69%, transparent 69%),
    linear-gradient(160deg, #152a6e, #0a1744);
}
.megra-cl-foot .map-m2 svg.route {
  position: absolute; inset: 0; width: 100%; height: 100%; z-index: 2;
}
.megra-cl-foot .map-m2 .path {
  fill: none; stroke: rgba(158,193,255,0.35); stroke-width: 2;
  stroke-dasharray: 6 8; animation: megra-cl-dash 1.2s linear infinite;
}
.megra-cl-foot .map-m2 .path-glow {
  fill: none; stroke: #5b8cff; stroke-width: 3; stroke-linecap: round;
  stroke-dasharray: 160; stroke-dashoffset: 160;
  animation: megra-cl-draw 3.5s ease-in-out infinite;
  filter: drop-shadow(0 0 6px #5b8cff);
}
.megra-cl-foot .map-m2 .traveler {
  offset-path: path("M 24 100 C 60 82, 78 36, 130 48 S 200 92, 250 42");
  offset-distance: 0%;
  position: absolute;
  width: 9px; height: 9px; border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 12px #5b8cff, 0 0 22px #1226aa;
  animation: megra-cl-travel 3.5s ease-in-out infinite;
  z-index: 4;
}
.megra-cl-foot .map-m2 .end-pin {
  position: absolute; right: 16%; top: 26%;
  width: 16px; height: 22px;
  transform: translate(-50%, -100%);
  animation: megra-cl-pin 3.5s ease-in-out infinite;
  z-index: 4;
  filter: drop-shadow(0 0 8px rgba(91,140,255,0.8));
}
.megra-cl-foot .map-m2 .copy {
  position: absolute; left: 12px; right: 12px; bottom: 10px; z-index: 5;
  pointer-events: none;
}
.megra-cl-foot .map-m2 .copy .k {
  margin: 0 0 2px; font-size: 9px; letter-spacing: 0.14em;
  text-transform: uppercase; color: #9ec1ff; font-weight: 700;
}
.megra-cl-foot .map-m2 .copy .t {
  margin: 0; font-size: 14px; font-weight: 750;
  text-shadow: 0 2px 10px rgba(0,0,0,0.45);
}
.megra-cl-foot .map-m2 .copy .s { margin: 2px 0 0; font-size: 11px; color: #c5d2ef; opacity: 0.9; }

.megra-cl-foot .social-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 12px;
}
.megra-cl-foot .soc {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 64px;
  border-radius: 12px;
  border: 1px solid var(--ft-line);
  background: rgba(7, 16, 51, 0.85);
  text-decoration: none;
  font-size: 10px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ft-mute);
  transition: transform 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.megra-cl-foot .soc:hover {
  border-color: rgba(255,255,255,0.22);
  color: #fff;
  transform: translateY(-2px);
}
.megra-cl-foot .soc .glyph {
  width: 34px; height: 34px; border-radius: 9px;
  display: grid; place-items: center;
}
.megra-cl-foot .soc .glyph svg { width: 18px; height: 18px; fill: #fff; display: block; }
.megra-cl-foot .soc--fb .glyph { background: #1877F2; }
.megra-cl-foot .soc--yt .glyph { background: #FF0000; }
.megra-cl-foot .soc--x .glyph { background: #000; border: 1px solid #333; }

.megra-cl-foot__bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--ft-line);
}
.megra-cl-foot .legal {
  margin: 0;
  font-size: 11px;
  color: var(--ft-mute);
}

@keyframes megra-cl-dash { to { stroke-dashoffset: -28; } }
@keyframes megra-cl-draw {
  0% { stroke-dashoffset: 160; opacity: 0.3; }
  40% { stroke-dashoffset: 0; opacity: 1; }
  70% { stroke-dashoffset: 0; opacity: 1; }
  100% { stroke-dashoffset: -20; opacity: 0.4; }
}
@keyframes megra-cl-travel {
  0% { offset-distance: 0%; opacity: 0; }
  15% { opacity: 1; }
  85% { opacity: 1; }
  100% { offset-distance: 100%; opacity: 0.2; }
}
@keyframes megra-cl-pin {
  0%, 55% { transform: translate(-50%, -100%) scale(0.7); opacity: 0.4; }
  70% { transform: translate(-50%, -110%) scale(1.15); opacity: 1; }
  85%, 100% { transform: translate(-50%, -100%) scale(1); opacity: 1; }
}

/* Hide old Bricks footer when mega foot present */
body:has(.megra-cl-foot) #brx-footer,
body:has(.megra-cl-foot) footer.brxe-footer,
body:has(.megra-cl-foot) #brx-footer.brxe-footer {
  display: none !important;
}


/* Hide old mini footers / bricks footer leftovers */
.megra-footer-min,
body:has(.megra-cl-foot) .megra-footer-min,
body:has(.megra-cl-foot) #brx-footer {
  display: none !important;
}

/* Product thumbs always visible (file:// + lazy leftovers) */
.product-block-image,
img.product-block-image,
.product-block img,
.category-image {
  opacity: 1 !important;
  visibility: visible !important;
  max-width: 100% !important;
  height: auto !important;
}

/* Henry 2026-09-09: remove top legal bar (not required for SEO) */
.megra-site-header__bar { display: none !important; height: 0 !important; padding: 0 !important; margin: 0 !important; overflow: hidden !important; border: 0 !important; }

