:root{
  --bg:#121110; --bg2:#1B1917; --bg3:#232019; --line:#2E2A24;
  --gold:#F2B33D; --gold-deep:#C98A2C; --gold-soft:rgba(242,179,61,.14);
  --tx1:#F5F1EA; --tx2:#A69C8D; --tx3:#6E655A; --ok:#6FBF73; --danger:#D96C5A; --btn-tx:#1B140A;
  color-scheme: dark;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;height:100%;background:var(--bg);color:var(--tx1);font-family:'Golos Text',system-ui,sans-serif;overscroll-behavior:none;}
body{-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;position:fixed;inset:0;width:100%;}
a{color:var(--gold);text-decoration:none;}
@keyframes pulse{0%,100%{opacity:.5;} 50%{opacity:1;}}
h1,h2,h3{margin:0;}
.h{font-family:'Unbounded',system-ui,sans-serif;margin:0;}
button{font-family:inherit;cursor:pointer;}
::placeholder{color:var(--tx3);}
img{display:block;max-width:100%;}

#app{height:100%;display:flex;flex-direction:column;}

/* Layout */
.screen{height:100%;display:flex;flex-direction:column;position:relative;}
.scroll{flex:1;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;}
.pad-nav{padding-bottom:100px;}
.pad-cta{padding-bottom:110px;}

/* Topbar */
.topbar{display:flex;align-items:center;justify-content:space-between;padding:calc(22px + var(--tg-content-safe-area-inset-top, 0px)) 20px 8px;}
.topbar-back{display:flex;align-items:center;gap:14px;padding:calc(22px + var(--tg-content-safe-area-inset-top, 0px)) 20px 4px;}
.icon-btn{width:38px;height:38px;border-radius:12px;background:var(--bg2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--gold);flex:none;}
.back-arrow{cursor:pointer;flex:none;display:flex;}
.title-lg{font-size:22px;font-weight:800;}
.title-md{font-size:19px;font-weight:800;}
.subtitle{font-size:12.5px;color:var(--tx3);margin-top:3px;}

/* Buttons */
.btn-primary{font-family:'Golos Text';font-weight:700;font-size:14px;background:linear-gradient(135deg,#F7C25C,#E4A029);color:var(--btn-tx);border:none;border-radius:16px;padding:15px 12px;text-align:center;}
.btn-outline{font-family:'Golos Text';font-weight:600;font-size:13.5px;background:transparent;color:var(--gold);border:1.5px solid var(--gold);border-radius:16px;padding:14px 12px;text-align:center;}
.btn-secondary{font-family:'Golos Text';font-weight:600;font-size:13px;background:var(--bg3);color:var(--tx1);border:1px solid var(--line);border-radius:14px;padding:11px 14px;}
.btn-primary:disabled{opacity:.5;}

/* Cards / chips */
.card{background:var(--bg2);border:1px solid var(--line);border-radius:20px;}
.chip{background:var(--bg3);border:1px solid var(--line);color:var(--tx2);font-size:12.5px;font-weight:600;padding:9px 14px;border-radius:999px;display:inline-block;}
.chip-on{background:var(--gold);border:1px solid var(--gold);color:var(--btn-tx);font-size:12.5px;font-weight:700;padding:9px 14px;border-radius:999px;display:inline-block;}
.badge{background:var(--gold-soft);color:var(--gold);font-size:11px;font-weight:700;padding:6px 10px;border-radius:999px;display:inline-block;}

/* Bottom nav */
.bottom-nav{position:fixed;left:0;right:0;bottom:0;height:82px;background:rgba(20,18,16,.94);backdrop-filter:blur(14px);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-around;padding-bottom:env(safe-area-inset-bottom,0);max-width:560px;margin:0 auto;}
.nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--tx3);background:none;border:none;padding:6px 10px;font-size:10px;}
.nav-item.active{color:var(--gold);font-weight:600;}

/* Sticky CTA */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;background:rgba(18,17,16,.96);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:14px 20px calc(20px + env(safe-area-inset-bottom,0));max-width:560px;margin:0 auto;display:flex;align-items:center;gap:12px;}

/* Car card (catalog/home/favorites) */
.car-row{display:flex;gap:12px;padding:10px;}
.car-thumb{border-radius:13px;overflow:hidden;flex:none;background:#221f1a;position:relative;}
.car-thumb img{width:100%;height:100%;object-fit:cover;}
.heart-btn{border:none;background:rgba(18,17,16,.6);backdrop-filter:blur(6px);border-radius:11px;display:flex;align-items:center;justify-content:center;color:var(--gold);cursor:pointer;}

/* Form fields */
input,textarea{font-family:'Golos Text';background:var(--bg3);border:1px solid var(--line);border-radius:14px;color:var(--tx1);font-size:13px;padding:13px 14px;width:100%;outline:none;}
textarea{resize:none;}

.container{max-width:560px;margin:0 auto;width:100%;}

/* Splash screen */
#splash{position:fixed;inset:0;z-index:9999;overflow:hidden;display:flex;align-items:center;justify-content:center;
  background:
    radial-gradient(60% 55% at 50% 40%, rgba(242,179,61,.16), transparent 70%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.028) 0 1px, transparent 1px 28px),
    var(--bg);
  transition:opacity .38s ease;}
#splash.splash-hide{opacity:0;pointer-events:none;}

.splash-car{position:absolute;top:50%;left:50%;width:clamp(240px,60vw,420px);
  transform:translate(-50%,-50%);}
.splash-car img{display:block;width:100%;height:auto;}
.splash-car.go{animation:carDrive 2.7s cubic-bezier(.6,.04,.9,.32) forwards;}
@keyframes carDrive{
  0%{transform:translate(-50%,-50%) translateX(0); filter:blur(0px); opacity:1;}
  55%{filter:blur(2px); opacity:1;}
  100%{transform:translate(-50%,-50%) translateX(165vw); filter:blur(16px); opacity:0;}
}

.splash-logo-wrap{position:relative;z-index:2;text-align:center;padding:0 24px;max-width:92vw;
  opacity:0;transform:scale(.82);}
.splash-logo-wrap.show{animation:logoReveal .55s ease-out forwards, logoPulse 2.4s ease-in-out .55s infinite;}
.splash-logo{font-family:'Unbounded',system-ui,sans-serif;font-weight:900;
  font-size:clamp(34px,11vw,64px);line-height:1.05;color:var(--tx1);
  text-shadow:0 0 26px rgba(242,179,61,.4), 0 0 64px rgba(242,179,61,.2);}
.splash-logo span{color:var(--gold);}
.splash-tagline{margin-top:10px;font-family:'Golos Text',system-ui,sans-serif;
  font-size:clamp(10px,3vw,13px);font-weight:600;letter-spacing:.22em;
  color:var(--tx3);text-transform:uppercase;}
@keyframes logoReveal{from{opacity:0;transform:scale(.82);} to{opacity:1;transform:scale(1);}}
@keyframes logoPulse{0%,100%{transform:scale(1);} 50%{transform:scale(1.045);}}

/* "Скоро появится" modal */
#soonModal{display:none;}
.modal-backdrop{position:fixed;inset:0;background:rgba(8,7,6,.65);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:50;padding:20px;}
.modal-box{background:var(--bg2);border:1px solid var(--line);border-radius:22px;padding:22px;width:100%;max-width:320px;box-shadow:0 20px 50px rgba(0,0,0,.5);}

@media (min-width:560px){
  .bottom-nav, .sticky-cta{left:50%;transform:translateX(-50%);width:560px;right:auto;}
}
