/* Tarheroya Mobile Google Login — سفید / خاکستری / مشکی */
.trmgl{--k:#0b0b0c;--t:#18181b;--m:#71717a;--l:#a1a1aa;--b:#e4e4e7;--s:#f4f4f5;--w:#fff;--r:#dc2626;--g:#15803d;font-family:Vazir,Vazirmatn,Tahoma,sans-serif;direction:rtl;text-align:right;color:var(--t);line-height:1.7;-webkit-font-smoothing:antialiased}
.trmgl *,.trmgl *::before,.trmgl *::after{box-sizing:border-box}
.trmgl [hidden]{display:none!important}
.trmgl button,.trmgl input{font-family:inherit;letter-spacing:0}

/* ---------- پنجره ---------- */
.trmgl-modal{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:20px}
.trmgl-modal[hidden]{display:none}
.trmgl-scrim{position:absolute;inset:0;background:rgba(9,9,11,.46);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .32s ease}
.trmgl-sheet{position:relative;width:100%;max-width:430px;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:var(--w);border-radius:24px;padding:26px 26px 22px;box-shadow:0 30px 80px -20px rgba(0,0,0,.35),0 0 0 1px rgba(0,0,0,.04);opacity:0;transform:translateY(14px) scale(.975);transition:opacity .32s ease,transform .42s cubic-bezier(.2,.8,.2,1);scrollbar-width:thin}
.trmgl-modal.is-open .trmgl-scrim{opacity:1}
.trmgl-modal.is-open .trmgl-sheet{opacity:1;transform:none}
.trmgl-grab{display:none}
.trmgl-x{position:absolute;top:14px;left:14px;width:36px;height:36px;border-radius:50%;border:0;background:var(--s);color:var(--t);display:grid;place-items:center;cursor:pointer;transition:background .2s,transform .2s;padding:0}
.trmgl-x:hover{background:var(--b);transform:rotate(90deg)}
.trmgl-x svg{width:18px;height:18px}
.trmgl-head{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding-left:40px}
.trmgl-mark{width:44px;height:44px;border-radius:14px;background:var(--k);color:#fff;display:grid;place-items:center;flex:none;box-shadow:0 8px 20px -8px rgba(0,0,0,.5)}
.trmgl-mark svg{width:22px;height:22px}
.trmgl-head h2{margin:0!important;font-size:18px!important;font-weight:800!important;color:var(--k)!important;line-height:1.5!important;font-family:inherit!important}
html.trmgl-lock,html.trmgl-lock body{overflow:hidden!important}

/* ---------- زبانه‌ها ---------- */
.trmgl-tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;background:var(--s);border-radius:14px;padding:4px;margin:0 0 16px}
.trmgl-tabs button{position:relative;z-index:1;border:0;background:none;padding:10px 6px;font-size:14.5px;font-weight:700;color:var(--m);cursor:pointer;border-radius:11px;transition:color .25s;line-height:1.4}
.trmgl-tabs button.on{color:var(--k)}
.trmgl-ink{position:absolute;top:4px;bottom:4px;right:4px;width:calc(50% - 4px);background:var(--w);border-radius:11px;box-shadow:0 2px 8px -2px rgba(0,0,0,.14),0 0 0 1px rgba(0,0,0,.04);transition:transform .38s cubic-bezier(.2,.8,.2,1),opacity .2s}
.trmgl-tabs[data-on="register"] .trmgl-ink{transform:translateX(-100%)}
.trmgl-tabs[data-on="none"] .trmgl-ink{opacity:0}

/* ---------- فرم ---------- */
.trmgl-pane{margin:0;animation:trmglIn .38s cubic-bezier(.2,.8,.2,1)}
@keyframes trmglIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.trmgl-lead{margin:0 0 14px!important;font-size:13.5px;color:var(--m);line-height:1.9}
.trmgl-f{margin:0 0 12px}
.trmgl-f label{display:block;font-size:13px;font-weight:700;color:var(--t);margin:0 0 6px;line-height:1.5}
.trmgl-in{position:relative;display:flex;align-items:center}
.trmgl-in>i{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:var(--l);display:grid;pointer-events:none;transition:color .2s}
.trmgl-in>i svg{width:18px;height:18px}
.trmgl .trmgl-in input{width:100%!important;height:48px!important;margin:0!important;border:1.5px solid transparent!important;background:var(--s)!important;border-radius:13px!important;padding:0 42px 0 14px!important;font-size:15px!important;color:var(--k)!important;outline:0!important;box-shadow:none!important;transition:border-color .2s,background .2s,box-shadow .2s!important;line-height:normal!important}
.trmgl .trmgl-in input[dir="ltr"]{text-align:left;padding:0 42px 0 14px!important;direction:ltr}
.trmgl .trmgl-in input[dir="ltr"]::placeholder{text-align:left}
.trmgl .trmgl-in input::placeholder{color:#b4b4bb;opacity:1}
.trmgl .trmgl-in input:hover{background:#efeff1!important}
.trmgl .trmgl-in input:focus{background:var(--w)!important;border-color:var(--k)!important;box-shadow:0 0 0 4px rgba(0,0,0,.06)!important}
.trmgl-in:focus-within>i{color:var(--k)}
.trmgl .trmgl-in input[type=password],.trmgl .trmgl-in input.is-pass{padding-left:46px!important}
.trmgl-eye{position:absolute;left:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;background:none;color:var(--l);display:grid;place-items:center;cursor:pointer;border-radius:10px;padding:0}
.trmgl-eye:hover,.trmgl-eye.on{color:var(--k);background:rgba(0,0,0,.04)}
.trmgl-eye svg{width:18px;height:18px}
.trmgl-f.bad .trmgl-in input{border-color:var(--r)!important;background:#fff!important}
.trmgl-err{display:block;min-height:0;font-size:12px;color:var(--r);margin-top:4px;line-height:1.6}
.trmgl-err:empty{display:none}
.trmgl-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.trmgl-row{display:flex;justify-content:flex-start;margin:-4px 0 12px}
.trmgl-link{border:0;background:none;padding:0;color:var(--k);font-weight:700;font-size:13px;cursor:pointer;text-decoration:underline;text-decoration-color:rgba(0,0,0,.25);text-underline-offset:4px;transition:text-decoration-color .2s}
.trmgl-link:hover{text-decoration-color:var(--k)}
.trmgl-alt{text-align:center;margin:14px 0 0!important;font-size:13.5px;color:var(--m)}
.trmgl-back{display:inline-flex;align-items:center;gap:6px;border:0;background:var(--s);color:var(--t);padding:6px 12px;border-radius:999px;font-size:13px;font-weight:700;cursor:pointer;margin:0 0 12px}
.trmgl-back svg{width:15px;height:15px}
.trmgl-hp{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:0!important;border:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;opacity:0!important;pointer-events:none!important}
.trmgl-meter{height:4px;border-radius:4px;background:var(--s);margin:-4px 0 12px;overflow:hidden}
.trmgl-meter i{display:block;height:100%;width:0;background:var(--l);border-radius:4px;transition:width .3s,background .3s}

/* دکمه */
.trmgl-btn{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:50px;border:0;border-radius:14px;background:var(--k)!important;color:#fff!important;font-size:15.5px;font-weight:800;cursor:pointer;overflow:hidden;transition:transform .15s,box-shadow .25s,opacity .2s;box-shadow:0 10px 24px -12px rgba(0,0,0,.7);text-decoration:none!important;padding:0 16px}
.trmgl-btn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.16) 50%,transparent 70%);transform:translateX(100%);transition:transform .7s}
.trmgl-btn:hover::after{transform:translateX(-100%)}
.trmgl-btn:active{transform:scale(.985)}
.trmgl-btn.is-busy{pointer-events:none;opacity:.85}
.trmgl-btn.is-busy span{opacity:0}
.trmgl-btn.is-busy::before{content:"";position:absolute;width:20px;height:20px;border-radius:50%;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;animation:trmglSpin .7s linear infinite}
@keyframes trmglSpin{to{transform:rotate(360deg)}}
.trmgl-msg{font-size:13px;line-height:1.8;margin:0 0 10px;padding:10px 12px;border-radius:12px}
.trmgl-msg:empty{display:none}
.trmgl-msg.err{background:#fef2f2;color:#991b1b}
.trmgl-msg.ok{background:#f0fdf4;color:#14532d}

/* گوگل */
.trmgl-or{display:flex;align-items:center;gap:10px;margin:14px 0;color:var(--l);font-size:12px}
.trmgl-or::before,.trmgl-or::after{content:"";flex:1;height:1px;background:var(--b)}
.trmgl-soc{display:flex;align-items:center;justify-content:center;gap:10px;height:48px;border:1.5px solid var(--b);border-radius:14px;color:var(--t)!important;text-decoration:none!important;font-weight:700;font-size:14.5px;transition:border-color .2s,background .2s}
.trmgl-soc:hover{border-color:var(--k);background:var(--s)}
.trmgl-soc b{width:24px;height:24px;border-radius:50%;background:var(--k);color:#fff;display:grid;place-items:center;font:700 13px/1 Arial,sans-serif}
.trmgl-who{margin:-6px 0 12px!important;font-size:13px;direction:ltr;text-align:right;color:var(--t);font-weight:700}
.trmgl-who:empty{display:none}

/* ---------- فرم درون صفحه ---------- */
.trmgl-inline{max-width:460px;margin:0 auto;background:var(--w);border:1px solid var(--b);border-radius:22px;padding:22px;box-shadow:0 20px 50px -30px rgba(0,0,0,.25)}
.trmgl-inline.trmgl-account{max-width:620px}
.trmgl-done{text-align:center}
.trmgl-done .trmgl-btn{margin-top:10px}
.trmgl-h{font-size:15px!important;font-weight:800!important;margin:4px 0 12px!important;color:var(--k)!important;font-family:inherit!important}
.trmgl-h small{font-weight:400;color:var(--m);font-size:12px}
.trmgl-sep{height:1px;background:var(--b);margin:6px 0 16px}
.trmgl-wc{max-width:520px;margin:10px auto 40px;font-family:Vazir,Tahoma,sans-serif;direction:rtl}
.trmgl-wc-intro{text-align:center;margin:0 0 18px}
.trmgl-wc-intro .trmgl-mark{margin:0 auto 12px}
.trmgl-wc-intro h2{font-size:22px!important;font-weight:800!important;margin:0 0 6px!important;color:#0b0b0c!important;font-family:inherit!important}
.trmgl-wc-intro p{margin:0!important;color:#71717a;font-size:14px;line-height:1.9}

/* ---------- موبایل: برگه‌ی پایین صفحه ---------- */
@media (max-width:600px){
	.trmgl-modal{align-items:flex-end;padding:0}
	.trmgl-sheet{max-width:none;border-radius:24px 24px 0 0;padding:12px 18px calc(18px + env(safe-area-inset-bottom));max-height:92vh;max-height:92dvh;transform:translateY(100%);transition:opacity .2s ease,transform .45s cubic-bezier(.2,.85,.2,1)}
	.trmgl-grab{display:block;width:42px;height:5px;border-radius:5px;background:var(--b);margin:0 auto 12px}
	.trmgl-x{top:16px;left:12px}
	.trmgl-head{margin-bottom:14px}
	.trmgl .trmgl-in input{font-size:16px!important}
	.trmgl-inline{padding:16px;border-radius:18px}
	.trmgl-2{gap:8px}
}
@media (prefers-reduced-motion:reduce){
	.trmgl-sheet,.trmgl-scrim,.trmgl-ink,.trmgl-pane{transition:none!important;animation:none!important}
}
