/* Approved Passport Club phone direction. Shared by the site and app.
   Loaded by the existing phone layers; all rules are width-gated. */
.pc-discover, .pc-nav-profile, .pc-phone-label, .pc-dash-passport { display: none; }
@media (max-width: 768px) {
  :root:not([data-theme="dark"]) {
    --pc-ink:#03045e; --pc-mute:#405f8c; --pc-accent:#0077b6;
    --d-paper:#f0f8ff; --d-card:#fff; --d-ink:#03045e; --d-mute:#405f8c;
    --d-gold:#0077b6; --d-gold2:#0077b6; --d-rule:#bcddeb;
    --d-line:#bcddeb; --d-dash:#bcddeb; --d-dots:transparent; --d-tint:#e1f6fb;
    --d-ticket:#caf0f8; --d-ticket-fg:#03045e; --d-ticket-k:#005f8f; --d-ticket-sub:#405f8c;
    --d-ticket-dash:#90cddd; --d-cta:#0077b6; --d-cta-fg:#fff; --d-btn:#0077b6; --d-btn-fg:#fff;
    --d-tab:#fff; --d-tab-fg:#405f8c; --d-tab-on:#0077b6;
  }
  :root[data-theme="dark"] {
    --pc-ink:#e8ecf5; --pc-mute:#b5cce3; --pc-accent:#90e0ef;
    --d-paper:#0b1230; --d-card:#141b3d; --d-ink:#e8ecf5; --d-mute:#b5cce3;
    --d-gold:#90e0ef; --d-gold2:#90e0ef; --d-rule:#294c71;
    --d-line:#294c71; --d-dash:#294c71; --d-dots:transparent; --d-tint:#102c4d;
    --d-ticket:#102c4d; --d-ticket-fg:#e8ecf5; --d-ticket-k:#90e0ef; --d-ticket-sub:#b5cce3;
    --d-ticket-dash:#294c71; --d-cta:#00b4d8; --d-cta-fg:#0b1230; --d-btn:#00b4d8; --d-btn-fg:#0b1230;
    --d-tab:#141b3d; --d-tab-fg:#b5cce3; --d-tab-on:#90e0ef;
  }
  :root, :root[data-theme="dark"] { --serif:'Plus Jakarta Sans',sans-serif; --sans:'Plus Jakarta Sans',sans-serif; --d-serif:'Plus Jakarta Sans',sans-serif; --d-sans:'Plus Jakarta Sans',sans-serif; }
  body { font-family:'Plus Jakarta Sans',sans-serif !important; background-image:none !important; }
  /* Safari preserves select intrinsic width inside grid labels unless both
     the grid item and its control explicitly allow shrinking. */
  .si-picker > label { min-width:0; }
  .si-picker select { min-width:0; width:100%; max-width:100%; box-sizing:border-box; overflow:hidden; }
  footer, .site-foot { background:var(--d-paper) !important; color:var(--d-ink) !important; border-top:1px solid var(--d-line); }
  .footer-stripe { background:linear-gradient(90deg,#03045e,#0077b6,#00b4d8) !important; }
  .footer-lead .fl-mark { color:var(--d-ink) !important; }
  .footer-lead .fl-mark b, .footer-lead .fl-mark span, .footer-lead .fl-tag,
  .footer-nav .fn-col h4 { color:var(--d-gold) !important; }
  .footer-lead a.fl-cta, .footer-lead .fl-cta { background:var(--d-cta) !important; color:var(--d-cta-fg) !important; }
  .footer-nav { grid-template-columns:repeat(2,minmax(0,1fr)) !important; border-bottom-color:var(--d-line) !important; }
  .footer-nav .fn-col { min-width:0; }
  .footer-nav .fn-col a { color:var(--d-mute) !important; overflow-wrap:anywhere; }
  .footer-fine { color:var(--d-mute) !important; }
  button, input, select, textarea { font-family:inherit; }
  .nav.open .nav-links a, .mon-tools, .mon-acc .ma-n, .mon-acc .ma-name, .mon-acc .ma-km { font-family:'Plus Jakarta Sans',sans-serif !important; }
  .si-wrap, .si-wrap *, .story-wrap, .story-wrap *, .sm-lib, .sm-lib *, .story-affiliate,
  .elev-climbed, .elev-climbed span { font-family:'Plus Jakarta Sans',sans-serif !important; }
  button, a { -webkit-tap-highlight-color:transparent; }
  button:not(:disabled), a { transition:transform .14s ease, background-color .14s ease; }
  button:not(:disabled):active, a:active { transform:scale(.97); }
  input, select, textarea { font-size:16px !important; }
  .dtabs, .nav { background:var(--d-tab) !important; border-top:1px solid var(--d-line) !important; }
  .dtabs a, .nav-i { min-height:48px; }
  .nav .nav-lb { font-size:11px !important; letter-spacing:0 !important; }
  .nav .pc-desktop-label { display:none; }
  .pc-phone-label { display:inline; }
  .pc-nav-profile { display:flex; }
  .nav { grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
  .nav .nav-ic { padding:0; width:24px; height:24px; flex-shrink:0; }
  .nav .nav-ic svg { display:block; width:22px; height:22px; flex-shrink:0; }
  .nav .nav-i.active .nav-ic { background:transparent; border-radius:0; padding:0; }
  .nav .nav-i.active .nav-lb { font-weight:700; }
  .label, .section-label, .ui-eyebrow, .stat-l, .pstat-l, .ws-lbl, .pace-l { font-size:11px !important; letter-spacing:.08em !important; }
  .dash-cover-credit, .coll-city .ui-photo-credit { font-size:11px !important; }
  .ui-stamp-name, .ui-passport-stamp > span:last-child { font-size:11px !important; }
  .ui-passport-cover, .ui-passport-page, .ui-ach-hero { background:var(--d-card) !important; color:var(--d-ink) !important; }
  .ui-passport-cover h2, .ui-passport-cover h3, .ui-passport-cover p, .ui-passport-cover strong { color:var(--d-ink) !important; }
  .ui-passport-cover small, .ui-passport-id small { color:var(--d-mute) !important; }
  .ui-passport-cover .ui-eyebrow { color:var(--d-gold) !important; }
  .ui-passport-cover { border-color:var(--d-line) !important; }
  .ui-passport-id strong, .ui-passport-tabs button span, .ui-passport-tabs button small { font-family:'Plus Jakarta Sans',sans-serif !important; }
  .ui-passport-tabs button span, .ui-passport-tabs button small { font-size:11px !important; }
  .ui-passport-tabs, .ui-passport-spread { background:var(--d-card) !important; border-color:var(--d-line) !important; }
  .ui-passport-tabs button { color:var(--pc-ink) !important; border-color:var(--d-line) !important; }
  .ui-passport-tabs button[aria-current=page] { background:var(--d-tint) !important; color:var(--pc-ink) !important; }
  .ui-trail-visa, .ui-next-journey { background:var(--d-tint) !important; border-color:var(--d-line) !important; }
  .ui-trail-visa p, .ui-next-journey p, .ui-passport-page > p { color:var(--pc-mute) !important; }
  .ui-passport-progress { background:var(--d-line) !important; }
  .ui-passport-progress i { background:var(--d-btn) !important; }
  .ui-passport-spread, .ui-passport-page, .ui-passport-tabs { --text:var(--pc-ink); --muted:var(--pc-mute); --faint:var(--pc-mute); --saffron-deep:var(--pc-accent); --d-ink:var(--pc-ink); --d-mute:var(--pc-mute); --d-gold:var(--pc-accent); color:var(--pc-ink); }
  .ui-passport-page h2, .ui-passport-page h3, .ui-passport-page strong, .ui-trail-visa h3 { color:var(--text) !important; }
  .ui-passport-page .ui-stamp-name { color:#03045e !important; }
  .ui-passport-export { background:var(--d-btn) !important; color:var(--d-btn-fg) !important; border-color:var(--d-btn) !important; }
  .dash-main { display:flex; flex-direction:column; min-width:0; }
  .dash-main > * { flex-shrink:0; }
  .walking-strip { order:0; border-style:solid !important; background:transparent !important; padding:0 0 10px !important; border-width:0 !important; }
  .walking-strip .ws-lbl { text-transform:uppercase; }
  .dash-cover { order:1; height:155px !important; margin-bottom:0 !important; border-radius:18px !important; }
  .dash-main > .dash-cover-credit { order:1; position:static !important; display:block; width:100%; max-width:100% !important; margin:6px 0 18px; padding:0 !important; white-space:normal; overflow-wrap:anywhere; text-align:right; line-height:1.5; color:var(--muted) !important; background:none !important; text-shadow:none !important; }
  .dash-cover[hidden] + .dash-cover-credit { display:none; }
  .page-head { order:2; }
  #unlock-host { order:3; }
  .prog-wrap { order:4; border-radius:18px !important; padding:18px !important; }
  .prog-wrap::before, .prog-wrap::after { display:none !important; }
  .prog-km .big { font-size:32px !important; font-weight:800; line-height:1.25 !important; letter-spacing:-1px; }
  .prog-km { gap:4px 8px !important; font-size:15px !important; }
  .prog-remain { border-top:0 !important; font-size:12px !important; }
  .stats { order:5; background:transparent !important; }
  .stat { border:0 !important; background:transparent !important; padding:8px 2px !important; }
  .stat-v { font-size:18px !important; }
  .logcard { order:6; border-style:solid !important; border-radius:16px !important; }
  .logcard-toggle { min-height:48px; }
  .pc-dash-passport { display:flex; order:7; align-items:center; gap:14px; padding:18px; border-radius:18px; border:1px solid var(--d-line); background:var(--d-ticket); color:var(--d-ticket-fg); text-align:left; margin:4px 0 14px; width:100%; }
  .pc-dash-passport img { width:68px; height:54px; object-fit:contain; }
  .pc-dash-passport span { display:block; flex:1; }
  .pc-dash-passport small { display:block; color:var(--d-ticket-sub); font-size:12px; margin-top:5px; }
  .pc-dash-passport strong { font-size:16px; }
  .pc-dash-passport b { font-size:24px; font-weight:400; }
  .mapelev, .pc-road { order:8; }
  .pc-road { border:1px solid var(--d-line); border-radius:16px; background:var(--d-card); margin:0 0 14px; overflow:hidden; }
  .pc-road summary { padding:16px; font-weight:700; color:var(--d-ink); cursor:pointer; min-height:52px; }
  .pc-road .mapelev { padding:0 8px 8px; margin:0 !important; }
  .pace-box { display:none !important; }
  #dash-streak { order:10; }
  #dash-groups { order:11; }
  #epic-cards { order:12; }
  #dash-invite { order:13; }
  #ui-dash-reward { order:14; }
  .dash-aside { border-top:1px solid var(--d-line) !important; }
  .ui-trail-browser { border-top:1px solid var(--d-line) !important; }
  .ui-badge, .ui-passport { border-color:var(--d-line) !important; }
  .main, .main.dash-grid { max-width:600px; margin-inline:auto; }
  .screen.active:not(.auth) .main { animation:pc-enter .2s ease-out; }
  @keyframes pc-enter { from { opacity:.75; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
}
@media (max-width:640px) {
  .dticket::before, .dticket::after { content:none !important; display:none !important; }
  .sbar { display:flex !important; bottom:calc(var(--d-tabh) + var(--d-safe)); background:var(--d-card); color:var(--d-ink); box-shadow:0 -4px 18px rgba(0,119,182,.08); border-top:1px solid var(--d-line); padding:10px 12px; }
  .sbar-txt span, .sbar-x { color:var(--d-mute); }
  .sbar-btn { background:var(--d-btn); color:var(--d-btn-fg); }
  .sbar.show { transform:none; }
  body.sbar-on { padding-bottom:calc(var(--d-tabh) + var(--d-safe) + 86px); }
  body.sbar-on .fb-tab { bottom:calc(var(--d-tabh) + var(--d-safe) + 84px) !important; }
  .dtabs a { font-size:11px !important; }
  .d-rule-top, .band, .pp, .section-head { border-color:var(--d-line) !important; }
  .si-featured .si-f-img { background:var(--d-tint) !important; }
  .si-featured .si-f-img span { color:var(--d-gold) !important; }
  .pc-discover { display:block; margin:calc(var(--d-navh) + 18px) 16px 12px; padding:0 !important; }
  body:has(.pc-discover) > #start.hero, body:has(.pc-discover) > .dticket-hero { display:none !important; }
  .pc-intro { padding:22px; background:var(--d-tint); border-radius:22px; }
  .pc-kicker { font-size:11px !important; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--d-gold); }
  .pc-discover h1 { font-size:32px !important; font-weight:800; line-height:1.12 !important; letter-spacing:-1px; margin:10px 0 12px; }
  .pc-discover p { font-size:14px !important; line-height:1.6 !important; color:var(--d-mute); margin:0; }
  .pc-discover .pc-cta { display:flex; align-items:center; justify-content:space-between; padding:14px 16px; margin-top:18px; border-radius:12px; background:var(--d-btn); color:var(--d-btn-fg) !important; font-size:14px; font-weight:700; text-decoration:none; min-height:48px; }
  .pc-intro small { display:block; margin-top:10px; color:var(--d-mute); font-size:11px; }
  .pc-feature { display:block; margin:16px 0; border-radius:18px; overflow:hidden; background:var(--d-card); border:1px solid var(--d-line); color:var(--d-ink); text-decoration:none; }
  .pc-feature img { display:block; width:100%; height:170px; object-fit:cover; }
  .pc-feature div { padding:14px 16px; }
  .pc-feature strong { display:block; font-size:19px; margin:5px 0; }
  .pc-feature small { display:block; color:var(--d-mute); font-size:11px; margin-top:8px; }
  .pc-passport-link { display:flex; gap:16px; align-items:center; background:var(--d-ticket); color:var(--d-ticket-fg); border-radius:18px; padding:20px; text-decoration:none; }
  .pc-passport-link img { width:64px; height:58px; object-fit:contain; }
  .pc-passport-link strong { display:block; font-size:18px; margin:5px 0; }
  .pc-passport-link small { display:block; color:var(--d-ticket-sub); font-size:12px; }
  .pc-links { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:14px; }
  .pc-links a { padding:16px; border-radius:14px; background:var(--d-card); color:var(--d-ink); border:1px solid var(--d-line); text-decoration:none; font-size:13px; font-weight:700; }
  .pc-links small { display:block; margin-top:7px; font-weight:400; color:var(--d-mute); font-size:12px; }
}
@media (prefers-reduced-motion:reduce) {
  button, a, .screen.active:not(.auth) .main { transition:none !important; animation:none !important; }
}

/* Keep landing FAQ text and expand controls comfortably inside the card. */
@media (max-width:768px) {
  #faq .faq-mini { border:1px solid var(--d-line); border-radius:16px; overflow:hidden; background:var(--d-card); }
  #faq .faq-mini details:last-child { border-bottom:0 !important; }
  #faq .faq-mini summary { padding:16px 18px !important; gap:14px; line-height:1.45; align-items:flex-start; }
  #faq .faq-mini summary::after { width:22px; min-width:22px; text-align:center; margin-top:1px; }
  #faq .faq-mini p { padding:0 18px 18px !important; font-size:14px !important; line-height:1.65 !important; }
}
