/*
 * The login modal, and it lives HERE because the modal does.
 *
 * ── Why it moved ──────────────────────────────────────────────────────────
 *
 * These rules used to sit in the theme's product.css. The markup is printed by
 * UTC_Auth::print_modal() on `wp_footer` — on EVERY page — and the header's
 * «ورود» button carries `data-auth-open` on every page too. product.css is
 * loaded by the product page and a handful of others.
 *
 * So on the cart, the checkout, the account page and every other hand-written
 * template, pressing «ورود» opened a dialog with no card, no backdrop and no
 * spacing: raw text laid over the page, with the shop showing through it. The
 * owner found it on the cart, mid-purchase. Nothing was broken about the
 * modal — it was correct markup asked to render where its stylesheet was not.
 *
 * The fix is not «add this sheet to the templates that were missing it». That
 * is a list somebody has to remember on the day a tenth page is added. The
 * sheet is enqueued by the same method that enqueues auth.js, so the style
 * travels with the thing that needs it and cannot be forgotten.
 *
 * ── What stayed in critical.css, and why that is not a second answer ──────
 *
 * `.authm{position:fixed;…;display:none}` and `.authm.open{display:flex}` stay
 * inlined in critical.css deliberately. They are what keeps the footer markup
 * INVISIBLE, and they have to be in the document before this file arrives —
 * otherwise every page would flash the dialog's raw text while this sheet is
 * still in flight. critical.css owns «hidden until asked»; this file owns
 * «what it looks like once it is».
 *
 * The variables are the theme's (--cyan, --text-2, --surface-2 …). They are
 * defined in critical.css, which is inlined on every page, so they are always
 * there by the time these rules apply.
 */
/*g1-theme:tokens — written by tools/g1-theme-tokenize.py; do not edit*/
:root{--tc-bg-000000-25:rgba(0,0,0,.25);--tc-bg-040610-7:rgba(4,6,16,.7);--tc-bg-10142a-98:rgba(16,20,42,.98);--tc-bg-dc5050-1:rgba(220,80,80,.1);--tc-bg-ffffff:#ffffff;--tc-bg-ffffff-08:rgba(255,255,255,.08);--tc-bg-ffffff-1:rgba(255,255,255,.1);--tc-fg-ff9d9d:#ff9d9d;--tc-ln-ffffff-06:rgba(255,255,255,.06);--tc-ln-ffffff-08:rgba(255,255,255,.08);--tc-on-1f2430:#1f2430;--tc-on-ffffff:#ffffff;--tc-sh-000000-6:rgba(0,0,0,.6);--tc-sh-4f7cff-4:rgba(79,124,255,.4);--tc-sh-7fd0ff-7:rgba(127,208,255,.7)}
:root[data-theme="light"]{--tc-bg-000000-25:rgba(11,16,36,.1);--tc-bg-040610-7:rgba(242,243,248,.7);--tc-bg-10142a-98:rgba(255,255,255,.98);--tc-bg-dc5050-1:rgba(186,37,37,.055);--tc-bg-ffffff:#ffffff;--tc-bg-ffffff-08:rgba(11,16,36,.056);--tc-bg-ffffff-1:rgba(11,16,36,.07);--tc-fg-ff9d9d:#c60000;--tc-ln-ffffff-06:rgba(11,16,36,.078);--tc-ln-ffffff-08:rgba(11,16,36,.104);--tc-on-1f2430:#1f2430;--tc-on-ffffff:#ffffff;--tc-sh-000000-6:rgba(11,16,36,.21);--tc-sh-4f7cff-4:rgba(39,82,227,.24);--tc-sh-7fd0ff-7:rgba(25,102,149,.42)}
/*/g1-theme:tokens*/

body.g1p .authm-bd{position:absolute;inset:0;background:var(--tc-bg-040610-7);backdrop-filter:blur(4px)}
body.g1p .authm-card{position:relative;width:100%;max-width:460px;max-height:92vh;overflow-y:auto;background:var(--tc-bg-10142a-98);border-radius:24px;padding:34px 30px;box-shadow:0 30px 90px var(--tc-sh-000000-6),inset 0 0 0 1px var(--tc-ln-ffffff-08);animation:authmIn .28s cubic-bezier(.4,0,.2,1)}
@keyframes authmIn{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
body.g1p .authm-x{position:absolute;top:16px;left:16px;width:36px;height:36px;border-radius:10px;border:none;cursor:pointer;background:var(--tc-bg-ffffff-08);display:flex;align-items:center;justify-content:center}
body.g1p .authm-x svg{width:16px;height:16px;fill:none;stroke:var(--text);stroke-width:2;stroke-linecap:round}
body.g1p .authm-head{text-align:center;margin-bottom:22px}
body.g1p .authm-dot{width:12px;height:12px;border-radius:50%;background:var(--cyan);box-shadow:0 0 14px 4px var(--tc-sh-7fd0ff-7);display:inline-block;margin-bottom:14px}
body.g1p .authm-title{font-size:1.4rem;font-weight:800}
body.g1p .authm-sub{font-size:.88rem;color:var(--text-2);font-weight:300;margin-top:6px}
body.g1p .authm-google{width:100%;display:flex;align-items:center;justify-content:center;gap:11px;background:var(--tc-bg-ffffff);color:var(--tc-on-1f2430);border:none;cursor:pointer;font-family:inherit;font-weight:700;font-size:.95rem;border-radius:14px;padding:13px;transition:opacity .2s}
body.g1p .authm-google:hover{opacity:.9}
body.g1p .authm-or{display:flex;align-items:center;gap:14px;margin:18px 0;color:var(--text-3);font-size:.8rem}
body.g1p .authm-or::before,body.g1p .authm-or::after{content:"";flex:1;height:1px;background:var(--tc-bg-ffffff-1)}
body.g1p .authm-tabs{display:flex;gap:6px;background:var(--tc-bg-000000-25);border-radius:14px;padding:5px;margin-bottom:16px;box-shadow:inset 0 0 0 1px var(--tc-ln-ffffff-06)}
body.g1p .authm-tab{flex:1;border:none;cursor:pointer;font-family:inherit;font-weight:600;font-size:.88rem;color:var(--text-2);background:none;border-radius:10px;padding:11px;transition:background .2s,color .2s,box-shadow .2s}
body.g1p .authm-tab.is-on{background:var(--blue);color:var(--tc-on-ffffff);box-shadow:0 4px 14px var(--tc-sh-4f7cff-4)}
/*
 * ── `hidden` loses to `display:flex`, and this is where it was losing ─────
 *
 * The script hides the tabs, the «یا» divider and the Google button when the
 * code step opens — `el.hidden = true`, which the browser honours with
 * `[hidden]{display:none}` at the very bottom of the cascade. Every one of
 * those three is `display:flex` in this file, and an author rule beats the UA
 * one, so all three stayed on screen above the code boxes.
 *
 * The line below already existed for `.authm-field` alone: somebody hit this
 * on the mobile/e-mail fields, fixed that one selector, and the other three
 * kept the bug. It is a property of the modal, not of the fields, so it is
 * written as one now.
 *
 * Only a rendered picture shows this. `el.hidden` is true, the attribute is in
 * the DOM, and every source-level check agrees the element is hidden.
 */
body.g1p .authm [hidden],
body.g1p .authm-field[hidden],
body.g1p .auth-field[hidden]{display:none !important}
body.g1p .authm-field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
body.g1p .authm-field label{font-size:.82rem;font-weight:600;color:var(--text-2)}
body.g1p .authm-field input{font-family:inherit;font-size:.95rem;color:var(--text);background:var(--surface-2);border:none;border-radius:12px;padding:13px 15px;outline:none;transition:box-shadow .2s}
body.g1p .authm-field input:focus{box-shadow:0 0 0 2px var(--tc-sh-4f7cff-4)}
body.g1p .authm-otp-hint{font-size:.85rem;color:var(--text-2);font-weight:300;text-align:center;margin-bottom:16px;line-height:1.9}
body.g1p .authm-otp-hint b{color:var(--text);direction:ltr;unicode-bidi:embed;display:inline-block}
body.g1p .authm-otp-inputs{display:flex;gap:8px;justify-content:center;margin-bottom:18px}
body.g1p .authm-otp-inputs input{width:46px;height:54px;text-align:center;font-size:1.3rem;font-weight:700;color:var(--text);background:var(--surface-2);border:none;border-radius:12px;outline:none;transition:box-shadow .2s}
body.g1p .authm-otp-inputs input:focus{box-shadow:0 0 0 2px var(--tc-sh-4f7cff-4)}
body.g1p .authm-foot{display:flex;align-items:center;justify-content:space-between;margin-top:14px}
body.g1p .authm-timer{font-size:.76rem;color:var(--text-3)}
body.g1p .authm-link{border:none;background:none;cursor:pointer;font-family:inherit;color:var(--cyan);font-weight:600;font-size:.85rem;padding:0}
body.g1p .authm-link:hover{text-decoration:underline}
body.g1p .authm-switch{text-align:center;font-size:.86rem;color:var(--text-2);margin-top:18px}
body.g1p .authm-legal{text-align:center;font-size:.74rem;color:var(--text-3);margin-top:12px;line-height:1.9}
body.g1p .authm-legal a{color:var(--text-2);text-decoration:none}
@media (max-width:480px){body.g1p .authm-card{padding:30px 20px}}
body.g1p .authm-err{font-size:.82rem;font-weight:600;color:var(--tc-fg-ff9d9d);background:var(--tc-bg-dc5050-1);border-radius:10px;padding:9px 13px;margin-bottom:10px;line-height:1.8}
body.g1p .authm-tab.is-on{background:var(--blue-btn)}
