/* London Baby 2026 — Apple glass utility + hero refinement
   Scope: Time & Weather module and main day hero cards only.
   Keeps header, itinerary cards, navigation, modals, and app logic untouched. */

:root {
  --lb-glass-ink: #0b1730;
  --lb-glass-muted: rgba(70, 82, 103, .92);
  --lb-glass-line: rgba(255, 255, 255, .72);
  --lb-glass-edge: rgba(176, 193, 220, .56);
  --lb-glass-fill: rgba(248, 252, 255, .68);
  --lb-glass-fill-strong: rgba(255, 255, 255, .82);
  --lb-glass-shadow: 0 18px 44px rgba(31, 45, 71, .16);
  --lb-glass-shadow-soft: 0 10px 28px rgba(31, 45, 71, .12);
  --lb-champagne-line: rgba(207, 160, 48, .28);
}

/* Remove old neon atmosphere from the content band. */
html body #app.app-shell main.main::after,
html body #app.app-shell .dashboard .panel::before,
html body #app.app-shell .dashboard .panel::after,
html body #app.app-shell .hero::after {
  content: none !important;
  display: none !important;
  background: none !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 0 !important;
}

/* Keep the page calm and continuous with the new pale glass header. */
html body #app.app-shell .main {
  background:
    radial-gradient(circle at 18% 4%, rgba(218, 232, 249, .55), transparent 36%),
    radial-gradient(circle at 86% 18%, rgba(244, 233, 204, .36), transparent 30%),
    linear-gradient(180deg, rgba(242, 248, 255, .72) 0%, rgba(250, 252, 255, .92) 38%, rgba(244, 248, 252, .96) 100%) !important;
}

/* TIME + WEATHER MODULE: frosted utility panel, no neon strip, no pink glow. */
html body #app.app-shell .dashboard {
  padding-top: clamp(16px, 3.2vw, 24px) !important;
}

html body #app.app-shell .dashboard .panel {
  position: relative !important;
  overflow: hidden !important;
  border-radius: clamp(24px, 5.2vw, 34px) !important;
  border: 1px solid rgba(255,255,255,.78) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.76), rgba(235,244,255,.54) 52%, rgba(255,250,238,.44)) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.12) !important;
  backdrop-filter: blur(22px) saturate(1.12) !important;
  box-shadow:
    var(--lb-glass-shadow),
    inset 0 1px 0 rgba(255,255,255,.92),
    inset 0 -1px 0 rgba(164, 181, 207, .22) !important;
  padding: clamp(18px, 4vw, 28px) !important;
}

html body #app.app-shell .dashboard .panel h3 {
  color: var(--lb-glass-ink) !important;
  -webkit-text-fill-color: var(--lb-glass-ink) !important;
  text-shadow: none !important;
  letter-spacing: -0.035em !important;
  font-weight: 950 !important;
  margin: 0 0 14px !important;
}

html body #app.app-shell .clock-grid {
  gap: clamp(12px, 3vw, 18px) !important;
}

html body #app.app-shell .clock-grid .mini-card {
  min-height: 116px !important;
  border-radius: clamp(18px, 4vw, 26px) !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.62), rgba(230,240,253,.42)) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.08) !important;
  backdrop-filter: blur(16px) saturate(1.08) !important;
  box-shadow:
    var(--lb-glass-shadow-soft),
    inset 0 1px 0 rgba(255,255,255,.8) !important;
  overflow: hidden !important;
  padding: 14px 14px 12px !important;
  justify-content: center !important;
}

/* Retain national personality, but calm it through a frosted veil. */
html body #app.app-shell .clock-grid .mini-card::before {
  opacity: .22 !important;
  filter: saturate(.88) contrast(.92) brightness(1.08) !important;
}

html body #app.app-shell .clock-grid .mini-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  border-radius: inherit !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.52), rgba(255,255,255,.18)),
    radial-gradient(circle at 25% 5%, rgba(255,255,255,.54), transparent 38%) !important;
  z-index: 0 !important;
}

html body #app.app-shell .clock-grid .mini-card > * {
  position: relative !important;
  z-index: 1 !important;
}

html body #app.app-shell .clock-grid .mini-card span:first-child,
html body #app.app-shell .clock-grid .mini-card .time-date {
  color: rgba(65, 77, 99, .86) !important;
  -webkit-text-fill-color: rgba(65, 77, 99, .86) !important;
  text-shadow: none !important;
  letter-spacing: .18em !important;
}

html body #app.app-shell .clock-grid .mini-card .time-main,
html body #app.app-shell .clock-grid .mini-card strong {
  color: var(--lb-glass-ink) !important;
  -webkit-text-fill-color: var(--lb-glass-ink) !important;
  text-shadow: none !important;
}

html body #app.app-shell .clock-grid .mini-card .weather-line {
  margin-top: 9px !important;
  padding: 8px 10px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  background: rgba(255,255,255,.58) !important;
  -webkit-backdrop-filter: blur(12px) saturate(1.05) !important;
  backdrop-filter: blur(12px) saturate(1.05) !important;
  box-shadow:
    0 6px 16px rgba(28, 43, 70, .10),
    inset 0 1px 0 rgba(255,255,255,.86) !important;
  color: var(--lb-glass-ink) !important;
  text-shadow: none !important;
}

html body #app.app-shell .clock-grid .mini-card .weather-main,
html body #app.app-shell .clock-grid .mini-card .weather-temp,
html body #app.app-shell .clock-grid .mini-card .weather-condition,
html body #app.app-shell .clock-grid .mini-card .weather-detail,
html body #app.app-shell .clock-grid .mini-card .weather-icon {
  color: var(--lb-glass-ink) !important;
  -webkit-text-fill-color: var(--lb-glass-ink) !important;
  text-shadow: none !important;
}

html body #app.app-shell .clock-grid .mini-card .weather-detail {
  color: rgba(50, 63, 86, .78) !important;
  -webkit-text-fill-color: rgba(50, 63, 86, .78) !important;
}

/* HERO CARDS: remove old circular logo, soften into glass/photographic editorial cards. */
html body #app.app-shell .hero {
  position: relative !important;
  isolation: isolate !important;
  min-height: clamp(310px, 54vw, 460px) !important;
  border-radius: clamp(28px, 6vw, 42px) !important;
  border: 1px solid rgba(255,255,255,.82) !important;
  overflow: hidden !important;
  background: rgba(245,249,255,.72) !important;
  box-shadow:
    0 22px 54px rgba(31, 45, 71, .18),
    inset 0 1px 0 rgba(255,255,255,.92),
    inset 0 -1px 0 rgba(162,178,205,.20) !important;
}

html body #app.app-shell .hero img#heroImage {
  filter: saturate(.82) contrast(.96) brightness(1.04) !important;
  opacity: .46 !important;
  transform: scale(1.015) !important;
}

html body #app.app-shell .hero .hero-shade {
  background:
    linear-gradient(90deg, rgba(16,34,66,.60), rgba(16,34,66,.26) 44%, rgba(255,255,255,.08)),
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.06) 38%, rgba(6,19,44,.20)) !important;
  opacity: 1 !important;
}

html body #app.app-shell .hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 18% 12%, rgba(255,255,255,.50), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.22), transparent 44%, rgba(255,255,255,.12)) !important;
  mix-blend-mode: screen !important;
}

html body #app.app-shell .hero .hero-copy {
  z-index: 5 !important;
  max-width: min(86%, 760px) !important;
}

html body #app.app-shell .hero .hero-pill {
  width: fit-content !important;
  max-width: 100% !important;
  background: rgba(255,255,255,.84) !important;
  color: #003b8f !important;
  -webkit-text-fill-color: #003b8f !important;
  border: 1px solid rgba(255,255,255,.86) !important;
  box-shadow:
    0 8px 20px rgba(30,48,78,.13),
    inset 0 1px 0 rgba(255,255,255,.92) !important;
  text-shadow: none !important;
}

html body #app.app-shell .hero h2,
html body #app.app-shell .hero p {
  text-shadow: 0 2px 14px rgba(3, 12, 32, .42) !important;
}

@media (max-width: 720px) {
  html body #app.app-shell .dashboard {
    padding: 14px clamp(14px, 4vw, 22px) 0 !important;
  }

  html body #app.app-shell .dashboard .panel {
    padding: 17px !important;
    border-radius: 26px !important;
  }

  html body #app.app-shell .dashboard .panel h3 {
    font-size: clamp(1.55rem, 7vw, 2.15rem) !important;
    margin-bottom: 12px !important;
  }

  html body #app.app-shell .clock-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  html body #app.app-shell .clock-grid .mini-card {
    min-height: 104px !important;
    padding: 11px 9px 10px !important;
  }

  html body #app.app-shell .clock-grid .mini-card .weather-line {
    margin-top: 7px !important;
    padding: 6px 7px !important;
  }

  html body #app.app-shell .hero {
    min-height: 360px !important;
    margin-top: 18px !important;
    border-radius: 30px !important;
  }

  html body #app.app-shell .hero img#heroImage {
    opacity: .40 !important;
  }

  html body #app.app-shell .hero .hero-copy {
    left: 26px !important;
    right: 24px !important;
    bottom: 28px !important;
    max-width: calc(100% - 50px) !important;
  }

  html body #app.app-shell .hero h2 {
    font-size: clamp(3.0rem, 14vw, 4.6rem) !important;
    line-height: .96 !important;
    letter-spacing: -0.07em !important;
  }

  html body #app.app-shell .hero p {
    font-size: clamp(1.18rem, 5.4vw, 1.65rem) !important;
    line-height: 1.16 !important;
  }
}

@media (max-width: 430px) {
  html body #app.app-shell .clock-grid .mini-card {
    min-height: 96px !important;
  }

  html body #app.app-shell .clock-grid .mini-card .weather-main {
    justify-content: center !important;
  }

  html body #app.app-shell .clock-grid .mini-card .weather-condition {
    max-width: 72px !important;
  }

  html body #app.app-shell .hero {
    min-height: 340px !important;
  }
}
