/* ============================================================
   Phones and small tablets. Loaded last on every page, so these
   win over the desktop layout without touching it.
   ============================================================ */

@media (max-width: 700px) {

  /* ── Header: one slim row (menu · logo · account · basket), search under it ── */
  .nw-topbar { display: none; }
  .nw-header .nw-wrap { flex-wrap: wrap; gap: 6px 10px; min-height: 0; padding-top: 8px; padding-bottom: 10px; }
  .nw-menu-toggle { display: block; padding: 4px; order: 1; }
  .nw-menu-toggle svg { width: 28px; height: 28px; }
  .nw-logo { order: 2; }
  .nw-logo-text { font-size: 1.6rem; }
  .nw-logo img { max-height: 40px; }
  .nw-header-icons { order: 3; margin-left: auto; gap: 2px; }
  .nw-icon-link { padding: 6px 8px; font-size: .7rem; }
  .nw-icon-link svg { width: 24px; height: 24px; }
  .nw-coins-link { display: none; }
  .nw-search { order: 4; flex-basis: 100%; max-width: none; }
  .nw-search select { display: none; }          /* the box needs the room; search covers everything */
  .nw-search input[type="search"] { padding: 11px 16px; font-size: 16px; }   /* 16px stops phones zooming in */
  .nw-search button { padding: 0 18px; }

  /* ── "Not taking online orders" bar: one short line ── */
  .nw-orders-off .nw-wrap { gap: 4px 8px; padding-top: 7px; padding-bottom: 7px; font-size: .78rem; line-height: 1.35; }
  .nw-orders-off .nw-wrap > span:first-child { display: none; }

  /* ── Banner: picture on top, words underneath, nothing cut off ── */
  .nw-hero { height: 560px; border-radius: 22px; }
  .nw-hero-product, .nw-hero.has-menu .nw-hero-product {
    grid-template-columns: 1fr !important; grid-template-rows: auto 1fr; align-content: start;
    padding: 16px 18px 46px !important; gap: 8px; text-align: center;
  }
  .nw-hp-right { order: -1; justify-content: center; }
  .nw-hp-art { margin: 0 auto; max-width: 100%; }
  .nw-hp-art img, .nw-hp-card img { max-width: 100%; }
  .nw-hp-card { max-width: calc(100vw - 80px); }
  .nw-hp-card, .nw-hp-card.is-tile, .nw-hp-card.is-photo, .nw-hp-card.is-slab-case, .nw-hp-card.is-slab-flip { height: 230px !important; }
  .nw-hp-card.is-photo .nw-hp-front img { max-width: 230px; }
  .nw-hp-glow { width: 240px; height: 240px; }
  .nw-hp-text { max-width: none; }
  .nw-hp-text h2, .nw-hp-title { font-size: 1.55rem !important; line-height: 1.15; white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .nw-hp-sub { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: .9rem; }
  .nw-hp-tags, .nw-hp-price-row, .nw-hero-product .nw-hero-buttons, .nw-hp-text .nw-hp-buttons { justify-content: center; }
  .nw-hp-price { font-size: 1.7rem; }
  .nw-hp-text .nw-hp-buttons .nw-btn { padding: 10px 20px; font-size: .95rem; }
  .nw-hero-menu, .nw-hero .nw-menu-panel { display: none !important; }

  /* ── Strip under the banner: 2 × 2, small ── */
  .nw-trust-bar, .nw-trust { grid-template-columns: 1fr 1fr; border-radius: 18px; }
  .nw-trust-cell { padding: 12px; gap: 8px; }
  .nw-trust-cell + .nw-trust-cell::before { display: none; }
  .nw-trust-ico { width: 36px; height: 36px; border-radius: 11px; font-size: 1.15rem; }
  .nw-trust-txt strong { font-size: .85rem; }
  .nw-trust-txt small { font-size: .72rem; }

  /* ── Section headings ── */
  .nw-section { padding: 26px 0; }
  .nw-section-head h2 { font-size: 1.45rem; }
  .nw-more { padding: 7px 13px; font-size: .82rem; }

  /* ── Shop by category: shorter tiles ── */
  .nw-cat-grid > .nw-cat-card { flex: 1 1 calc(50% - 16px) !important; }
  .nw-cat-card .nw-cat-fan, .nw-cat-fan { height: 100px; transform: scale(.78); transform-origin: 50% 70%; }
  .nw-cat-card h3, .nw-cat-name { font-size: 1rem; }

  /* ── Popular sets: one row you swipe ── */
  .nw-set-grid { display: grid; grid-auto-flow: column; grid-auto-columns: 42%; grid-template-columns: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 6px; }
  .nw-set-grid::-webkit-scrollbar { display: none; }
  .nw-set-card { scroll-snap-align: start; }
  .nw-set-card-pic { height: 92px; }
  .nw-set-card-pic img { height: 78px; }

  /* ── Product cards: price on its own line, full-width button under it ── */
  .nw-pcard-buy, .nw-results:not(.is-list) .nw-pcard-buy, .nw-grid-front .nw-pcard-buy,
  .related .nw-pcard-buy, .upsells .nw-pcard-buy { flex-direction: column; align-items: stretch; gap: 6px; }
  .nw-pcard .nw-price { font-size: 1.15rem; }
  .nw-pcard .nw-btn.nw-add, .nw-pcard .nw-btn-ghost { width: 100%; justify-content: center; padding: 9px 10px; }
  .nw-row .nw-grid-front { grid-auto-columns: 46%; }

  /* ── Shop page heading box ── */
  .nw-cat-hero { padding: 20px 18px; border-radius: 22px; }
  .nw-cat-hero h1 { font-size: 1.8rem; margin: 8px 0 8px; }
  .nw-cat-hero-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: 4px; }
  .nw-cat-hero-chips::-webkit-scrollbar { display: none; }
  .nw-cat-hero-chips a { white-space: nowrap; flex-shrink: 0; }

  /* ── Visit our shop / hours ── */
  .nw-visit-copy h2 { font-size: 1.6rem; }
  .nw-hours-list li { padding: 8px 12px; }

  /* ── Info pages ── */
  .nw-pagehero { padding: 22px 0 54px; }
  .nw-pagehero-in { gap: 14px; }
  .nw-pagehero-icon { width: 54px; height: 54px; font-size: 1.7rem; border-radius: 16px; }
  .nw-pagehero h1 { font-size: 1.7rem; }
  .nw-info { margin-top: -34px; gap: 16px; }
  .nw-prose { padding: 22px 18px; font-size: 1rem; }
  .nw-prose > p:first-child { font-size: 1.04rem; }
  .nw-info-nav ul { grid-template-columns: 1fr 1fr; }
  .nw-info-nav a { padding: 8px; gap: 8px; font-size: .88rem; }
  .nw-info-nav a span { width: 28px; height: 28px; }

  /* ── Footer: two short columns, not one long list ── */
  .nw-footer .nw-wrap { padding-top: 28px; }
  .nw-footer-cols { grid-template-columns: 1fr 1fr; gap: 20px 16px; }
  .nw-footer-cols > :first-child { grid-column: 1 / -1; }
  .nw-footer ul { gap: 4px; font-size: .9rem; }
  .nw-footer-bottom { flex-direction: column; font-size: .75rem; }
}
