/* ============================================================
   MAVORA — v72 refinement layer (7th overlay)
   1) Complete the Space: balanced gallery composition
   2) Native form validation visible state (:user-invalid)
   3) iOS safe-area bottom clearance for floating group
   4) Scroll-lock helper class (paired with mavora-ux-v72.js)
   Rollback: remove link + script + delete files.
   ============================================================ */

/* ---------- C4 — Complete the Space: image weight + centered card ---------- */
[class*="1.4fr_0.8fr"] {
  grid-template-columns: 1.55fr 0.7fr;
}
[class*="1.4fr_0.8fr"] > div:last-child {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* ---------- F1 — visible native validation state (after user interaction) ---------- */
input:user-invalid,
textarea:user-invalid,
select:user-invalid {
  border-color: rgba(176, 58, 46, 0.6);
  box-shadow: 0 0 0 3px rgba(176, 58, 46, 0.1);
}
input:user-invalid:focus,
textarea:user-invalid:focus,
select:user-invalid:focus {
  border-color: #b03a2e;
  box-shadow: 0 0 0 3px rgba(176, 58, 46, 0.16);
}

/* ---------- R3 — iOS safe-area clearance (floating WA / language) ---------- */
@supports (padding: env(safe-area-inset-bottom)) {
  .mavora-wa {
    bottom: max(20px, env(safe-area-inset-bottom));
  }
  .mavora-lang {
    /* overrides v65 !important bottom:112px — later source wins */
    bottom: calc(112px + env(safe-area-inset-bottom)) !important;
  }
}

/* ---------- I2 — scroll lock while mobile nav open (JS toggles) ---------- */
body.mavora-lock,
html.mavora-lock {
  overflow: clip;
}
