/* Sutibanner es beallitasok (docs/MERES-SPEC.md). Onallo: a belepooldal sajat CSS-t hasznal, ezert nem tamaszkodik az app.css tokenjeire. */
.ajs-banner, .ajs-dialog, .ajs-foot-link { font-family: inherit; color: #241B30; }
.ajs-banner[hidden] { display: none; }
.ajs-banner { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990; padding: 12px; pointer-events: none; }
.ajs-banner-in { pointer-events: auto; max-width: 980px; margin: 0 auto; background: #fff; border: 1px solid #DCCDB8; border-radius: 18px; box-shadow: 0 18px 40px rgba(36, 27, 48, .18);
  padding: 18px 22px; display: flex; gap: 20px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.ajs-text { flex: 1 1 380px; min-width: 0; }
.ajs-text b { font-size: 17px; }
.ajs-text p { margin: 6px 0 0; font-size: 14.5px; line-height: 1.5; color: #4a4157; }
.ajs-text a { color: #4B1E6D; text-decoration: underline; }
.ajs-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
/* a ket fo gomb azonos vizualis sulyu: ugyanaz a meret, szin, keret */
.ajs-btn { font: inherit; font-weight: 700; font-size: 15px; min-height: 46px; padding: 0 20px; border-radius: 12px; cursor: pointer; background: #fff; color: #4B1E6D; border: 2px solid #4B1E6D; }
.ajs-btn:hover { background: #F1EAF6; }
.ajs-link { font: inherit; font-weight: 600; font-size: 15px; background: none; border: 0; padding: 10px 6px; color: #4B1E6D; text-decoration: underline; cursor: pointer; }
.ajs-btn:focus-visible, .ajs-link:focus-visible, .ajs-foot-link:focus-visible, .ajs-switch input:focus-visible + .ajs-track { outline: 3px solid rgba(75, 30, 109, .45); outline-offset: 2px; }
.ajs-foot-link { font: inherit; background: none; border: 0; padding: 0; color: inherit; text-decoration: underline; cursor: pointer; }

.ajs-dialog { position: fixed; inset: 0; margin: auto; border: 0; border-radius: 20px; padding: 0; width: min(560px, calc(100vw - 24px)); max-height: calc(100vh - 24px); background: #fff; box-shadow: 0 30px 70px rgba(36, 27, 48, .35); }
.ajs-dialog::backdrop { background: rgba(36, 27, 48, .5); }
.ajs-dialog-in { padding: 24px 26px 22px; display: grid; gap: 14px; }
.ajs-dialog h2 { margin: 0; font-size: 22px; letter-spacing: -.01em; }
.ajs-lead { margin: 0; font-size: 14.5px; line-height: 1.5; color: #4a4157; }
.ajs-row { display: flex; gap: 16px; align-items: flex-start; justify-content: space-between; padding: 14px 0; border-top: 1px solid #ECE6DC; }
.ajs-row b { font-size: 16px; }
.ajs-row p { margin: 4px 0 0; font-size: 14px; line-height: 1.45; color: #4a4157; }
.ajs-switch { position: relative; flex: none; width: 52px; height: 30px; margin-top: 2px; }
.ajs-switch input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.ajs-switch input:disabled { cursor: not-allowed; }
.ajs-track { position: absolute; inset: 0; border-radius: 15px; background: #C9BFD6; transition: background .15s; pointer-events: none; }
.ajs-track::after { content: ''; position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; border-radius: 50%; background: #fff; transition: transform .15s; box-shadow: 0 1px 3px rgba(0, 0, 0, .3); }
.ajs-switch input:checked + .ajs-track { background: #4B1E6D; }
.ajs-switch input:checked + .ajs-track::after { transform: translateX(22px); }
.ajs-switch input:disabled + .ajs-track { opacity: .6; }
.ajs-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ajs-msg { margin: 0; padding: 10px 12px; border-radius: 10px; background: #FFE8DF; color: #8F2D15; font-size: 14px; }
.ajs-dialog-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; border-top: 1px solid #ECE6DC; padding-top: 16px; }
.ajs-save { background: #4B1E6D; color: #fff; }
.ajs-save:hover { background: #3a1655; }
@media (max-width: 640px) {
  .ajs-banner { padding: 8px; }
  .ajs-banner-in { padding: 16px; }
  .ajs-actions .ajs-btn { flex: 1 1 100%; }
  .ajs-dialog-actions .ajs-btn { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) { .ajs-track, .ajs-track::after { transition: none; } }

/* jogi tajekoztato popup */
.ajs-legal { width: min(760px, calc(100vw - 24px)); }
.ajs-legal-body { max-height: min(60vh, 560px); overflow: auto; padding-right: 6px; font-size: 14.5px; line-height: 1.55; color: #241B30; }
.ajs-legal-body h2 { font-size: 18px; margin: 22px 0 8px; }
.ajs-legal-body p, .ajs-legal-body li { margin: 0 0 10px; }
.ajs-legal-body .legal-date { color: #6F6779; font-size: 13.5px; }
.ajs-legal-body a { color: #4B1E6D; text-decoration: underline; }
.ajs-legal-body .legal-tw { overflow-x: auto; margin: 10px 0 14px; }
.ajs-legal-body .legal-table { border-collapse: collapse; width: 100%; font-size: 13.5px; }
.ajs-legal-body .legal-table th, .ajs-legal-body .legal-table td { border: 1px solid #E6D9F3; padding: 8px 10px; text-align: left; vertical-align: top; }
.ajs-legal-body .legal-table th { background: #F7F2FC; }
