/* =========================================================================
   INFO DIALOGS (.dlg) — one system for every informational pop-up
   (cities, visas, real-estate info, events, editorial, about, SawaPilot, Sawa+)
   Anatomy:
     dialog.dlg[.dlg--media]
       .dlg__in
         .dlg__bar      overlay top bar: title (after scroll) + 44px close
         .dlg__scroll   single scroll area
           .dlg__hero   --media (photo + scrim, white text) | --plain (calm gradient, ink text)
           .dlg__body   lead, prose, sections, facts, lists, notes
         .dlg__foot     sticky actions (div, never <footer>)
   Uses minimal.css tokens only (--mn-*), so dark mode follows automatically.
   Dialog-level selectors carry two id-weighted :not() to beat legacy
   app.css / forms.css dialog rules (some use !important on mobile).
   ========================================================================= */

dialog.dlg:not(#_d):not(#_e){
  --dlg-pad:1.25rem;
  --dlg-maxh:min(56rem,calc(100dvh - 3rem));
  --dlg-scrim:var(--mn-scrim-rgb);
  position:fixed!important;inset:0!important;box-sizing:border-box;
  width:min(44rem,calc(100vw - 3rem))!important;min-width:0!important;max-width:none!important;
  height:fit-content!important;min-height:0!important;max-height:var(--dlg-maxh)!important;
  margin:auto!important;padding:0!important;
  border:1px solid var(--mn-line)!important;border-radius:20px!important;
  background:var(--mn-bg)!important;color:var(--mn-text);
  box-shadow:0 2px 8px rgb(var(--mn-shadow-rgb)/6%),0 32px 80px -12px rgb(var(--mn-shadow-rgb)/30%)!important;
  overflow:hidden!important;
  font-family:var(--mn-font);font-size:1rem;line-height:1.5;text-align:left;
  -webkit-font-smoothing:antialiased;
  animation:none!important;
  opacity:0;transform:translateY(14px) scale(.985);
  transition:opacity .2s var(--mn-ease),transform .32s var(--mn-ease-out),overlay .32s allow-discrete,display .32s allow-discrete;
}
dialog.dlg[open]:not(#_d):not(#_e){opacity:1;transform:none}
@starting-style{dialog.dlg[open]:not(#_d):not(#_e){opacity:0;transform:translateY(14px) scale(.985)}}
dialog.dlg:not(#_d):not(#_e)::before{content:none!important;display:none!important}
dialog.dlg:not(#_d):not(#_e)::backdrop{
  background:rgb(var(--mn-scrim-rgb)/0);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);
  transition:background-color .25s var(--mn-ease),backdrop-filter .25s,overlay .32s allow-discrete,display .32s allow-discrete}
dialog.dlg[open]:not(#_d):not(#_e)::backdrop{background:rgb(var(--mn-scrim-rgb)/55%);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
@starting-style{dialog.dlg[open]:not(#_d):not(#_e)::backdrop{background:rgb(var(--mn-scrim-rgb)/0);backdrop-filter:blur(0)}}

dialog.dlg:not(#_d):not(#_e)>.dlg__in{
  position:relative!important;display:flex!important;flex-direction:column;
  width:100%!important;min-width:0!important;max-width:none!important;
  height:auto!important;min-height:0!important;max-height:calc(var(--dlg-maxh) - 2px)!important;
  margin:0!important;border-radius:0!important;
}
.dlg *,.dlg *::before,.dlg *::after{box-sizing:border-box}

/* ---------- mobile (<768px): full-screen page, slides up; own bar with close, sticky footer ---------- */
@media (max-width:767px){
  dialog.dlg:not(#_d):not(#_e){
    --dlg-maxh:100dvh;
    width:100%!important;height:100dvh!important;margin:0!important;
    border:0!important;border-radius:0!important;box-shadow:none!important;
    transform:translateY(32px);
  }
  dialog.dlg:not(#_d):not(#_e)>.dlg__in{height:100%!important}
  @starting-style{dialog.dlg[open]:not(#_d):not(#_e){opacity:0;transform:translateY(32px)}}
  dialog.dlg[open]:not(#_d):not(#_e)::backdrop{background:var(--mn-bg);-webkit-backdrop-filter:none;backdrop-filter:none}
}
@media (min-width:640px){.dlg{--dlg-pad:2.5rem}dialog.dlg:not(#_d):not(#_e){--dlg-pad:2.5rem}}
@media (prefers-reduced-motion:reduce){
  dialog.dlg:not(#_d):not(#_e),dialog.dlg:not(#_d):not(#_e)::backdrop{transition:none!important;transform:none!important}
  @starting-style{dialog.dlg[open]:not(#_d):not(#_e){transform:none}}
  .dlg *{transition:none!important}
}

/* ---------- top bar (overlay, title appears after scroll) ---------- */
.dlg__bar{
  position:absolute;z-index:5;top:0;left:0;right:0;
  display:flex;align-items:center;gap:.75rem;min-height:3.5rem;
  padding:.375rem .5rem .375rem var(--dlg-pad);
  color:var(--mn-ink);background:transparent;
  border-bottom:1px solid transparent;
  transition:background-color .2s var(--mn-ease),border-color .2s var(--mn-ease);
}
.dlg__bar-title{
  flex:1 1 auto;min-width:0;margin:0;
  font-size:.9375rem;font-weight:600;line-height:1.3;letter-spacing:-.005em;color:var(--mn-ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  opacity:0;transform:translateY(4px);transition:opacity .2s var(--mn-ease),transform .2s var(--mn-ease);
}
.dlg[data-scrolled] .dlg__bar{
  background:var(--mn-bg);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border-bottom-color:var(--mn-line);
}
.dlg[data-scrolled] .dlg__bar-title{opacity:1;transform:none}
.dlg .dlg__x{
  flex:none;margin-left:auto;display:inline-grid;place-items:center;
  width:2.75rem;height:2.75rem;padding:0;
  border:1px solid var(--mn-line-2);border-radius:50%;
  background:var(--mn-bg);color:var(--mn-ink);
  font:inherit;font-size:1.35rem;line-height:1;cursor:pointer;
  transition:background-color .15s,border-color .15s,color .15s;
}
.dlg .dlg__x:not(#_d){border-radius:50%!important}
.dlg .dlg__x svg{width:1.25rem;height:1.25rem}
.dlg .dlg__x:hover{border-color:var(--mn-ink)}
.dlg--media:not([data-scrolled]) .dlg__x{
  background:rgb(var(--dlg-scrim)/50%);border-color:rgb(255 255 255/40%);color:#fff;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
}
.dlg--media:not([data-scrolled]) .dlg__x:hover{background:rgb(var(--dlg-scrim)/72%);border-color:#fff}
@media (max-width:767px){
  .dlg__bar{padding:calc(.375rem + env(safe-area-inset-top)) max(.5rem,env(safe-area-inset-right)) .375rem max(var(--dlg-pad),env(safe-area-inset-left))}
  .dlg__hero{padding-top:calc(4rem + env(safe-area-inset-top))}
  .dlg__hero--media{padding-top:calc(5rem + env(safe-area-inset-top))}
  .dlg__scroll>.dlg__body:first-child{padding-top:calc(4.25rem + env(safe-area-inset-top))}
}

/* ---------- scroll + hero ---------- */
.dlg__scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.dlg__hero{position:relative;padding:4rem var(--dlg-pad) 1.5rem}
.dlg__hero--plain{background:linear-gradient(180deg,color-mix(in srgb,var(--mn-brand) 11%,var(--mn-bg)) 0%,var(--mn-bg) 100%)}
.dlg__hero--media{
  isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;
  min-height:clamp(17rem,46vw,20rem);padding-top:5rem;padding-bottom:1.75rem;
  background:var(--mn-night);color:#fff;
}
.dlg__hero-img{position:absolute;inset:0;z-index:-2;display:block;width:100%;height:100%;object-fit:cover}
.dlg__hero--media::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(to top,rgb(var(--dlg-scrim)/86%) 0,rgb(var(--dlg-scrim)/74%) 12rem,rgb(var(--dlg-scrim)/14%) 100%);
}
.dlg__eyebrow{
  display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem;margin:0;
  font-size:.75rem;font-weight:600;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:var(--mn-brand-ink);
}
.dlg__hero--media .dlg__eyebrow{color:#fff;text-shadow:0 1px 8px rgb(0 0 0/30%)}
.dlg__icon{display:inline-grid;place-items:center;width:2.75rem;height:2.75rem;margin-bottom:1rem;border:1px solid var(--mn-line-2);border-radius:50%;color:var(--mn-brand-ink)}
.dlg__icon svg{width:1.35rem;height:1.35rem}
.dlg .dlg__title{
  margin:.5rem 0 0;font-family:var(--mn-font);
  font-size:clamp(1.625rem,4.6vw,2.25rem);line-height:1.1;font-weight:600;letter-spacing:-.03em;
  color:var(--mn-ink);text-wrap:balance;overflow-wrap:anywhere;
}
.dlg__hero--media .dlg__title{color:#fff;text-shadow:0 1px 14px rgb(0 0 0/28%)}
.dlg__hero-lead{margin:.75rem 0 0;max-width:58ch;font-size:1rem;line-height:1.6;color:var(--mn-text)}
.dlg__hero--media .dlg__hero-lead{color:rgb(255 255 255/92%)}
.dlg__meta{display:flex;flex-wrap:wrap;gap:.25rem .9rem;margin:.85rem 0 0;font-size:.875rem;line-height:1.5;color:var(--mn-mute)}
.dlg__hero--media .dlg__meta{color:rgb(255 255 255/90%)}
.dlg__chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.dlg__eyebrow+.dlg__chips{margin-top:.75rem}
.dlg__chip{
  display:inline-flex;align-items:center;gap:.4rem;min-height:2rem;padding:.3rem .8rem;
  border:1px solid var(--mn-line-2);border-radius:999px;background:transparent;
  font-size:.8125rem;font-weight:600;line-height:1.2;letter-spacing:0;text-transform:none;color:var(--mn-ink);
}
.dlg__chip svg{flex:none;width:1rem;height:1rem}
.dlg__chip-sub{font-weight:500;color:var(--mn-mute)}
.dlg__hero--media .dlg__chip{
  color:#fff;background:rgb(255 255 255/10%);border-color:rgb(255 255 255/30%);
  -webkit-backdrop-filter:blur(10px) brightness(.5) saturate(1.2);backdrop-filter:blur(10px) brightness(.5) saturate(1.2);
  text-shadow:0 1px 6px rgb(0 0 0/25%);
}
.dlg__hero--media .dlg__chip-sub{color:rgb(255 255 255/90%)}

/* ---------- body ---------- */
.dlg__body{padding:1.75rem var(--dlg-pad) 2.5rem;color:var(--mn-text)}
.dlg__body>*{margin:0}
.dlg__body>*+*{margin-top:1.75rem}
.dlg__body>[hidden],.dlg__body>[style*="display: none"]{margin:0}
.dlg__stack>*{margin:0}
.dlg__stack>*+*{margin-top:1.75rem}
.dlg .dlg__lead{max-width:62ch;margin:0;font-size:1.1875rem;line-height:1.55;font-weight:500;letter-spacing:-.01em;color:var(--mn-ink);text-wrap:pretty}
.dlg__text{max-width:62ch;font-size:1.0625rem;line-height:1.7;color:var(--mn-text)}
.dlg__text>*{margin:0}
.dlg__text>*+*{margin-top:1em}
.dlg__pre{white-space:pre-line}
.dlg__muted{color:var(--mn-mute)}
.dlg__credit{margin:.5rem 0 0;font-size:.8125rem;line-height:1.4;color:var(--mn-mute)}

.dlg__sec{padding-top:1.75rem;border-top:1px solid var(--mn-line)}
.dlg__sec>.dlg__eyebrow+.dlg__h3{margin-top:.4rem}
.dlg .dlg__h3{margin:0;font-family:var(--mn-font);font-size:1.25rem;line-height:1.3;font-weight:600;letter-spacing:-.015em;color:var(--mn-ink);text-wrap:balance}
.dlg__sec-intro{max-width:62ch;margin:.5rem 0 0;font-size:.9375rem;line-height:1.6;color:var(--mn-mute)}
.dlg__sec-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem 1rem}
.dlg__count{font-size:.875rem;font-weight:500;color:var(--mn-mute)}

/* lists with hairline separators */
.dlg__list{list-style:none;margin:1rem 0 0;padding:0;border-bottom:1px solid var(--mn-line)}
.dlg__list>li{margin:0;padding:1rem 0;border-top:1px solid var(--mn-line)}
.dlg__list--num>li{display:grid;grid-template-columns:2.25rem minmax(0,1fr);column-gap:.5rem}
.dlg__num{padding-top:.2rem;font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--mn-brand-ink)}
.dlg__item-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem 1rem}
.dlg .dlg__item-title{margin:0;font-size:1.0625rem;line-height:1.4;font-weight:600;letter-spacing:-.005em;color:var(--mn-ink)}
.dlg__item-text{max-width:62ch;margin:.4rem 0 0;font-size:1rem;line-height:1.65;color:var(--mn-text)}
.dlg__item-meta{margin:.5rem 0 0;font-size:.875rem;line-height:1.5;color:var(--mn-mute)}
.dlg__tag{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--mn-brand-ink);white-space:nowrap}
.dlg__checks{list-style:none;margin:.75rem 0 0;padding:0}
.dlg__checks>li{position:relative;margin:0;padding-left:1.5rem;font-size:.9375rem;line-height:1.6;color:var(--mn-text)}
.dlg__checks>li+li{margin-top:.5rem}
.dlg__checks>li::before{content:"✓";position:absolute;left:0;top:0;font-weight:700;color:var(--mn-brand-ink)}

/* key facts — definition list with hairlines */
.dlg__facts{margin:1rem 0 0;padding:0;border-bottom:1px solid var(--mn-line)}
.dlg__fact{display:grid;grid-template-columns:minmax(0,1fr);gap:.15rem;margin:0;padding:.85rem 0;border-top:1px solid var(--mn-line)}
.dlg__fact dt{margin:0;font-size:.875rem;line-height:1.5;font-weight:500;color:var(--mn-mute)}
.dlg__fact dd{margin:0;font-size:1rem;line-height:1.55;font-weight:500;color:var(--mn-ink);overflow-wrap:anywhere}
.dlg__fact-sub{display:block;margin-top:.15rem;font-size:.875rem;font-weight:400;color:var(--mn-mute)}
@media (min-width:640px){.dlg__fact{grid-template-columns:10rem minmax(0,1fr);gap:1.5rem}}
.dlg__body>.dlg__facts{margin-top:1.75rem}

/* callouts — hairline left accent, no fill */
.dlg__note{max-width:62ch;padding:.1rem 0 .1rem 1.1rem;border-left:2px solid var(--mn-brand)}
.dlg__note--warn{border-left-color:var(--mn-gold)}
.dlg__note--ok{border-left-color:var(--mn-ok)}
.dlg__note-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem .75rem}
.dlg__note-label{margin:0;font-size:.75rem;line-height:1.4;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mn-brand-ink)}
.dlg__note--warn .dlg__note-label{color:color-mix(in srgb,var(--mn-gold) 78%,var(--mn-ink))}
.dlg__note-badge{display:inline-flex;align-items:center;min-height:1.6rem;padding:.15rem .6rem;border:1px solid var(--mn-line-2);border-radius:999px;font-size:.75rem;font-weight:600;color:var(--mn-ink)}
.dlg .dlg__note-title{margin:.4rem 0 0;font-size:1.0625rem;line-height:1.4;font-weight:600;color:var(--mn-ink)}
.dlg__note-text{margin:.35rem 0 0;font-size:.9375rem;line-height:1.65;color:var(--mn-text)}
.dlg__note-foot{margin:.75rem 0 0;font-size:.875rem;line-height:1.55;font-style:italic;color:var(--mn-mute)}
.dlg__note--inline{margin-top:.75rem}

/* links */
.dlg .dlg__scroll a:not(.dlg__btn):not(.dlg__card),.dlg .dlg__link{
  color:var(--mn-brand-ink);font-weight:500;
  text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;
  text-decoration-color:color-mix(in srgb,var(--mn-brand) 45%,transparent);
  overflow-wrap:anywhere;transition:text-decoration-color .15s;
}
.dlg .dlg__scroll a:not(.dlg__btn):not(.dlg__card):hover,.dlg .dlg__link:hover{text-decoration-color:currentColor}
.dlg__link-row{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;max-width:100%}
.dlg .dlg__scroll a.dlg__link-row{overflow-wrap:normal!important}
.dlg__link-row>span:not([aria-hidden]){min-width:0}
.dlg__link-row svg{width:1.1rem;height:1.1rem;flex:none}

/* editorial markdown (x-editorial-content root gets .dlg__prose) */
.dlg .dlg__prose{max-width:62ch;min-width:0;font-size:1.0625rem;line-height:1.7;color:var(--mn-text);overflow-wrap:break-word}
.dlg .dlg__prose>*{margin:0}
.dlg .dlg__prose>*+*{margin-top:1.1em}
.dlg .dlg__prose :is(p,li){font-size:1.0625rem;line-height:1.7;color:var(--mn-text)}
.dlg .dlg__prose>:is(h2,h3,h4){font-family:var(--mn-font);color:var(--mn-ink);font-weight:600;text-wrap:balance}
.dlg .dlg__prose>h2{margin-top:2em;font-size:1.3125rem;line-height:1.3;letter-spacing:-.015em}
.dlg .dlg__prose>h3{margin-top:1.7em;font-size:1.125rem;line-height:1.35;letter-spacing:-.01em}
.dlg .dlg__prose>h4{margin-top:1.4em;font-size:1rem;line-height:1.4}
.dlg .dlg__prose>:is(h2,h3,h4):first-child{margin-top:0}
.dlg .dlg__prose>:is(h2,h3,h4)+*{margin-top:.6em}
.dlg .dlg__prose :is(ul,ol){padding-left:1.25rem}
.dlg .dlg__prose ul{list-style:disc}
.dlg .dlg__prose ol{list-style:decimal}
.dlg .dlg__prose li{margin:0}
.dlg .dlg__prose li+li{margin-top:.45em}
.dlg .dlg__prose li::marker{color:var(--mn-brand-ink)}
.dlg .dlg__prose :is(strong,b){font-weight:600;color:var(--mn-ink)}
.dlg .dlg__prose a{color:var(--mn-brand-ink);font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--mn-brand) 45%,transparent)}
.dlg .dlg__prose a:hover{text-decoration-color:currentColor}
.dlg .dlg__prose img{display:block;width:100%;height:auto;border:0;border-radius:12px;box-shadow:none}
.dlg .dlg__prose hr{margin-block:2em;border:0;border-top:1px solid var(--mn-line)}
.dlg .dlg__prose blockquote{margin-block:1.5em;padding:.1rem 0 .1rem 1.1rem;border:0;border-left:2px solid var(--mn-brand);border-radius:0;background:none;font-size:inherit;color:var(--mn-ink)}
.dlg .dlg__prose blockquote>*{margin:0}
.dlg .dlg__prose blockquote>*+*{margin-top:.75em}
.dlg .dlg__prose code{padding:.1em .35em;border-radius:6px;background:var(--mn-soft);font-size:.875em;color:var(--mn-ink)}
.dlg .dlg__prose pre{max-width:100%;overflow-x:auto;padding:1rem;border:0;border-radius:10px;background:var(--mn-soft);font-size:.875rem;color:var(--mn-ink);white-space:pre}
.dlg .dlg__prose pre code{padding:0;background:none}
.dlg .dlg__prose table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-block:1.5em;border:0;border-collapse:collapse;border-radius:0;background:transparent;box-shadow:none;font-size:.9375rem;line-height:1.5}
.dlg .dlg__prose :is(thead,tbody,tr){background:transparent}
.dlg .dlg__prose :is(th,td){padding:.65rem 1rem .65rem 0;border:0;border-bottom:1px solid var(--mn-line);background:transparent!important;text-align:left;vertical-align:top;color:var(--mn-text)}
.dlg .dlg__prose th{font-weight:600;color:var(--mn-ink);border-bottom-color:var(--mn-line-2);white-space:nowrap}

/* city attractions: list rows live in content.css (.mn-places, shared with the city page) */

.dlg .dlg__back{display:inline-flex;align-items:center;gap:.45rem;min-height:2.75rem;margin:0;padding:0;border:0;background:none;font:inherit;font-size:.9375rem;font-weight:600;color:var(--mn-ink);cursor:pointer;transition:color .15s}
.dlg .dlg__back:hover{color:var(--mn-brand-ink)}
.dlg__figure{margin:0;aspect-ratio:16/9;overflow:hidden;border-radius:14px;background:var(--mn-soft)}
.dlg__figure img{display:block;width:100%;height:100%;object-fit:cover}

/* manifesto */
.dlg .dlg__quote{max-width:52ch;margin:0;padding-top:1.75rem;border-top:1px solid var(--mn-line);font-size:1.25rem;line-height:1.5;font-weight:500;font-style:italic;letter-spacing:-.01em;color:var(--mn-ink);text-wrap:pretty}
.dlg__pull{max-width:62ch;margin:1rem 0 0;padding:.1rem 0 .1rem 1.1rem;border-left:2px solid var(--mn-brand);font-size:1.0625rem;line-height:1.6;font-style:italic;font-weight:500;color:var(--mn-ink)}

/* ---------- footer actions ---------- */
.dlg .dlg__foot{
  flex:none;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem 1.25rem;
  margin:0;padding:.75rem var(--dlg-pad) calc(.75rem + env(safe-area-inset-bottom));
  border-top:1px solid var(--mn-line);background:var(--mn-bg);color:var(--mn-text);
}
.dlg__foot-start{margin-right:auto}
.dlg .dlg__btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:2.75rem;margin:0;padding:.7rem 1.35rem;
  border:1px solid transparent;border-radius:999px;background:transparent;
  font:inherit;font-size:.9375rem;font-weight:600;line-height:1.15;letter-spacing:0;text-transform:none;text-align:center;
  text-decoration:none;cursor:pointer;white-space:nowrap;
  transition:background-color .2s,border-color .2s,color .2s,text-decoration-color .2s;
}
.dlg .dlg__btn--primary{background:var(--mn-brand-d);border-color:var(--mn-brand-d);color:#fff}
.dlg .dlg__btn--primary:hover{background:var(--mn-ink);border-color:var(--mn-ink);color:var(--mn-bg)}
.dark .dlg .dlg__btn--primary,.dark.dlg .dlg__btn--primary{color:var(--mn-on-brand)}
.dark .dlg .dlg__btn--primary:hover{background:var(--mn-ink);color:var(--mn-on-brand)}
.dlg .dlg__btn--ghost{border-color:var(--mn-line-2);color:var(--mn-ink)}
.dlg .dlg__btn--ghost:hover{border-color:var(--mn-ink)}
.dlg .dlg__btn--text{padding-inline:.35rem;color:var(--mn-ink);text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:var(--mn-line-2);text-underline-offset:5px}
.dlg .dlg__btn--text:hover{text-decoration-color:var(--mn-ink)}
.dlg .dlg__btn svg{width:1rem;height:1rem;flex:none}
.dlg :is(a,button):focus-visible{outline:2px solid var(--mn-brand);outline-offset:3px}
.dlg--media:not([data-scrolled]) .dlg__x:focus-visible{outline-color:#fff}
@media (max-width:639px){
  .dlg .dlg__foot{gap:.5rem .75rem}
  .dlg .dlg__btn--primary{flex:1 1 12rem}
  .dlg .dlg__btn{white-space:normal}
}
.dlg__body>[x-show]+[x-show]{margin-top:0}
/* x-editorial-content carries Tailwind arbitrary classes (e.g. "[&_tr…]:bg-slate-50/40") that legacy forms.css substring selectors mistake for a tinted panel */
dialog.dlg:not(#_d):not(#_e) .dlg__prose{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}

/* =========================================================================
   MODAL PANEL GUARANTEE (desktop ≥768px) — every non-.dlg modal panel is SOLID.
   Bug fixed 2026-11-04: Livewire product sheets / form pop-ups in the member + partner shells
   could show the blurred page through the panel body (translucent `bg-white/xx backdrop-blur`
   wrappers, panels without their own background, body overflowing a max-height panel).
   Rules: solid var(--mn-surface) panel, no backdrop-filter ON the panel, plain dim scrim
   (no blur) behind it, one scroll area, sticky head/foot on the same solid surface.
   Mobile (<768px) full-screen behaviour stays in mobile.css §4.
   ========================================================================= */
@media (min-width:768px){
  html body dialog[open]:not(.dlg):not(.mn-sheet):not(.mn-lb):not(.sawalife-mobile-menu-dialog):not([class*="bg-transparent"]):not(#_d),
  html body :is(.mf-dlg__panel,.mf-gs__panel):not(#_d),
  html body :is([role=dialog],[aria-modal=true])[class*="fixed"][class*="inset-0"]:not(.gs,.sawalife-mobile-menu-dialog,[data-cookie-consent-banner],:has(img:only-child))>:is(div,section,form):not([class*="fixed"],.mf-dlg__backdrop,template,.contents,[x-show*="Backdrop"]):not(#_d){
    background-color:var(--mn-surface)!important;background-image:none!important;
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
    color:var(--mn-text);isolation:isolate;
  }
  html body dialog[open]:not(.dlg):not(.mn-sheet):not(.mn-lb):not(.sawalife-mobile-menu-dialog):not([class*="bg-transparent"]):not(#_d){
    max-height:calc(100dvh - 3rem)!important;overflow:hidden auto;overscroll-behavior:contain;
  }
  html body dialog[open]:not(.dlg):not(.mn-sheet):not(.mn-lb):not(.sawalife-mobile-menu-dialog):not(#_d)::backdrop,
  html body .mf-dlg__backdrop:not(#_d){background:rgb(var(--mn-scrim-rgb)/52%)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  /* translucent + blurred bars inside a panel (sticky footers, headers) → same solid surface */
  html body :is(dialog,[role=dialog]) [class*="backdrop-blur"]:is([class*="bg-white"],[class*="bg-slate-50"],[class*="bg-brand-warm-white"]):not(#_d){
    background-color:var(--mn-surface)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  /* marketplace product sheet (mk-sheet): sticky head + foot on the panel surface, body scrolls between them */
  dialog.mk-sheet[open]{overflow:hidden!important;height:fit-content}
  dialog.mk-sheet .mk-sheet__in{height:auto;max-height:calc(100dvh - 3rem - 2px)}
  dialog.mk-sheet :is(.mk-sheet__head,.mk-sheet__foot.df-actions){background:var(--mn-surface);position:sticky;z-index:2}
  dialog.mk-sheet .mk-sheet__head{top:0}
}
/* dark mode: --mn-surface already flips; keep the scrim a touch deeper */
@media (min-width:768px){.dark :is(dialog[open]:not(.dlg):not(.mn-sheet):not(.mn-lb):not(.sawalife-mobile-menu-dialog))::backdrop{background:rgb(0 0 0/62%)!important}}
