/* Matchmaker v3 — match-me screens (see docs/MATCHMAKING.md §3). Product tokens only. */
/* The profile OWNER screens: Create Profile wizard (screens/onboard.js) and My Profile / Edit / Photos /
   Partner Preferences / Verification / Completion / Preview (screens/me.js). Every class is mo-* so nothing
   leaks into other screens or the shared header. Phone ≤767 · tablet 768–1024 · desktop ≥1025. */

.mo-visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.mo-back { display: inline-block; margin-bottom: 8px; }
.mo-req { color: var(--rose); }
.mo-eyebrow { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--gold-d); }

/* ── forms ──────────────────────────────────────────────────────────────────────────────────── */
.mo-formhead { margin-bottom: 18px; }
.mo-formhead h1 { font-size: 32px; }
.mo-formhead p { margin: 8px 0 0; color: var(--muted); line-height: 1.5; max-width: 60ch; }
.mo-group { border: 0; margin: 0 0 8px; padding: 0; min-width: 0; }
.mo-group + .mo-group { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
/* a floated legend is laid out like a heading, so it never interrupts the divider above the group */
.mo-group > legend { float: left; width: 100%; padding: 0; margin-bottom: 4px; font: 600 21px/1.2 var(--font-serif); color: var(--deep); }
.mo-group > legend + * { clear: both; }
.mo-group-sub { margin: 0 0 14px; color: var(--muted); font-size: 14px; }
.mo-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 18px; }
.mo-grid > .mo-f { grid-column: 1 / -1; min-width: 0; }
.mo-grid > .mo-f.half { grid-column: auto; }
.mo-f { margin-bottom: 18px; }
.mo-f .mm-err { margin: 0; }
.mo-f.bad .mm-chips .mm-chip { border-color: rgba(194,65,58,.45); }
.mo-f .mm-chips { gap: 8px; }
.mo-f .mm-chip { min-height: 40px; }
.mo-formerr { margin-top: 4px; }
.mo-count { justify-self: end; font-size: 12px; color: var(--muted); margin-top: -2px; }
.mo-count.near { color: var(--rose); font-weight: 600; }
.mo-quick { display: flex; flex-wrap: wrap; gap: 6px; }
.mo-qp { min-height: 30px; padding: 0 10px; border-radius: 15px; border: 1px dashed var(--border); background: transparent; color: var(--gold-d);
  font: 500 13px var(--font-body); cursor: pointer; }
.mo-qp:hover { background: rgba(201,148,60,.08); border-style: solid; }
/* WebKit gives date/time inputs an intrinsic min-width that can push a phone page sideways */
.mo-f input[type=date], .mo-f input[type=time] { display: block; min-width: 0; max-width: 100%; -webkit-appearance: none; appearance: none; }
.mo-f input[type=date]::-webkit-date-and-time-value, .mo-f input[type=time]::-webkit-date-and-time-value { text-align: left; }
.mo-time { display: grid; gap: 8px; min-width: 0; }
.mo-time .mm-seg { justify-self: start; }
.mo-time input:disabled { background: var(--cream); color: var(--muted); }

/* place search */
.mo-place { position: relative; }
.mo-sugg { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 30; display: grid; gap: 2px; padding: 6px; border-radius: 14px;
  background: var(--card); border: 1px solid var(--border); box-shadow: var(--shadow-lg); animation: mm-fade .12s both; }
.mo-sugg-item { display: grid; gap: 1px; text-align: left; min-height: 44px; padding: 7px 12px; border: 0; border-radius: 10px; background: none; cursor: pointer; font-family: var(--font-body); }
.mo-sugg-item b { font-size: 15px; font-weight: 600; color: var(--deep); }
.mo-sugg-item span { font-size: 12.5px; color: var(--muted); }
.mo-sugg-item:hover, .mo-sugg-item.on { background: rgba(201,148,60,.1); }

/* free-text tags */
.mo-tags { display: grid; gap: 10px; }
.mo-tag-on .mm-chip.on span { opacity: .7; margin-left: 2px; }
.mo-tag-add { display: flex; gap: 8px; }
.mo-tag-add .mm-input { flex: 1; min-width: 0; }
.mo-tag-sugg .mm-chip { border-style: dashed; color: var(--muted); }
.mo-tag-sugg .mm-chip:hover { color: var(--brown); border-style: solid; }

/* prompts */
.mo-prompts { display: grid; gap: 12px; }
.mo-prompt { display: grid; gap: 8px; padding: 12px; border-radius: 14px; background: var(--cream); border: 1px solid var(--line); }
.mo-prompt-q { display: flex; gap: 8px; align-items: center; }
.mo-prompt-q .mm-select { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; line-height: 40px; }
.mo-rm { width: 38px; height: 38px; font-size: 20px; flex: none; }
.mo-prompts > .mm-btn { justify-self: start; }

/* sticky action foot (wizard + edit) */
.mo-foot { position: sticky; bottom: var(--vivah-consent-h, 0px); z-index: 20; align-items: center; margin: 24px -28px -28px; padding: 14px 28px;
  background: var(--glass); backdrop-filter: blur(8px); border-radius: 0 0 var(--radius) var(--radius); box-shadow: 0 -10px 22px rgba(22,15,4,.06); }
.mo-foot .mm-row { flex-wrap: nowrap; }
.mo-skip { font-size: 15px; padding: 10px 6px; color: var(--muted); font-weight: 500; }
.mo-skip:hover { color: var(--gold-d); }

/* ── wizard ─────────────────────────────────────────────────────────────────────────────────── */
.mo-wiz { max-width: 1000px; margin: 0 auto; }
.mo-wiz-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 4px 0 18px; }
.mo-wiz-prog { display: grid; gap: 6px; justify-items: end; min-width: 180px; font-size: 13px; color: var(--muted); }
.mo-wiz-prog .mm-progress { width: 180px; }
.mo-wiz .mm-wizard { grid-template-columns: 232px minmax(0, 1fr); gap: 28px; justify-content: stretch; }
.mo-steps a { cursor: pointer; }
.mo-steps a span { white-space: nowrap; }
.mo-steps a.off { opacity: .45; cursor: default; }
.mo-steps a.done { color: var(--brown); }
.mo-wiz-card { padding: 28px; border-radius: 22px; }
.mo-dobnote { margin: 0 0 16px; }
.mo-hint { margin-bottom: 16px; padding: 12px 14px; border-radius: 12px; background: rgba(201,148,60,.08); color: var(--brown); font-size: 14px; line-height: 1.45; }

/* step 1: who is it for */
.mo-for { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.mo-for > .mo-for-opt { grid-column: span 2; }
.mo-for > .mo-for-opt:nth-child(4):nth-last-child(2), .mo-for > .mo-for-opt:nth-child(5):last-child { grid-column: span 3; }
.mo-for-opt { position: relative; display: grid; justify-items: start; gap: 4px; min-height: 124px; padding: 16px; border-radius: 18px; border: 1.5px solid var(--line);
  background: var(--card); color: var(--deep); text-align: left; cursor: pointer; font-family: var(--font-body); transition: border-color .15s, box-shadow .15s, transform .12s; }
.mo-for-opt:hover { border-color: var(--gold); transform: translateY(-1px); }
.mo-for-opt b { font: 600 20px/1.15 var(--font-serif); }
.mo-for-opt small { color: var(--muted); font-size: 13px; line-height: 1.35; }
.mo-for-ic { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: var(--cream); color: var(--gold-d); margin-bottom: 6px; }
.mo-for-ic svg { width: 26px; height: 26px; }
.mo-for-opt.on { border-color: var(--gold); background: linear-gradient(160deg, rgba(232,184,90,.14), rgba(255,255,255,.9)); box-shadow: 0 0 0 3px rgba(201,148,60,.16); }
.mo-for-opt.on::after { content: '✓'; position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%;
  background: var(--gold); color: var(--card); font-size: 13px; font-weight: 700; }
.mo-for-opt.on .mo-for-ic { background: var(--gold); color: var(--card); }
.mo-import { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--line); }
.mo-import h3, .mo-sub-h { margin-bottom: 4px; }
.mo-import > .mm-help { margin: 0 0 12px; }
.mm-app .mo-sub-h { margin: 26px 0 14px; }
.mo-src { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }
.mo-src-opt { display: grid; gap: 2px; text-align: left; min-height: 64px; padding: 12px 14px; border-radius: 14px; border: 1.5px solid var(--line); background: var(--card);
  cursor: pointer; font-family: var(--font-body); color: var(--deep); }
.mo-src-opt b { font-size: 16px; }
.mo-src-opt small { color: var(--muted); font-size: 13px; }
.mo-src-opt.on { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(201,148,60,.16); background: rgba(232,184,90,.08); }

/* review + completion */
.mo-review { display: grid; gap: 18px; }
.mo-comp-top { display: flex; gap: 18px; align-items: center; }
.mo-comp-top p { margin: 0 0 8px; color: var(--brown); line-height: 1.45; }
.mo-ring { --p: 0; position: relative; display: grid; place-items: center; width: 92px; height: 92px; flex: none; border-radius: 50%; margin: 10px 0 14px;
  background: conic-gradient(var(--gold) calc(var(--p) * 1%), var(--sand) 0); }
.mo-ring::before { content: ''; position: absolute; inset: 8px; border-radius: 50%; background: var(--card); }
.mo-ring b { position: relative; font: 700 22px var(--font-body); color: var(--deep); }
.mo-ring.big { width: 104px; height: 104px; margin: 0; }
.mo-ring.big b { font-size: 25px; }
.mo-checklist { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.mo-checklist li { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 12px; align-items: center; min-height: 58px; padding: 8px 4px; border-bottom: 1px solid var(--line); }
.mo-checklist li:last-child { border-bottom: 0; }
.mo-checklist b { display: block; font-size: 15.5px; font-weight: 600; }
.mo-checklist small { display: block; color: var(--muted); font-size: 13px; line-height: 1.35; }
.mo-tick { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; border: 1.5px dashed var(--border); color: var(--card); font-size: 13px; font-weight: 700; }
.mo-checklist li.done .mo-tick { border: 0; background: var(--green); }
.mo-checklist li.part .mo-tick { border-color: var(--gold); color: var(--gold-d); font-size: 14px; }
.mo-consent { border: 0; margin: 0; padding: 16px; display: grid; gap: 12px; border-radius: 16px; background: var(--cream); }
.mo-notice-link { justify-self: start; }
.mo-foot-inline { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.mo-notice { margin: 0; padding-left: 18px; display: grid; gap: 10px; line-height: 1.5; font-size: 15px; color: var(--brown); }
.mo-comp { padding: 24px; }
.mo-comp .mo-comp-top { margin-bottom: 12px; }

/* ── My Profile ─────────────────────────────────────────────────────────────────────────────── */
.mo-hero { display: grid; grid-template-columns: 172px minmax(0, 1fr); gap: 26px; align-items: center; padding: 26px 28px; border-radius: 24px;
  background: linear-gradient(135deg, var(--deep), var(--brown)); color: var(--cream); box-shadow: var(--shadow); animation: mm-rise .3s both; }
.mo-hero-photo { position: relative; width: 172px; aspect-ratio: 4 / 5; border-radius: 20px; overflow: hidden; background: linear-gradient(160deg, var(--sand), var(--gold-l));
  box-shadow: 0 0 0 3px rgba(232,184,90,.55), 0 14px 30px rgba(0,0,0,.3); display: grid; place-items: center; }
.mo-hero-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mo-hero-photo > span { font: 600 56px var(--font-serif); color: var(--brown); opacity: .6; }
.mo-hero-cam { position: absolute; right: 8px; bottom: 8px; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%;
  background: rgba(255,253,248,.92); text-decoration: none; font-size: 18px; box-shadow: 0 2px 8px rgba(0,0,0,.25); }
.mo-hero-main { display: grid; gap: 8px; min-width: 0; }
.mo-hero-id { display: grid; gap: 8px; min-width: 0; }
.mo-hero-main h1 { color: var(--ivory); font-size: 38px; overflow-wrap: anywhere; }
.mo-hero-facts { margin: 0; font-size: 16px; color: rgba(244,239,228,.82); }
.mo-hero-code { margin: 0; color: rgba(244,239,228,.62); }
.mo-hero-code b { color: var(--gold-l); letter-spacing: .04em; }
.mo-hero .mm-pill { background: rgba(255,255,255,.1); color: var(--cream); }
.mo-hero .mm-pill.green { background: rgba(45,122,79,.3); color: var(--ivory); }
.mo-hero .mm-pill.gold { background: rgba(232,184,90,.22); color: var(--gold-l); }
.mo-hero .mm-pill.rose { background: rgba(212,132,111,.25); color: var(--ivory); }
.mo-hero-comp { max-width: 520px; margin-top: 4px; }
.mo-hero-comp span { font-size: 14px; }
.mo-hero .mo-hero-comp .mm-progress { background: rgba(255,255,255,.14); margin-top: 6px; }
.mo-hero .mm-link { color: var(--gold-l); }
.mo-hero-next { margin: 8px 0 0; font-size: 14px; color: rgba(244,239,228,.78); line-height: 1.4; }
.mo-hero-acts { margin-top: 6px; }
.mo-hero .mm-btn.ghost { color: var(--cream); border-color: rgba(232,184,90,.45); }
.mo-hero .mm-btn.ghost:hover { background: rgba(232,184,90,.12); }
.mo-fam-comp .mm-progress { margin-top: 8px; }
.mo-fam-comp .mo-hero-next { color: var(--muted); }

.mo-me { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 24px; align-items: start; margin-top: 22px; }
.mo-cards { display: grid; gap: 16px; }
.mo-card { animation: mm-rise .3s both; }
.mo-card + .mo-card { margin-top: 0; }
.mo-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.mo-edit { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 12px; border-radius: 18px; border: 1px solid var(--border);
  color: var(--gold-d); font-size: 14px; font-weight: 600; text-decoration: none; }
.mo-edit:hover { background: rgba(201,148,60,.08); border-color: var(--gold); }
.mo-empty { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 14px; border-radius: 12px;
  border: 1.5px dashed var(--border); background: rgba(250,244,232,.6); }
.mo-empty p { margin: 0; color: var(--muted); font-size: 14.5px; flex: 1 1 240px; }
.mo-long { margin: 10px 0 0; line-height: 1.6; color: var(--brown); white-space: pre-line; }
.mo-card .mm-kv + .mo-long { margin-top: 14px; }
.mo-strip { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; }
.mo-strip img { width: 84px; height: 105px; flex: none; object-fit: cover; border-radius: 12px; }
.mo-strip img:first-child { box-shadow: 0 0 0 2px var(--gold); }
.mo-prefsum { list-style: none; margin: 0 0 8px; padding: 0; display: grid; gap: 0; }
.mo-prefsum li { display: grid; grid-template-columns: minmax(120px, 34%) minmax(0, 1fr) auto; gap: 12px; align-items: baseline; padding: 7px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.mo-prefsum li:last-child { border-bottom: 0; }
.mo-prefsum span { color: var(--muted); }
.mo-prefsum b { font-weight: 500; }
.mo-prefsum i { font-style: normal; }
.mo-vmini { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; }
.mo-vmini li { display: flex; align-items: center; gap: 10px; font-size: 14.5px; min-width: 0; }
.mo-vmini li > span:nth-child(2) { flex: 1; min-width: 0; }
.mo-kundli { margin-top: 12px; }
.mo-aside { position: sticky; top: 132px; display: grid; gap: 16px; }
.mo-aside .mm-panel { padding: 18px; }
.mo-aside .mm-panel + .mm-panel { margin-top: 0; }
.mo-aside h3 { margin-bottom: 6px; }
.mo-aside .mo-ring { margin: 10px auto 14px; }
.mo-todo { list-style: none; margin: 0 0 10px; padding: 0; display: grid; gap: 6px; }
.mo-todo a { display: grid; gap: 1px; padding: 9px 11px; border-radius: 12px; background: var(--cream); text-decoration: none; }
.mo-todo a:hover { background: rgba(201,148,60,.14); }
.mo-todo span { font-weight: 600; font-size: 14.5px; }
.mo-todo small { color: var(--muted); font-size: 12.5px; line-height: 1.35; }

/* edit pages */
.mo-editwrap { align-items: start; }
.mo-subnav-back { display: none !important; }
.mo-formcard { padding: 28px; border-radius: 22px; }
.mo-pagehead h1 { margin-top: 2px; }
.mo-pagehead { align-items: flex-end; }

/* ── photos ─────────────────────────────────────────────────────────────────────────────────── */
.mo-photos { padding: 24px; }
.mo-wiz-card .mo-photos { padding: 0; }
.mo-ph-sec + .mo-ph-sec { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line); }
.mo-ph-head { margin-bottom: 12px; }
.mo-ph-head h3 { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.mo-ph-head h3 .mm-pill { font-family: var(--font-body); }
.mo-ph-head .mm-help { margin: 4px 0 0; }
.mo-ph-note { margin: 0 0 12px; }
.mo-ph-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.mo-ph-grid.small { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); }
.mo-ph-tile { position: relative; display: block; aspect-ratio: 4 / 5; padding: 0; border: 0; border-radius: 16px; overflow: hidden; cursor: pointer;
  background: var(--sand); box-shadow: var(--shadow); }
.mo-ph-tile img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .25s; }
.mo-ph-tile:hover img { transform: scale(1.03); }
.mo-ph-tile:first-child { box-shadow: 0 0 0 2px var(--gold), var(--shadow); }
.mo-ph-grid.small .mo-ph-tile:first-child { box-shadow: var(--shadow); }
.mo-ph-badge { position: absolute; top: 8px; left: 8px; background: rgba(255,253,248,.94) !important; }
.mo-ph-lock { position: absolute; top: 8px; left: 8px; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: rgba(255,253,248,.92); font-size: 14px; }
.mo-ph-edit { position: absolute; left: 8px; right: 8px; bottom: 8px; display: grid; place-items: center; min-height: 34px; border-radius: 10px;
  background: rgba(22,15,4,.62); color: var(--ivory); font: 600 13.5px var(--font-body); backdrop-filter: blur(4px); }
.mo-ph-add { display: grid; place-items: center; align-content: center; gap: 4px; aspect-ratio: 4 / 5; padding: 12px; border-radius: 16px; border: 1.5px dashed var(--gold);
  background: rgba(232,184,90,.07); color: var(--gold-d); cursor: pointer; font-family: var(--font-body); text-align: center; }
.mo-ph-add:hover { background: rgba(232,184,90,.14); }
.mo-ph-add > span { font-size: 30px; line-height: 1; }
.mo-ph-add b { font-size: 14.5px; color: var(--brown); }
.mo-ph-add small { font-size: 12px; color: var(--muted); }
.mo-ph-add.wide { aspect-ratio: auto; min-height: 120px; width: 100%; }
.mo-tip { margin: 12px 0 0; }
.mo-video { display: grid; gap: 10px; max-width: 420px; }
.mo-video video { width: 100%; max-height: 360px; border-radius: 16px; background: var(--deep); }
.mo-ph-menu { display: grid; gap: 14px; }
.mo-ph-menu img { width: 120px; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 14px; justify-self: center; box-shadow: var(--shadow); }
.mo-danger { color: var(--error) !important; }
.mo-crop { height: min(56vh, 460px); border-radius: 14px; overflow: hidden; background: var(--deep); }
.mo-crop img { display: block; max-width: 100%; }
.mo-crop-tools { justify-content: center; margin-top: 12px; }

/* ── partner preferences ────────────────────────────────────────────────────────────────────── */
.mo-prefs { padding: 24px 26px; }
.mo-prefs-wiz { padding: 0; }
.mo-pref-top { display: grid; gap: 14px; margin-bottom: 8px; }
.mo-pref-meta { display: flex; gap: 8px; flex-wrap: wrap; }
.mo-impact { display: grid; gap: 10px; padding: 16px 18px; border-radius: 16px; background: linear-gradient(135deg, rgba(232,184,90,.14), rgba(184,92,74,.08)); border: 1px solid var(--border); }
.mo-impact-n { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.mo-impact-n b { font: 700 30px var(--font-body); color: var(--gold-d); }
.mo-impact-n span { color: var(--brown); font-size: 15px; }
.mo-sugs { display: grid; gap: 8px; }
.mo-sugs > .mm-help { margin: 0; }
.mo-sug { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; padding: 8px 10px; border-radius: 12px; background: rgba(255,255,255,.7); }
.mo-plus { color: var(--green); }
.mo-broaden { display: flex; gap: 12px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.mo-broaden.quiet { padding: 12px 14px; border-radius: 14px; border: 1px dashed var(--border); }
.mo-broaden.quiet .mm-help { flex: 1 1 280px; }
.mo-legend { border-radius: 12px; background: var(--cream); padding: 10px 14px; font-size: 14px; }
.mo-legend summary { cursor: pointer; font-weight: 600; color: var(--brown); min-height: 28px; display: flex; align-items: center; }
.mo-legend dl { display: grid; grid-template-columns: 110px 1fr; gap: 6px 12px; margin: 10px 0 2px; }
.mo-legend dt { font-weight: 600; }
.mo-legend dd { margin: 0; color: var(--muted); }
.mo-pref-group { margin-top: 18px; }
.mo-pref-group > h3 { font-size: 22px; padding-bottom: 4px; }
.mo-crit { padding: 16px 0; }
.mo-crit.changed { box-shadow: inset 3px 0 0 var(--gold); padding-left: 12px; margin-left: -12px; }
.mo-crit .mm-crit-head > div:first-child { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.mo-crit .mm-chips { gap: 8px; }
.mo-crit .mm-chip { min-height: 36px; }
.mo-crit-ro { margin: 0; color: var(--brown); }
.mo-nomust { margin: 0; font-size: 12.5px; }
.mo-crit .mm-err { margin: 0; }
.mo-crit .mm-range { margin: 4px 11px 0; }
.mo-place-add { max-width: 420px; margin-top: 10px; }
.mo-reloc { margin-top: 12px; flex-wrap: nowrap; }
.mo-savebar { position: sticky; bottom: calc(12px + var(--vivah-consent-h, 0px)); z-index: 25; display: flex; align-items: center; justify-content: space-between; gap: 12px;
  margin: 16px 0 0; padding: 10px 12px 10px 18px; border-radius: 16px; background: var(--deep); color: var(--cream); box-shadow: var(--shadow-lg); animation: mm-rise .2s both; }
.mo-savebar .mm-btn.ghost { color: var(--cream); border-color: rgba(232,184,90,.4); }
.mo-savebar .mm-row { flex-wrap: nowrap; }
.mo-pref-foot { align-items: center; }

/* ── verification ───────────────────────────────────────────────────────────────────────────── */
.mo-verify { padding: 22px 24px; }
.mo-wiz-card .mo-verify { padding: 0; }
.mo-vhead { display: flex; gap: 18px; align-items: center; margin-bottom: 8px; }
.mo-vhead .mm-help { margin: 0; max-width: 58ch; }
.mo-vcount { display: grid; place-items: center; width: 84px; height: 84px; flex: none; border-radius: 50%; background: var(--cream); border: 1px solid var(--border); }
.mo-vcount b { font: 700 26px/1 var(--font-body); color: var(--gold-d); }
.mo-vcount span { font-size: 11.5px; color: var(--muted); margin-top: -14px; }
.mo-vlist { list-style: none; margin: 0; padding: 0; display: grid; }
.mo-vitem { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.mo-vitem:last-child { border-bottom: 0; }
.mo-vic { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: var(--cream); color: var(--brown); }
.mo-vic svg { width: 24px; height: 24px; }
.mo-vic.ok { background: rgba(45,122,79,.12); color: var(--green); }
.mo-vic.sm { width: 32px; height: 32px; border-radius: 10px; flex: none; }
.mo-vic.sm svg { width: 18px; height: 18px; }
.mo-vtext { display: grid; gap: 4px; min-width: 0; }
.mo-vtext b { font-size: 16px; }
.mo-vtext .mm-help { margin: 0; line-height: 1.45; }
.mo-opt { display: inline-block; margin-left: 4px; padding: 0 7px; border-radius: 8px; background: var(--cream); font-size: 11.5px; color: var(--muted); }
.mo-vact { margin-top: 4px; }
.mo-vitem.rejected .mm-help, .mo-vitem.expired .mm-help { color: var(--rose); }
.mo-privacy-line { margin: 14px 4px 0; }
.mo-steps-mini { margin: 0 0 10px; padding-left: 20px; display: grid; gap: 4px; color: var(--brown); }
.mo-challenge { margin: 4px 0 14px; padding: 18px; border-radius: 16px; text-align: center; font: 600 24px/1.25 var(--font-serif); color: var(--deep);
  background: linear-gradient(135deg, rgba(232,184,90,.2), rgba(184,92,74,.1)); border: 1px solid var(--border); }
.mo-selfie { display: grid; place-items: center; min-height: 120px; margin-bottom: 12px; border-radius: 14px; border: 1.5px dashed var(--border); background: var(--cream); overflow: hidden; }
.mo-selfie img { width: 100%; max-height: 300px; object-fit: contain; display: block; }

/* ── preview ────────────────────────────────────────────────────────────────────────────────── */
.mo-aud { margin-bottom: 14px; }
.mo-pv-page { padding: 24px; }
.mo-pv { display: grid; gap: 10px; }
.mo-pv-photos { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; }
.mo-pv-ph { flex: none; width: 150px; aspect-ratio: 4 / 5; border-radius: 16px; overflow: hidden; background: var(--sand); }
.mo-pv-ph.main { width: 220px; }
.mo-pv-ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mo-pv-ph.blurred img { filter: blur(3px); transform: scale(1.05); }
.mo-pv-ph.noph { display: grid; place-items: center; font: 600 54px var(--font-serif); color: rgba(58,34,16,.35); }
.mo-pv-hero { display: grid; gap: 6px; margin: 6px 0 2px; }
.mo-pv-hero h2 { font-size: 30px; }
.mo-pv-hero p { margin: 0; }
.mo-pv-p { margin: 0; line-height: 1.55; }
.mo-static { cursor: default !important; }
.mm-sheet .mo-pv .mm-pp-section { padding: 14px 0; }

/* ── tablet 768–1024 ────────────────────────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .mo-wiz .mm-wizard { grid-template-columns: 1fr; gap: 14px; }
  .mo-steps { margin: 0 -20px; padding: 2px 20px 6px; }
  .mo-steps a { min-height: 40px; border: 1.5px solid var(--line); border-radius: 20px; background: var(--card); padding: 0 14px 0 8px; }
  .mo-steps a.on { border-color: var(--deep); }
  .mo-me { grid-template-columns: 1fr; }
  .mo-aside { position: static; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
  .mo-aside .mo-ring { margin: 6px 0 10px; }
  .mo-hero { grid-template-columns: 148px minmax(0, 1fr); gap: 22px; }
  .mo-hero-photo { width: 148px; }
  .mo-editwrap .mm-side { margin: 0 -20px; padding: 2px 20px 6px; }
  .mo-subnav-back { display: none !important; }
}
@media (max-width: 900px) {
  .mo-aside { grid-template-columns: 1fr 1fr; }
  .mo-aside .mm-panel:last-child { grid-column: 1 / -1; }
}

/* ── phone ≤767 ─────────────────────────────────────────────────────────────────────────────── */
@media (max-width: 767px) {
  .mo-wiz-top { flex-direction: column; align-items: stretch; gap: 8px; margin: 0 0 10px; }
  .mo-wiz-prog { justify-items: stretch; min-width: 0; grid-template-columns: auto 1fr; align-items: center; gap: 10px; }
  .mo-wiz-prog .mm-progress { width: auto; }
  .mo-steps, .mo-editwrap .mm-side { margin: 0 -14px; padding: 2px 14px 6px; }
  .mo-steps a span { font-size: 14px; }
  .mo-wiz-card, .mo-formcard { padding: 20px 16px; border-radius: 18px; margin: 0 -4px; }
  .mo-formhead h1 { font-size: 27px; }
  .mo-group > legend { font-size: 20px; }
  .mo-grid { grid-template-columns: 1fr; }
  .mo-grid > .mo-f.half { grid-column: 1 / -1; }
  .mo-foot { margin: 20px -16px -20px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); border-radius: 0 0 18px 18px; gap: 8px; }
  .mo-foot > .mm-btn.ghost { padding: 0 14px; }
  .mo-foot .mm-row { gap: 6px; }
  .mo-foot [data-next], .mo-foot [data-save] { padding: 0 16px; }
  .mo-skip { font-size: 14px; }
  .mo-for { grid-template-columns: 1fr 1fr; gap: 10px; }
  .mo-for > .mo-for-opt, .mo-for > .mo-for-opt:nth-child(4):nth-last-child(2), .mo-for > .mo-for-opt:nth-child(5):last-child { grid-column: auto; }
  .mo-for-opt { min-height: 118px; padding: 14px 12px; }
  .mo-for-opt b { font-size: 18px; }
  .mo-for > .mo-for-opt:last-child:nth-child(odd) { grid-column: 1 / -1; min-height: 0; }
  .mo-src { grid-template-columns: 1fr; }
  .mo-time .mm-seg { justify-self: stretch; }
  .mo-time .mm-seg button, .mo-crit .mm-seg button, .mo-aud .mm-seg button { flex: 1; padding: 0 6px; }
  .mo-tag-add .mm-btn { min-height: var(--tap); }

  .mo-hero { grid-template-columns: 104px minmax(0, 1fr); gap: 14px; padding: 16px; border-radius: 20px; align-items: start; }
  .mo-hero-photo { width: 104px; border-radius: 16px; }
  .mo-hero-photo > span { font-size: 38px; }
  .mo-hero-cam { width: 34px; height: 34px; right: 5px; bottom: 5px; font-size: 15px; }
  .mo-hero-main h1 { font-size: 27px; }
  .mo-hero-facts { font-size: 14.5px; }
  .mo-hero-main { display: contents; }
  .mo-hero-id { gap: 5px; align-self: center; }
  .mo-hero-comp, .mo-hero-acts { grid-column: 1 / -1; max-width: none; margin-top: 0; }
  .mo-hero-acts .mm-btn { flex: 1 1 auto; }
  .mo-me { margin-top: 16px; gap: 16px; }
  .mo-cards { gap: 12px; }
  .mo-card { padding: 16px; }
  .mo-aside { grid-template-columns: 1fr; }
  .mo-prefsum li { grid-template-columns: 1fr auto; gap: 2px 10px; }
  .mo-prefsum li b { grid-column: 1; grid-row: 2; }
  .mo-prefsum li i { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
  .mo-vmini { grid-template-columns: 1fr; }

  .mo-photos, .mo-prefs, .mo-verify, .mo-pv-page, .mo-comp { padding: 16px; }
  .mo-ph-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .mo-ph-grid.small { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mo-ph-grid.small .mo-ph-add b { font-size: 12.5px; }
  .mo-ph-grid.small .mo-ph-edit { display: none; }
  .mo-crop { height: 52vh; }

  .mo-crit .mm-crit-head { display: grid; grid-template-columns: minmax(0, 1fr); justify-content: stretch; gap: 8px; }
  .mo-crit .mm-seg { display: flex; width: 100%; }
  .mo-crit.changed { padding-left: 10px; margin-left: -10px; }
  .mo-impact-n b { font-size: 26px; }
  .mo-legend dl { grid-template-columns: 1fr; }
  .mo-legend dd { margin-bottom: 6px; }
  .mo-savebar { bottom: calc(10px + var(--vivah-consent-h, 0px)); padding: 8px 8px 8px 14px; font-size: 14px; }
  .mo-savebar .mm-btn { padding: 0 12px; }
  .mo-savebar [data-reset] { display: none; }
  .mo-pref-foot { flex-direction: column; align-items: stretch; }

  .mo-vhead { align-items: flex-start; }
  .mo-vcount { width: 70px; height: 70px; }
  .mo-vitem { grid-template-columns: 40px minmax(0, 1fr); gap: 12px; }
  .mo-vic { width: 40px; height: 40px; }
  .mo-challenge { font-size: 21px; padding: 14px; }
  .mo-pv-ph { width: 120px; }
  .mo-pv-ph.main { width: 170px; }
  .mo-comp-top { align-items: flex-start; }
  .mo-ring.big { width: 88px; height: 88px; }
  .mo-checklist li { grid-template-columns: 28px minmax(0, 1fr) auto; gap: 10px; }
  .mo-pagehead { margin-bottom: 12px; }
}
