/* Ivos Design-System — übernommen aus Badunos Apply-Wizard (aw-*), Farsi-only/RTL. */
:root {
  --paper:#FBF9F4; --ink-900:#171612; --ink-700:#34312A; --ink-500:#6E6A60; --ink-400:#8d8678;
  --ink-200:#E5E0D5; --ink-100:#F2EFE8; --forest:#1F3F33; --forest-soft:#2E5A4A; color-scheme:light;
}
* { box-sizing:border-box; }
html[dir="rtl"] body { font-family:'Vazirmatn',system-ui,-apple-system,sans-serif; }
body {
  margin:0; min-height:100dvh; color:var(--ink-900);
  font-family:'Vazirmatn',system-ui,-apple-system,sans-serif;
  background:radial-gradient(900px 500px at 90% -10%, rgba(46,90,74,.10) 0, transparent 55%),
             radial-gradient(800px 600px at -10% 110%, rgba(31,63,51,.07) 0, transparent 55%), var(--paper);
  -webkit-font-smoothing:antialiased;
}
.aw-shell { max-width:30rem; margin:0 auto; padding:1.25rem 1.15rem 3rem; }

/* Header: Logo links, Menü rechts (Header immer LTR) */
.aw-top { display:flex; align-items:center; justify-content:space-between; direction:ltr; margin:.25rem 0 1rem; }
.aw-brand { display:flex; align-items:center; gap:.55rem; font-weight:700; font-size:1.05rem; color:var(--ink-900); text-decoration:none; animation:awbrand .55s cubic-bezier(.2,.7,.3,1.1) both; }
.aw-logo { width:34px; height:34px; border-radius:9px; background:linear-gradient(150deg,#234539,#1F3F33);
  display:grid; place-items:center; color:#FBF9F4; font-weight:800; box-shadow:0 4px 14px rgba(31,63,51,.25); animation:awlogo .6s cubic-bezier(.2,.7,.3,1.3) both; }
@keyframes awbrand { from{opacity:0; transform:translateY(-.45rem)} to{opacity:1; transform:none} }
@keyframes awlogo { 0%{opacity:0; transform:scale(.5) rotate(-12deg)} 100%{opacity:1; transform:none} }
.aw-menu { position:relative; }
.aw-menu-btn { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--ink-200); border-radius:.6rem; background:#fff; color:var(--ink-700); cursor:pointer; }
.aw-menu-btn:hover { background:var(--ink-100); }
.aw-menu-btn svg { width:20px; height:20px; }
.aw-menu-pop { position:absolute; top:calc(100% + 6px); right:0; direction:rtl; text-align:right;
  background:#fff; border:1px solid var(--ink-200); border-radius:.7rem; box-shadow:0 12px 30px rgba(31,63,51,.14);
  padding:.35rem; min-width:172px; z-index:50; display:flex; flex-direction:column; }
.aw-menu-pop a { padding:.6rem .7rem; border-radius:.5rem; font-size:.86rem; color:var(--ink-700); text-decoration:none; }
.aw-menu-pop a:hover { background:var(--ink-100); }

/* Fortschritt (Segmente klickbar, wenn erledigt) */
.aw-prog { display:flex; gap:5px; margin-bottom:1.1rem; }
.aw-prog .seg { height:4px; flex:1; border-radius:999px; background:var(--ink-200); overflow:hidden; display:block; }
.aw-prog .seg b { display:block; height:100%; border-radius:999px;
  background:linear-gradient(90deg, #1F6F58, #18A07A); transform:scaleX(0); transform-origin:left; }
html[dir="rtl"] .aw-prog .seg b { transform-origin:right; }
/* erledigte Schritte statisch gefüllt; nur der AKTUELLE Schritt animiert sein Füllen */
.aw-prog .seg.done b { transform:scaleX(1); }
.aw-prog .seg.cur b { animation:awfill .55s cubic-bezier(.4,0,.2,1) both; }
@keyframes awfill { from{transform:scaleX(0)} to{transform:scaleX(1)} }
.aw-prog a.seg.clk { cursor:pointer; position:relative; }
.aw-prog a.seg.clk::after { content:''; position:absolute; inset:-10px 0; }
.aw-prog a.seg.clk:hover { background:#cfcabf; }
.aw-step-n { font-size:.72rem; color:var(--ink-400); text-align:center; margin-bottom:1rem; font-variant-numeric:tabular-nums; }

/* Card + Typo */
.aw-card { background:#fff; border:1px solid var(--ink-200); border-radius:1.1rem; padding:1.4rem 1.25rem;
  box-shadow:0 16px 44px -22px rgba(35,33,28,.18); animation:awcard .42s cubic-bezier(.2,.7,.3,1) both; }
@keyframes awcard { from{opacity:0; transform:translateY(10px) scale(.99)} to{opacity:1; transform:none} }
.aw-h { font-size:1.25rem; font-weight:700; margin:0 0 .35rem; letter-spacing:-.01em; }
.aw-h-row { display:flex; align-items:flex-start; gap:.5rem; justify-content:space-between; }
.aw-help { position:relative; flex:none; margin-top:.15rem; }
.aw-help-btn { width:1.55rem; height:1.55rem; border-radius:50%; border:1px solid var(--ink-200); background:#fff;
  color:var(--forest); font-weight:700; font-size:.85rem; font-family:inherit; cursor:pointer; display:grid; place-items:center; }
.aw-help-btn:hover { background:var(--ink-100); border-color:#B9D9C5; }
.aw-help-pop { position:absolute; top:calc(100% + 7px); inset-inline-end:0; width:250px; max-width:78vw;
  background:#fff; border:1px solid var(--ink-200); border-radius:.7rem; box-shadow:0 14px 34px rgba(31,63,51,.16);
  padding:.75rem .85rem; font-size:.78rem; line-height:1.75; color:var(--ink-700); z-index:40; text-align:start; font-weight:400; }
.aw-sub { font-size:.85rem; color:var(--ink-500); margin:0 0 1.2rem; line-height:1.6; }
.aw-label { display:block; font-size:.8rem; font-weight:600; color:var(--ink-700); margin:0 0 .45rem; }

/* Inputs / Textarea */
.aw-in { width:100%; padding:.8rem .9rem; background:#fff; border:1px solid var(--ink-200); border-radius:.7rem;
  font-size:1rem; font-family:inherit; color:var(--ink-900); transition:border-color .15s, box-shadow .15s; }
.aw-in:focus { outline:none; border-color:var(--forest); box-shadow:0 0 0 3px rgba(31,63,51,.12); }
.aw-in.aw-err-f { border-color:#C0392B; box-shadow:0 0 0 3px rgba(192,57,43,.12); }
textarea.aw-in { resize:vertical; min-height:110px; line-height:1.7; }
.aw-hint { font-size:.74rem; color:var(--ink-500); margin-top:.4rem; }
.aw-field + .aw-field { margin-top:1rem; }

/* Buttons */
.aw-btn { position:relative; display:flex; width:100%; align-items:center; justify-content:center; gap:.5rem; padding:.95rem 1rem;
  border:0; border-radius:.85rem; font-weight:600; font-size:.95rem; font-family:inherit; cursor:pointer; color:#fff;
  background:linear-gradient(120deg, #163C31 0%, #1F6F58 55%, #18A07A 110%);
  box-shadow:0 8px 22px -10px rgba(24,160,122,.55);
  transition:filter .15s, transform .1s, box-shadow .15s; margin-top:.4rem; }
.aw-btn:hover { filter:brightness(1.07) saturate(1.05); box-shadow:0 12px 28px -10px rgba(24,160,122,.65); }
.aw-btn:active { transform:translateY(1px); }
.aw-btn:disabled { background:#C7C1B4; color:#fff; cursor:default; box-shadow:none; filter:none; }
.aw-btn.busy { color:transparent !important; pointer-events:none; }
.aw-btn.busy::after { content:""; position:absolute; inset:0; margin:auto; width:1.15rem; height:1.15rem;
  border:2px solid rgba(255,255,255,.4); border-top-color:#fff; border-radius:50%; animation:aws .7s linear infinite; }
@keyframes aws { to { transform:rotate(360deg); } }
/* Erfolg: Spinner morpht zum Haken (fertige Lösung aus Badunos Apply) */
.aw-btn.ok { color:transparent !important; pointer-events:none; }
.aw-btn.ok::after { content:""; position:absolute; left:0; right:0; top:-2px; bottom:0; margin:auto;
  width:.6rem; height:1.05rem; border:solid #fff; border-width:0 2.5px 2.5px 0; transform:rotate(45deg);
  transform-origin:center; animation:awtick .3s cubic-bezier(.2,.7,.3,1.3); }
@keyframes awtick { 0%{opacity:0; transform:rotate(45deg) scale(.3)} 60%{opacity:1} 100%{opacity:1; transform:rotate(45deg) scale(1)} }
.aw-ghost { background:none; border:1px solid var(--ink-200); color:var(--ink-700); }
.aw-ghost:hover { background:var(--ink-100); box-shadow:none; }
.aw-back { display:inline-flex; align-items:center; gap:.3rem; font-size:.85rem; color:var(--ink-500);
  background:none; border:0; cursor:pointer; font-family:inherit; padding:.4rem 0; margin-bottom:.5rem; text-decoration:none; }
.aw-back:hover { color:var(--ink-900); }
html[dir="rtl"] .aw-back svg { transform:scaleX(-1); }

/* Fehler */
.aw-err { padding:.7rem .9rem; border-radius:.65rem; background:#FCEEEB; color:#7E2E22; font-size:.84rem;
  border-inline-start:3px solid #A23F30; margin-bottom:1rem; white-space:pre-line; }

/* OTP-Ziffernboxen */
.aw-otp { display:flex; gap:.55rem; justify-content:center; direction:ltr; margin:.4rem 0 1rem; }
.aw-otp input { width:3.4rem; height:3.9rem; text-align:center; font-size:1.5rem; font-weight:700;
  border:1px solid var(--ink-200); border-radius:.8rem; background:#fff; color:var(--ink-900);
  font-variant-numeric:tabular-nums; transition:border-color .15s, box-shadow .15s; }
.aw-otp input:focus { outline:none; border-color:var(--forest); box-shadow:0 0 0 3px rgba(31,63,51,.12); }
.aw-otp.err input { border-color:#C0492F; box-shadow:0 0 0 3px rgba(192,73,47,.12); color:#C0492F; }
.aw-otp.shake { animation:awshake .42s; }
@keyframes awshake { 0%,100%{transform:translateX(0)} 20%,60%{transform:translateX(-7px)} 40%,80%{transform:translateX(7px)} }
.aw-resend { text-align:center; font-size:.8rem; color:var(--ink-500); }
.aw-resend button, .aw-resend a { background:none; border:0; color:var(--forest); font-weight:600; cursor:pointer; font-family:inherit; text-decoration:none; }

/* Auswahl-Karten (Seitentyp / Features / Design) */
.aw-pos { display:grid; gap:.6rem; }
.aw-poscard { display:flex; align-items:center; gap:.7rem; padding:.85rem 1rem; border:1px solid var(--ink-200);
  border-radius:.8rem; cursor:pointer; transition:border-color .15s, background .15s; background:#fff; text-align:start; width:100%; font-family:inherit; }
.aw-poscard:hover { border-color:#B9D9C5; background:#FBFCFB; }
.aw-poscard.sel { border-color:var(--forest); background:#F1F6F3; box-shadow:0 0 0 1px var(--forest) inset; }
.aw-posdot { width:1.3rem; height:1.3rem; border-radius:.42rem; border:2px solid var(--ink-200); flex:none; display:grid; place-items:center; transition:border-color .15s, background .15s; }
.aw-posdot.round { border-radius:50%; }
.aw-posdot svg { width:.85rem; height:.85rem; color:#fff; opacity:0; transition:opacity .12s; }
.aw-poscard.sel .aw-posdot { border-color:var(--forest); background:var(--forest); }
.aw-poscard.sel .aw-posdot svg { opacity:1; }
.aw-posname { font-weight:600; font-size:.92rem; }
.aw-pos input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }

/* Typ-Karten (mit Icon + Beschreibung) */
.aw-typecard { display:flex; align-items:center; gap:.85rem; padding:.9rem 1rem; border:1px solid var(--ink-200);
  border-radius:.8rem; cursor:pointer; transition:border-color .15s, background .15s; background:#fff; width:100%; font-family:inherit; text-align:start; }
.aw-typecard:hover { border-color:#B9D9C5; background:#FBFCFB; }
.aw-typecard.sel { border-color:var(--forest); background:#F1F6F3; box-shadow:0 0 0 1px var(--forest) inset; }
.aw-typeic { flex:none; width:2.4rem; height:2.4rem; border-radius:.6rem; background:var(--ink-100); color:var(--forest); display:grid; place-items:center; transition:background .15s, color .15s; }
.aw-typeic svg { width:1.3rem; height:1.3rem; }
.aw-typecard.sel .aw-typeic { background:var(--forest); color:#fff; }
.aw-typetext { flex:1; min-width:0; }
.aw-typename { font-weight:600; font-size:.95rem; }
.aw-typedesc { font-size:.76rem; color:var(--ink-500); margin-top:1px; }

/* Video (Start) */
.aw-video { position:relative; width:100%; aspect-ratio:16/9; border-radius:1rem; overflow:hidden;
  background:linear-gradient(150deg,#234539,#1F3F33); margin-bottom:1.1rem; border:1px solid var(--ink-200); }
.aw-video video, .aw-video iframe { position:absolute; inset:0; width:100%; height:100%; border:0; object-fit:cover; }
.aw-video-ph { position:absolute; inset:0; display:grid; place-items:center; color:rgba(255,255,255,.85); gap:.5rem; }
.aw-video-ph svg { width:3rem; height:3rem; }

/* Chat-Composer (Textarea + integrierter Upload) */
.aw-composer { border:1px solid var(--ink-200); border-radius:.9rem; background:#fff; overflow:hidden;
  transition:border-color .15s, box-shadow .15s; }
.aw-composer:focus-within { border-color:var(--forest); box-shadow:0 0 0 3px rgba(31,63,51,.10); }
.aw-composer.over { border-color:var(--forest); border-style:dashed; background:#F4F8F6; }
.aw-composer.aw-err-f { border-color:#C0392B; box-shadow:0 0 0 3px rgba(192,57,43,.12); }
.aw-composer textarea { display:block; width:100%; border:0; outline:0; resize:none; background:transparent;
  font-family:inherit; font-size:1rem; line-height:1.7; color:var(--ink-900); padding:.85rem .95rem .4rem; min-height:96px; }
.aw-composer-files { display:flex; flex-wrap:wrap; gap:.5rem; padding:0 .8rem .2rem; }
.aw-thumb { position:relative; width:3rem; height:3rem; border-radius:.55rem; overflow:hidden; border:1px solid var(--ink-200);
  background:#fff; display:grid; place-items:center; color:var(--ink-400); flex:none; }
.aw-thumb img { width:100%; height:100%; object-fit:cover; }
.aw-thumb svg { width:1.3rem; height:1.3rem; }
.aw-thumb.pdf { color:#C0392B; }
.aw-thumb button { position:absolute; inset-block-start:-6px; inset-inline-end:-6px; width:1.15rem; height:1.15rem;
  border:0; border-radius:50%; background:#A23F30; color:#fff; cursor:pointer; font-size:.8rem; line-height:1; display:grid; place-items:center; }
.aw-composer-bar { display:flex; align-items:center; justify-content:space-between; gap:.5rem;
  padding:.45rem .6rem; border-top:1px solid var(--ink-100); background:#FCFBF8; }
.aw-attach { display:inline-flex; align-items:center; gap:.35rem; padding:.35rem .65rem; border:1px solid var(--ink-200);
  border-radius:.55rem; background:#fff; color:var(--forest); font-family:inherit; font-size:.8rem; font-weight:600; cursor:pointer; }
.aw-attach:hover { background:var(--ink-100); }
.aw-attach svg { width:1rem; height:1rem; }
.aw-composer-hint { font-size:.72rem; color:var(--ink-400); }

/* Feldfehler-Meldung */
.aw-fielderr { color:#B3261E; font-size:.78rem; margin-top:.4rem; display:flex; align-items:center; gap:.3rem; }

/* Drag & Drop Upload */
.aw-drop { border:2px dashed var(--ink-200); border-radius:.9rem; padding:1.6rem 1rem; text-align:center;
  transition:border-color .15s, background .15s; cursor:pointer; }
.aw-drop.over { border-color:var(--forest); background:#F1F6F3; }
.aw-drop svg { color:var(--ink-400); display:block; margin:0 auto .55rem; width:1.7rem; height:1.7rem; }
.aw-drop-t { font-size:.86rem; color:var(--ink-700); font-weight:600; }
.aw-drop-h { font-size:.74rem; color:var(--ink-500); margin-top:.25rem; }
.aw-files { margin-top:.8rem; display:flex; flex-direction:column; gap:.5rem; }
.aw-file { display:flex; align-items:center; gap:.7rem; padding:.5rem .6rem; background:var(--ink-100); border-radius:.7rem; }
.aw-file-prev { flex:none; width:2.7rem; height:2.7rem; border-radius:.5rem; overflow:hidden; display:grid; place-items:center;
  background:#fff; border:1px solid var(--ink-200); color:var(--ink-400); }
.aw-file-prev img { width:100%; height:100%; object-fit:cover; }
.aw-file-prev svg { width:1.5rem; height:1.5rem; }
.aw-file-prev.pdf { color:#C0392B; }
.aw-file-meta { flex:1; min-width:0; display:flex; flex-direction:column; gap:1px; }
.aw-file .nm { font-size:.82rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; direction:ltr; text-align:start; }
.aw-file .sz { font-size:.7rem; color:var(--ink-400); text-align:start; }
.aw-file > button { flex:none; background:none; border:0; color:#A23F30; cursor:pointer; line-height:1; font-size:1.3rem; padding:.2rem .35rem; border-radius:.4rem; }
.aw-file > button:hover { background:#FBEDEA; }

/* Trust / Footer */
.aw-trust { display:flex; align-items:center; justify-content:center; gap:.45rem; font-size:.74rem; color:var(--ink-500); margin-top:1.1rem; }
.aw-trust svg { color:var(--forest); stroke:var(--forest); fill:none; width:16px; height:16px; }
.aw-foot { text-align:center; margin-top:1.8rem; padding-top:1.1rem; border-top:1px solid var(--ink-200); }
.aw-foot-copy { font-size:.75rem; color:var(--ink-500); font-weight:500; }
.aw-foot-meta { font-size:.72rem; color:var(--ink-400); margin-top:.4rem; display:flex; flex-wrap:wrap; gap:.4rem; justify-content:center; align-items:center; }
.aw-foot-dot { opacity:.5; }
.aw-foot a { color:var(--forest); text-decoration:none; font-weight:600; }
.aw-foot a:hover { text-decoration:underline; }

code, .num { font-variant-numeric:tabular-nums; }
[x-cloak] { display:none !important; }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { transition-duration:.001ms !important; animation-duration:.001ms !important; } }

/* intl-phone an aw-Design angleichen — Vorwahl +98 LINKS, Nummer rechts (auch RTL) */
.aw-shell .iti { width:100%; direction:ltr; border:1px solid var(--ink-200); border-radius:.7rem; background:#fff; transition:border-color .15s, box-shadow .15s; }
.aw-shell .iti-toggle, .aw-shell .iti-national { -webkit-appearance:none; appearance:none; box-shadow:none; }
.aw-shell .iti-toggle { background:transparent; padding:0 .9rem; font-size:1rem; border:0; border-radius:.7rem 0 0 .7rem; }
.aw-shell .iti-toggle:hover { background:#FBFAF6; }
html[dir] .aw-shell .iti-national { padding:.8rem .9rem; font-size:1rem; border:0; border-radius:0 .7rem .7rem 0; background:transparent; }
.aw-shell .iti:focus-within { border-color:var(--forest); box-shadow:0 0 0 3px rgba(31,63,51,.12); }
.aw-shell .iti-national:focus { outline:none; }
html[dir="rtl"] .aw-shell .iti-dropdown { direction:rtl; }
html[dir="rtl"] .aw-shell .iti-search { text-align:right; }
