/* GoList — responsive layer. Desktop (>1023px) is untouched. */

/* ---------- Nav: hamburger under 900px ---------- */
@media (max-width: 900px) {
  nav > div { display: none !important; }
  nav { padding: 14px 18px !important; }
  [data-gl-burger] { display: flex !important; }
}
[data-gl-burger] { display: none; }

/* ---------- Generic layout utilities ---------- */
@media (max-width: 1023px) {
  [data-m~="col2"] { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 767px) {
  [data-m~="col1"], [data-m~="col2"] { grid-template-columns: 1fr !important; }
  [data-m~="stack"] { flex-direction: column !important; align-items: stretch !important; }
  [data-m~="center"] { text-align: center !important; align-items: center !important; }
  [data-m~="fullw"] { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; justify-content: center !important; }
  [data-m~="pad"] { padding-left: 18px !important; padding-right: 18px !important; }
  [data-m~="gap24"] { gap: 24px !important; }
  section, header, footer { scroll-margin-top: 76px; }
  [data-m~="pt"] { padding-top: 132px !important; }
  [data-m~="card"] { padding: 24px !important; border-radius: 20px !important; }
}

/* ---------- Home: hero ---------- */
@media (max-width: 900px) {
  [data-hero-wrap] { height: 230vh !important; }
  [data-headline] { top: 13% !important; }
  [data-headline] h1 { font-size: clamp(30px, 8.4vw, 46px) !important; min-height: 3.4em !important; }
  [data-card] { width: clamp(150px, 46vw, 210px) !important; }
}

/* ---------- Home: phone section ---------- */
@media (max-width: 900px) {
  [data-phone-sec] { height: 150vh !important; }
  [data-phone-copy] { display: block !important; }
  [data-phone-copy] h2 { font-size: clamp(30px, 7.6vw, 44px) !important; line-height: 1.02 !important; }
  [data-phone-copy] > div { max-width: 100% !important; flex: none !important; }
  [data-phone-copy] p { margin-bottom: 16px !important; }
  [data-phone-copy] > div + div { padding-top: 16px !important; }
  [data-phone-screen] { height: min(52vh, 460px) !important; }
}
@media (max-width: 767px) {
  [data-phone-copy] p { font-size: 15px !important; }
  [data-phone-screen] { height: min(46vh, 420px) !important; }
}

/* ---------- Home: friends / stepper section ---------- */
@media (max-width: 900px) {
  [data-friends] { height: 430vh !important; }
  [data-friends] [data-f-grid] { grid-template-columns: 1fr !important; gap: 18px !important; }
  [data-friends] [data-f-steps] { gap: 10px !important; margin-bottom: 16px !important; }
  [data-friends] [data-f-steps] > div { width: 42px !important; height: 42px !important; font-size: 13px !important; }
  [data-friends] [data-f-copy] { text-align: center !important; }
  [data-friends] [data-f-copy] h2 { font-size: clamp(26px, 6.6vw, 34px) !important; margin-bottom: 12px !important; }
  [data-friends] [data-f-copy] p { font-size: 14.5px !important; max-width: 440px !important; margin: 0 auto !important; }
  [data-friends] [data-f-stage] { height: clamp(320px, 46vh, 400px) !important; }
}
@media (max-width: 767px) {
  [data-friends] [data-f-panel] { width: min(340px, calc(100vw - 34px)) !important; margin-left: 0 !important; left: 50% !important; transform-origin: 50% 50% !important; translate: -50% 0 !important; }
  [data-friends] [data-f-panel][data-f-pad] { padding: 20px !important; }
}

/* ---------- Home: map section ---------- */
@media (max-width: 900px) {
  [data-map-wrap] { height: 230vh !important; }
  [data-map-wrap] [data-map-head] { padding: 92px 18px 14px !important; }
  [data-map-wrap] [data-map-head] h2 { font-size: clamp(26px, 6.4vw, 34px) !important; }
  [data-map-wrap] [data-map-frame] { width: calc(100% - 28px) !important; border-radius: 20px !important; }
}
@media (max-width: 767px) {
  [data-map-wrap] [data-map-chips] { flex-wrap: nowrap !important; overflow-x: auto !important; justify-content: flex-start !important; padding: 2px 18px 6px !important; margin: 0 -18px !important; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  [data-map-wrap] [data-map-chips]::-webkit-scrollbar { display: none; }
  [data-map-wrap] [data-map-chips] > div { flex: none !important; }
}
@media (max-width: 480px) {
  .rm-card { width: 272px !important; left: -136px !important; height: 272px !important; }
  .rm-card img.rm-photo { width: 272px !important; height: 272px !important; }
  .er-card { width: 300px !important; margin-left: -150px !important; height: 250px !important; }
}

/* ---------- Home: download + closing sections ---------- */
@media (max-width: 767px) {
  [data-dl] { padding-bottom: 120px !important; }
  [data-dl] h2 { font-size: clamp(38px, 12vw, 56px) !important; margin-bottom: 32px !important; }
  [data-dl-badges] { flex-direction: column !important; align-items: stretch !important; gap: 12px !important; }
  [data-dl-badges] a { justify-content: center !important; }
  [data-dl-roulette] { height: 300px !important; }
  [data-big-copy] { font-size: clamp(26px, 7.2vw, 40px) !important; line-height: 1.26 !important; }
  [data-pro] { padding: 96px 18px 120px !important; }
  [data-pro] h2 { font-size: clamp(30px, 8vw, 46px) !important; }
  footer [data-foot-grid] { grid-template-columns: 1fr 1fr !important; gap: 30px !important; margin-bottom: 60px !important; }
  footer { padding-left: 18px !important; padding-right: 18px !important; }
}

/* ---------- Business / Contacts / Team shared ---------- */
@media (max-width: 767px) {
  [data-hdr] { padding-top: 132px !important; padding-bottom: 64px !important; }
  [data-hdr] h1 { font-size: clamp(34px, 9.6vw, 52px) !important; }
  [data-hdr] p { font-size: 16px !important; }
  [data-scanner] { width: 100% !important; max-width: 300px !important; }
  [data-scanner-screen] { height: 460px !important; }
}

@media (max-width: 767px) {
  [data-friends] > div { overflow: hidden !important; }
  [data-hero-wrap] > div { overflow: hidden !important; }
}

@media (max-width: 900px) {
  [data-dl-roulette] { overflow: hidden !important; }
  [data-map-frame] { overflow: hidden !important; }
}

@media (max-width: 900px) {
  footer [data-foot-grid] { grid-template-columns: 1fr 1fr !important; gap: 30px !important; margin-bottom: 60px !important; }
}
