/* URSY.PHOTOS — the responsive layer. Breakpoints 1040 / 860 / 600 (this
   property's own — email used 1040/900/760/600). Phone is a re-ordered
   product, not a shrunken desktop. See MOBILE-HANDOVER.md / TABLET-HANDOVER.md. */
.ursy-burger{ display:none; }
.ursy-mobile-only{ display:none; }
/* ── 1040 — iPad landscape: hero stacks, plans 2-up ─────────────────────── */
@media (max-width:1040px){
  .ursy-hero__grid{ grid-template-columns:minmax(0,1fr); gap:36px; }
  .ursy-hero{ padding-top:clamp(32px,5vh,56px); }
  .ursy-deckstage{ max-width:640px; margin-inline:auto; width:100%; }
  .ursy-grid--3, .ursy-grid--4{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ursy-plans{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ursy-family__grid{ grid-template-columns:minmax(0,1fr); }
  .ursy-lb__info{ position:absolute; right:0; top:0; bottom:0;
    box-shadow:var(--lift), inset 1px 0 0 var(--line); }
}
/* ── 860 — iPad portrait: hamburger; viewer rail folds to the tab bar ───── */
@media (max-width:860px){
  .ursy-top__nav{ display:none; }
  .ursy-burger{ display:grid; }
  .ursy-desk-only{ display:none; }
  .ursy-stage__card{ display:none; }
  .ursy-foot__cols{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px 20px; }
  .ursy-rail{ display:none; }
  .ursy-tabbar{ display:flex; }
  .ursy-scrub{ display:none; }
  .ursy-pane{ padding-bottom:calc(84px + env(safe-area-inset-bottom)); }
  .ursy-cards{ padding-bottom:calc(84px + env(safe-area-inset-bottom)); }
  .ursy-selbar{ bottom:calc(76px + env(safe-area-inset-bottom)); max-width:96vw; }
}
/* ── 600 — phone: sticky action bar, 1-up everything, swipes not arrows ─── */
@media (max-width:600px){
  .ursy-mobile-only{ display:flex; }
  .ursy-actionbar{ display:flex; }
  body:not(.page-template-page-app){ padding-bottom:calc(66px + env(safe-area-inset-bottom)); }
  .ursy-hero{ padding:26px 18px 20px; }
  .ursy-hero h1{ font-size:clamp(2.1rem,9.4vw,2.8rem); }
  .ursy-hero__actions .u-btn{ flex:1 1 100%; }
  .ursy-grid--2, .ursy-grid--3, .ursy-grid--4{ grid-template-columns:minmax(0,1fr); }
  .ursy-plans{ grid-template-columns:minmax(0,1fr); }
  .ursy-deck{ height:min(450px,58vh); min-height:400px; border-radius:18px; }
  .ursy-photo-card{ width:154px; padding:7px 7px 0; }
  .ursy-photo-card__caption{ padding:8px 2px 10px; }
  .ursy-photo-card__caption b{ font-size:10.5px; }
  .ursy-deck__chips{ gap:6px; }
  .ursy-deck__chip:first-child{ flex-basis:100%; justify-content:center; text-align:center; }
  .ursy-deck__chip--count{ display:none; }
  .ursy-table-tools > [data-ursy-table-selection]{ flex-basis:100%; text-align:center; }
  .ursy-foot__cols{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ursy-foot__inner{ padding-top:40px; }
  .ursy-section{ padding-block:clamp(40px,6vh,60px) 0; }
  .ursy-view__count{ display:none; }
  .ursy-day__head{ padding:20px 2px 10px; }
  .ursy-lb__arrow{ display:none; } /* swipe steps the lightbox instead */
  .ursy-lb__info{ left:0; width:100%; }
  .ursy-app__search{ display:none; }
}
/* every fixed-height surface uses svh so iOS browser chrome cannot jump */
.ursy-drawer__sheet, .ursy-field{ min-height:100svh; }
/* viewer glass surfaces join the ≤860 blur ban (perf.css owns the landing set) */
@media (max-width:860px){
  .ursy-selbar, .ursy-tabbar, .ursy-lb, .ursy-stackov__scrim, .ursy-upov__scrim{
    backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
  .ursy-lb{ background:var(--bg); }
  .ursy-stackov__scrim{ background:var(--bg); opacity:.94; }
}
/* ── 600 — the header has to fit a 390px phone ─────────────────────────────
   At 390px the row (burger · wordmark · palette · dark toggle · CTA) measured
   461px wide: the "Open Photos" button was sliced in half and the fixed aurora
   field stretched to the overflow width. Tighten the gaps and drop the palette's
   name so the wheel alone carries it — nothing is removed, only abbreviated. */
@media (max-width:600px){
  .ursy-top{ gap:8px; padding-inline:12px; }
  .ursy-palette{ padding:0 10px; gap:0; }
  .ursy-palette__name{ display:none; }
  .ursy-top .u-btn--accent{ padding:0 14px; }
  .ursy-brand{ font-size:16.5px; }
}
/* Very narrow phones (≤360px): the dark toggle also lives in the drawer. */
@media (max-width:360px){
  .ursy-top [data-ursy-theme-toggle]{ display:none; }
}
