/* ============================================================
   AI Genius – új dizájn: bejelentkezés + regisztráció (ag-auth.css)
   Scope: body.ag-auth  ·  csak ag_theme=new esetén töltődik be
   ============================================================ */

body.ag-auth{
  --ag-bg:#F3F4FA; --ag-surface:#FFFFFF; --ag-surface-2:#F8F8FC;
  --ag-ink:#15162B; --ag-ink-2:#4B4E6B; --ag-muted:#7A7D99;
  --ag-line:#E8E9F2; --ag-line-2:#F0F0F7;
  --ag-accent:#4F46E5; --ag-accent-hover:#4338CA; --ag-accent-soft:#ECEBFB; --ag-accent-ink:#3730A3;
  --ag-ok:#1E7A4C; --ag-ok-soft:#E8F7EF; --ag-danger:#E0453A; --ag-danger-soft:#FDE8E6;
  --ag-side-bg:#15162B;
  --ag-shadow-lg:0 24px 64px rgba(21,22,43,.10);
  --ag-shadow-accent:0 8px 20px rgba(79,70,229,.28);
  --ag-font:'PP Neue Montreal',system-ui,-apple-system,'Segoe UI',sans-serif;
  background:var(--ag-bg) !important;
  font-family:var(--ag-font) !important;
  color:var(--ag-ink);
}
body.ag-auth.dark-theme{
  --ag-bg:#0F1020; --ag-surface:#181A2E; --ag-surface-2:#1E2036;
  --ag-ink:#EEEFFA; --ag-ink-2:#B9BBD6; --ag-muted:#8A8DAD;
  --ag-line:#2A2C45; --ag-line-2:#23253B; --ag-accent-soft:rgba(99,91,255,.16); --ag-accent-ink:#C7C4FF;
  --ag-side-bg:#0A0B17;
}
body.ag-auth *:not(i):not([class*="fa-"]){ font-family:var(--ag-font) !important; }
body.ag-auth .page, body.ag-auth .page-main, body.ag-auth .main-content, body.ag-auth .side-app,
body.ag-auth .login-background, body.ag-auth .subscribe-registration-background,
body.ag-auth .container-fluid{ background:transparent !important; background-image:none !important; }
body.ag-auth .main-content, body.ag-auth .side-app{ padding:0 !important; margin:0 !important; }

/* ---------- Közös: címek, mezők, gombok ---------- */
body.ag-auth .login-title{ font-size:26px !important; font-weight:800 !important; letter-spacing:-.02em; color:var(--ag-ink) !important; line-height:1.25; text-shadow:none !important; }
body.ag-auth .login-title .text-info, body.ag-auth .login-title .text-info a{ color:var(--ag-accent) !important; text-shadow:none !important; }
body.ag-auth p.text-muted, body.ag-auth .text-muted{ color:var(--ag-muted) !important; }

body.ag-auth .input-box label, body.ag-auth .form-label{ font-size:13px !important; font-weight:700 !important; color:var(--ag-ink) !important; margin-bottom:8px !important; }
body.ag-auth .text-required-register, body.ag-auth .text-required-register i{ color:var(--ag-danger) !important; font-size:7px !important; vertical-align:super; }
body.ag-auth .form-control, body.ag-auth .form-select, body.ag-auth select.form-control{
  height:48px !important; border-radius:12px !important; border:1px solid var(--ag-line) !important;
  background:var(--ag-surface) !important; color:var(--ag-ink) !important; font-size:14px !important; font-weight:500 !important;
  padding:0 16px !important; box-shadow:none !important; transition:border-color .15s, box-shadow .15s;
}
body.ag-auth textarea.form-control{ height:auto !important; padding:12px 16px !important; }
body.ag-auth .form-control::placeholder{ color:var(--ag-muted) !important; opacity:.8; }
body.ag-auth .form-control:focus, body.ag-auth .form-select:focus{ border-color:var(--ag-accent) !important; box-shadow:0 0 0 4px var(--ag-accent-soft) !important; outline:none; }
body.ag-auth .form-control.is-invalid{ border-color:var(--ag-danger) !important; }
body.ag-auth .invalid-feedback{ font-size:12px; color:var(--ag-danger) !important; margin-top:6px; }
body.ag-auth .input-box{ margin-bottom:18px; }

body.ag-auth .btn-primary, body.ag-auth .login-main-button, body.ag-auth #sign-in, body.ag-auth #registration-next-step,
body.ag-auth .action-button .btn, body.ag-auth #payment-button, body.ag-auth button[type="submit"].btn{
  background:var(--ag-accent) !important; border:none !important; color:#fff !important;
  height:50px; min-width:220px; padding:0 28px !important; border-radius:12px !important;
  font-size:15px !important; font-weight:700 !important; letter-spacing:0 !important; text-transform:none !important;
  box-shadow:var(--ag-shadow-accent) !important; transition:background .15s, transform .1s;
}
body.ag-auth .btn-primary:hover, body.ag-auth .login-main-button:hover, body.ag-auth button[type="submit"].btn:hover{ background:var(--ag-accent-hover) !important; }
body.ag-auth .btn-primary:active{ transform:translateY(1px); }
body.ag-auth .btn-cancel, body.ag-auth .btn-secondary{ background:var(--ag-surface) !important; border:1px solid var(--ag-line) !important; color:var(--ag-ink) !important; border-radius:12px !important; height:50px; font-weight:700 !important; box-shadow:none !important; }

body.ag-auth a.text-info, body.ag-auth .text-info{ color:var(--ag-accent) !important; font-weight:600; }
body.ag-auth .special-action-sign{ color:var(--ag-accent) !important; font-weight:700 !important; }
body.ag-auth p.fs-10.text-muted{ font-size:13px !important; }
body.ag-auth a.fs-12.special-action-sign{ font-size:14px !important; }

/* kapcsolók */
body.ag-auth .custom-switch-indicator{ background:var(--ag-line) !important; border:none !important; width:40px !important; height:22px !important; border-radius:99px !important; box-shadow:none !important; }
body.ag-auth .custom-switch-indicator:before{ background:#fff !important; width:18px !important; height:18px !important; top:2px !important; left:2px !important; box-shadow:0 1px 3px rgba(21,22,43,.2) !important; }
body.ag-auth .custom-switch-input:checked ~ .custom-switch-indicator{ background:var(--ag-accent) !important; }
body.ag-auth .custom-switch-input:checked ~ .custom-switch-indicator:before{ left:20px !important; }
body.ag-auth .custom-switch-description{ font-size:13px !important; color:var(--ag-ink-2) !important; }
body.ag-auth .custom-switch-description a{ color:var(--ag-accent) !important; font-weight:600; }

/* social login + elválasztó */
body.ag-auth .divider-text{ background:var(--ag-surface) !important; color:var(--ag-muted) !important; font-size:12px; }
body.ag-auth .social-login-button{ border:1px solid var(--ag-line) !important; border-radius:12px !important; background:var(--ag-surface) !important; color:var(--ag-ink) !important; font-weight:600 !important; height:46px; display:flex !important; align-items:center; justify-content:center; box-shadow:none !important; }
body.ag-auth .social-login-button:hover{ border-color:var(--ag-accent) !important; }
body.ag-auth .alert-login{ border-radius:12px !important; border:none !important; font-size:13px; }
body.ag-auth .alert-success{ background:var(--ag-ok-soft) !important; color:var(--ag-ok) !important; }
body.ag-auth .alert-danger{ background:var(--ag-danger-soft) !important; color:var(--ag-danger) !important; }

/* ---------- Bejelentkezés / egyszerű regisztráció / jelszó: osztott nézet ---------- */
body.ag-auth .container-fluid.h-100vh{ min-height:100vh; padding:0 !important; }
body.ag-auth .login-background{ min-height:100vh; margin:0 !important; align-items:stretch; }
body.ag-auth #login-responsive{ display:flex; align-items:center; justify-content:center; padding:48px 24px !important; background:var(--ag-surface) !important; min-height:100vh; }
body.ag-auth #login-responsive > .row{ width:100%; max-width:440px; margin:0 auto !important; }
body.ag-auth #login-responsive > .row > [class*="col-"]{ flex:0 0 100%; max-width:100%; padding:0 !important; }
body.ag-auth #login-responsive .card-body{ padding:0 !important; background:transparent !important; box-shadow:none !important; }
body.ag-auth.ag-auth--split #login-responsive .login-title{ text-align:left !important; margin-bottom:6px !important; }
body.ag-auth .ag-auth-brandline{ display:flex; align-items:center; gap:10px; margin-bottom:36px; text-decoration:none !important; }
body.ag-auth .ag-auth-brandline img{ height:34px; width:auto; }
body.ag-auth .ag-auth-sub{ color:var(--ag-muted); font-size:14px; margin:0 0 28px; }
body.ag-auth.ag-auth--split #login-responsive .text-center:has(> .form-group > .login-main-button){ text-align:left !important; }
body.ag-auth.ag-auth--split .login-main-button{ width:100%; }
body.ag-auth.ag-auth--split #login-responsive p.fs-10.text-muted{ display:inline-block; padding-top:20px !important; margin-right:4px !important; }

/* jobb oldali márkapanel */
body.ag-auth #login-background{ background:var(--ag-side-bg) !important; position:relative; overflow:hidden; display:flex !important; align-items:center; justify-content:center; min-height:100vh; }
body.ag-auth #login-background .login-bg{ display:none !important; }
body.ag-auth .ag-auth-panel{ position:relative; z-index:1; max-width:460px; padding:56px 40px; text-align:left; color:#E4E5F3; }
body.ag-auth .ag-auth-panel:before{ content:""; position:absolute; inset:auto -160px -200px auto; width:420px; height:420px; border-radius:50%; background:radial-gradient(closest-side,rgba(79,70,229,.45),rgba(79,70,229,0)); z-index:-1; }
body.ag-auth .ag-auth-panel:after{ content:""; position:absolute; inset:-180px auto auto -180px; width:360px; height:360px; border-radius:50%; background:radial-gradient(closest-side,rgba(99,91,255,.22),rgba(99,91,255,0)); z-index:-1; }
body.ag-auth .ag-auth-kicker{ display:inline-flex; align-items:center; gap:8px; height:30px; padding:0 12px; border-radius:99px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); font-size:12px; font-weight:700; color:#C9CBE3; letter-spacing:.02em; }
body.ag-auth .ag-auth-kicker i{ width:7px; height:7px; border-radius:50%; background:#34D399; display:inline-block; }
body.ag-auth .ag-auth-panel h2{ color:#fff !important; font-size:34px !important; font-weight:800 !important; line-height:1.15; letter-spacing:-.025em; margin:22px 0 14px !important; }
body.ag-auth .ag-auth-panel h2 span{ color:#A5A1FF; }
body.ag-auth .ag-auth-panel p{ color:#A9ABC8 !important; font-size:15px; line-height:1.6; margin:0 0 28px; }
body.ag-auth .ag-auth-feats{ list-style:none; padding:0; margin:0 0 32px; display:grid; gap:12px; }
body.ag-auth .ag-auth-feats li{ display:flex; align-items:center; gap:12px; font-size:14px; font-weight:600; color:#E4E5F3; }
body.ag-auth .ag-auth-feats li span{ flex:0 0 36px; height:36px; border-radius:10px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.10); display:flex; align-items:center; justify-content:center; }
body.ag-auth .ag-auth-feats svg{ width:18px; height:18px; stroke:#A5A1FF; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
body.ag-auth .ag-auth-card{ border-radius:16px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.10); padding:16px 18px; display:flex; gap:14px; align-items:center; }
body.ag-auth .ag-auth-card b{ display:block; color:#fff; font-size:20px; font-weight:800; }
body.ag-auth .ag-auth-card small{ color:#A9ABC8; font-size:12.5px; font-weight:500; }
body.ag-auth .ag-auth-card .sep{ width:1px; align-self:stretch; background:rgba(255,255,255,.12); }
@media (max-width:767.98px){
  body.ag-auth #login-background{ display:none !important; }
  body.ag-auth #login-responsive{ padding:32px 16px !important; min-height:100vh; }
  body.ag-auth .login-title{ font-size:22px !important; }
}

/* ---------- Előfizetéses regisztráció (3 lépés) ---------- */
body.ag-auth .subscribe-registration-background{ min-height:100vh; padding:24px 16px 48px !important; margin:0 !important; }
body.ag-auth .subscribe-registration-background > [class*="col-"]{ max-width:1040px; flex:0 0 100%; }
body.ag-auth .subscribe-registration-background .card-body{
  background:var(--ag-surface) !important; border:1px solid var(--ag-line); border-radius:24px !important;
  box-shadow:var(--ag-shadow-lg) !important; padding:32px 40px 40px !important; margin-top:56px; position:relative;
}
body.ag-auth .register-logo{ position:absolute; top:-52px; left:4px; padding:0 !important; }
body.ag-auth .register-logo img{ height:34px; width:auto; }

body.ag-auth .registration-nav{ margin:0 0 36px !important; }
body.ag-auth .registration-nav-inner{ background:var(--ag-surface-2); border:1px solid var(--ag-line); border-radius:16px; padding:14px 12px; }
body.ag-auth .registration-nav .row{ margin:0; flex-wrap:nowrap; align-items:center; }
body.ag-auth .registration-nav .row > [class*="col-"]{ flex:1 1 0; max-width:none; display:flex; align-items:center; justify-content:center; gap:14px; padding:0 8px; }
body.ag-auth .wizard-nav-text{ align-items:center; }
body.ag-auth .wizard-step-number{
  width:34px !important; height:34px !important; min-width:34px; line-height:34px !important; border-radius:50% !important;
  background:var(--ag-surface) !important; color:var(--ag-muted) !important; border:1px solid var(--ag-line) !important;
  font-weight:800 !important; font-size:13px !important; text-align:center; box-shadow:none !important; display:flex; align-items:center; justify-content:center;
}
body.ag-auth .wizard-step-number.current-step{ background:var(--ag-accent) !important; color:#fff !important; border-color:var(--ag-accent) !important; box-shadow:0 6px 14px rgba(79,70,229,.25) !important; }
body.ag-auth .wizard-step-number .fa-check{ font-size:13px; }
body.ag-auth .wizard-step-title{ text-align:left; line-height:1.25; }
body.ag-auth .wizard-step-title .font-weight-bold{ font-size:14px !important; font-weight:800 !important; color:var(--ag-ink) !important; }
body.ag-auth .wizard-step-title-number{ float:none !important; display:block; margin-top:2px; font-size:11px !important; font-weight:700; letter-spacing:.06em; color:var(--ag-muted) !important; }
body.ag-auth .wizard-nav-chevron{ color:var(--ag-line) !important; font-size:13px; margin-left:8px; }
body.ag-auth .wizard-nav-chevron.current-sign{ color:var(--ag-accent) !important; }
@media (max-width:767.98px){
  body.ag-auth .subscribe-registration-background .card-body{ padding:22px 16px 28px !important; border-radius:18px !important; }
  body.ag-auth .registration-nav .row{ gap:6px; }
  body.ag-auth .registration-nav .row > [class*="col-"]{ padding:0 2px; gap:6px; }
  body.ag-auth .wizard-step-title, body.ag-auth .wizard-nav-chevron{ display:none !important; }
  body.ag-auth .wizard-step-number{ margin:0 !important; }
}

body.ag-auth .subscribe-first-step .login-title, body.ag-auth .subscribe-second-step .login-title, body.ag-auth .subscribe-third-step .login-title{ font-size:24px !important; }

/* 2. lépés: csomagválasztó */
body.ag-auth .tabs-menu ul.nav{ display:inline-flex; gap:4px; background:var(--ag-surface-2); border:1px solid var(--ag-line); border-radius:12px; padding:4px; }
body.ag-auth .tabs-menu ul.nav li a{ border:none !important; border-radius:9px !important; padding:8px 18px !important; font-size:13px !important; font-weight:700 !important; color:var(--ag-ink-2) !important; background:transparent !important; box-shadow:none !important; }
body.ag-auth .tabs-menu ul.nav li a.active{ background:var(--ag-surface) !important; color:var(--ag-ink) !important; box-shadow:0 1px 3px rgba(21,22,43,.08) !important; }
body.ag-auth .price-card{ border:1px solid var(--ag-line) !important; border-radius:18px !important; background:var(--ag-surface) !important; box-shadow:none !important; transition:border-color .15s, box-shadow .15s; }
body.ag-auth .price-card:hover{ border-color:var(--ag-accent) !important; box-shadow:0 12px 32px rgba(79,70,229,.10) !important; }
body.ag-auth .price-card-border{ border:2px solid var(--ag-accent) !important; }
body.ag-auth .plan-featured{ background:var(--ag-accent-soft) !important; color:var(--ag-accent-ink) !important; border-radius:99px !important; font-weight:700 !important; font-size:11px !important; padding:4px 10px !important; }
body.ag-auth .plan-title{ font-size:16px !important; font-weight:800 !important; color:var(--ag-ink) !important; }
body.ag-auth .plan-cost{ font-size:30px !important; font-weight:800 !important; color:var(--ag-ink) !important; letter-spacing:-.02em; }
body.ag-auth .plan-feature-text{ font-size:13px; color:var(--ag-ink-2) !important; }
body.ag-auth .plan .fa-check.text-success{ color:var(--ag-ok) !important; }
body.ag-auth .price-card .btn{ width:100%; min-width:0; }

/* 3. lépés: megrendelési adatok + fizetés */
body.ag-auth .subscribe-third-step .card{ border:1px solid var(--ag-line) !important; border-radius:18px !important; box-shadow:none !important; background:var(--ag-surface) !important; }
body.ag-auth .subscribe-third-step .divider:before, body.ag-auth .subscribe-third-step .divider:after{ border-color:var(--ag-line) !important; }
body.ag-auth .checkout-cost{ font-weight:800 !important; color:var(--ag-ink) !important; }
body.ag-auth .gateway{ border:1px solid var(--ag-line) !important; border-radius:12px !important; background:var(--ag-surface) !important; box-shadow:none !important; overflow:hidden; }
body.ag-auth .gateway-radio:checked + .gateway, body.ag-auth .gateway.active, body.ag-auth input:checked + label .gateway{ border-color:var(--ag-accent) !important; box-shadow:0 0 0 3px var(--ag-accent-soft) !important; }
body.ag-auth .plan-cost.text-primary{ color:var(--ag-accent) !important; }

/* betöltő vonal */
body.ag-auth #loader-line{ background:var(--ag-accent) !important; }

/* finomítások (élő ellenőrzés után) */
body.ag-auth #registration-form, body.ag-auth #registration-prices,
body.ag-auth .subscribe-first-step, body.ag-auth .subscribe-second-step, body.ag-auth .subscribe-third-step{ background-image:none !important; }
body.ag-auth .awselect, body.ag-auth .awselect .front_face, body.ag-auth .awselect .front_face > .bg{ height:48px !important; }
body.ag-auth .awselect .front_face{ padding:0 16px !important; display:flex; align-items:center; }
body.ag-auth .awselect .front_face > .bg{ border-radius:12px !important; border:1px solid var(--ag-line) !important; background:var(--ag-surface) !important; }
body.ag-auth .awselect.animate .front_face > .bg, body.ag-auth .awselect:focus-within .front_face > .bg{ border-color:var(--ag-accent) !important; }
body.ag-auth .awselect .front_face .content{ position:relative; width:100%; font-size:14px !important; font-weight:500; color:var(--ag-ink) !important; }
body.ag-auth .awselect .front_face .content .current_value, body.ag-auth .awselect .front_face .content .placeholder{ font-size:14px !important; color:var(--ag-ink) !important; }
body.ag-auth .awselect .back_face{ border-radius:12px !important; box-shadow:var(--ag-shadow-lg) !important; }
body.ag-auth .ag-auth-panel img{ filter:none !important; opacity:1; height:38px !important; } /* 2026-10-23: színes logó, fehér Genius felirattal */
body.ag-auth .ag-auth-brandline img{ height:40px; }
