.ibp-consult-modal[hidden]{display:none!important;}
body.ibp-consult-open{overflow:hidden;}
.ibp-consult-modal{position:fixed;inset:0;z-index:10020;display:flex;align-items:flex-end;justify-content:center;padding:18px 14px calc(18px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(15,23,42,.28),rgba(15,23,42,.52));backdrop-filter:blur(14px);}
.ibp-consult-modal__backdrop{position:absolute;inset:0;border:0;background:transparent;cursor:pointer;}
.ibp-consult-modal__panel{position:relative;width:min(100%,540px);max-height:min(90vh,780px);overflow:auto;overscroll-behavior:contain;border:1px solid rgba(255,255,255,.72);border-radius:32px 32px 26px 26px;background:radial-gradient(circle at 94% 0%,rgba(255,237,213,.95) 0,rgba(255,237,213,0) 34%),linear-gradient(180deg,#ffffff 0%,#fff7fb 54%,#fff 100%);box-shadow:0 28px 90px rgba(15,23,42,.32);padding:22px 18px 18px;color:#111827;}
.ibp-consult-modal__panel::-webkit-scrollbar{width:0;height:0;}
.ibp-consult-modal__close{position:absolute;top:14px;left:14px;width:42px;height:42px;border:1px solid rgba(15,23,42,.10);border-radius:999px;background:rgba(255,255,255,.92);color:#0f172a;font-size:25px;line-height:1;cursor:pointer;box-shadow:0 12px 28px rgba(15,23,42,.12);z-index:2;}
.ibp-consult-hero{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:2px 0 12px;}
.ibp-consult-hero__mark{width:58px;height:58px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(135deg,#ec4899,#f97316);box-shadow:0 16px 34px rgba(236,72,153,.28);color:#fff;}
.ibp-consult-hero__spark{font-size:29px;line-height:1;filter:drop-shadow(0 2px 7px rgba(0,0,0,.18));}
.ibp-consult-hero__copy{min-width:0;padding-left:42px;}
.ibp-consult-modal__eyebrow{display:inline-flex;align-items:center;min-height:27px;padding:0 11px;border-radius:999px;background:#fff1f6;color:#be185d;font-size:12px;font-weight:950;box-shadow:inset 0 0 0 1px rgba(236,72,153,.12);}
.ibp-consult-modal__title{margin:8px 0 4px;font-size:22px;line-height:1.45;font-weight:950;color:#0f172a;letter-spacing:-.02em;}
.ibp-consult-modal__desc{margin:0;color:#64748b;font-size:13px;line-height:1.85;}
.ibp-consult-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 14px;}
.ibp-consult-step{min-height:32px;border-radius:999px;background:#f8fafc;color:#64748b;border:1px solid rgba(15,23,42,.08);display:flex;align-items:center;justify-content:center;gap:5px;font-size:11px;font-weight:900;white-space:nowrap;}
.ibp-consult-step b{width:20px;height:20px;border-radius:999px;background:#fff;display:grid;place-items:center;color:#0f172a;box-shadow:0 3px 9px rgba(15,23,42,.08);font-size:11px;}
.ibp-consult-step.is-active{background:#fff1f6;color:#be185d;border-color:rgba(236,72,153,.22);}
.ibp-consult-step.is-active b{background:linear-gradient(135deg,#ec4899,#f97316);color:#fff;}
.ibp-consult-context{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 16px;}
.ibp-consult-context__item{position:relative;min-width:0;border:1px solid rgba(15,23,42,.08);border-radius:22px;background:rgba(255,255,255,.86);box-shadow:0 12px 30px rgba(15,23,42,.07);padding:12px 44px 12px 12px;overflow:hidden;}
.ibp-consult-context__item:after{content:"";position:absolute;inset:auto -18px -28px auto;width:72px;height:72px;border-radius:999px;background:rgba(236,72,153,.07);}
.ibp-consult-context__icon{position:absolute;right:12px;top:14px;width:24px;height:24px;border-radius:10px;background:#0f172a;color:#fff;display:grid;place-items:center;font-size:13px;font-weight:950;}
.ibp-consult-context__label{display:block;color:#94a3b8;font-size:11px;font-weight:900;margin-bottom:5px;}
.ibp-consult-context__value{display:block;color:#0f172a;font-size:14px;line-height:1.65;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ibp-consult-form{display:grid;gap:13px;}
.ibp-consult-field{display:grid;gap:7px;}
.ibp-consult-field label{font-size:13px;font-weight:950;color:#263449;padding-right:4px;}
.ibp-consult-inputShell{position:relative;border-radius:22px;background:#fff;border:1px solid rgba(15,23,42,.10);box-shadow:0 10px 28px rgba(15,23,42,.055);transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease;background-image:linear-gradient(180deg,#fff,#fff),linear-gradient(135deg,rgba(236,72,153,.22),rgba(249,115,22,.14));background-origin:border-box;background-clip:padding-box,border-box;}
.ibp-consult-inputShell:focus-within{border-color:rgba(236,72,153,.54);box-shadow:0 0 0 4px rgba(236,72,153,.12),0 16px 34px rgba(236,72,153,.10);transform:translateY(-1px);}
.ibp-consult-inputShell__icon{position:absolute;right:13px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:13px;background:#fff1f6;color:#be185d;display:grid;place-items:center;font-size:15px;font-weight:950;box-shadow:inset 0 0 0 1px rgba(236,72,153,.13);}
.ibp-consult-inputShell--textarea .ibp-consult-inputShell__icon{top:18px;transform:none;}
.ibp-consult-field input,.ibp-consult-field textarea,.ibp-consult-otp__input{width:100%;box-sizing:border-box;border:0;background:transparent;color:#0f172a;outline:none;font:inherit;font-size:15px;line-height:1.85;padding:13px 54px 13px 14px;}
.ibp-consult-field input::placeholder,.ibp-consult-field textarea::placeholder,.ibp-consult-otp__input::placeholder{color:#9aa7b7;}
.ibp-consult-field textarea{resize:vertical;min-height:116px;padding-top:14px;}
.ibp-consult-privacy{margin:0;border-radius:20px;background:linear-gradient(135deg,#fff7ed,#fff1f6);color:#9a3412;font-size:12px;line-height:1.9;padding:12px 14px;border:1px solid rgba(249,115,22,.16);}
.ibp-consult-privacy span{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:999px;background:#fed7aa;color:#c2410c;margin-left:4px;font-size:9px;vertical-align:middle;}
.ibp-consult-actions{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-top:2px;}
.ibp-consult-btn{min-height:48px;border-radius:18px;border:1px solid transparent;padding:0 16px;font:inherit;font-size:13px;font-weight:950;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,opacity .2s ease,box-shadow .2s ease,filter .2s ease;background:#fff;color:#111827;white-space:nowrap;}
.ibp-consult-btn:hover{filter:saturate(1.04);}
.ibp-consult-btn:active{transform:scale(.985);}
.ibp-consult-btn:disabled{opacity:.62;cursor:not-allowed;transform:none;}
.ibp-consult-btn--primary{background:linear-gradient(135deg,#db2777 0%,#f97316 100%);color:#fff;box-shadow:0 16px 34px rgba(236,72,153,.30);}
.ibp-consult-btn--ghost{border-color:rgba(15,23,42,.1);color:#475569;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.05);}
.ibp-consult-status{border-radius:18px;padding:11px 13px;font-size:13px;line-height:1.9;border:1px solid transparent;}
.ibp-consult-status.is-ok{display:block;background:#ecfdf5;color:#065f46;border-color:#a7f3d0;}
.ibp-consult-status.is-error{display:block;background:#fef2f2;color:#991b1b;border-color:#fecaca;}
.ibp-consult-status.is-info{display:block;background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe;}
.ibp-consult-otp,.ibp-consult-photos{margin-top:15px;border:1px solid rgba(15,23,42,.08);border-radius:24px;background:rgba(255,255,255,.88);box-shadow:0 12px 30px rgba(15,23,42,.06);padding:14px;}
.ibp-consult-otp[hidden],.ibp-consult-photos[hidden]{display:none!important;}
.ibp-consult-otp__title{font-size:15px;font-weight:950;color:#111827;margin-bottom:4px;}
.ibp-consult-otp__hint{margin:0 0 10px;color:#64748b;font-size:12px;line-height:1.8;}
.ibp-consult-otp__row{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:center;}
.ibp-consult-otp__input{border:1px solid rgba(15,23,42,.10);border-radius:18px;background:#fff;padding:12px 14px;text-align:center;letter-spacing:.08em;box-shadow:0 8px 20px rgba(15,23,42,.05);}
.ibp-consult-otp__input:focus{border-color:#ec4899;box-shadow:0 0 0 4px rgba(236,72,153,.12);}
.ibp-consult-otp__resend{margin-top:10px;border:0;background:transparent;color:#be185d;font:inherit;font-size:12px;font-weight:950;cursor:pointer;padding:4px 0;}
.ibp-consult-photos__head{display:grid;gap:4px;margin-bottom:11px;}
.ibp-consult-photos__head strong{font-size:14px;color:#111827;}
.ibp-consult-photos__head span{font-size:12px;color:#64748b;line-height:1.8;}
.ibp-consult-photos__list{display:grid;gap:10px;}
.ibp-consult-photo-card{border:1px solid rgba(15,23,42,.08);border-radius:20px;background:#fff;padding:11px;display:grid;gap:8px;box-shadow:0 8px 22px rgba(15,23,42,.05);}
.ibp-consult-photo-card__title{font-size:13px;font-weight:950;color:#334155;display:flex;gap:6px;align-items:center;justify-content:space-between;}
.ibp-consult-photo-card__required{color:#be185d;font-size:11px;font-weight:950;}
.ibp-consult-photo-card__sample{width:100%;border-radius:16px;overflow:hidden;background:#f8fafc;border:1px solid rgba(15,23,42,.08);}
.ibp-consult-photo-card__sample img{display:block;width:100%;height:auto;max-height:220px;object-fit:cover;}
.ibp-consult-photo-card__hint{margin:0;color:#64748b;font-size:12px;line-height:1.8;}
.ibp-consult-photo-card__input{font:inherit;font-size:12px;}
.ibp-consult-photo-card__status{font-size:12px;line-height:1.8;color:#64748b;}
.ibp-consult-photo-card__status.is-ok{color:#047857;}
.ibp-consult-photo-card__status.is-error{color:#b91c1c;}
@media (min-width:720px){.ibp-consult-modal{align-items:center;padding:28px;}.ibp-consult-modal__panel{border-radius:34px;padding:24px;}.ibp-consult-form{grid-template-columns:1fr 1fr;}.ibp-consult-field--message,.ibp-consult-privacy,.ibp-consult-status,.ibp-consult-actions{grid-column:1/-1;}}
@media (max-width:430px){.ibp-consult-modal{padding:12px 10px calc(12px + env(safe-area-inset-bottom));}.ibp-consult-modal__panel{border-radius:28px 28px 22px 22px;padding:18px 13px 14px;max-height:91vh;}.ibp-consult-hero{grid-template-columns:1fr;gap:9px;}.ibp-consult-hero__mark{width:48px;height:48px;border-radius:19px;}.ibp-consult-hero__copy{padding-left:44px;}.ibp-consult-modal__title{font-size:20px;}.ibp-consult-context{grid-template-columns:1fr;}.ibp-consult-steps{gap:5px;}.ibp-consult-step{font-size:10px;min-height:30px;}.ibp-consult-actions{grid-template-columns:1fr;}.ibp-consult-btn--ghost{min-height:42px;}.ibp-consult-otp__row{grid-template-columns:1fr;}}

/* [IBP:UI] Iteration 3 — hard visual containment fix for shared consultation modal.
   هدف: مودال به هدر نچسبد، زیر هدر نرود، و آیتم‌ها به دیواره‌های پنل نچسبند.
   Reversible: remove this block or restore this file from iteration 2/source package. */
.ibp-consult-modal,
.ibp-consult-modal *{box-sizing:border-box;}

.ibp-consult-modal[hidden]{display:none!important;}

.ibp-consult-modal{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  width:100vw!important;
  height:100vh!important;
  height:100dvh!important;
  display:grid!important;
  place-items:center!important;
  padding:32px 24px!important;
  background:
    radial-gradient(circle at 50% 12%,rgba(255,255,255,.20),rgba(255,255,255,0) 32%),
    linear-gradient(180deg,rgba(15,23,42,.48),rgba(15,23,42,.66))!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  overflow:hidden!important;
}

.ibp-consult-modal__backdrop{
  position:fixed!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:0!important;
}

.ibp-consult-modal__panel{
  position:relative!important;
  z-index:1!important;
  width:min(720px,calc(100vw - 48px))!important;
  max-width:720px!important;
  max-height:calc(100dvh - 64px)!important;
  margin:0 auto!important;
  padding:30px 30px 24px!important;
  border-radius:34px!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  background:
    radial-gradient(circle at 92% 6%,rgba(255,218,185,.70),rgba(255,218,185,0) 25%),
    linear-gradient(180deg,#fff 0%,#fff7fb 54%,#fff 100%)!important;
  border:1px solid rgba(255,255,255,.78)!important;
  box-shadow:0 30px 90px rgba(15,23,42,.36)!important;
  scrollbar-width:none!important;
}

.ibp-consult-modal__panel::-webkit-scrollbar{width:0!important;height:0!important;}

.ibp-consult-modal__close{
  top:18px!important;
  left:18px!important;
  z-index:5!important;
}

.ibp-consult-hero{
  padding:0 0 18px!important;
  gap:16px!important;
  align-items:center!important;
}

.ibp-consult-hero__copy{
  padding-left:54px!important;
}

.ibp-consult-modal__title{
  margin:10px 0 6px!important;
  font-size:24px!important;
  line-height:1.45!important;
}

.ibp-consult-modal__desc{
  max-width:520px!important;
  line-height:1.95!important;
}

.ibp-consult-steps{
  margin:0 0 18px!important;
  gap:10px!important;
}

.ibp-consult-step{
  min-height:38px!important;
  border-radius:18px!important;
}

.ibp-consult-context{
  gap:14px!important;
  margin:0 0 20px!important;
}

.ibp-consult-context__item{
  min-height:82px!important;
  padding:17px 56px 16px 18px!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.92)!important;
}

.ibp-consult-context__icon{
  right:18px!important;
  top:19px!important;
  width:30px!important;
  height:30px!important;
  border-radius:13px!important;
}

.ibp-consult-form{
  gap:16px!important;
}

.ibp-consult-field{
  gap:9px!important;
}

.ibp-consult-field label{
  padding-right:8px!important;
  font-size:13px!important;
}

.ibp-consult-inputShell{
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 12px 28px rgba(15,23,42,.065)!important;
}

.ibp-consult-inputShell__icon{
  right:16px!important;
  width:34px!important;
  height:34px!important;
  border-radius:15px!important;
}

.ibp-consult-field input,
.ibp-consult-field textarea,
.ibp-consult-otp__input{
  min-height:58px!important;
  padding:14px 62px 14px 18px!important;
}

.ibp-consult-field textarea{
  min-height:132px!important;
  padding-top:18px!important;
}

.ibp-consult-privacy{
  padding:15px 18px!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,#fff7ed,#fff1f6)!important;
}

.ibp-consult-actions{
  gap:12px!important;
  margin-top:4px!important;
}

.ibp-consult-btn{
  min-height:52px!important;
  border-radius:20px!important;
}

@media (min-width:720px){
  .ibp-consult-modal{padding:36px 28px!important;}
  .ibp-consult-modal__panel{max-height:calc(100dvh - 72px)!important;}
  .ibp-consult-form{grid-template-columns:1fr 1fr!important;}
  .ibp-consult-field--message,
  .ibp-consult-privacy,
  .ibp-consult-status,
  .ibp-consult-actions{grid-column:1/-1!important;}
}

@media (max-width:719px){
  .ibp-consult-modal{
    place-items:end center!important;
    padding:18px 14px max(18px,env(safe-area-inset-bottom))!important;
  }
  .ibp-consult-modal__panel{
    width:calc(100vw - 28px)!important;
    max-height:calc(100dvh - 36px)!important;
    padding:22px 18px 18px!important;
    border-radius:30px 30px 24px 24px!important;
  }
  .ibp-consult-hero{grid-template-columns:1fr!important;gap:12px!important;}
  .ibp-consult-hero__mark{width:52px!important;height:52px!important;border-radius:20px!important;}
  .ibp-consult-hero__copy{padding-left:48px!important;}
  .ibp-consult-modal__title{font-size:21px!important;}
  .ibp-consult-steps{gap:6px!important;}
  .ibp-consult-step{font-size:10px!important;min-height:32px!important;}
  .ibp-consult-context{grid-template-columns:1fr!important;}
  .ibp-consult-actions{grid-template-columns:1fr!important;}
}

@media (max-width:380px){
  .ibp-consult-modal{padding-inline:10px!important;}
  .ibp-consult-modal__panel{width:calc(100vw - 20px)!important;padding:20px 14px 16px!important;}
  .ibp-consult-field input,
  .ibp-consult-field textarea,
  .ibp-consult-otp__input{padding-right:58px!important;padding-left:14px!important;}
}


/* [IBP:UI] Iteration 4 — OTP boxes and console-noise cleanup.
   هدف: کد تأیید مثل سایر مسیرهای پروژه به شکل ۴ باکس مستقل دیده شود. */
.ibp-consult-otp__row{
  grid-template-columns:1fr!important;
  gap:12px!important;
}

.ibp-consult-otp__digits{
  direction:ltr!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
}

.ibp-consult-otp__digit{
  width:100%!important;
  height:58px!important;
  min-height:58px!important;
  padding:0!important;
  border:1px solid rgba(236,72,153,.26)!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,#fff,#fff7fb)!important;
  color:#0f172a!important;
  font:inherit!important;
  font-size:22px!important;
  font-weight:950!important;
  text-align:center!important;
  line-height:1!important;
  box-shadow:0 12px 28px rgba(15,23,42,.07)!important;
  outline:none!important;
}

.ibp-consult-otp__digit:focus{
  border-color:#ec4899!important;
  box-shadow:0 0 0 4px rgba(236,72,153,.13),0 16px 34px rgba(236,72,153,.14)!important;
  background:#fff!important;
}

.ibp-consult-otp__digit::selection{
  background:rgba(236,72,153,.20)!important;
}

.ibp-consult-otp__input[type="hidden"]{
  display:none!important;
}

@media (min-width:720px){
  .ibp-consult-otp__row{
    grid-template-columns:minmax(220px,1fr) auto!important;
    align-items:center!important;
  }
}

@media (max-width:380px){
  .ibp-consult-otp__digits{gap:8px!important;}
  .ibp-consult-otp__digit{height:52px!important;min-height:52px!important;border-radius:18px!important;font-size:20px!important;}
}

/* [IBP:UI] Iteration 6 — wizard behavior, no-blue-focus, OTP bypass.
   هدف: هر مرحله جدا دیده شود؛ مرحله قبلی زیر مرحله جدید تلنبار نشود. */
.ibp-consult-wizard-step[hidden]{display:none!important;}
.ibp-consult-step.is-done{
  background:#ecfdf5!important;
  color:#047857!important;
  border-color:#a7f3d0!important;
}
.ibp-consult-step.is-done b{
  background:#10b981!important;
  color:#fff!important;
}
.ibp-consult-modal input:focus,
.ibp-consult-modal textarea:focus,
.ibp-consult-modal button:focus,
.ibp-consult-modal a:focus,
.ibp-consult-modal input:focus-visible,
.ibp-consult-modal textarea:focus-visible,
.ibp-consult-modal button:focus-visible,
.ibp-consult-modal a:focus-visible{
  outline:none!important;
  -webkit-tap-highlight-color:transparent!important;
}
.ibp-consult-modal input,
.ibp-consult-modal textarea,
.ibp-consult-modal button,
.ibp-consult-modal a{
  -webkit-tap-highlight-color:transparent!important;
}
.ibp-consult-inputShell:focus-within{
  border-color:rgba(236,72,153,.48)!important;
  box-shadow:0 0 0 3px rgba(236,72,153,.10),0 16px 34px rgba(236,72,153,.10)!important;
}
.ibp-consult-otp__digit:focus,
.ibp-consult-otp__digit:focus-visible{
  outline:none!important;
  border-color:rgba(236,72,153,.58)!important;
  box-shadow:0 0 0 3px rgba(236,72,153,.12),0 16px 34px rgba(236,72,153,.14)!important;
}
.ibp-consult-otp__secondaryActions{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin-top:12px!important;
}
.ibp-consult-otp__skip{
  border:0!important;
  background:#f8fafc!important;
  color:#334155!important;
  border-radius:999px!important;
  min-height:34px!important;
  padding:0 12px!important;
  font:inherit!important;
  font-size:12px!important;
  font-weight:950!important;
  cursor:pointer!important;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.08)!important;
}
.ibp-consult-otp__skip:active{transform:scale(.985)!important;}
.ibp-consult-done{
  display:grid!important;
  gap:14px!important;
  justify-items:center!important;
  text-align:center!important;
  border:1px solid rgba(16,185,129,.18)!important;
  border-radius:26px!important;
  background:linear-gradient(180deg,#ecfdf5,#fff)!important;
  padding:24px 18px!important;
  box-shadow:0 14px 34px rgba(15,23,42,.07)!important;
}
.ibp-consult-done[hidden]{display:none!important;}
.ibp-consult-done__icon{
  width:58px!important;
  height:58px!important;
  border-radius:22px!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(135deg,#10b981,#22c55e)!important;
  color:#fff!important;
  font-size:28px!important;
  font-weight:950!important;
  box-shadow:0 16px 34px rgba(16,185,129,.24)!important;
}
.ibp-consult-done__title{
  color:#064e3b!important;
  font-size:18px!important;
  font-weight:950!important;
}
.ibp-consult-done__text{
  margin:0!important;
  color:#475569!important;
  font-size:13px!important;
  line-height:1.95!important;
  max-width:420px!important;
}
@media (max-width:430px){
  .ibp-consult-otp__secondaryActions{justify-content:center!important;}
  .ibp-consult-otp__resend,.ibp-consult-otp__skip{width:100%!important;text-align:center!important;justify-content:center!important;}
}


/* [IBP:UI] Iteration 7 — calm focus, photo step actions, relaxed field selection. */
.ibp-consult-modal input,
.ibp-consult-modal textarea,
.ibp-consult-modal button,
.ibp-consult-modal a{
  -webkit-tap-highlight-color:transparent!important;
}
.ibp-consult-modal input:focus,
.ibp-consult-modal textarea:focus,
.ibp-consult-modal button:focus,
.ibp-consult-modal a:focus,
.ibp-consult-modal input:focus-visible,
.ibp-consult-modal textarea:focus-visible,
.ibp-consult-modal button:focus-visible,
.ibp-consult-modal a:focus-visible{
  outline:0!important;
  box-shadow:none!important;
}
.ibp-consult-inputShell:focus-within{
  border-color:rgba(15,23,42,.10)!important;
  box-shadow:0 12px 28px rgba(15,23,42,.065)!important;
  transform:none!important;
}
.ibp-consult-field input:focus,
.ibp-consult-field textarea:focus{
  background:transparent!important;
}
.ibp-consult-otp__digit:focus,
.ibp-consult-otp__digit:focus-visible{
  border-color:rgba(15,23,42,.12)!important;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.08)!important;
  outline:0!important;
}
.ibp-consult-photo-card__picker{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  border-radius:18px;
  background:linear-gradient(135deg,#ec4899,#f97316);
  color:#fff;
  font-size:13px;
  font-weight:950;
  cursor:pointer;
  overflow:hidden;
  box-shadow:0 14px 30px rgba(236,72,153,.22);
}
.ibp-consult-photo-card__picker input{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
}
.ibp-consult-photo-card.is-uploaded{
  border-color:rgba(16,185,129,.35)!important;
  background:linear-gradient(180deg,#fff,#ecfdf5)!important;
}
.ibp-consult-photo-actions{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.ibp-consult-photo-skip{
  min-height:44px;
  border:0;
  background:transparent;
  color:#be185d;
  font:inherit;
  font-weight:950;
  cursor:pointer;
}


/* [IBP:UI] Iteration 8 — compact desktop photo cards and robust photo-step actions.
   هدف: عکس‌های لازم روی دسکتاپ به‌صورت کارت‌های کوچک کنار هم دیده شوند و دکمه عبور از عکس همیشه واکنش بدهد.
   Reversible: remove this block or restore this file from httpDocs_1691294.zip. */
.ibp-consult-photos{
  padding:16px!important;
}
.ibp-consult-photos__list{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
}
.ibp-consult-photo-card{
  min-width:0!important;
  padding:12px!important;
  border-radius:22px!important;
  align-content:start!important;
  gap:10px!important;
}
.ibp-consult-photo-card__title{
  min-height:36px!important;
  align-items:flex-start!important;
  line-height:1.7!important;
}
.ibp-consult-photo-card__sample{
  display:block!important;
  width:100%!important;
  height:150px!important;
  max-height:150px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#f8fafc!important;
  border:1px solid rgba(15,23,42,.08)!important;
  border-radius:18px!important;
  padding:8px!important;
}
.ibp-consult-photo-card__picker{
  min-height:44px!important;
  border-radius:16px!important;
  font-size:12px!important;
  box-shadow:0 10px 22px rgba(236,72,153,.18)!important;
}
.ibp-consult-photo-card__status{
  min-height:20px!important;
  font-size:11.5px!important;
}
.ibp-consult-photo-actions{
  grid-template-columns:1fr 1fr!important;
  align-items:center!important;
  margin-top:16px!important;
}
.ibp-consult-photo-skip{
  min-height:52px!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.10),0 10px 22px rgba(15,23,42,.045)!important;
}
.ibp-consult-photo-skip:hover{
  background:#fff7fb!important;
}
@media (min-width:860px){
  .ibp-consult-photos__list{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .ibp-consult-photo-card__sample{
    height:145px!important;
    max-height:145px!important;
  }
}
@media (max-width:719px){
  .ibp-consult-photos__list{
    grid-template-columns:1fr!important;
  }
  .ibp-consult-photo-card__sample{
    height:132px!important;
    max-height:132px!important;
  }
  .ibp-consult-photo-actions{
    grid-template-columns:1fr!important;
  }
}

/* [IBP:UI] Iteration 9 — photo picker click target + mobile-friendly picker + step-scroll polish.
   هدف: نمونه عکس قابل کلیک باشد، روی موبایل انتخاب از گالری و دوربین ممکن باشد، و فوکوس/اسکرول مرحله‌ای UX را نشکند.
   Reversible: remove this block or restore this file from httpDocs_970727.zip. */
.ibp-consult-modal,
.ibp-consult-modal *{
  -webkit-tap-highlight-color:transparent!important;
}
.ibp-consult-photo-card__sample{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:150px!important;
  max-height:150px!important;
  padding:8px!important;
  border:1px solid rgba(15,23,42,.08)!important;
  border-radius:18px!important;
  background:#f8fafc!important;
  cursor:pointer!important;
  overflow:hidden!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  box-shadow:none!important;
}
.ibp-consult-photo-card__sample:hover{
  background:#fff7fb!important;
  border-color:rgba(236,72,153,.20)!important;
}
.ibp-consult-photo-card__sample:focus,
.ibp-consult-photo-card__sample:focus-visible,
.ibp-consult-photo-card__sample:active{
  outline:0!important;
  box-shadow:none!important;
}
.ibp-consult-photo-card__sample img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  pointer-events:none!important;
  user-select:none!important;
}
.ibp-consult-photo-card__sampleHint{
  position:absolute!important;
  right:10px!important;
  bottom:10px!important;
  max-width:calc(100% - 20px)!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  background:rgba(15,23,42,.68)!important;
  color:#fff!important;
  font-size:10.5px!important;
  font-weight:900!important;
  line-height:1.5!important;
  pointer-events:none!important;
}
.ibp-consult-photo-card__picker{
  touch-action:manipulation!important;
}
.ibp-consult-photo-card__picker input{
  width:100%!important;
  height:100%!important;
}
@media (min-width:860px){
  .ibp-consult-photo-card__sample{
    height:145px!important;
    max-height:145px!important;
  }
}
@media (max-width:719px){
  .ibp-consult-photo-card__sample{
    height:132px!important;
    max-height:132px!important;
  }
  .ibp-consult-photo-card__sampleHint{
    font-size:10px!important;
  }
}


/* [IBP:UI] Iteration 10 — consultation modal cleanup, photo picker split, and robust photo skip.
   هدف: حذف کارت‌های اضافه، اسکرول درست به کارت مادر عکس‌ها، حذف متن‌های اضافه، و دو مسیر شفاف برای گالری/دوربین.
   Reversible: remove this block or restore files from httpDocs_971678.zip. */
.ibp-consult-context{display:none!important;}
.ibp-consult-actions{grid-template-columns:1fr!important;}
.ibp-consult-btn--ghost{display:none!important;}
.ibp-consult-otp .ibp-consult-status{margin-top:16px!important;}
.ibp-consult-inputShell:focus-within{border-color:rgba(15,23,42,.10)!important;box-shadow:0 12px 28px rgba(15,23,42,.065)!important;transform:none!important;}
.ibp-consult-field input:focus,.ibp-consult-field textarea:focus,.ibp-consult-otp__digit:focus,.ibp-consult-otp__digit:focus-visible{outline:0!important;box-shadow:none!important;border-color:rgba(15,23,42,.10)!important;}
.ibp-consult-photos__head{margin-bottom:16px!important;}
.ibp-consult-photos__head strong{display:block!important;font-size:15px!important;line-height:1.8!important;}
.ibp-consult-photos__head span{display:none!important;}
.ibp-consult-photo-card__sampleHint{display:none!important;}
.ibp-consult-photo-card__pickers{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;}
.ibp-consult-photo-card__picker{min-height:42px!important;border-radius:16px!important;font-size:11.5px!important;box-shadow:0 10px 22px rgba(15,23,42,.08)!important;}
.ibp-consult-photo-card__picker--gallery{background:linear-gradient(135deg,#ec4899,#f97316)!important;color:#fff!important;}
.ibp-consult-photo-card__picker--camera{background:#fff!important;color:#0f172a!important;border:1px solid rgba(15,23,42,.10)!important;}
.ibp-consult-photo-card__picker--camera span::before{content:'📷 ';font-size:13px;}
.ibp-consult-photo-card__picker--gallery span::before{content:'🖼 ';font-size:13px;}
.ibp-consult-photo-card__sample{margin-bottom:0!important;}
.ibp-consult-photo-skip{pointer-events:auto!important;position:relative!important;z-index:5!important;}
@media (max-width:719px){.ibp-consult-photo-card__pickers{grid-template-columns:1fr!important;}.ibp-consult-otp .ibp-consult-status{margin-top:18px!important;}}


/* [IBP:UI] Iteration 11 — consultation photo editor integration and upload progress.
   هدف: عکس خام مستقیم آپلود نشود؛ قبل از آپلود وارد ویرایشگر شود و هنگام آپلود، کارت قفل و وضعیت پیشرفت دیده شود.
   Reversible: remove this block or restore files from TruthResources_1710942.zip. */
.ibp-consult-photo-card{position:relative!important;}
.ibp-consult-photo-card.is-uploading{
  pointer-events:none!important;
  overflow:hidden!important;
}
.ibp-consult-photo-card.is-uploading::before{
  content:'';
  position:absolute;
  inset:8px;
  z-index:20;
  border-radius:20px;
  background:rgba(15,23,42,.58);
  backdrop-filter:blur(6px);
}
.ibp-consult-photo-card.is-uploading::after{
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  width:42px;
  height:42px;
  margin:-21px 0 0 -21px;
  z-index:21;
  border-radius:999px;
  border:4px solid rgba(255,255,255,.42);
  border-top-color:#fff;
  animation:ibpConsultPhotoSpin .82s linear infinite;
  box-shadow:0 10px 34px rgba(0,0,0,.22);
}
@keyframes ibpConsultPhotoSpin{to{transform:rotate(360deg);}}
.ibp-consult-photo-card.is-uploaded .ibp-consult-photo-card__sample{
  border-color:rgba(16,185,129,.35)!important;
  background:#ecfdf5!important;
}

/* [IBP:UI] Iteration 21 — desktop modal scroll performance.
   هدف: کندی اسکرول دسکتاپ در مودال مشاوره با حذف repaint سنگین blur تمام‌صفحه و سبک‌سازی سطح پنل.
   Scope: CSS-only, desktop-only. Mobile behavior intentionally unchanged. Native scrollbar rail hidden.
   Reversible: remove this block or restore /assets/css/consultation-modal.css from TruthResources_1741150.zip. */
@media (min-width:720px){
  .ibp-consult-modal{
    background:rgba(15,23,42,.56)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  .ibp-consult-modal__panel{
    background:#fff!important;
    box-shadow:0 18px 48px rgba(15,23,42,.24)!important;
    contain:layout paint!important;
    scrollbar-width:none!important;
    -ms-overflow-style:none!important;
  }

  .ibp-consult-modal__panel::-webkit-scrollbar{
    width:0!important;
    height:0!important;
    display:none!important;
  }

  .ibp-consult-modal__panel::-webkit-scrollbar-thumb{
    background:transparent!important;
  }

  .ibp-consult-inputShell,
  .ibp-consult-otp,
  .ibp-consult-photos,
  .ibp-consult-done,
  .ibp-consult-photo-card__picker,
  .ibp-consult-photo-skip{
    box-shadow:none!important;
  }
}


/* [IBP:UI] Iteration 29 — canonical consultation service picker.
   هدف: وقتی خدمت از دکمه مشخص نیست، خود مودال انتخاب خدمت تک‌خطی و کم‌ریسک داشته باشد.
   Reversible: remove this block and the service picker markup/JS from Iteration 29. */
.ibp-consult-field--service[hidden]{display:none!important;}
.ibp-consult-field select{
  width:100%;
  box-sizing:border-box;
  border:0;
  background:transparent;
  color:#0f172a;
  outline:none;
  font:inherit;
  font-size:15px;
  line-height:1.85;
  padding:13px 54px 13px 38px;
  min-height:52px;
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
}
.ibp-consult-field select:disabled{
  color:#94a3b8;
  cursor:wait;
}
.ibp-consult-field--service .ibp-consult-inputShell::after{
  content:'⌄';
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  color:#94a3b8;
  font-size:18px;
  font-weight:900;
  pointer-events:none;
}
@media (min-width:720px){
  .ibp-consult-field--service{grid-column:1/-1;}
}
