/* Toura Passport STAGING 015F — Member Card QR focus presentation.
   Bounded scope: enlarge Passport validation QR for partner scanning. */
@media(max-width:760px){
  #memberCardModal .member-card-qr-wrap{cursor:pointer;touch-action:manipulation}
  #memberCardModal .member-card-qr-wrap:focus-visible{outline:3px solid rgba(47,154,97,.28);outline-offset:3px}
  #memberCardModal .member-card-qr-frame{position:relative}
  #memberCardModal .member-card-qr-frame:after{
    content:'Tap to enlarge';position:absolute;left:50%;bottom:-25px;transform:translateX(-50%);
    white-space:nowrap;font:800 8px/1 Inter,system-ui,sans-serif;letter-spacing:.04em;color:#547165;
  }

  .tp015f-qr-focus{
    position:fixed;inset:0;z-index:10000;background:#fff;color:#102b3d;
    display:grid;grid-template-rows:auto 1fr auto;min-height:100dvh;min-width:100vw;
    padding:calc(12px + env(safe-area-inset-top)) 18px calc(18px + env(safe-area-inset-bottom));
    box-sizing:border-box;overscroll-behavior:none;touch-action:none;
  }
  .tp015f-qr-focus[hidden]{display:none!important}
  .tp015f-qr-head{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px}
  .tp015f-qr-head strong{font:900 12px/1.2 Inter,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#15394b}
  .tp015f-qr-close{
    appearance:none;border:1px solid #d6e0dc;background:#fff;color:#16364a;border-radius:999px;
    width:42px;height:42px;display:grid;place-items:center;font:500 28px/1 Arial,sans-serif;cursor:pointer;
  }
  .tp015f-qr-stage{display:grid;place-items:center;align-content:center;gap:18px;min-height:0}
  .tp015f-qr-image-shell{
    width:min(82vw,430px);aspect-ratio:1/1;display:grid;place-items:center;background:#fff;
    border:1px solid #d7dfdc;border-radius:24px;padding:18px;box-sizing:border-box;
    box-shadow:0 16px 44px rgba(13,42,55,.08);
  }
  .tp015f-qr-image-shell img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:auto}
  .tp015f-qr-id{font:950 clamp(22px,7vw,34px)/1 Inter,system-ui,sans-serif;letter-spacing:.08em;color:#0f3143;text-align:center}
  .tp015f-qr-copy{text-align:center;display:grid;gap:5px;max-width:360px;margin:0 auto}
  .tp015f-qr-copy strong{font:900 15px/1.25 Inter,system-ui,sans-serif;color:#15394b}
  .tp015f-qr-copy span{font:600 11px/1.45 Inter,system-ui,sans-serif;color:#718078}
  .tp015f-qr-foot{text-align:center;font:800 9px/1.4 Inter,system-ui,sans-serif;letter-spacing:.03em;color:#8a9691}
  html.tp015f-qr-open,html.tp015f-qr-open body{overflow:hidden!important;overscroll-behavior:none!important}
}
