/* Shared ShyneTyme theme for builders, catalog, contact, and shared page chrome. */
:root {
  --shyne-bg: #020713;
  --shyne-panel: #071126;
  --shyne-panel-2: #0b1933;
  --shyne-cyan: #31e6ff;
  --shyne-pink: #ff3ac8;
  --shyne-amber: #ffb11a;
  --shyne-violet: #7957ff;
  --shyne-text: #f5f8ff;
  --shyne-muted: #aab8cb;
  --shyne-border: linear-gradient(
    105deg,
    #31e6ff 0%,
    #7a5cff 30%,
    #ff3ac8 58%,
    #ffb11a 82%,
    #31e6ff 100%
  );
}

/* Interior-page color system. */
body:not(.home-page) {
  color: var(--shyne-text);
  background:
    radial-gradient(circle at 12% 8%, rgba(49, 230, 255, .11), transparent 24rem),
    radial-gradient(circle at 88% 18%, rgba(255, 58, 200, .1), transparent 26rem),
    var(--shyne-bg);
}

body:not(.home-page) main,
body:not(.home-page) footer,
body:not(.home-page) header {
  color: var(--shyne-text);
}

body:not(.home-page) .text-secondary,
body:not(.home-page) .question-note,
body:not(.home-page) .card-body .small {
  color: var(--shyne-muted) !important;
}

body:not(.home-page) footer {
  background: #030915;
  border-color: rgba(49, 230, 255, .18) !important;
}

body:not(.home-page) footer a {
  color: #bfefff;
}

/* Shared brand treatment. */
.brand-lockup {
  display: flex !important;
  align-items: center !important;
  gap: .58rem !important;
  margin-left: clamp(-.5rem, -.55vw, -.22rem);
  white-space: nowrap;
}

.brand-lockup img {
  width: 40px !important;
  height: 40px !important;
  flex: 0 0 40px;
  object-fit: contain;
}

.brand-lockup > span {
  color: var(--shyne-cyan) !important;
  font-family: Oxanium, Inter, sans-serif;
  font-size: clamp(1.05rem, 1.4vw, 1.25rem);
  font-weight: 850;
  letter-spacing: .015em;
  text-shadow:
    0 0 7px rgba(49, 230, 255, .8),
    0 0 15px rgba(49, 230, 255, .38);
}

.brand-dot {
  display: inline-block;
  padding: 0 .04em;
  color: var(--shyne-cyan) !important;
  text-shadow:
    0 0 7px var(--shyne-cyan),
    0 0 14px rgba(49, 230, 255, .65);
}

/* Page-name divider and page-content anchor. */
.page-location-bar {
  position: relative;
  z-index: 4;
  border-top: 2px solid transparent;
  border-bottom: 2px solid transparent;
  background:
    linear-gradient(
      90deg,
      rgba(3, 9, 21, .98),
      rgba(7, 17, 38, .96) 62%,
      rgba(3, 9, 21, .92)
    ) padding-box,
    var(--shyne-border) border-box;
  box-shadow:
    0 5px 18px rgba(0, 0, 0, .28),
    0 0 16px rgba(49, 230, 255, .08);
}

.page-location-bar__inner {
  display: flex;
  align-items: center;
  gap: .72rem;
  min-height: 52px;
  padding-top: .48rem;
  padding-bottom: .48rem;
}

.page-location-bar__site {
  color: var(--shyne-muted);
  font-family: Oxanium, Inter, sans-serif;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.page-location-bar__separator {
  width: clamp(30px, 5vw, 72px);
  height: 2px;
  background: linear-gradient(
    90deg,
    var(--shyne-cyan),
    rgba(121, 87, 255, .58),
    transparent
  );
  box-shadow: 0 0 8px rgba(49, 230, 255, .5);
}

.page-location-bar__anchor {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  color: #fff !important;
  font-family: Oxanium, Inter, sans-serif;
  font-size: clamp(.88rem, 1.3vw, 1.08rem);
  font-weight: 800;
  letter-spacing: .035em;
  text-decoration: none;
  text-shadow: 0 0 8px rgba(49, 230, 255, .55);
}

.page-location-bar__anchor::after {
  content: "↓";
  color: var(--shyne-pink);
  font-size: 1rem;
  text-shadow: 0 0 8px rgba(255, 58, 200, .72);
}

.page-location-bar__anchor:hover,
.page-location-bar__anchor:focus-visible {
  color: var(--shyne-cyan) !important;
  text-decoration: none;
}

.page-location-bar__hint {
  display: none !important;
}

#request-info {
  scroll-margin-top: 34vh;
}

/* Keep Bootstrap spacing changes limited to carousel banners. */
.hero.py-5 {
  padding-top: 2px !important;
  padding-bottom: 1rem !important;
}

/* Shared carousel sizing. The LED frame itself is owned by homepage-led-sign.css. */
.hero {
  min-height: clamp(360px, 42vw, 520px);
}
