/* ─────────────────────────────────────────────────────────────
   Smart Estate shared dialogs (inquiry + video)
   Tokens follow site palette: white / red (#c41230) / navy (#07101f).
   Newsreader (display) + Public Sans (body). Sharp edges.
   ───────────────────────────────────────────────────────────── */

.se-dlg-backdrop{
  position:fixed; inset:0; z-index:9000;
  background:rgba(7,16,31,.72);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  display:none; align-items:center; justify-content:center;
  padding:clamp(1rem,4vw,2rem);
  opacity:0; transition:opacity .22s ease;
}
.se-dlg-backdrop.open{display:flex; opacity:1}

.se-dlg{
  position:relative; background:#fff; color:#07101f;
  width:100%; max-width:520px;
  max-height:calc(100vh - 4rem); overflow-y:auto;
  border:1px solid rgba(7,16,31,.1);
  box-shadow:0 30px 90px rgba(7,16,31,.35);
  transform:translateY(14px); transition:transform .25s ease;
  font-family:'Public Sans',system-ui,sans-serif;
}
.se-dlg-backdrop.open .se-dlg{transform:none}

.se-dlg-close{
  position:absolute; top:.85rem; right:.85rem;
  width:36px; height:36px; border:none; background:transparent;
  font-size:1.4rem; line-height:1; cursor:pointer; color:#07101f;
  display:flex; align-items:center; justify-content:center;
  transition:opacity .18s;
}
.se-dlg-close:hover{opacity:.6}

.se-dlg-head{padding:2rem 2rem 0 2rem}
.se-dlg-eyebrow{font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#c41230}
.se-dlg-title{
  font-family:'Newsreader',Georgia,serif;
  font-size:clamp(1.45rem,3vw,1.85rem);
  font-weight:700; letter-spacing:-.02em; line-height:1.15;
  color:#07101f; margin:.4rem 0 .5rem;
}
.se-dlg-sub{font-size:.9rem; color:rgba(7,16,31,.65); line-height:1.55}

.se-form{padding:1.5rem 2rem 2rem 2rem; display:grid; gap:.85rem}
.se-fld{display:grid; gap:.35rem}
.se-fld label{font-size:.72rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:rgba(7,16,31,.7)}
.se-fld input,
.se-fld select,
.se-fld textarea{
  width:100%; font-family:inherit; font-size:.92rem; color:#07101f;
  background:#fff; padding:.7rem .85rem;
  border:1px solid rgba(7,16,31,.18); border-radius:0;
  transition:border-color .18s, box-shadow .18s;
}
.se-fld textarea{min-height:96px; resize:vertical}
.se-fld input:focus,
.se-fld select:focus,
.se-fld textarea:focus{
  outline:none; border-color:#07101f;
  box-shadow:0 0 0 2px rgba(7,16,31,.06);
}
.se-fld-row{display:grid; grid-template-columns:1fr 1fr; gap:.85rem}
@media (max-width:520px){.se-fld-row{grid-template-columns:1fr}}

.se-form-actions{display:flex; gap:.6rem; align-items:center; margin-top:.4rem}
.se-submit{
  background:#c41230; color:#fff; border:2px solid #c41230;
  padding:.78rem 1.4rem; font-weight:700; font-size:.85rem;
  border-radius:0; cursor:pointer; transition:background .18s;
}
.se-submit:hover{background:#9a0e26; border-color:#9a0e26}
.se-submit:disabled{opacity:.65; cursor:not-allowed}

.se-form-note{font-size:.74rem; color:rgba(7,16,31,.5); line-height:1.5; margin-top:.5rem}

.se-form-status{margin-top:.6rem; font-size:.85rem; padding:.6rem .8rem; display:none}
.se-form-status.show{display:block}
.se-form-status.ok{background:rgba(14,118,68,.08); color:#0e7644; border:1px solid rgba(14,118,68,.25)}
.se-form-status.err{background:rgba(196,18,48,.08); color:#9a0e26; border:1px solid rgba(196,18,48,.25)}

/* Video dialog variant */
.se-dlg.video{max-width:980px; background:#000}
.se-dlg.video .se-dlg-close{color:#fff; top:.4rem; right:.6rem; z-index:5}
.se-video-frame{
  position:relative; width:100%; aspect-ratio:16/9; background:#07101f;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.se-video-frame video,
.se-video-frame iframe{width:100%; height:100%; display:block; border:0}
.se-video-placeholder{
  position:absolute; inset:0; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:.85rem;
  color:rgba(255,255,255,.7); text-align:center; padding:2rem;
}
.se-video-placeholder .pl-icon{
  width:84px; height:84px; border:2px solid rgba(255,255,255,.3); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:1.8rem; color:#fff;
}
.se-video-placeholder .pl-title{font-family:'Newsreader',Georgia,serif; font-size:1.45rem; color:#fff; font-weight:600; letter-spacing:-.01em}
.se-video-placeholder .pl-sub{font-size:.85rem; max-width:380px; line-height:1.55}

body.se-dlg-locked{overflow:hidden}
