:root { --bg:#f7f7fb; --fg:#1f2937; --muted:#6b7280; --brand:#0d6efd; --card:#ffffff; --border:#e5e7eb; }
*{box-sizing:border-box} html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.container{max-width:960px;margin:24px auto;padding:0 16px}
.navbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--brand)}
.navbar a{color:#fff;text-decoration:none;margin:0 8px}
.brand a{font-weight:700}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:16px}
.card{display:block;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px;text-decoration:none;color:inherit;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.card h3{margin:0 0 8px}
.stats{display:flex;gap:12px;margin:16px 0}
.stat{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px 16px;min-width:140px}
.stat .num{font-size:22px;font-weight:700}
.stat .label{color:var(--muted)}
.checkbox{display:flex;align-items:center;gap:8px}
.btn{background:var(--brand);color:#fff;border:none;border-radius:10px;padding:10px 14px;cursor: pointer; opacity: 1}

/* START: homepage visuals */
.flag{height:16px;vertical-align:-2px}
.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:center}
@media (max-width: 768px){.hero{grid-template-columns:1fr}}
.hero__img{width:100%;height:auto;border-radius:12px;border:1px solid var(--border);box-shadow:0 2px 8px rgba(0,0,0,.05)}
.hero__bullets{margin:12px 0;padding-left:18px}
.feature{display:flex;gap:12px;align-items:flex-start}
.feature__icon{width:40px;height:40px;object-fit:contain;flex:0 0 40px}
 /* END: homepage visuals */

/* ==== homepage revamp ==== */
.topbar{height:6px;background:linear-gradient(90deg,#0d6efd,#5aa0ff)}
.container{max-width:1200px}
.display{font-size:44px;line-height:1.1;margin:0 0 12px}
@media (max-width:900px){.display{font-size:34px}}
.lead{font-size:18px;color:var(--fg);opacity:.9}
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:center;margin-top:18px}
@media (max-width:900px){.hero{grid-template-columns:1fr}}
.hero--xl{padding:28px}
.hero__img{width:100%;height:auto;border-radius:18px;border:1px solid var(--border);box-shadow:0 6px 22px rgba(0,0,0,.08)}
.hero__bullets{margin:14px 0 10px;padding-left:18px}
.hero__bullets.big li{margin:6px 0;font-size:16px}
.actions{display:flex;gap:12px;margin:10px 0 6px}
.btn.btn-lg{padding:12px 18px;font-size:16px;border-radius:12px}
.trust{display:flex;align-items:center;gap:10px;margin-top:10px;color:var(--muted)}
.trust__logo{width:22px;height:22px}

.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:22px}
@media (max-width:1100px){.grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.grid{grid-template-columns:1fr}}

.card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:0 2px 6px rgba(0,0,0,.04)}
.feature{display:flex;gap:14px;align-items:flex-start}
.feature--xl{padding:20px}
.feature__icon{width:56px;height:56px;object-fit:contain;flex:0 0 56px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.08))}
.cta{text-align:center;padding:26px;margin:20px 0 6px}

/* === content expansion === */
.container{max-width:1200px}
.topbar{height:6px;background:linear-gradient(90deg,#0d6efd,#5aa0ff)}
.display{font-size:44px;line-height:1.1}
@media (max-width:900px){.display{font-size:34px}}

.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:center;margin-top:18px}
@media (max-width:900px){.hero{grid-template-columns:1fr}}
.hero--xl{padding:28px}
.hero__img{width:100%;height:auto;border-radius:18px;border:1px solid var(--border);box-shadow:0 6px 22px rgba(0,0,0,.08)}
.hero__bullets{margin:14px 0 10px;padding-left:18px}
.hero__bullets.big li{margin:6px 0;font-size:16px}
.actions{display:flex;gap:12px;margin:10px 0 6px}
.btn.btn-lg{padding:12px 18px;font-size:16px;border-radius:12px}
.trust{display:flex;align-items:center;gap:10px;margin-top:10px;color:var(--muted)}
.trust__logo{width:22px;height:22px}

.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:22px}
@media (max-width:1100px){.grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.grid{grid-template-columns:1fr}}

.card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:0 2px 6px rgba(0,0,0,.04)}

.steps h2,.testimonials h2,.faq h2{margin:0 0 10px}
.steps__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:900px){.steps__grid{grid-template-columns:1fr}}
.step{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,.03)}
.step__img{width:100%;height:auto;border-radius:12px;margin-bottom:10px;border:1px solid var(--border)}

.feature{display:flex;gap:14px;align-items:flex-start}
.feature--xl{padding:20px}
.feature__icon{width:56px;height:56px;object-fit:contain;flex:0 0 56px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.08))}

.badges__row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:900px){.badges__row{grid-template-columns:1fr}}
.badge{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--border);border-radius:14px;background:#fff}
.badge img{width:28px;height:28px}

.testimonials__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
@media (max-width:900px){.testimonials__grid{grid-template-columns:1fr}}
.quote{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px;font-style:italic}

.faq details{border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin:10px 0;background:#fff}
.faq summary{cursor:pointer;font-weight:600}
.faq p{margin:8px 0 0}

.cta{text-align:center;padding:26px;margin:20px 0 6px}
.footer{margin:22px 0 10px;color:var(--muted)}
.footer__inner{display:flex;justify-content:space-between;align-items:center}
.footer__nav a{color:inherit;text-decoration:none;margin-left:12px}

/* === smartsteuer-like layout === */
.container{max-width:1240px}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center;margin-top:18px}
@media (max-width:980px){.hero{grid-template-columns:1fr}}
.hero--ribbon{position:relative;overflow:hidden;padding:28px}
.hero--ribbon::before{content:"";position:absolute;inset:-40% -40% auto auto;width:120%;height:60%;background:linear-gradient(135deg,rgba(13,110,253,.12),rgba(13,110,253,.03));transform:rotate(-8deg);border-radius:24px;z-index:0}
.hero__text{position:relative;z-index:1}
.display{font-size:46px;line-height:1.08;margin:0 0 12px}
@media (max-width:980px){.display{font-size:34px}}
.lead{font-size:18px;opacity:.95}
.bullets{margin:12px 0 14px;padding-left:20px}
.actions{display:flex;gap:12px;margin-top:8px}
.btn.btn-lg{padding:12px 18px;font-size:16px;border-radius:12px}
.hero__media{position:relative;z-index:1}
.hero__img{width:100%;height:auto;border-radius:18px;border:1px solid var(--border);box-shadow:0 8px 28px rgba(0,0,0,.08)}

.trustrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.trustchip{background:#f1f5ff;border:1px solid #dbe7ff;color:#1849a9;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:600}

.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:24px}
@media (max-width:1100px){.grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.grid{grid-template-columns:1fr}}

.card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:0 2px 6px rgba(0,0,0,.04)}

.badges__row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:900px){.badges__row{grid-template-columns:1fr}}
.badge{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--border);border-radius:14px;background:#fff}
.badge__dot{display:inline-block;width:18px;height:18px;border-radius:50%;background:#0d6efd;box-shadow:0 2px 8px rgba(13,110,253,.35)}

.steps h2{margin:0 0 10px}
.steps__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:900px){.steps__grid{grid-template-columns:1fr}}
.step{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px}
.step__num{width:36px;height:36px;border-radius:50%;background:#0d6efd;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;margin-bottom:8px}
.step__img{width:100%;height:auto;border:1px solid var(--border);border-radius:12px;margin-top:8px}

.feature{display:flex;gap:14px;align-items:flex-start}
.feature--xl{padding:20px}
.feature__icon{width:56px;height:56px;object-fit:contain;flex:0 0 56px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.08))}

.faq details{border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin:10px 0;background:#fff}
.faq summary{cursor:pointer;font-weight:600}
.faq p{margin:8px 0 0}

.cta{text-align:center;padding:26px;margin:20px 0 6px}

/* ===== THEME / LAYOUT ===== */
:root{
  --bg:#f5f7fb; --bg-alt:#eef3ff;
  --fg:#1f2937; --muted:#6b7280;
  --brand:#0d6efd; --brand-2:#5aa0ff;
  --card:#ffffff; --border:#e5e7eb;
}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
a{color:inherit} a:hover{opacity:.9}

/* container */
.container{max-width:1240px;margin:0 auto;padding:0 18px}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 2px 8px rgba(0,0,0,.03)}
.header__inner{display:flex;justify-content:space-between;align-items:center;height:56px}
.logo{display:flex;align-items:center;gap:8px;font-weight:800;text-decoration:none}
.topnav a{margin:0 10px;text-decoration:none}
.btn{background:var(--brand);color:#fff;border:none;border-radius:12px;padding:10px 14px;text-decoration:none;display:inline-block}
.btn.outline{background:transparent;color:var(--brand);border:1px solid var(--brand)}
.btn-sm{padding:8px 12px;font-size:14px}

/* sections */
.section{padding:42px 0}
.alt-section{background:var(--bg-alt)}
.hero-section{background:linear-gradient(135deg,rgba(13,110,253,.12),rgba(90,160,255,.08))}
.strip-section{background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.section-title{margin:0 0 14px;font-size:28px}

/* cards */
.card{background:var(--card);border:1px solid var(--border);border-radius:18px;box-shadow:0 6px 22px rgba(0,0,0,.04);padding:20px}
.card--soft{box-shadow:0 2px 10px rgba(0,0,0,.04)}

/* hero */
.hero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center}
@media (max-width:980px){.hero__grid{grid-template-columns:1fr}}
.display{font-size:46px;line-height:1.08;margin:0 0 12px}
@media (max-width:980px){.display{font-size:34px}}
.lead{font-size:18px;opacity:.95}
.bullets{margin:12px 0 14px;padding-left:20px}
.actions{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap}
.hero__img{width:100%;height:auto;border-radius:18px;border:1px solid var(--border);box-shadow:0 10px 28px rgba(0,0,0,.08)}
.trustrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.trustchip{background:#f1f5ff;border:1px solid #dbe7ff;color:#1849a9;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:600}

/* strip */
.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media (max-width:900px){.strip{grid-template-columns:1fr}}
.strip__item{background:#fff;border:1px solid var(--border);border-radius:999px;padding:10px 14px;text-align:center;font-weight:600}

/* steps */
.steps__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:900px){.steps__grid{grid-template-columns:1fr}}
.step{display:flex;flex-direction:column;gap:8px}
.step__num{width:40px;height:40px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
.step__img{width:100%;height:auto;border:1px solid var(--border);border-radius:12px}

/* features */
.features__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media (max-width:1100px){.features__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.features__grid{grid-template-columns:1fr}}
.feature{display:flex;gap:14px;align-items:flex-start}
.feature--xl{padding:22px}
.feature__icon{width:64px;height:64px;object-fit:contain;flex:0 0 64px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.08))}

/* faq */
.faq details{border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin:10px 0;background:#fff}
.faq summary{cursor:pointer;font-weight:600}
.faq p{margin:8px 0 0}
.cta{ text-align:center }

/* footer */
.site-footer{margin-top:36px;background:#0b1020;color:#c8d2ff}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px;padding:28px 0}
.footer__grid a{color:#e7ecff;text-decoration:none;display:block;margin:6px 0}
.logo--footer{font-weight:800;margin-bottom:8px;display:flex;align-items:center;gap:8px}
.footer__bar{border-top:1px solid rgba(255,255,255,.12);padding:12px 0;text-align:center;color:#a9b4ff}
.muted{color:var(--muted)}

/* ===== PALETTE / BASICS ===== */
:root{
  --bg:#f6f7fb; --bg-alt:#f1f4ff;
  --ink:#1f2440; --muted:#6b7280;
  --brand:#5a6bff; --brand-2:#00e3ff;
  --card:#ffffff; --border:#e6e8ef;
}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
a{color:inherit;text-decoration:none} a:hover{opacity:.92}
.container{max-width:1240px;margin:0 auto;padding:0 18px}
.muted{color:var(--muted)}
.card{background:var(--card);border:1px solid var(--border);border-radius:22px;box-shadow:0 8px 28px rgba(10,20,70,.06);padding:22px}
.card--soft{box-shadow:0 4px 18px rgba(10,20,70,.05)}
.btn{background:var(--brand);color:#fff;border:none;border-radius:12px;padding:10px 16px;display:inline-block}
.btn.outline{background:transparent;color:var(--brand);border:1px solid var(--brand)}
.btn-lg{padding:14px 22px;font-size:18px}
.pill{border-radius:999px}
.strong{box-shadow:0 12px 30px rgba(0,227,255,.35);background:linear-gradient(90deg,var(--brand-2),#48b7ff,var(--brand))}

/* ===== HEADER ===== */
.site-header{position:sticky;top:0;z-index:40;background:linear-gradient(180deg,#fff 65%,rgba(255,255,255,.7));backdrop-filter:saturate(1.3) blur(6px);border-bottom:1px solid var(--border)}
.header__inner{display:flex;justify-content:space-between;align-items:center;height:64px}
.logo{display:flex;gap:10px;align-items:center;font-weight:800}
.topnav a{margin:0 12px}
.topnav .btn{margin-left:6px}

/* ===== HERO ===== */
.hero-wrap{position:relative;background:linear-gradient(135deg,rgba(90,107,255,.22),rgba(0,227,255,.15));padding:36px 0 80px;overflow:hidden}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}
@media (max-width:1100px){.hero{grid-template-columns:1fr}}
.hero__img{width:100%;height:auto;border-radius:24px;border:1px solid var(--border)}
.hero__bubble{max-width:720px;border-radius:28px}
.display{font-size:48px;line-height:1.05;margin:0 0 12px}
@media (max-width:1100px){.display{font-size:34px}}
.lead{font-size:18px;margin:6px 0 10px}
.pill-row{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.chip{display:inline-block;border-radius:999px;border:1px solid var(--border);padding:6px 10px;background:#fff;font-weight:700}

/* WAVES */
.wave{position:relative;height:80px}
.wave--bottom{margin-top:36px;background:
 radial-gradient(100% 80% at 50% 0, rgba(10,20,70,.12) 0, rgba(10,20,70,0) 70%)}
.cta-wrap{position:relative;background:linear-gradient(180deg,rgba(0,227,255,.12),rgba(90,107,255,.18));padding:40px 0}
.wave--top{background:
 radial-gradient(100% 80% at 50% 100%, rgba(10,20,70,.12) 0, rgba(10,20,70,0) 70%)}

/* STRIP */
.strip-section{background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:14px 0}
@media (max-width:900px){.strip{grid-template-columns:1fr}}
.strip__item{background:#fff;border:1px solid var(--border);border-radius:999px;text-align:center;padding:10px 14px;font-weight:700}

/* STEPS */
.section{padding:46px 0}
.section.alt{background:var(--bg-alt)}
.section-title{margin:0 0 14px;font-size:30px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:900px){.steps{grid-template-columns:1fr}}
.step{display:flex;flex-direction:column;gap:8px}
.step__num{width:42px;height:42px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}
.step__img{width:100%;height:auto;border:1px solid var(--border);border-radius:14px}

/* FEATURES */
.features{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media (max-width:1100px){.features{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.features{grid-template-columns:1fr}}
.feature{display:flex;gap:14px;align-items:flex-start;padding:22px}
.feature__icon{width:64px;height:64px;object-fit:contain;flex:0 0 64px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.1))}

/* TRUST */
.trust{background:linear-gradient(180deg,#fff, #f7f9ff)}
.trust__row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:900px){.trust__row{grid-template-columns:1fr}}
.trust__badge{display:flex;gap:12px;align-items:center}
.trust__badge img{width:32px;height:32px}

/* FAQ */
.faq details{border:1px solid var(--border);border-radius:14px;padding:12px 14px;margin:10px 0;background:#fff}
.faq summary{cursor:pointer;font-weight:700}
.faq p{margin:8px 0 0}

/* CTA */
.cta{text-align:center;padding:28px}
.cta h2{margin-top:0}

/* FOOTER */
.site-footer{background:#0b1020;color:#c8d2ff;margin-top:40px}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px;padding:32px 0}
.footer__grid a{color:#e7ecff;margin:6px 0;display:block}
.logo--footer{font-weight:800;margin-bottom:8px;display:flex;align-items:center;gap:8px}
.footer__bar{border-top:1px solid rgba(255,255,255,.12);padding:12px 0;text-align:center;color:#a9b4ff}
.social .chip{background:#111733;color:#c8d2ff;border-color:#2a335a}

/* ==== HEADER BLUE THEME (overrides) ==== */
.site-header{
  background:linear-gradient(180deg,#5a6bff 0%, #4b59e6 100%) !important;
  border-bottom:none !important;
  box-shadow:0 8px 24px rgba(0,0,0,.18) !important;
}
.site-header .logo,
.site-header .logo span{ color:#fff !important; }
.site-header .logo img{ filter: none !important; }

.topnav a{
  color:#eaf0ff !important;
  text-decoration:none;
  transition:opacity .15s ease;
}
.topnav a:hover{ color:#ffffff !important; opacity:1; }

/* кнопка в шапке — под синий фон */
.topnav .btn{
  background:linear-gradient(90deg,#00e3ff,#48b7ff) !important;
  color:#07203a !important;
  border:none !important;
  box-shadow:0 10px 24px rgba(0,227,255,.35);
}
.topnav .btn:hover{ transform:translateY(-1px); }
.topnav .btn.outline{
  background:transparent !important;
  color:#eaf0ff !important;
  border:1px solid rgba(255,255,255,.65) !important;
}

/* чуть плотнее отступы, чтобы шапка «держала» фон */
.header__inner{ height:68px !important; }

/* на мобильных — ссылки и кнопка в одну строку */
@media (max-width:720px){
  .topnav a{ margin:0 8px; }
  .topnav .btn{ padding:10px 14px; }
}

.btn:disabled,.btn.disabled,fieldset:disabled .btn{cursor:not-allowed;pointer-events:none;opacity:.65}
.card{border-radius:12px}

/* --- Consent document styles --- */
.consent-wrap { padding: 2rem 1rem; }
.doc-card {
  background:#fff;
  border:1px solid #e6e6e6;
  border-radius:14px;
  box-shadow:0 10px 30px rgba(16,24,40,.08);
  padding:clamp(1.25rem,2.5vw,2.25rem);
  position:relative;
}
.doc-header {
  display:flex; align-items:center; gap:.75rem; margin-bottom:1rem;
}
.doc-badge { 
  font-weight:700; font-size:.9rem; letter-spacing:.06em;
  text-transform:uppercase; color:#7f56d9; background:#f4ebff;
  border:1px solid #e9d7ff; border-radius:999px; padding:.3rem .7rem;
}
.doc-title { font-size:clamp(1.4rem,2.6vw,2rem); margin:0; }
.doc-meta { color:#667085; font-size:.925rem; margin-bottom:1rem; }
.doc-body { font-size:1rem; line-height:1.7; color:#1f2937; }
.doc-body ol { counter-reset:item; padding-left:1.2rem; }
.doc-body li { margin:.65rem 0; }
.doc-panel {
  background:#fafafa; border:1px dashed #e5e7eb; border-radius:12px; padding:1rem 1.1rem;
  color:#374151; margin:1rem 0 1.25rem;
}
.doc-sign { display:flex; gap:1rem; align-items:center; margin-top:1.25rem; }
.doc-rule { height:1px; background:#eee; margin:1rem 0 1.25rem; }

/* Красная печать (SVG) */
.seal {
  position:absolute; right:20px; bottom:20px;
  width:120px; height:120px; opacity:.9;
  filter: drop-shadow(0 6px 14px rgba(220,38,38,.25));
  user-select:none; pointer-events:none;
}
@media (max-width: 480px) { .seal{ width:88px; height:88px; } }


/* === Papyrus / Scroll look for consent page === */
.consent-wrap{ padding:2rem 1rem; }
.scroll-shell{
  background: #f3efe6;
  border-radius: 16px;
  padding: clamp(1rem,2vw,1.5rem);
}
.parchment{
  position: relative;
  padding: clamp(1.5rem,3vw,2.25rem) clamp(1.2rem,2.2vw,2rem);
  color:#2b2620;
  font-size:1rem;
  line-height:1.8;
  background:
    radial-gradient(120% 70% at 50% -10%, rgba(255,255,255,.35), rgba(255,255,255,0) 60%),
    radial-gradient(130% 80% at 50% 110%, rgba(0,0,0,.05), rgba(0,0,0,0) 60%),
    linear-gradient(#f6f1e3,#f0ebdb);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.6),
    inset 0 -1px 0 rgba(0,0,0,.04),
    0 10px 25px rgba(0,0,0,.18);
  border: 1px solid #e3dcc8;
  border-radius: 10px;
  /* лёгкая «бумажная» текстура */
  background-image:
    radial-gradient(120% 70% at 50% -10%, rgba(255,255,255,.35), rgba(255,255,255,0) 60%),
    radial-gradient(130% 80% at 50% 110%, rgba(0,0,0,.05), rgba(0,0,0,0) 60%),
    repeating-linear-gradient(0deg, rgba(0,0,0,.02) 0 2px, rgba(0,0,0,0) 2px 6px),
    linear-gradient(#f6f1e3,#efe8d6);
}
.parchment:before, .parchment:after{
  content:""; position:absolute; left:0; right:0; height:18px; z-index:0;
  background: radial-gradient(70% 140% at 50% -40%, rgba(0,0,0,.18), transparent 60%);
  filter: blur(6px); opacity:.25;
}
.parchment:before{ top:-12px; }
.parchment:after{ bottom:-12px; transform: scaleY(-1); }

/* Верх/низ свитка (ролики) */
.scroll-ends{
  position: relative; height:22px; margin:0 auto 8px; width:100%;
}
.scroll-ends .rod{
  position:absolute; left:0; right:0; height:100%;
  background: linear-gradient(90deg,#caa76f,#e9c98b 40%, #b88f58 60%, #e9c98b 90%, #caa76f);
  border-radius: 999px;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.5), inset 0 -2px 0 rgba(0,0,0,.08), 0 4px 8px rgba(0,0,0,.12);
}
.scroll-ends .rod:before, .scroll-ends .rod:after{
  content:""; position:absolute; top:50%; transform:translateY(-50%);
  width:16px; height:16px; border-radius:50%;
  background: linear-gradient(#d6b381,#b18750);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 1px 2px rgba(0,0,0,.2);
}
.scroll-ends .rod:before{ left:-8px; }
.scroll-ends .rod:after{ right:-8px; }

/* заголовки в документе */
.doc-title{ font-family: ui-serif, Georgia, 'Times New Roman', serif; font-size:clamp(1.3rem,2.2vw,1.8rem); margin:0 0 .25rem; }
.doc-sub{ color:#6b5f4b; margin-bottom:.75rem; font-size:.95rem; }
.doc-body ol{ padding-left:1.1rem; }
.doc-body li{ margin:.55rem 0; }

/* печать */
.seal{
  position:absolute; right:16px; bottom:16px; width:120px; height:120px; opacity:.9;
  filter: drop-shadow(0 6px 16px rgba(220,38,38,.25));
  user-select:none; pointer-events:none;
}
@media (max-width:520px){ .seal{ width:86px; height:86px; } }

/* панель-предупреждение */
.notice{
  background:#fff4f4; border:1px solid #ffd4d4; color:#7a1e1e;
  padding:.75rem .9rem; border-radius:8px; margin:.5rem 0 1rem;
}

/* подписи */
.sign-lines{ display:flex; gap:1rem; margin-top:1.25rem; }
.sign-col{ flex:1; }
.sign-line{ height:40px; border-bottom:1px solid rgba(0,0,0,.15); }
.sign-hint{ color:#7c7567; font-size:.8rem; }


/* --- consent CTA states --- */
.btn-cta { transition: box-shadow .18s ease, transform .18s ease, opacity .18s ease; }
.btn-cta.enabled { 
  opacity: 1 !important; 
  box-shadow: 0 0 0 .25rem rgba(13,110,253,.25);
}
.btn-cta:disabled { opacity: .6; }

/* === Consent CTA highlight === */
#btnNext[disabled]{
  opacity:.55 !important;
  filter:saturate(.7);
  box-shadow:none !important;
  pointer-events:none !important;
}
#btnNext:not([disabled]){
  opacity:1 !important;
  filter:none;
  transform:translateY(-1px);
  box-shadow:0 0 0 .28rem rgba(13,110,253,.35) !important;
}

/* прогрессивное улучшение: если браузер поддерживает :has() */
@supports(selector(:has(*))){
  #consentForm:has(#agree:checked) #btnNext{
    opacity:1 !important;
    filter:none;
    transform:translateY(-1px);
    box-shadow:0 0 0 .28rem rgba(13,110,253,.35) !important;
  }
}

/* === CONSENT CTA: жёстко включаем кликабельность после снятия disabled === */
#btnNext[disabled]{
  opacity:.55 !important;
  filter:saturate(.7) brightness(.95);
  box-shadow:none !important;
  pointer-events:none !important;
  cursor:not-allowed !important;
}
#btnNext:not([disabled]){
  opacity:1 !important;
  filter:none !important;
  cursor:pointer !important;
  pointer-events:auto !important;
  transform:translateY(-1px);
  box-shadow:0 0 0 .3rem rgba(13,110,253,.35) !important;
}

/* на всякий случай перебиваем "глобальные disable-стили" для активной кнопки */
button.btn.btn-primary#btnNext:not([disabled]),
a.btn.btn-primary#btnNext:not([disabled]){
  pointer-events:auto !important;
  cursor:pointer !important;
}

/* свиток оставляем как есть */

/* anchor-look disabled state for consent CTA */
a.btn.btn-primary.btn-link-disabled{
  pointer-events:none !important;
  opacity:.55 !important;
  cursor:not-allowed !important;
  box-shadow:none !important;
}

/* Consent CTA (anchor) — по умолчанию блокирована, включается классом .is-enabled */
#btnNext{ transition: box-shadow .18s ease, transform .18s ease, opacity .18s ease; }
#btnNext.is-disabled{
  pointer-events: none !important;
  opacity: .55 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}
#btnNext.is-enabled{
  pointer-events: auto !important;
  opacity: 1 !important;
  cursor: pointer !important;
  transform: translateY(-1px);
  box-shadow: 0 0 0 .34rem rgba(13,110,253,.35) !important;
}

/* Печать крупнее */
.seal{ width: 180px; height: 180px; }
@media (max-width:520px){ .seal{ width: 120px; height: 120px; } }

/* Consent CTA states */
#btnNext:disabled{
  opacity:.55 !important;
  filter:saturate(.7) brightness(.95);
  pointer-events:none !important;
  cursor:not-allowed !important;
  box-shadow:none !important;
}
#btnNext:not(:disabled){
  opacity:1 !important;
  pointer-events:auto !important;
  cursor:pointer !important;
  transform:translateY(-1px);
  box-shadow:0 0 0 .34rem rgba(13,110,253,.35) !important;
}
/* На случай старых глобальных стилей, добьём специфичностью */
button.btn.btn-primary#btnNext:not(:disabled){ pointer-events:auto !important; cursor:pointer !important; }

/* усиление приоритета для активной кнопки согласия */
form#consentForm button.btn.btn-primary#btnNext:not(:disabled){
  opacity:1 !important;
  pointer-events:auto !important;
  cursor:pointer !important;
  transform:translateY(-1px);
  box-shadow:0 0 0 .36rem rgba(13,110,253,.35) !important;
}
.seal{ pointer-events:none !important; } /* на всякий */

/* --- FIX: ничего не должно перекрывать контент свитка --- */
.parchment{ position:relative; z-index:0; }
.parchment::before, .parchment::after{
  z-index:-1 !important;           /* под контент */
  pointer-events:none !important;   /* не ловят клики */
}
.seal{ pointer-events:none !important; }

/* Ряд с кнопкой + сама кнопка наверху и кликабельна */
.cta-row{ position:relative; z-index:5; }
#btnNext{
  position:relative; z-index:10;
  pointer-events:auto !important;
}
#btnNext:disabled{
  opacity:.55 !important; cursor:not-allowed !important; pointer-events:none !important; box-shadow:none !important;
}
#btnNext:not(:disabled){
  opacity:1 !important; cursor:pointer !important; pointer-events:auto !important;
  transform:translateY(-1px);
  box-shadow:0 0 0 .36rem rgba(13,110,253,.35) !important;
}

/* --- Consent CTA look without relying on disabled --- */
form#consentForm #btnNext{
  transition: box-shadow .18s ease, transform .18s ease, opacity .18s ease, filter .18s ease;
}

/* до галочки: визуально блеклая, но кликабельная (submit заблокирует required) */
form#consentForm:not(:has(#agree:checked)) #btnNext{
  opacity:.55; filter:saturate(.7) brightness(.95);
  box-shadow:none;
}

/* после галочки: яркая и «ожившая» */
form#consentForm:has(#agree:checked) #btnNext{
  opacity:1; filter:none;
  transform:translateY(-1px);
  box-shadow:0 0 0 .36rem rgba(13,110,253,.35);
}

/* подстраховка для старых браузеров без :has() — класс .on на форме */
form#consentForm:not(.on) #btnNext{
  opacity:.55; filter:saturate(.7) brightness(.95);
  box-shadow:none;
}
form#consentForm.on #btnNext{
  opacity:1; filter:none; transform:translateY(-1px);
  box-shadow:0 0 0 .36rem rgba(13,110,253,.35);
}

/* печать не перехватывает клики */
.seal{ pointer-events:none !important; }
.parchment{ position:relative; }
.parchment::before,.parchment::after{ pointer-events:none !important; }

/* Consent CTA: сильная визуалка */
form#consentForm button#btnNext.btn.btn-primary{
  transition: box-shadow .18s ease, transform .18s ease, opacity .18s ease, filter .18s ease;
}

/* до галки — блеклая */
form#consentForm:not(.on) button#btnNext.btn.btn-primary{
  opacity:.55 !important;
  filter:saturate(.7) brightness(.95) !important;
  box-shadow:none !important;
}

/* после галки — яркая */
form#consentForm.on button#btnNext.btn.btn-primary{
  opacity:1 !important;
  filter:none !important;
  transform:translateY(-1px);
  box-shadow:0 0 0 .36rem rgba(13,110,253,.35) !important;
}

/* печать/декор не перехватывают клики */
.seal{ pointer-events:none !important; }
.parchment{ position:relative; }
.parchment::before,.parchment::after{ pointer-events:none !important; z-index:-1 !important; }

/* ---- Consent: простая и надёжная визуалка ---- */
.parchment{ position:relative; }
.parchment::before,.parchment::after{ pointer-events:none !important; z-index:-1 !important; }
.seal{ pointer-events:none !important; }

/* Кнопка всегда кликабельна. Визуально бледная пока нет галки */
form#consentForm #btnNext{
  transition: box-shadow .18s ease, transform .18s ease, opacity .18s ease, filter .18s ease;
  pointer-events: auto !important;
  cursor: pointer !important;
}

/* До галки — бледная (только визуально) */
@supports(selector(:has(*))){
  form#consentForm:not(:has(#agree:checked)) #btnNext{
    opacity:.55; filter:saturate(.7) brightness(.95); box-shadow:none;
  }
  form#consentForm:has(#agree:checked) #btnNext{
    opacity:1; filter:none; transform:translateY(-1px);
    box-shadow:0 0 0 .36rem rgba(13,110,253,.35);
  }
}

/* Фолбэк для старых браузеров: всегда яркая (главное — работает) */

/* ===== Auth Register Styles ===== */
.auth-wrap { padding: 2.25rem 1rem; }
.auth-card {
  background:#fff; border:1px solid #eef0f3; border-radius:16px;
  box-shadow:0 14px 44px rgba(16,24,40,.08);
  padding:clamp(1.25rem,2.2vw,2rem);
}
.auth-head { display:flex; align-items:center; gap:.6rem; margin-bottom:1rem; }
.auth-kicker {
  font-weight:700; font-size:.85rem; letter-spacing:.08em; text-transform:uppercase;
  color:#7f56d9; background:#f4ebff; border:1px solid #e9d7ff; border-radius:999px; padding:.25rem .55rem;
}
.auth-title { margin:0; font-size:clamp(1.4rem,2.4vw,1.9rem); }
.auth-sub { color:#475467; margin:.25rem 0 1rem; }

.form-label { font-weight:600; color:#101828; }
.form-text { color:#667085; }

.input-group.auth-pass { position:relative; }
.pass-toggle {
  position:absolute; right:.4rem; top:50%; transform:translateY(-50%);
  border:1px solid #e5e7eb; background:#fff; border-radius:8px; padding:.25rem .6rem;
  font-size:.875rem; line-height:1; cursor:pointer;
}
.pass-toggle:focus { outline:2px solid rgba(127,86,217,.35); }

.meter { height:6px; border-radius:999px; background:#f1f5f9; overflow:hidden; margin:.35rem 0 .25rem; }
.meter > i { display:block; height:100%; width:0%; transition:width .25s ease; }
.meter-1 > i { background:#ef4444; } /* weak */
.meter-2 > i { background:#f59e0b; } /* ok */
.meter-3 > i { background:#10b981; } /* good */

.help-box{
  background:#f8fafc; border:1px dashed #e5e7eb; border-radius:12px;
  padding:.75rem .9rem; color:#374151; font-size:.95rem;
}
.auth-actions{ display:flex; gap:.6rem; align-items:center; margin-top:.75rem; }
.auth-actions .btn-primary{
  box-shadow:0 0 0 .28rem rgba(13,110,253,.20);
}

/* ====== REG PAGE – COMFORT UI UPLIFT ====== */

/* 1) Базовая типографика: крупнее и чище */
html { font-size: 18px; }                /* было 16 → стало 18 */
body { font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif; }
h1,h2,h3 { letter-spacing:-.01em; }

/* 2) Карточка формы: больше «воздуха» */
.auth-wrap { padding: clamp(1.25rem, 4vw, 2.25rem) 1rem; }
.auth-card {
  border-radius: 18px;
  padding: clamp(1.25rem, 3.2vw, 2.25rem);
  border: 1px solid #e9eef5;
  box-shadow: 0 18px 50px rgba(16,24,40,.10);
}
.auth-title { font-size: clamp(2rem, 3vw, 2.35rem); font-weight: 800; }
.auth-sub   { font-size: 1.05rem; color:#475467; }

/* 3) Поля ввода: выше/крупнее, приятный фокус */
.form-label { font-weight: 650; color:#111827; font-size:1.02rem; }
.form-control,
.form-select {
  font-size: 1.05rem;
  padding: .85rem 1rem;                 /* высота ~48–52px */
  line-height: 1.25;
  border-radius: 12px;
  border: 1.5px solid #e5e7eb;
  background:#fff;
}
.form-control:focus,
.form-select:focus {
  border-color:#6366f1 !important;
  box-shadow: 0 0 0 .32rem rgba(99,102,241,.25) !important;
  outline: none;
}
.input-group.auth-pass .pass-toggle{
  font-size:.95rem;
  padding:.4rem .7rem;
  border-radius:10px;
}

/* 4) Подсказки и интервалы между блоками */
.form-text { font-size:.98rem; color:#64748b; }
.auth-card .mb-3{ margin-bottom: 1.1rem; }
.help-box{
  font-size: 1rem; border-radius: 12px;
  background:#f8fafc; border:1px dashed #dfe5ec;
}

/* 5) Кнопки: крупнее/контрастнее */
.btn { font-weight: 650; border-radius: 12px; }
.btn.btn-primary{
  font-size: 1.05rem;
  padding: .85rem 1.15rem;              /* высота ~48–50px */
  min-height: 48px;
  box-shadow: 0 0 0 .28rem rgba(59,130,246,.20);
}
.btn.btn-light{
  font-size: 1.02rem;
  padding: .80rem 1.05rem;
  min-height: 48px;
}

/* 6) Индикатор силы пароля: толще */
.meter{ height:8px; border-radius:999px; }
.meter > i{ transition: width .25s ease; }

/* 7) Небольшая адаптация под мобильные */
@media (max-width: 480px){
  html{ font-size: 17px; }              /* чуть меньше, чтобы всё помещалось */
  .auth-card{ padding: 1.25rem; }
}

/* === Center the register card and limit width === */
.auth-page { display:flex; justify-content:center; }
.auth-shell { width:100%; max-width: 640px; margin: 0 auto; }
@media (max-width: 420px){ .auth-shell{ max-width: 100%; } }

/* eye toggle inside password input */
.input-group.auth-pass{ position:relative; }
.pass-eye{
  position:absolute; right:8px; top:50%; transform:translateY(-50%);
  width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--pro-border, #e7eaf0); background:#fff; border-radius:10px;
  cursor:pointer; padding:0; outline:0;
}
.pass-eye:focus{ box-shadow:0 0 0 .22rem rgba(99,102,241,.25); }
.pass-eye svg{ width:20px; height:20px; }

/* === Password eye inside input === */
.input-group.auth-pass{ position:relative; }
.input-group.auth-pass input.form-control#password{
  padding-right: 52px;            /* место под иконку */
}
.pass-eye{
  position:absolute; top:50%; right:10px; transform:translateY(-50%);
  width:36px; height:36px;
  display:inline-flex; align-items:center; justify-content:center;
  border:none; background:transparent; cursor:pointer;
  color:#475467;
}
.pass-eye:hover{ color:#111827; }
.pass-eye:focus{ outline:0; box-shadow:0 0 0 .22rem rgba(99,102,241,.25); border-radius:8px; }
.pass-eye svg{ width:20px; height:20px; display:block; }

/* === password eye inside inputs (both) === */
.input-group.auth-pass{ position:relative; }
.input-group.auth-pass input.form-control#password,
.input-group.auth-pass input.form-control#password2{
  padding-right: 48px; /* space for eye */
}
.pass-eye{
  position:absolute; right:10px; top:50%; transform:translateY(-50%);
  width:34px; height:34px;
  display:inline-flex; align-items:center; justify-content:center;
  border:none; background:transparent; cursor:pointer; color:#475467;
}
.pass-eye:hover{ color:#111827; }
.pass-eye:focus{ outline:0; box-shadow:0 0 0 .22rem rgba(99,102,241,.25); border-radius:8px; }
.pass-eye svg{ width:20px; height:20px; display:block; }

/* precise inline eye position */
.auth-pass { position: relative; }
.auth-pass input.form-control {
  padding-right: 48px !important;
}
.auth-pass .pass-eye {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  cursor: pointer;
  color: #475467;
}
.auth-pass .pass-eye:hover { color: #111827; }
.auth-pass .pass-eye svg {
  width: 20px;
  height: 20px;
  display: block;
}

/* --- password eye: inside input container --- */
.auth-pass{ position:relative; }
.auth-pass > input.form-control{ padding-right:52px !important; }
.auth-pass > button.pass-eye{
  position:absolute; right:10px; top:50%; transform:translateY(-50%);
  width:36px; height:36px; display:flex; align-items:center; justify-content:center;
  border:none; background:transparent; cursor:pointer; color:#475467;
}
.auth-pass > button.pass-eye:hover{ color:#111827; }
.auth-pass > button.pass-eye svg{ width:20px; height:20px; display:block; }

/* ==== PASSWORD EYE (override) ==== */
.auth-pass{ position:relative !important; }
.auth-pass > input.form-control{
  padding-right: 52px !important;
}
.auth-pass > button.pass-eye{
  position:absolute !important;
  right:10px !important; top:50% !important; transform:translateY(-50%) !important;
  width:36px !important; height:36px !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  border:none !important; background:transparent !important; box-shadow:none !important;
  cursor:pointer !important; color:#475467 !important;
}
.auth-pass > button.pass-eye:hover{ color:#111827 !important; }
.auth-pass > button.pass-eye svg{ width:20px !important; height:20px !important; display:block !important; }

/* ==== password eye (final, robust) ==== */
.auth-pass{ position:relative !important; }
.auth-pass > input.form-control{ padding-right:52px !important; }
.auth-pass > .pass-eye{
  position:absolute !important;
  right:10px; top:50%; transform:translateY(-50%);
  width:36px; height:36px;
  display:flex; align-items:center; justify-content:center;
  border:none; background:transparent; cursor:pointer;
  color:#475467;
}
.auth-pass > .pass-eye:hover{ color:#111827; }
.auth-pass > .pass-eye svg{ width:20px; height:20px; }
.pass-eye .eye-off{ display:none; }
.pass-eye[data-shown="true"] .eye-open{ display:none; }
.pass-eye[data-shown="true"] .eye-off { display:block; }

/* ==== EYE FIX v1 ==== */
/* все возможные чужие глазки (bootstrap, fontawesome, remix, etc.) */
.bi-eye, .bi-eye-slash,
.fa-eye, .fa-eye-slash,
.ri-eye-line, .ri-eye-off-line,
.icon-eye, .icon-eye-off {
  pointer-events: none !important;
  opacity: 0 !important;
  width: 0 !important; height: 0 !important;
  overflow: hidden !important;
}

/* наш глаз — всегда над всем и кликабельный */
.auth-pass{ position:relative !important; }
.auth-pass > input.form-control{ padding-right: 56px !important; }
.auth-pass > .pass-eye{
  position:absolute !important; right:10px !important; top:50% !important; transform:translateY(-50%) !important;
  width:36px !important; height:36px !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  border:1px solid rgba(17,24,39,.12) !important; background:#fff !important; border-radius:10px !important;
  cursor:pointer !important; color:#475467 !important; z-index: 1000 !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.06) !important;
}
.auth-pass > .pass-eye svg{ width:20px !important; height:20px !important; display:block !important; }
.auth-pass > .pass-eye:hover{ color:#111827 !important; }

/* === auth register eye (CSP-safe) === */
.auth-pass{ position:relative !important; }
.auth-pass > input.form-control{ padding-right:56px !important; }
.auth-pass > .pass-eye{
  position:absolute !important; right:10px !important; top:50% !important; transform:translateY(-50%) !important;
  width:36px !important; height:36px !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  border:1px solid rgba(17,24,39,.12) !important; background:#fff !important; border-radius:10px !important;
  cursor:pointer !important; color:#475467 !important; z-index:1000 !important;
  box-shadow:0 1px 2px rgba(0,0,0,.06) !important;
}
.auth-pass > .pass-eye svg{ width:20px !important; height:20px !important; display:block !important; }

/* вырубаем сторонние глазки */
.bi-eye, .bi-eye-slash, .fa-eye, .fa-eye-slash,
.ri-eye-line, .ri-eye-off-line, .icon-eye, .icon-eye-off {
  pointer-events:none !important; opacity:0 !important; width:0 !important; height:0 !important; overflow:hidden !important;
}
/* === Register page polish === */
/* на странице регистрации скрыть любые svg-иконки в подсказках под полями */
.auth-page .form-text svg { display: none !important; }

/* подстраховка: отключить клики у любых внешних иконок-глаз */
.auth-page .bi-eye, .auth-page .bi-eye-slash,
.auth-page .fa-eye, .auth-page .fa-eye-slash,
.auth-page .ri-eye-line, .auth-page .ri-eye-off-line,
.auth-page .icon-eye, .auth-page .icon-eye-off {
  pointer-events: none !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}
/* === enforce single-eye per field === */
.auth-pass{ position:relative !important; }
.auth-pass > input.form-control{ padding-right:56px !important; }
.auth-pass > .pass-eye{
  position:absolute !important; right:10px !important; top:50% !important; transform:translateY(-50%) !important;
  width:36px !important; height:36px !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  border:1px solid rgba(17,24,39,.12) !important; background:#fff !important; border-radius:10px !important;
  cursor:pointer !important; z-index:1000 !important; box-shadow:0 1px 2px rgba(0,0,0,.06) !important;
}
.auth-pass > .pass-eye svg{ width:20px !important; height:20px !important; }

/* показываем ТОЛЬКО один svg — через класс .show-text на кнопке */
.pass-eye .eye-open{ display:block !important; }
.pass-eye .eye-off { display:none  !important; }
.pass-eye.show-text .eye-open{ display:none  !important; }
.pass-eye.show-text .eye-off { display:block !important; }

/* убрать любые посторонние глазки рядом */
.auth-page .form-text svg,
.auth-page .bi-eye, .auth-page .bi-eye-slash,
.auth-page .fa-eye, .auth-page .fa-eye-slash,
.auth-page .ri-eye-line, .auth-page .ri-eye-off-line,
.auth-page .icon-eye, .auth-page .icon-eye-off {
  display:none !important; pointer-events:none !important; width:0 !important; height:0 !important; opacity:0 !important;
}
/* === single eye enforce (strong) === */
.auth-pass > .pass-eye .eye-open,
.auth-pass > .pass-eye .eye-off { display:none !important; }

.auth-pass > .pass-eye.state-hide .eye-open{ display:block !important; } /* input type=password -> открыт глаз */
.auth-pass > .pass-eye.state-show .eye-off { display:block !important; } /* input type=text     -> перечёркнут */

/* подстраховка: любые чужие глазки вне кнопки скрыть */
.auth-page .form-text svg,
.auth-page .bi-eye, .auth-page .bi-eye-slash,
.auth-page .fa-eye, .auth-page .fa-eye-slash,
.auth-page .ri-eye-line, .auth-page .ri-eye-off-line,
.auth-page .icon-eye, .auth-page .icon-eye-off {
  display:none !important; pointer-events:none !important; width:0 !important; height:0 !important; opacity:0 !important;
}
/* === register: single-eye control === */
.auth-pass{ position:relative !important; }
.auth-pass > input.form-control{ padding-right:56px !important; }
.auth-pass > .pass-eye{
  position:absolute !important; right:10px !important; top:50% !important; transform:translateY(-50%) !important;
  width:36px !important; height:36px !important; display:flex !important; align-items:center !important; justify-content:center !important;
  border:1px solid rgba(17,24,39,.12) !important; background:#fff !important; border-radius:10px !important;
  cursor:pointer !important; z-index:1000 !important; box-shadow:0 1px 2px rgba(0,0,0,.06) !important;
}
.auth-pass > .pass-eye svg{ width:20px !important; height:20px !important; }
/* показывать ровно один svg */
.auth-pass > .pass-eye .eye-open, .auth-pass > .pass-eye .eye-off { display:none !important; }
.auth-pass > .pass-eye.state-hide .eye-open{ display:block !important; } /* type=password -> открыт */
.auth-pass > .pass-eye.state-show .eye-off { display:block !important; } /* type=text     -> перечёркнут */
/* на всякий случай — режем сторонние "глаза" вне нашей кнопки */
.auth-page .bi-eye, .auth-page .bi-eye-slash,
.auth-page .fa-eye, .auth-page .fa-eye-slash,
.auth-page .ri-eye-line, .auth-page .ri-eye-off-line,
.auth-page .icon-eye, .auth-page .icon-eye-off {
  display:none !important; pointer-events:none !important;
}
/* gating for register submit */
.btn[disabled], button[disabled]{
  opacity:.6 !important;
  cursor:not-allowed !important;
  pointer-events:none !important;
}
/* === LOGO ORIENTATION FIX === */
.site-header .logo,
.site-header .logo * ,
.logo--footer,
.logo--footer *{
  transform: none !important;
  -webkit-transform: none !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}
/* === LOGO ORIENTATION & PSEUDO FIX === */
.site-header .logo,
.site-header .logo *,
.logo--footer,
.logo--footer *{
  transform: none !important;
  -webkit-transform: none !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

/* Убираем псевдо-элементы, которые могут рисовать "иконку" поверх */
.site-header .logo::before,
.site-header .logo::after,
.logo--footer::before,
.logo--footer::after{
  content: none !important;
  transform: none !important;
  -webkit-transform: none !important;
  filter: none !important;
}

/* Явно фиксируем размеры иконки в шапке/футере */
.site-header .logo img,
.logo--footer img{
  width: 24px !important;
  height: 24px !important;
  transform: none !important;
  filter: none !important;
}
/* === FINAL LOGO MIRROR FIX === */
.site-header .logo img,
.logo--footer img {
  transform: scaleX(1) !important;
  -webkit-transform: scaleX(1) !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}
/* === FIX: prevent mirrored S in trust badges === */
.trust__badge img,
.trust__badge .feature__icon,
img[src*="favicon.svg"] {
  transform: scaleX(1) !important;
  -webkit-transform: scaleX(1) !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}
/* ==== PW EYE FIX ==== */
.auth-pass{ position:relative; overflow:visible; }
.auth-pass input.form-control,
.auth-pass input[type="password"]{
  padding-right:52px !important;
  position:relative; z-index:1;
}
.auth-pass .pass-eye{
  position:absolute; right:10px; top:50%;
  transform:translateY(-50%);
  width:36px; height:36px;
  display:flex; align-items:center; justify-content:center;
  background:transparent; border:none; cursor:pointer;
  color:#475467;
  z-index:2;               /* выше инпута */
  pointer-events:auto;     /* кликается поверх инпута */
}
.auth-pass .pass-eye .eye-open{ display:block; }
.auth-pass .pass-eye .eye-off { display:none; }
/* ==== /PW EYE FIX ==== */
/* ==== PW EYE FIX (глобально) ==== */
.auth-pass{ position:relative; overflow:visible; }
.auth-pass input.form-control,
.auth-pass input[type="password"],
.auth-pass input[type="text"]{
  padding-right:52px !important;
  position:relative;
  z-index:1;
}
.auth-pass .pass-eye{
  position:absolute; right:10px; top:50%;
  transform:translateY(-50%);
  width:36px; height:36px;
  display:flex; align-items:center; justify-content:center;
  background:transparent; border:none; cursor:pointer;
  color:#475467;
  z-index:2; pointer-events:auto;
}
.auth-pass .pass-eye .eye-open{ display:block; }
.auth-pass .pass-eye .eye-off { display:none; }
/* ==== /PW EYE FIX ==== */
/* ==== PW_EYE_FIX_START ==== */
.auth-pass{ position:relative; overflow:visible; }
.auth-pass input.form-control,
.auth-pass input[type="password"],
.auth-pass input[type="text"]{
  padding-right:52px !important;
  position:relative;
  z-index:1;
}
.auth-pass .pass-eye{
  position:absolute; right:10px; top:50%;
  transform:translateY(-50%);
  width:36px; height:36px;
  display:flex; align-items:center; justify-content:center;
  background:transparent; border:none; cursor:pointer;
  color:#475467;
  z-index:2; pointer-events:auto;
}
.auth-pass .pass-eye .eye-open{ display:block; }
.auth-pass .pass-eye .eye-off { display:none; }
/* ==== PW_EYE_FIX_END ==== */
/* EYE STYLES */
.auth-pass .pass-eye svg path,
.auth-pass .pass-eye svg circle { stroke: #222 !important; stroke-width: 2; }
.auth-pass .pass-eye:hover svg path,
.auth-pass .pass-eye:hover svg circle { stroke: #000 !important; }
.auth-pass .pass-eye { background: #f9f9f9 !important; border-radius: 50%; border: 1px solid #ccc; }
.auth-pass .pass-eye:hover { background: #e5e5e5 !important; border-color: #999; }

.auth-pass{position:relative;display:inline-block;width:100%}
.auth-pass .form-control{padding-right:52px}
.auth-pass .pass-eye{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);
  width:36px;height:36px;display:flex;align-items:center;justify-content:center;
  border:0;background:transparent;cursor:pointer;color:#475467;z-index:3
}
.auth-pass .pass-eye .eye-open{display:block}
.auth-pass .pass-eye .eye-off{display:none}
/* EYE DEBUG (temporary) */
.auth-pass .pass-eye{ outline:2px dashed #d33 !important; background:rgba(220,0,0,.06)!important; }
/* ==== EYE FIX (auth-pass) ==== */
.auth-pass{position:relative;display:block;width:100%}
.auth-pass .form-control{
  position:relative; /* чтобы z-index работал */
  z-index:1;
  padding-right:52px !important; /* место под кнопку */
}
.auth-pass .pass-eye{
  position:absolute; right:10px; top:50%; transform:translateY(-50%);
  width:36px; height:36px;
  display:flex; align-items:center; justify-content:center;
  background:transparent; border:0; cursor:pointer;
  color:#475467; z-index:3; /* выше, чем input */
}
.auth-pass .pass-eye svg{display:block; width:20px; height:20px}
.auth-pass .pass-eye svg path,
.auth-pass .pass-eye svg circle{stroke:#475467 !important}
.auth-pass .pass-eye .eye-open{display:block}
.auth-pass .pass-eye .eye-off{display:none}
/* ================================= */
/* ==== EYE VISIBILITY FIX ==== */
.auth-pass .pass-eye svg path,
.auth-pass .pass-eye svg circle {
  stroke: #2f2f2f !important;
  stroke-width: 2;
}
.auth-pass .pass-eye:hover svg path,
.auth-pass .pass-eye:hover svg circle {
  stroke: #000 !important;
}
.auth-pass .pass-eye {
  filter: drop-shadow(0 0 1px rgba(0,0,0,.3));
}
/* ================================= */

/* ==== FINAL FIX: контрастный глаз и hover ==== */
.auth-pass .pass-eye svg path,
.auth-pass .pass-eye svg circle {
  stroke: #333 !important;
  stroke-width: 2;
}

.auth-pass .pass-eye:hover svg path,
.auth-pass .pass-eye:hover svg circle {
  stroke: #000 !important;
}

.auth-pass .pass-eye {
  background-color: #f8f8f8 !important;
  border-radius: 50%;
  border: 1px solid #ccc;
  filter: drop-shadow(0 0 1px rgba(0,0,0,.3));
}

.auth-pass .pass-eye:hover {
  background-color: #e0e0e0 !important;
  border-color: #999;
}
/* ============================================= */
/* === EYE FIX HARD === */
.auth-pass{position:relative !important;}
.auth-pass .form-control{padding-right:56px !important;}

.auth-pass .pass-eye{
  position:absolute !important;
  right:10px !important; top:50% !important; transform:translateY(-50%) !important;
  width:36px !important; height:36px !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  border:0 !important; background:transparent !important;
  color:#111 !important; /* currentColor для SVG */
  z-index:50 !important;
}

.auth-pass .pass-eye svg{
  width:20px !important; height:20px !important;
  display:block !important; opacity:1 !important; visibility:visible !important;
}

.auth-pass .pass-eye svg path,
.auth-pass .pass-eye svg circle{
  stroke:#111 !important; /* контрастная обводка */
  fill:none !important; stroke-width:2 !important;
}

.auth-pass .pass-eye .eye-open{display:block !important;}
.auth-pass .pass-eye .eye-off{display:none !important;}
.auth-pass .pass-eye:hover{color:#000 !important;}
/* === /EYE FIX HARD === */
/* EYE — remove debug outlines and ensure visibility */
.auth-pass .pass-eye{ outline:none !important; border:none !important; box-shadow:none !important; }
.auth-pass .pass-eye:focus{ outline:none !important; box-shadow:none !important; }
.auth-pass .pass-eye svg path,
.auth-pass .pass-eye svg circle{ stroke:currentColor !important; }
/* на всякий — чтобы ничто не перекрывало кнопку */
.auth-pass{ position:relative !important; }
.auth-pass .pass-eye{ position:absolute !important; right:10px !important; top:50% !important; transform:translateY(-50%) !important; z-index:50 !important; }
.auth-pass .form-control{ padding-right:56px !important; }
/* register: only the checkbox box is clickable */
#registerForm .form-check-label { pointer-events: none; }
#registerForm .form-check-input { pointer-events: auto; position: relative; z-index: 1; }
