/* ⚖ Правила ЕС (#2093; docs/approved/eu_terms.md): согласие при входе, галочка при покупке, «Обжаловать». Стиль «Тёплая сцена». */
.eu-ov { position: fixed; inset: 0; z-index: 2100; overflow-y: auto; -webkit-overflow-scrolling: touch; background: radial-gradient(120% 60% at 50% 0, #4a1822 0, #1b0c10 62%), #1b0c10; color: #fbf1de; }
body.eu-open .toast-stack { z-index: 2200; }
.eu-in { max-width: 460px; margin: 0 auto; padding: calc(22px + env(safe-area-inset-top, 0px)) 16px calc(28px + env(safe-area-inset-bottom, 0px)); }
.eu-ico { font-size: 40px; line-height: 1; }
.eu-ov h1 { margin: 10px 0 6px; font: 700 26px/1.2 Georgia, "Times New Roman", serif; color: #f2c46d; }
.eu-ov h2 { margin: 0 44px 8px 0; font: 700 21px/1.25 Georgia, "Times New Roman", serif; color: #f2c46d; }
.eu-sub { margin: 0 0 14px; font-size: 15px; line-height: 1.45; color: #cdb89a; }
.eu-ck { display: flex; gap: 12px; align-items: flex-start; min-height: 60px; padding: 12px; margin-bottom: 10px; border-radius: 16px; border: 1.5px solid rgba(242,196,109,.28); background: rgba(36,17,20,.85); cursor: pointer; -webkit-tap-highlight-color: transparent; }
.eu-ck.on { border-color: #f2c46d; }
.eu-ck.eu-need { border-color: #ff8a8a; box-shadow: 0 0 0 3px rgba(255,138,138,.18); }
.eu-bx { flex: none; width: 28px; height: 28px; margin: 0; padding: 0; border-radius: 8px; border: 2px solid rgba(251,241,222,.85); background: transparent; display: grid; place-items: center; color: #2a1208; font: 800 17px/1 system-ui, sans-serif; cursor: pointer; position: relative; }
.eu-bx::before { content: ""; position: absolute; inset: -10px; }   /* попадание ≥44px */
.eu-ck.on .eu-bx { border: 0; background: linear-gradient(180deg, #f7d58c, #e2a94a); }
.eu-bx:focus-visible, .eu-cta:focus-visible, .eu-x:focus-visible, .eu-t a:focus-visible { outline: 2px solid #f2c46d; outline-offset: 3px; }
.eu-t { flex: 1; font-size: 15px; line-height: 1.35; color: #fbf1de; }
.eu-t a { display: inline-block; margin-top: 2px; padding: 6px 0; color: #f2c46d; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
.eu-cta { display: grid; place-items: center; width: 100%; min-height: 56px; margin-top: 8px; border-radius: 18px; border: 0; background: linear-gradient(180deg, #f2c46d, #e0a43a); color: #2a1208; font: inherit; font-size: 17px; font-weight: 800; cursor: pointer; }
.eu-cta:disabled { opacity: .45; cursor: default; }
.eu-cta.gh { background: transparent; border: 1.5px solid rgba(242,196,109,.28); color: #fbf1de; font-weight: 700; }
.eu-hint { min-height: 20px; margin: 8px 0 0; text-align: center; font-size: 14px; color: #cdb89a; }
.eu-err { margin: 8px 0 0; font-size: 14px; color: #ffb4a8; }
/* галочка на экране оплаты */
.eu-inst { margin: 12px 0 0; }
/* «Обжаловать» — шторка снизу */
.eu-sheet-bg { display: flex; align-items: flex-end; justify-content: center; background: rgba(8,3,5,.72); }
.eu-sheet { position: relative; width: min(100%, 460px); padding: 18px 16px calc(22px + env(safe-area-inset-bottom, 0px)); border-radius: 24px 24px 0 0; border-top: 1.5px solid rgba(242,196,109,.28); background: linear-gradient(180deg, #3a141c, #1b0c10 40%); }
.eu-x { position: absolute; top: 8px; right: 8px; width: 44px; height: 44px; border: 0; background: none; color: #fbf1de; font-size: 20px; cursor: pointer; }
.eu-sheet textarea { box-sizing: border-box; width: 100%; min-height: 104px; padding: 12px 14px; border-radius: 14px; border: 1.5px solid rgba(242,196,109,.4); background: #1b0c10; color: #fbf1de; font: inherit; font-size: 16px; line-height: 1.4; resize: vertical; }
.eu-sheet textarea:focus { outline: none; border-color: #f2c46d; }
/* #2120: кнопка оплаты без галочки — серая */
.eu-off, .eu-off:disabled { opacity: .45 !important; filter: grayscale(.6); cursor: not-allowed !important; box-shadow: none !important; }
.eu-inst:has(+ [hidden]) { display: none; }   /* PayPal прячет «Перейти к оплате» — прячем и её галочку (у PayPal своя) */
.eu-inst .eu-t a { display: inline; margin: 0; padding: 4px 0; font-size: inherit; }   /* #2128: ссылка внутри фразы */
/* #2140: «📜 Правила и документы» — список из 5 страниц */
.eu-doc { display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 10px 14px; margin-bottom: 8px; border-radius: 16px; border: 1.5px solid rgba(242,196,109,.28); background: rgba(36,17,20,.85); color: #fbf1de; text-decoration: none; font-size: 16px; }
.eu-doc:active { background: #3a1a12; }
.eu-doc:focus-visible { outline: 2px solid #f2c46d; outline-offset: 2px; }
.eu-doc-i { flex: none; width: 28px; text-align: center; font-size: 20px; }
.eu-doc-t { flex: 1; line-height: 1.3; }
.eu-doc-a { flex: none; color: #f2c46d; font-size: 22px; }
