/* ==========================================================================
   Thunder Stallion — Responsive
   Loaded last. Breakpoints: laptop 1100, tablet 860, mobile 600, small 400.
   Goal: no broken layouts, no horizontal scroll, every page perfect.
   ========================================================================== */

/* ---- Laptop ------------------------------------------------------------- */
@media (max-width: 1100px) {
  .hero__inner {
    gap: 34px;
  }

  .hero__stats {
    gap: 12px;
  }

  .coin-top,
  .coin-body {
    grid-template-columns: 1fr;
  }

  .submit-wrap {
    grid-template-columns: 1fr;
  }

  .submit-aside {
    position: static;
  }

  .footer__top {
    grid-template-columns: 1.4fr 1fr 1fr;
  }

  .app-shell {
    grid-template-columns: 220px 1fr;
  }
}

/* ---- Tablet ------------------------------------------------------------- */
@media (max-width: 860px) {
  :root {
    --pad-section: clamp(48px, 7vw, 80px);
  }

  /* Nav: collapse links into slide-down menu */
  .nav__links {
    position: fixed;
    top: var(--nav-h);
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    padding: 18px 24px 26px;
    background: rgba(7, 9, 20, 0.96);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid var(--border);
    margin: 0;
    transform: translateY(-130%);
    opacity: 0;
    pointer-events: none;
    transition: transform var(--t) var(--ease), opacity var(--t);
  }

  .nav.menu-open .nav__links {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }

  .nav__link {
    padding: 13px 14px;
    font-size: 16px;
  }

  .nav__link::after {
    display: none;
  }

  .nav__burger {
    display: grid;
  }

  .nav__search {
    min-width: 0;
    padding: 9px;
  }

  .nav__search span,
  .nav__search kbd {
    display: none;
  }

  .nav__right .btn--ghost {
    display: none;
  }

  /* login moves into menu */

  /* Hero stacks */
  .hero__inner {
    grid-template-columns: 1fr;
  }

  .hero__visual {
    min-height: 340px;
    order: -1;
  }

  .hero__emblem-wrap {
    width: min(320px, 70%);
  }

  .hero__chip--3 {
    display: none;
  }

  .scroll-cue {
    display: none;
  }

  /* Coin */
  .coin-stats {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Dashboard/admin: sidebar becomes top scroller */
  .app-shell {
    grid-template-columns: 1fr;
  }

  .side {
    position: static;
    height: auto;
    width: 100%;
    flex-direction: row;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 8px;
    padding: 14px 16px;
    border-right: none;
    border-bottom: 1px solid var(--border);
    align-items: center;
  }

  .side__user,
  .side__group,
  .side__foot {
    display: block;
  }

  .side__link {
    white-space: nowrap;
  }

  .footer__top {
    grid-template-columns: 1fr 1fr;
    gap: 30px;
  }

  .footer__brand {
    grid-column: 1 / -1;
  }
}

/* ---- Mobile ------------------------------------------------------------- */
@media (max-width: 600px) {
  body {
    font-size: 15.5px;
  }

  .container {
    padding-inline: 18px;
  }

  .section-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }

  .hero h1 {
    font-size: clamp(34px, 11vw, 46px);
  }

  .hero__cta {
    width: 100%;
  }

  .hero__cta .btn {
    flex: 1;
  }

  .hero__stats {
    grid-template-columns: 1fr;
  }

  .stat {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .stat__label {
    margin-top: 0;
  }

  .grid--coins,
  .grid--feature {
    grid-template-columns: 1fr;
  }

  .newsletter__form {
    flex-direction: column;
  }

  .newsletter__form .btn {
    width: 100%;
  }

  .form-grid--2 {
    grid-template-columns: 1fr;
  }

  .social-btns {
    grid-template-columns: 1fr;
  }

  .coin-id__head {
    flex-direction: column;
    text-align: center;
    align-items: center;
  }

  .coin-stats {
    grid-template-columns: 1fr;
  }

  .contract {
    flex-direction: column;
    align-items: stretch;
  }

  .contract code {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .proj-row {
    grid-template-columns: auto 1fr;
    gap: 12px;
  }

  .proj-row__metric {
    display: none;
  }

  .proj-row__actions {
    grid-column: 1 / -1;
  }

  .queue {
    grid-template-columns: 1fr;
  }

  .to-top {
    right: 16px;
    bottom: 16px;
  }

  .cmd {
    padding-top: 8vh;
  }

  .footer__top {
    grid-template-columns: 1fr;
  }

  .footer__bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ---- Small phones ------------------------------------------------------- */
@media (max-width: 400px) {
  .brand__name small {
    font-size: 8px;
    letter-spacing: 0.22em;
  }

  .section-title {
    font-size: 24px;
  }

  .coin-price {
    font-size: 30px;
  }
}

/* ---- Touch: disable custom cursor + tilt already handled in JS ---------- */
@media (hover: none) {
  .coin-card:hover {
    transform: none;
  }
}