/* =============================================================================
   oferta-modal.css — modal „Cere ofertă / consultanță" (dialog nativ, 2 panouri).
   Reutilizeaza tokenii din imarke.css + formularul CF7 #15970 (.imark-form, deja stilat).
   Premium, tehnic: raza 8px, un singur accent mov, fara slop. Namespace .imk-oferta-modal.
   ========================================================================== */
.imk-oferta-modal{
  position:fixed; inset:0; margin:auto;   /* tema-părinte forțează dialog{position:absolute}; modalul trebuie fixat în viewport */
  flex-direction:column;
  padding:0; border:0; border-radius:var(--r,8px);
  width:min(940px,calc(100vw - 32px)); max-width:940px;
  max-height:min(92vh,780px); overflow:hidden;
  background:var(--imk-surface,#fff); color:var(--imk-ink,#16121B);
  box-shadow:0 40px 110px -34px rgba(20,8,32,.62);
}
/* <dialog> nativ: vizibil DOAR când e deschis (showModal() adaugă [open]).
   Tema-părinte anulează ascunderea UA `dialog:not([open])`, deci o reimpunem explicit. */
.imk-oferta-modal:not([open]){ display:none; }
.imk-oferta-modal[open]{ display:flex; }
.imk-oferta-modal::backdrop{ background:rgba(20,8,32,.55); backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px); }

.imk-oferta-modal__grid{ display:grid; grid-template-columns:330px minmax(0,1fr); grid-template-rows:1fr; flex:1 1 auto; min-height:0; }

/* ---- panoul stang (brand, intariri de incredere) ---- */
.imk-oferta-modal__aside{
  min-height:0; background:var(--imk-dark,#1B0F24); color:#fff;
  padding:34px 30px; display:flex; flex-direction:column; gap:20px;
}
.imk-oferta-modal__kick{ font-family:var(--ff-mono,monospace); font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:#C9A9DC; }
.imk-oferta-modal__aside h2{ font-family:var(--ff-head,sans-serif); font-size:24px; line-height:1.2; letter-spacing:-.01em; margin:0; color:#fff; }
.imk-oferta-modal__pts{ list-style:none; margin:4px 0 0; padding:0; display:flex; flex-direction:column; gap:15px; }
.imk-oferta-modal__pts li{ display:flex; gap:12px; align-items:flex-start; font-size:14.5px; line-height:1.45; color:#E4D8ED; }
.imk-oferta-modal__pts svg{ flex:0 0 auto; width:22px; height:22px; color:#B98ED2; margin-top:1px; }
.imk-oferta-modal__ph{ margin-top:auto; border-top:1px solid rgba(255,255,255,.14); padding-top:18px; }
.imk-oferta-modal__ph span{ display:block; font-size:13px; color:#B5A8C2; margin-bottom:4px; }
.imk-oferta-modal__ph a{ font-family:var(--ff-head,sans-serif); font-size:22px; font-weight:700; color:#fff; text-decoration:none; }
.imk-oferta-modal__ph a:hover{ color:#fff; text-decoration:underline; }

/* ---- panoul drept (formular) ---- */
.imk-oferta-modal__main{ min-height:0; padding:30px 30px 32px; overflow-y:auto; position:relative; }
.imk-oferta-modal__x{
  position:absolute; top:12px; right:12px; width:40px; height:40px;
  border:0; border-radius:var(--r,8px); background:transparent; color:var(--imk-mut,#6B6475);
  cursor:pointer; display:inline-flex; align-items:center; justify-content:center;
  transition:background .2s,color .2s;
}
.imk-oferta-modal__x:hover{ background:var(--imk-pur-50,#F1EAF6); color:var(--imk-pur-d,#57206F); }
.imk-oferta-modal__x:active{ transform:translateY(1px); }

/* in modal titlul/subtitlul formularului e redundant (panoul stang poarta mesajul) */
.imk-oferta-modal .imark-form-title,
.imk-oferta-modal .imark-form-sub{ display:none; }
/* raspunsul CF7 (succes/eroare) vizibil fara sa sara dincolo de modal */
.imk-oferta-modal .wpcf7-response-output{ scroll-margin-top:12px; }

/* ---- miscare (subtila, o singura data, respecta reduced-motion) ---- */
@media (prefers-reduced-motion:no-preference){
  .imk-oferta-modal[open]{ animation:imkOfIn .28s cubic-bezier(.16,1,.3,1); }
  .imk-oferta-modal[open]::backdrop{ animation:imkOfFade .3s ease; }
}
@keyframes imkOfIn{ from{ opacity:0; transform:translateY(10px) scale(.98); } to{ opacity:1; transform:none; } }
@keyframes imkOfFade{ from{ opacity:0; } to{ opacity:1; } }

/* ---- mobil: ecran plin, panoul brand devine banda compacta sus ---- */
@media (max-width:720px){
  .imk-oferta-modal{ width:100%; max-width:100%; height:100dvh; max-height:100dvh; border-radius:0; }
  .imk-oferta-modal__grid{ grid-template-columns:1fr; grid-template-rows:auto 1fr; max-height:100dvh; }
  .imk-oferta-modal__aside{ padding:20px; gap:12px; }
  .imk-oferta-modal__aside h2{ font-size:20px; }
  .imk-oferta-modal__pts{ display:none; }          /* compact pe telefon: titlu + telefon */
  .imk-oferta-modal__ph{ margin-top:4px; padding-top:12px; }
  .imk-oferta-modal__main{ padding:22px 20px; }
}

html.imk-modal-open{ overflow:hidden; }
