/* РешуОнлайн 2026 — unified editorial design system */
:root{
  --violet:#7047f5;
  --violet-dark:#4b29bd;
  --violet-light:#f1edff;
  --violet-mid:#d9ceff;
  --navy:#17161c;
  --navy-2:#282630;
  --navy-3:#484551;
  --bg:#f7f6f1;
  --bg-2:#efeee8;
  --bg-3:#e8e6df;
  --bg-4:#dedbd2;
  --text:#17161c;
  --text-2:#5f5b67;
  --text-3:#8c8792;
  --text-4:#c8c4cb;
  --border:#dedbd3;
  --border-2:#c9c5bc;
  --acid:#cfff67;
  --coral:#ff806c;
  --blue:#7dbdf8;
  --green:#16a36a;
  --green-light:#e9f8f0;
  --green-dark:#087a4c;
  --amber:#d68a13;
  --amber-light:#fff3cd;
  --red:#d94d50;
  --red-light:#fff0ef;
  --blue-light:#eaf4ff;
  --shadow-xs:0 1px 0 rgba(23,22,28,.05);
  --shadow-sm:0 8px 22px rgba(23,22,28,.06);
  --shadow:0 14px 34px rgba(23,22,28,.08);
  --shadow-md:0 22px 48px rgba(23,22,28,.10);
  --shadow-lg:0 34px 80px rgba(23,22,28,.13);
  --shadow-violet:0 12px 30px rgba(112,71,245,.22);
  --shadow-violet-lg:0 20px 46px rgba(112,71,245,.3);
  --r-sm:10px;
  --r:14px;
  --r-md:18px;
  --r-lg:24px;
  --r-xl:30px;
  --r-2xl:38px;
  --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --serif:Georgia,'Times New Roman',serif;
  --t:all .22s cubic-bezier(.22,1,.36,1);
}

html{scroll-behavior:smooth;background:var(--bg)}
body{background:var(--bg);letter-spacing:-.012em}
::selection{background:var(--violet);color:#fff}
.page-main{overflow:hidden}
.container{max-width:1480px;padding-left:32px;padding-right:32px}
.container-sm{max-width:840px}.container-xs{max-width:620px}

/* Brand */
.brand-mark{
  width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  background:var(--violet);color:#fff;box-shadow:0 9px 24px rgba(112,71,245,.28);
}
.brand-word{font-weight:400;letter-spacing:-.045em;color:var(--text)}
.brand-word strong{font-weight:900}.brand-word-inline{font-size:inherit}
.footer-word{font-size:20px;color:#fff}.footer-word .brand-regular{color:#fff}

/* Navigation */
.nav{
  top:0;background:rgba(247,246,241,.88);border-color:rgba(23,22,28,.09);
  backdrop-filter:blur(22px) saturate(145%);
}
.nav-inner{max-width:1480px;padding:14px 32px}
.nav-logo{font-size:18px;gap:11px}.nav-links{gap:14px}
.nav-links a{padding:8px 5px;border-radius:0;color:var(--text);font-size:13px;font-weight:700;position:relative}
.nav-links a::after{content:"";position:absolute;left:5px;right:100%;bottom:2px;height:1px;background:var(--text);transition:var(--t)}
.nav-links a:hover{background:transparent}.nav-links a:hover::after{right:5px}
.nav-actions .btn{min-height:40px}
.nav-mobile{background:var(--bg);border-color:var(--border)}

/* Typography */
.display-1{font-size:clamp(58px,7.5vw,124px);font-weight:900;letter-spacing:-.072em;line-height:.84}
.display-2{font-size:clamp(48px,6vw,96px);font-weight:900;letter-spacing:-.067em;line-height:.9}
.h1{font-size:clamp(40px,5vw,74px);font-weight:900;letter-spacing:-.06em;line-height:.94}
.h2{font-size:clamp(30px,3.4vw,54px);font-weight:900;letter-spacing:-.052em;line-height:.98}
.h3{font-size:20px;font-weight:800;letter-spacing:-.03em}
.lead{font-size:clamp(17px,1.5vw,21px);line-height:1.48;letter-spacing:-.025em}
.section-eyebrow{
  color:var(--text-2);font-size:11px;letter-spacing:.14em;margin-bottom:18px;
}
.section-eyebrow::before{width:26px;height:1px;background:var(--text-2)}

/* Buttons */
.btn{min-height:44px;padding:0 22px;border-radius:999px;font-weight:800;letter-spacing:-.02em}
.btn-primary{background:var(--violet);box-shadow:none}
.btn-primary:hover{background:var(--violet-dark);transform:translateY(-2px);box-shadow:var(--shadow-violet)}
.btn-secondary{background:transparent;border-color:var(--border-2)}
.btn-secondary:hover{background:#fff;border-color:var(--text)}
.btn-dark{background:var(--navy)}.btn-lg{min-height:54px;padding:0 28px}
.btn-sm{min-height:38px;padding:0 17px}.btn-xs{min-height:32px}

/* Page rhythm and surfaces */
.section{padding:104px 0}.section-sm{padding:64px 0}.section-lg{padding:136px 0}
.section-header{margin-bottom:58px}
.card,.form-card,.quote-card{
  background:rgba(255,255,255,.74);border:1px solid rgba(23,22,28,.10);
  border-radius:var(--r-xl);box-shadow:none;
}
.card{padding:28px}.card-xl{padding:44px}
.card-hover:hover,.prod-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(112,71,245,.4)}
.stat-card{
  background:rgba(255,255,255,.72)!important;border:1px solid var(--border)!important;
  border-radius:26px!important;padding:24px!important;box-shadow:none!important;
}
.stat-value{font-size:38px!important;font-weight:900!important;letter-spacing:-.055em}
.stat-icon{border-radius:14px!important}
.prod-card{
  min-height:270px;background:#fff;border:1px solid var(--border);border-radius:28px;
  padding:24px;display:flex;flex-direction:column;gap:16px;transition:var(--t);box-shadow:none;
}
.prod-icon{width:48px;height:48px;border-radius:14px;background:var(--violet-light)}
.prod-name{font-size:21px;font-weight:900;letter-spacing:-.04em}
.prod-desc{font-size:13px;line-height:1.5;color:var(--text-2)}
.prod-arrow{margin-top:auto;color:var(--violet);font-size:12px;font-weight:800}

/* Forms: shared and legacy product flows */
.input,.field-input,.form-input,
.field-group input,.field-group select,
.field input,.field select,.field textarea,
input[type="text"],input[type="tel"],input[type="email"],input[type="number"],input[type="date"],input[type="password"],select,textarea{
  background:rgba(255,255,255,.78)!important;border:1px solid var(--border-2)!important;
  border-radius:15px!important;min-height:48px;color:var(--text)!important;outline:none;
  transition:border-color .2s,box-shadow .2s,background .2s;
}
.input:focus,.field-input:focus,.form-input:focus,
.field-group input:focus,.field-group select:focus,
.field input:focus,.field select:focus,select:focus,textarea:focus,input:focus{
  border-color:var(--violet)!important;background:#fff!important;
  box-shadow:0 0 0 4px rgba(112,71,245,.10)!important;
}
.field-label,.form-label,.field-group label,.field label{color:var(--text-2)!important;font-weight:700!important}
.k-wrap,.vzr-wrap{max-width:820px!important;padding-top:58px!important}
.k-title,.vzr-title{font-size:clamp(38px,6vw,66px)!important;line-height:.94!important;letter-spacing:-.055em!important;color:var(--text)!important}
.k-sub,.vzr-subtitle{font-size:17px!important;color:var(--text-2)!important}
.k-wrap .card,.vzr-wrap .card,.form-card{
  background:#fff!important;border:1px solid var(--border)!important;border-radius:28px!important;
  padding:30px!important;box-shadow:none!important;
}
.steps,.step-bar{box-shadow:none!important;background:var(--bg-3)!important;padding:4px!important;border-radius:999px!important}
.step-pill,.step-bar .s{border-radius:999px!important}
.step-pill{background:transparent!important;color:var(--text-3)!important}
.step-pill.active{background:var(--violet)!important;color:#fff!important}
.step-pill.done{background:var(--navy)!important;color:#fff!important}
.prog-step{border-radius:999px!important}
.offer-card,.amount-chip,.country-pill,.opt-item,.driver-block,.tourist-card{
  border-color:var(--border)!important;border-radius:18px!important;background:rgba(255,255,255,.72)!important;
}
.offer-card:hover,.offer-card.selected,.offer-card.chosen,.amount-chip:hover,.amount-chip.selected,.country-pill.selected,.opt-item:hover{
  border-color:var(--violet)!important;background:var(--violet-light)!important;box-shadow:none!important;
}
.offer-price,.price{color:var(--violet)!important}
.btn-pay,.btn-calc,.add-btn{border-radius:999px!important}
.dropdown{border-color:var(--border)!important;border-radius:16px!important;box-shadow:var(--shadow-md)!important}
.dropdown-item:hover,.dropdown-item.selected{background:var(--violet-light)!important}

/* Dedicated catalog and finance surfaces */
.cat-hero,.finance-hero{
  background:var(--bg)!important;color:var(--text)!important;padding:84px 0 58px!important;
  border-bottom:1px solid var(--border);
}
.cat-hero h1,.finance-hero h1{font-size:clamp(48px,6vw,86px)!important;font-weight:900!important;letter-spacing:-.065em!important;line-height:.94!important}
.cat-hero p,.finance-hero p{color:var(--text-2)!important;font-size:18px!important}
.cat-count{background:var(--violet-light)!important;color:var(--violet)!important}
.cat-filters{background:rgba(247,246,241,.9)!important;border-color:var(--border)!important;top:68px!important;backdrop-filter:blur(16px)}
.f-tab{border-radius:999px!important;color:var(--text-2)!important}.f-tab.active{background:var(--navy)!important;color:#fff!important;border-color:var(--navy)!important}
.cat-body{background:var(--bg)!important;padding:54px 0 90px!important}
.cat-grid,.fin-grid{gap:16px!important}
.p-card,.fin-card{
  background:#fff!important;border:1px solid var(--border)!important;border-radius:28px!important;
  min-height:300px;padding:25px!important;box-shadow:none!important;
}
.p-card:hover,.fin-card:hover{border-color:var(--violet)!important;transform:translateY(-5px)!important;box-shadow:var(--shadow)!important}
.p-icon,.fin-bank-icon{border-radius:15px!important}.p-name,.fin-product-name{font-size:21px!important;font-weight:900!important;letter-spacing:-.04em!important;color:var(--text)!important}
.p-desc,.fin-desc{color:var(--text-2)!important}.p-tag{background:var(--bg-2)!important}
.btn-calc,.btn-apply,.btn-submit{border-radius:999px!important;min-height:48px!important}
.modal-backdrop{background:rgba(23,22,28,.66)!important}
.modal{background:var(--bg)!important;border-radius:30px!important;padding:34px!important}
.modal-title{font-size:28px!important;font-weight:900!important;letter-spacing:-.045em!important;color:var(--text)!important}
.f-input,.f-select{border-radius:15px!important;background:#fff!important}

/* Tables, tabs and notices */
.table-wrap{border-radius:22px;background:#fff;box-shadow:none}
table{background:#fff}thead{background:var(--bg-2)}
th{padding:15px 17px;color:var(--text-3);letter-spacing:.1em}
td{padding:17px}
.tabs{border:0;gap:7px;background:var(--bg-3);padding:5px;border-radius:999px;width:max-content;max-width:100%;overflow:auto}
.tab{border:0!important;margin:0;border-radius:999px;padding:9px 18px}
.tab.active{background:#fff;color:var(--text);box-shadow:var(--shadow-xs)}
.badge{padding:5px 10px}.alert{border-radius:18px}

/* Admin */
.layout-admin{grid-template-columns:265px minmax(0,1fr);min-height:calc(100vh - 68px);background:var(--bg)}
.sidebar{
  background:var(--navy);border:0;top:68px;height:calc(100vh - 68px);
  padding:24px 14px;color:#fff;
}
.sidebar-title{color:rgba(255,255,255,.35);letter-spacing:.12em}
.sidebar-link{padding:11px 13px;border-radius:14px;color:rgba(255,255,255,.6)}
.sidebar-link:hover{background:rgba(255,255,255,.07);color:#fff}
.sidebar-link.active{background:var(--violet);color:#fff}
.admin-main{padding:44px!important;background:var(--bg)!important;min-width:0}
.admin-main>div{max-width:1280px}
body:has(.layout-admin) .footer{display:none}
body:has(.layout-admin) .page-main{overflow:visible}

/* Cabinet and auth */
body:has(.auth-shell) .page-main{
  display:grid;place-items:center;min-height:calc(100vh - 68px);
  background:radial-gradient(circle at 20% 20%,rgba(125,189,248,.38),transparent 30%),
             radial-gradient(circle at 80% 15%,rgba(207,255,103,.32),transparent 26%),var(--bg);
}
.auth-shell,.login-shell{width:min(100%,520px);padding:32px}
body:has(.container-xs) .container-xs>.card{box-shadow:var(--shadow);background:#fff}
body:has(.stat-card) .section>.container{max-width:1320px}

/* Consultant */
.consultant-toggle{width:62px;height:62px;background:var(--navy);box-shadow:0 16px 34px rgba(23,22,28,.24)}
.consultant-toggle:hover{background:var(--violet)}
.consultant-panel{border:0;border-radius:28px;background:#fff;box-shadow:var(--shadow-lg)}
.consultant-head{background:var(--navy);border:0;color:#fff}
.consultant-head .brand-word,.consultant-head [style*="color:var(--text)"]{color:#fff!important}
.consultant-avatar{background:var(--violet)}
.consultant-messages{background:var(--bg)}
.consultant-message.assistant{background:#fff;border-color:var(--border)}
.consultant-message.user{background:var(--violet)}

/* Footer */
.footer{background:var(--navy);padding:76px 0 36px;border-radius:42px 42px 0 0}
.footer-grid{gap:58px}.footer-links a{color:rgba(255,255,255,.56)}

/* New home page */
.home-hero{padding:112px 0 78px}
.home-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(480px,.95fr);gap:44px;align-items:center}
.home-eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2)}
.home-title{font-size:clamp(60px,6.4vw,116px);letter-spacing:-.072em;line-height:.86;font-weight:900;max-width:820px;margin:22px 0 24px}
.home-title em{display:block;font-family:var(--serif);font-weight:400;color:var(--violet)}
.home-lead{max-width:650px;font-size:clamp(18px,1.6vw,24px);line-height:1.35;color:var(--text-2)}
.home-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.home-proof{display:flex;gap:24px;flex-wrap:wrap;margin-top:38px}
.home-proof span{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800}
.home-proof svg{color:var(--violet)}
.home-visual{
  position:relative;min-height:560px;border-radius:38px;overflow:hidden;
  background:radial-gradient(circle at 76% 18%,rgba(207,255,103,.82),transparent 24%),
             radial-gradient(circle at 17% 80%,rgba(125,189,248,.78),transparent 28%),
             linear-gradient(145deg,#7653ff 0%,#4b27c8 62%,#221542 100%);
  box-shadow:var(--shadow-lg);isolation:isolate;
}
.home-visual::before{content:"";position:absolute;width:440px;height:440px;border:1px solid rgba(255,255,255,.32);border-radius:50%;left:-110px;top:-80px;box-shadow:0 0 0 55px rgba(255,255,255,.05),0 0 0 110px rgba(255,255,255,.03)}
.visual-status{position:absolute;inset:0 0 auto;z-index:5;display:flex;justify-content:space-between;padding:14px 18px;background:rgba(23,22,28,.76);color:#fff;font-size:11px;font-weight:700}
.visual-shield{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);width:190px;filter:drop-shadow(0 28px 35px rgba(20,10,58,.3))}
.visual-product{position:absolute;z-index:3;padding:12px 14px;width:150px;border-radius:16px;background:rgba(255,255,255,.93);box-shadow:0 20px 40px rgba(30,16,78,.18)}
.visual-product small{display:block;font-size:9px;color:var(--text-3);margin-bottom:4px}.visual-product b{font-size:12px;line-height:1.18}
.vp-travel{left:22px;top:92px;transform:rotate(-3deg)}.vp-life{right:24px;top:108px;width:160px;transform:rotate(3deg)}
.vp-home{left:22px;bottom:82px;width:160px;transform:rotate(-4deg)}.vp-car{right:20px;bottom:122px;width:164px;transform:rotate(4deg)}
.vp-finance{left:43%;bottom:28px;transform:translateX(-50%) rotate(2deg)}.vp-savings{right:20px;bottom:26px;width:136px;transform:rotate(-2deg)}
.ticker{background:var(--navy);color:#fff;overflow:hidden;padding:17px 0}
.ticker-track{display:flex;gap:32px;width:max-content;animation:ticker 28s linear infinite;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.ticker-track span::after{
  content:"";display:inline-block;width:12px;height:12px;margin-left:32px;vertical-align:-1px;
  background:var(--acid);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l2.1 7.9L22 12l-7.9 2.1L12 22l-2.1-7.9L2 12l7.9-2.1L12 2z' fill='black'/%3E%3C/svg%3E") center/contain no-repeat;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l2.1 7.9L22 12l-7.9 2.1L12 22l-2.1-7.9L2 12l7.9-2.1L12 2z' fill='black'/%3E%3C/svg%3E") center/contain no-repeat;
}
@keyframes ticker{to{transform:translateX(-50%)}}
.editorial-section{padding:120px 0;border-bottom:1px solid var(--border)}
.editorial-head{display:grid;grid-template-columns:.32fr 1fr;gap:30px;margin-bottom:58px}
.editorial-head h2{font-size:clamp(48px,6vw,92px);line-height:.92;letter-spacing:-.065em}
.editorial-head em{font-family:var(--serif);font-weight:400;color:var(--violet)}
.product-editorial-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.product-editorial{
  grid-column:span 4;min-height:330px;padding:26px;border-radius:30px;position:relative;
  display:flex;flex-direction:column;color:var(--text);overflow:hidden;text-decoration:none!important;transition:var(--t)
}
.product-editorial:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.product-editorial:nth-child(6n+1){grid-column:span 6;background:var(--violet);color:#fff}
.product-editorial:nth-child(6n+2){grid-column:span 3;background:var(--acid)}
.product-editorial:nth-child(6n+3){grid-column:span 3;background:var(--coral)}
.product-editorial:nth-child(6n+4){background:var(--blue)}
.product-editorial:nth-child(6n+5){background:#ffd864}
.product-editorial:nth-child(6n+6){grid-column:span 6;background:#fff}
.product-editorial small{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.65}
.product-editorial h3{margin:auto 0 10px;font-size:clamp(28px,3vw,52px);letter-spacing:-.06em;line-height:.92}
.product-editorial p{font-size:13px;line-height:1.45;max-width:390px;opacity:.7}
.process-editorial{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);border-radius:32px;overflow:hidden;background:#fff}
.process-step{min-height:350px;padding:28px;border-right:1px solid var(--border);display:flex;flex-direction:column}.process-step:last-child{border:0}
.process-step b{font-size:72px;line-height:1;letter-spacing:-.06em;color:var(--violet);font-family:var(--serif);font-style:italic;font-weight:400}
.process-step h3{margin-top:auto;font-size:26px}.process-step p{color:var(--text-2);font-size:14px}
.home-cta{margin:110px 0;background:var(--navy);color:#fff;border-radius:38px;padding:70px;position:relative;overflow:hidden}
.home-cta::after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-80px;top:-120px;background:var(--violet);filter:blur(10px);opacity:.8}
.home-cta>*{position:relative;z-index:1}.home-cta h2{font-size:clamp(46px,6vw,88px);line-height:.9;letter-spacing:-.065em;max-width:900px}

/* Consistent inline SVG language */
.icon{display:inline-block;vertical-align:middle;flex:0 0 auto}
.p-icon,.fin-bank-icon,.form-hero-icon,.success-icon{
  display:grid!important;place-items:center!important;
}
.p-icon .icon,.fin-bank-icon .icon{width:24px;height:24px;color:currentColor}
.form-hero-icon{
  width:58px;height:58px;margin:0 auto 14px;border-radius:18px;
  background:var(--violet-light);color:var(--violet);
}
.success-icon{
  width:72px;height:72px;margin:0 auto 18px;border-radius:50%;
  background:var(--green-light);color:var(--green);
}
.fin-reward-text,.label-with-icon,.heading-with-icon,.offer-detail,.risk-tag,.verified-icon,.inline-svg{
  display:inline-flex;align-items:center;gap:7px;
}
.modal-close,.remove-driver,.remove-person{display:grid!important;place-items:center!important}
.admin-product-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;background:var(--violet-light);color:var(--violet)}
.spin-icon{animation:svg-spin .8s linear infinite}
@keyframes svg-spin{to{transform:rotate(360deg)}}

@media(max-width:1050px){
  .home-hero-grid,.editorial-head{grid-template-columns:1fr}.home-visual{min-height:560px}
  .product-editorial{grid-column:span 6!important}.layout-admin{grid-template-columns:1fr}.sidebar{display:none}
  .admin-main{padding:28px!important}.process-editorial{grid-template-columns:1fr}.process-step{border-right:0;border-bottom:1px solid var(--border)}
}
@media(max-width:768px){
  .container,.container-sm,.container-xs{padding-left:16px;padding-right:16px}
  .nav-inner{padding:11px 16px}.section{padding:72px 0}.footer{border-radius:28px 28px 0 0}
  .home-hero{padding:78px 0 58px}.home-title{font-size:clamp(54px,16vw,70px)}
  .home-visual{min-height:590px;border-radius:28px}.visual-shield{width:145px;top:43%}
  .visual-product{width:calc(50% - 21px);transform:none!important}.vp-travel{left:14px;top:80px}.vp-life{right:14px;top:80px}
  .vp-home{left:14px;bottom:136px}.vp-car{right:14px;bottom:136px}
  .vp-finance{left:14px;bottom:60px}.vp-savings{right:14px;bottom:60px}
  .editorial-section{padding:84px 0}.editorial-head h2{font-size:50px}.product-editorial{grid-column:span 12!important;min-height:300px}
  .home-cta{margin:70px 0;padding:34px 26px;min-height:480px}.home-cta h2{font-size:56px}
  .g-2,.g-3,.g-4,.g-5{grid-template-columns:1fr}.admin-main{padding:22px 16px!important}
  .k-wrap,.vzr-wrap{padding-left:14px!important;padding-right:14px!important}.k-wrap .card,.vzr-wrap .card,.form-card{padding:21px!important}
  .row2,.row3,.field-grid,.field-grid3,.form-row,.amount-row{grid-template-columns:1fr!important}
}
