/* Homepage dedicated refinements (scoped to unique classes) */

/* Hero refinements */
.hero {
  position: relative;
  overflow: hidden;
}
.hero::before {
  content: "";
  position: absolute;
  right: -15%;
  top: -25%;
  width: 60%;
  height: 180%;
  background: radial-gradient(50% 50% at 50% 50%, rgba(34, 211, 238, 0.18), transparent 60%);
  transform: rotate(18deg);
  pointer-events: none;
}
.hero__grid { position: relative; z-index: 1; }
.hero__title { line-height: 1.08; }
.hero__actions .btn { box-shadow: 0 14px 28px rgba(37,99,235,.18); }
.hero__actions .btn:hover { transform: translateY(-1px); }

/* Hero decorative art (SVG, CSS-only) */
.hero__art { position: absolute; right: -24px; top: -24px; width: 280px; height: 280px; pointer-events: none; z-index: 0; opacity: 0.85; filter: drop-shadow(0 24px 48px rgba(15,23,42,.18)); }
.hero-art__svg { width: 100%; height: 100%; display: block; transform: rotateX(10deg) rotateZ(-8deg); }
.hero__art .ring-group { transform-origin: 180px 80px; animation: heroRingSpin 22s linear infinite; opacity: .95; }
@keyframes heroRingSpin { to { transform: rotate(360deg); } }
[data-theme="dark"] .hero__art { opacity: .95; filter: drop-shadow(0 28px 60px rgba(3,7,18,.44)); }

/* Inline ticker polish */
.ticker-inline__item { backdrop-filter: saturate(120%) blur(2px); }
[data-theme="dark"] .ticker-inline__item { background: rgba(16, 24, 39, 0.72); }

/* Watchlist polish */
.watch-card { backdrop-filter: saturate(115%) blur(2px); position: relative; }
[data-theme="dark"] .watch-card { background: rgba(16, 24, 39, 0.78); }
.watch-card__value { letter-spacing: .01em; }

/* Hero BTC live card */
.hero-btc-card { border: 1px solid var(--cf-border); background: var(--cf-surface); border-radius: var(--cf-radius-md); padding: 0.9rem 1rem; box-shadow: var(--cf-shadow-sm); max-width: 360px; }
[data-theme="dark"] .hero-btc-card { background: rgba(16, 24, 39, 0.78); }
.hero-btc-card__price { font-size: 1.6rem; font-weight: 700; letter-spacing: -0.01em; }
.hero-btc-card__meta { display: flex; align-items: center; gap: .5rem; font-size: .9rem; color: var(--cf-muted); }
.hero-btc-card__live { display: inline-flex; align-items: center; gap: .35rem; color: var(--cf-success); font-weight: 600; font-size: .85rem; }
.hero-btc-card__live .dot { width: 8px; height: 8px; border-radius: 999px; background: var(--cf-success); box-shadow: 0 0 0 0 rgba(11, 191, 98, 0.7); animation: pulseDot 2s infinite; display: inline-block; }
@keyframes pulseDot { 0% { box-shadow: 0 0 0 0 rgba(11, 191, 98, 0.6);} 70% { box-shadow: 0 0 0 8px rgba(11, 191, 98, 0);} 100% { box-shadow: 0 0 0 0 rgba(11, 191, 98, 0);} }
.hero-btc-card__head { gap: .5rem; }
@media (max-width: 420px) { .hero-btc-card__head { flex-wrap: wrap; } }

/* Professional compact quote card */
.hero-btc-quote { display: inline-flex; flex-direction: column; gap: .35rem; padding: .6rem .8rem; border: 1px solid var(--cf-border); border-radius: 12px; background: var(--cf-surface); box-shadow: 0 10px 22px rgba(15,23,42,0.06); max-width: 340px; }
[data-theme="dark"] .hero-btc-quote { background: rgba(16,24,39,0.78); }
.hero-btc-quote__price { font-size: 1.25rem; font-weight: 700; letter-spacing: .005em; }
.hero-btc-quote__row { display: inline-flex; align-items: center; gap: .5rem; color: var(--cf-muted); font-size: .9rem; }
.quote-change { padding: 2px 8px; border-radius: 999px; border: 1px solid var(--cf-border); background: var(--cf-surface-alt); font-weight: 600; }
[data-theme="dark"] .quote-change { background: rgba(10,19,39,0.6); }
.quote-change.is-up { color: var(--cf-success); border-color: rgba(11,191,98,.35); background: rgba(11,191,98,.08); }
.quote-change.is-down { color: var(--cf-danger); border-color: rgba(255,77,103,.35); background: rgba(255,77,103,.08); }
.quote-sep::before { content: '•'; color: var(--cf-muted); opacity: .85; }
.quote-time { color: var(--cf-muted); }

/* Favorites toggle */
.fav-toggle { position: absolute; top: 8px; right: 8px; width: 36px; height: 36px; border-radius: 999px; border: 1px solid var(--cf-border); background: var(--cf-surface); color: var(--cf-text); display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 8px 18px rgba(15,23,42,0.08); transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease; }
.fav-toggle:hover { transform: translateY(-1px); box-shadow: 0 12px 24px rgba(15,23,42,0.12); border-color: var(--cf-primary); }
.fav-toggle.is-active { background: var(--cf-primary-soft); border-color: var(--cf-primary); color: var(--cf-primary); }
.fav-toggle i { font-size: 1rem; line-height: 1; }

/* Heatmap polish */
.heatmap-cell { backdrop-filter: saturate(110%) blur(1px); }
.heatmap-grid { row-gap: .85rem; }
.heatmap-symbol { letter-spacing: .02em; }
.heatmap-legend .legend-box { box-shadow: inset 0 0 0 1px rgba(0,0,0,0.03); }

/* Screener polish */
.screener-table tbody tr:hover td { background: rgba(37,99,235,0.06); }

/* Movers */
.mover-card { backdrop-filter: saturate(110%) blur(1px); }
[data-theme="dark"] .mover-card { background: rgba(16, 24, 39, 0.78); }

/* Sections spacing */
@media (min-width: 992px) {
  .hero { padding: 2.4rem 2.6rem; }
}

/* Responsive and device-level refinements */
@media (max-width: 991.98px) {
  .hero__grid { grid-template-columns: 1fr !important; }
  .hero__art { right: -40px; top: -32px; width: 220px; height: 220px; }
}

@media (max-width: 575.98px) {
  .hero { padding: 1.2rem; }
  .hero__title { font-size: clamp(1.6rem, 7.5vw, 2rem); }
  .hero__lead { font-size: 1rem; }
  .hero__bullets { grid-template-columns: 1fr !important; }
  .watchlist-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important; gap: .8rem; }
  .fav-toggle { width: 34px; height: 34px; }
}

/* Very small phones (<= 390px) */
@media (max-width: 390px) {
  .hero__title { letter-spacing: -0.015em; }
  .hero__actions .btn { padding: .5rem 1rem; }
}

/* Compact larger phones (391px–430px) */
@media (min-width: 391px) and (max-width: 430px) {
  .hero__title { font-size: clamp(1.8rem, 6.2vw, 2.2rem); }
}
