/* ─── Mobile only <480px ──────────────────────────────────── */

@media (max-width: 479px) {

  /* 250 logo slide — mobile overrides */
  .tl-img-pos {
    top: -3rem;
  }

  .tl-img {
    height: 42vw;
  }

  .tl-img-sub {
    font-size: 6.5vw;
  }

  .countdown__flip {
    font-size: clamp(1.6rem, 6.5vw, 2.2rem);
    padding: var(--space-1) var(--space-2);
    min-width: 1.6em;
  }

  .countdown__sep {
    font-size: 1rem;
    padding-bottom: 1rem;
  }

  .hero__countdown {
    gap: var(--space-1);
  }

}


/* ─── Tablet ≥ 768px ──────────────────────────────────────── */

@media (min-width: 768px) {
  .container {
    padding: 0 var(--space-8);
  }

  /* Announcement bar */
  .ann-bar {
    height: 52px;
  }

  .ann-bar__msg {
    font-size: 0.8rem;
    letter-spacing: 0.2em;
  }

  /* Header */
  .site-header__inner {
    height: 80px;
  }

  .site-header__logo img {
    height: 56px;
  }

  .hamburger {
    display: none;
  }

  .site-nav {
    display: flex;
    gap: var(--space-10);
  }

  .site-nav__link {
    font-size: var(--text-base);
    letter-spacing: 0.1em;
  }

  .btn--nav-cta {
    font-size: var(--text-base);
    padding: 12px 24px;
  }

  /* Location bar */
  .loc-bar__inner {
    padding: 18px var(--space-8);
    height: auto;
  }

  .loc-bar__city,
  .loc-bar__nearest {
    font-size: 1.1rem;
  }

  .loc-bar__pin {
    font-size: 1.2rem;
  }

  /* Marquee */
  .marquee-belt__row {
    height: 88px;
  }

  .marquee-belt__row--red .marquee-belt__reel span:not(.marquee-belt__star),
  .marquee-belt__row--navy .marquee-belt__reel span:not(.marquee-belt__star) {
    font-size: 2.4rem;
  }

  .marquee-belt__star {
    font-size: 1.2rem;
  }

  /* Footer locations */
  .footer__locations {
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-4);
  }

  .footer__bottom {
    flex-direction: row;
    justify-content: space-between;
    text-align: left;
  }

  /* Hero */
  .hero__inner {
    padding-bottom: var(--space-24);
  }

  .hero__footer {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
  }

  .hero__cta {
    flex-direction: row;
    align-items: center;
  }

  .hero__cta .btn {
    width: auto;
  }
}


/* ─── Desktop ≥ 1024px ────────────────────────────────────── */

@media (min-width: 768px) {
  .coupons__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 1024px) {
  .container {
    padding: 0 var(--space-12);
  }

  .coupons__grid {
    grid-template-columns: repeat(4, 1fr);
  }

  /* Announcement bar */
  .ann-bar {
    height: 56px;
  }

  .ann-bar__msg {
    font-size: 0.85rem;
    letter-spacing: 0.22em;
  }

  /* Header */
  .site-header__inner {
    height: 88px;
    padding: 0 var(--space-12);
  }

  .site-header__logo img {
    height: 60px;
  }

  .site-nav {
    gap: var(--space-12);
  }

  .site-nav__link {
    font-size: 0.9375rem;
  }

  /* Location bar */
  .loc-bar__inner {
    padding: 22px var(--space-12);
    height: auto;
  }

  .loc-bar__city,
  .loc-bar__nearest {
    font-size: 1.25rem;
  }

  .loc-bar__pin {
    font-size: 1.4rem;
  }

  /* Marquee */
  .marquee-belt__row {
    height: 100px;
  }

  .marquee-belt__row--red .marquee-belt__reel span:not(.marquee-belt__star),
  .marquee-belt__row--navy .marquee-belt__reel span:not(.marquee-belt__star) {
    font-size: 3rem;
  }

  .marquee-belt__star {
    font-size: 1.4rem;
  }

  /* Footer locations */
  .footer__locations {
    grid-template-columns: repeat(6, 1fr);
  }
}


/* ─── Desktop ≥ 768px — section layouts ──────────────────── */

@media (min-width: 768px) {

  /* Hero search — desktop */
  .hero__zip-input {
    min-height: 68px;
    font-size: 1.1rem;
    padding: 0 28px;
  }

  .hero__zip-btn {
    font-size: 1.1rem;
    padding: 0 36px;
  }

  .hero__gps-btn {
    font-size: 1rem;
    padding: 14px 36px;
  }

  .hero__sub {
    font-size: 0.9rem;
    letter-spacing: 0.1em;
  }

  /* Results — desktop */
  .results__cards {
    max-width: 800px;
  }

  /* Stand card call button — desktop */
  .stand-card__call {
    font-size: 1.4rem;
    min-height: 68px;
  }

  /* Hero CTA (America 250) */
  #findStandBtn {
    min-height: 72px;
    padding: 0 56px;
    font-size: 1.35rem;
  }

  .hero {
    min-height: 0;
    align-items: flex-start;
  }

  .hero__inner {
    max-width: 960px;
    padding-top: 80px;
    padding-bottom: 160px;
    gap: 56px;
  }

  .hero__badge {
    width: min(560px, 70vw);
  }

  .hero__logo {
    width: min(680px, 72vw);
  }

  /* Coupons — wider container, tighter header padding */
  .coupons__header {
    padding: var(--space-10) var(--space-8);
  }

  .coupons__featured {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
  }

  /* What We Carry — wider padding, bigger cards */
  .categories__header {
    padding: var(--space-10) var(--space-8);
  }

  .categories__track-wrap {
    padding: 0 var(--space-8);
  }

  /* Locations — handled in sections.css */

  /* Footer */
  .site-footer__inner {
    padding: 72px 48px 56px;
    gap: 40px;
  }

  .footer__logo {
    height: 68px;
  }

  .footer__tagline {
    font-size: 1rem;
  }

  .footer__mid {
    flex-direction: column;
    align-items: center;
    gap: 24px;
    padding: 40px 0;
  }

  .footer__nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px 48px;
  }

  .footer__nav-link {
    font-size: 1rem;
  }

  .footer__social {
    gap: 32px;
  }

  .footer__social-link {
    font-size: 1rem;
  }

  .footer__bottom {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
  }
}


/* ─── Desktop ≥ 1024px — section layouts ─────────────────── */

@media (min-width: 1024px) {

  /* Hero */
  #findStandBtn {
    min-height: 84px;
    padding: 0 72px;
    font-size: 1.6rem;
  }

  .hero {
    min-height: 0;
  }

  .hero__inner {
    max-width: 1200px;
    padding-top: 96px;
    padding-bottom: 180px;
    gap: 64px;
  }

  .hero__tagline {
    font-size: 10vw;
    letter-spacing: 0.02em;
    margin: 0.5rem 0 14rem;
    white-space: nowrap;
    height: 15vw; /* sized for FREEDOM (14vw) + small buffer */
  }

  .hero__tagline.tl-freedom {
    font-size: 14vw;
  }

  /* 250 logo slide — desktop overrides */
  .tl-img-pos {
    top: -5vw;
  }

  .tl-img {
    height: 22vw;
  }

  .tl-img-sub {
    font-size: 5vw;
  }

  .hero__sub {
    font-size: 1.4rem;
    letter-spacing: 0.12em;
  }

  .hero__search {
    max-width: 720px;
    gap: 18px;
    margin-top: 2.5rem;
  }

  .hero__gps-btn {
    font-size: 1.5rem;
    padding: 20px 48px;
    min-height: 80px;
  }

  .hero__zip-input {
    min-height: 80px;
    font-size: 1.3rem;
    padding: 0 32px;
  }

  .hero__zip-btn {
    font-size: 1.4rem;
    padding: 0 48px;
  }

  .hero__divider {
    font-size: 0.9rem;
  }

  .hero__badge {
    width: min(620px, 58vw);
  }

  .hero__logo {
    width: min(1000px, 72vw);
  }

  /* Coupons */
  .coupons__header {
    padding: var(--space-12) var(--space-12);
  }

  /* What We Carry */
  .categories__header {
    padding: var(--space-12) var(--space-12);
  }

  .categories__track-wrap {
    padding: 0 var(--space-12);
  }

  /* Locations — handled in sections.css */
}
