/* ════════════════════════════════════════════════════════════════
   Pénzügynet.hu — SPRINT A patch (2026-04-24)
   A1 typo · A2 contrast · A3 motion · A4 floating-btn · A5 terminal
   Additív CSS: append to end of assets/style.css, or @import.
   ════════════════════════════════════════════════════════════════ */

:root { --tx3: rgba(228, 244, 255, 0.55); }

.hero-desc, .sdesc, .svc-desc, .why-item p, .test-text,
.faq-q, .faq-ai, .cta-sub, .cta-title, .stitle, .svc-title,
.why-item h4, .step-t, .step-d, .hero-title, .ap-features li,
.ap-coming, .ap-disclaimer, .miranda-intro-desc, .miranda-intro-tag,
.portal-subtitle, .portal-welcome p, .pw-change-form .pw-info,
.info-text, .toggle-label, .upload-text, .success-message p,
.no-contracts p, .foot-desc, .foot-links a, .footer-links a,
.footer-legal a, .landing-title, .reg-modal-sub,
#legal-content p, #legal-content li { font-family: var(--sans); }

.nav-links a { font-family: var(--sans); font-size: 13px; letter-spacing: 0.3px; text-transform: none; font-weight: 500; }
.nav-mobile-menu a, .nav-mobile-portal { font-family: var(--sans); letter-spacing: 0.3px; text-transform: none; font-size: 14px; font-weight: 500; }

.faq-q  { font-size: 15px; font-weight: 600; letter-spacing: 0; }
.faq-ai { font-size: 14px; line-height: 1.75; }

.form-label, .toggle-label, .upload-text, .upload-hint, .form-section-title { font-family: var(--sans); text-transform: none; letter-spacing: 0.2px; }
.form-section-title { font-size: 13px; font-weight: 700; color: var(--c); }
.form-label         { font-size: 12px; font-weight: 500; color: var(--tx2); }

.form-input, .portal-email-input, .pw-change-form input, .cta-in { font-family: var(--sans); font-size: 14px; letter-spacing: 0; }
.form-input::placeholder, .portal-email-input::placeholder, .cta-in::placeholder { font-family: var(--sans); }

.reg-modal-title, .modal-title, .portal-welcome h2, .pw-change-form h2, .admin-panel h2, .payment-box h3 { font-family: var(--sans); letter-spacing: -0.2px; font-weight: 700; }
.admin-panel .admin-subtitle, .payment-subtitle { font-family: var(--sans); font-size: 13px; }

.foot-desc { font-size: 13px; line-height: 1.75; }

.landing-title { letter-spacing: -0.4px; }
.landing-btn-label, .landing-btn-desc { font-family: var(--sans); text-transform: none; letter-spacing: 0.2px; }
.landing-btn-label { font-size: 16px; font-weight: 700; }
.landing-btn-desc  { font-size: 12px; color: var(--tx3); }

.ti { font-size: 11px; }

.reg-modal-info-btn, .add-insurance-btn, .entry-remove, .portal-logout-btn { font-family: var(--sans); text-transform: none; letter-spacing: 0.3px; font-size: 13px; }

@keyframes btn-flicker { 0%, 100% { opacity: 1; } 50% { opacity: 0.72; } }
.splash-btn.loading { animation: btn-flicker 0.4s ease-in-out infinite; }

@media (prefers-reduced-motion: reduce) {
  .dot, .hero-title .acc::after, .tcur::after, .ticker-inner,
  .floating-btn, .befizetem-wrap .lensflare, .ap-badge-dot,
  .glow-forever, .splash-btn.loading { animation: none !important; }
  body::before   { background-image: none; }
  #splash::after { display: none; }
  .tcur::after, .hero-title .acc::after { content: ''; }
  .reveal { opacity: 1 !important; transform: none !important; }
}

.ticker-wrap:hover .ticker-inner,
.ticker-wrap:focus-within .ticker-inner { animation-play-state: paused; }

.floating-btn {
  max-width: calc(100vw - 40px); font-size: 13px; font-family: var(--sans);
  letter-spacing: 0.2px; text-transform: none; font-weight: 600;
  padding: 13px 22px; gap: 10px; box-shadow: 0 0 18px rgba(0, 212, 255, 0.18);
}
.floating-btn:hover { box-shadow: 0 0 36px rgba(0, 212, 255, 0.38); }
@media (max-width: 768px) {
  .floating-btn { max-width: calc(100vw - 24px); font-size: 12px; padding: 11px 16px; gap: 8px; bottom: 16px; }
  .floating-btn-icon { font-size: 14px; }
}

.hero-term { user-select: none; cursor: default; }
.term-bar .term-title::after { content: ' · read-only'; color: var(--tx3); font-style: italic; font-size: 10px; opacity: 0.7; }

.tag, .foot-copy, .footer-copy, .foot-col-t, .splash-version { color: rgba(228, 244, 255, 0.42); }
.splash-subtitle, .landing-sub { color: rgba(228, 244, 255, 0.45); }

body { font-weight: 400; letter-spacing: 0.1px; }

#legal-content h3 { font-family: var(--sans); font-weight: 700; font-size: 16px; }
#legal-content h2 { font-family: var(--sans); font-weight: 800; font-size: 22px; }

/* ─── Toggle-slider overflow fix (pre-existing bug a style.css-ben) ────────
   Két egymásnak ütköző rule: line 707 (width:56px, slider active left:30px)
   és line 1899 (width:44px, slider active translateX(20px)). Mindkét active
   rule alkalmazódik → slider 6-24px jobbra túlcsúszik a 44px kereten.
   Fix: scope-olt override — left reset + csak transform a mozgatás. */
#insurance-toggle .toggle-slider,
.toggle-row .toggle-switch .toggle-slider { left: 2px !important; }
#insurance-toggle.active .toggle-slider,
.toggle-row .toggle-switch.active .toggle-slider { left: 2px !important; transform: translateX(20px); }
