/* Car Plovdiv: lightweight motion and an interactive dashboard. */
.cp-header { transition: background .25s, box-shadow .25s; }
.cp-header.cp-scrolled { background:rgba(5,12,27,.96); box-shadow:0 12px 45px #0005; }
.cp-links a { position:relative; }
.cp-links a::after { content:''; position:absolute; bottom:-8px; left:0; right:0; height:2px; background:#55d9ff; transform:scaleX(0); transform-origin:left; transition:transform .25s; }
.cp-links a:hover::after,.cp-links a:focus-visible::after { transform:scaleX(1); }
.cp-modern :is(a,button,summary):focus-visible { outline:2px solid #55d9ff; outline-offset:5px; }
.cp-modern .cp-btn { position:relative; overflow:hidden; transition:transform .25s,box-shadow .25s; }
.cp-modern .cp-btn::after { content:''; position:absolute; inset:-80% auto -80% -60%; width:35%; background:linear-gradient(90deg,transparent,#fff4,transparent); transform:rotate(25deg); pointer-events:none; }
.cp-modern .cp-btn:hover::after { animation:cp-shine .65s ease; }
@keyframes cp-shine { to { left:135%; } }
.cp-modern .cp-hero { padding-bottom:75px; }
.cp-modern .cp-hero-stats { margin-top:40px; }
.cp-dashboard { position:relative; max-width:800px; margin:45px auto 0; padding:25px 28px; text-align:left; border:1px solid #55d9ff35; border-radius:24px; background:linear-gradient(135deg,#122641e8,#091224f5 70%); box-shadow:0 25px 80px #0004,inset 0 1px #ffffff0a; }
.cp-dash-top { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.cp-dash-top h2 { font-size:23px; line-height:1.25; letter-spacing:-.025em; margin:0; padding:0; }
.cp-dash-label { display:block; margin-bottom:5px; color:#80dfff; font-size:11px; letter-spacing:.14em; text-transform:uppercase; }
.cp-ignition { flex-shrink:0; width:70px; height:70px; border-radius:50%; border:1px solid #55d9ff80; color:#c5f3ff; background:radial-gradient(circle at 30% 20%,#264965,#0c1c30 70%); box-shadow:0 0 0 5px #55d9ff08,inset 0 1px #fff2; font-size:11px; font-weight:700; line-height:1.3; font-family:inherit; cursor:pointer; transition:box-shadow .25s,transform .25s; }
.cp-ignition:hover { box-shadow:0 0 0 7px #55d9ff12,0 0 25px #55d9ff25; transform:rotate(-6deg); }
.cp-ignition span { display:block; font-size:10px; font-weight:700; line-height:1.4; letter-spacing:.07em; }
.cp-road { position:relative; height:92px; margin:8px 0 18px; overflow:hidden; border-bottom:1px solid #55d9ff18; }
.cp-road::after { content:''; position:absolute; left:0; right:0; bottom:13px; height:1px; background:repeating-linear-gradient(90deg,#55d9ff55 0 30px,transparent 30px 60px); }
.cp-car { position:absolute; width:240px; height:85px; left:calc(50% - 120px); bottom:7px; color:#8ddfff; filter:drop-shadow(0 0 14px #32a9ff25); }
.cp-car-lights { opacity:.3; transition:opacity .3s; }
.cp-dashboard.cp-started .cp-car { animation:cp-drive 1.1s cubic-bezier(.2,.7,.3,1); }
.cp-dashboard.cp-started .cp-car-lights { opacity:1; }
.cp-dashboard.cp-started .cp-road::after { animation:cp-road 1.1s ease-out; }
@keyframes cp-drive { 0% { transform:translateX(-28px); opacity:.35; } 65% { transform:translateX(9px); } 100% { transform:translateX(0); opacity:1; } }
@keyframes cp-road { from { background-position:120px 0; } to { background-position:0 0; } }
.cp-signals { display:flex; flex-wrap:wrap; gap:9px; }
.cp-signal { display:inline-flex; align-items:center; gap:9px; padding:10px 15px; border:1px solid #99bbdf30; border-radius:30px; color:#b9cbe2; background:#0a1729; font-size:13px; font-weight:600; line-height:1.4; font-family:inherit; cursor:pointer; transition:background .2s,border-color .2s,transform .2s; }
.cp-signal svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.7; }
.cp-signal:hover { transform:translateY(-2px); border-color:#55d9ff90; }
.cp-signal[aria-pressed="true"] { color:#a5eaff; background:#143951; border-color:#55d9ff80; }
.cp-dash-answer { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:17px; min-height:62px; }
.cp-dash-answer p { margin:0; padding:0; font-size:14px; line-height:1.65; color:#b5c5db; max-width:470px; }
.cp-dash-answer a { flex-shrink:0; color:#8ee5ff; font-size:13px; font-weight:700; text-decoration:none; }
.cp-dash-answer a::after { content:' →'; display:inline-block; margin-left:5px; transition:transform .2s; }
.cp-dash-answer a:hover::after { transform:translateX(4px); }
.cp-dash-note { display:block; margin-top:12px; color:#8e9fb7; font-size:11px; }
.cp-modern .cp-card { position:relative; overflow:hidden; transition:transform .3s,border-color .3s,box-shadow .3s; }
.cp-modern .cp-card::after { content:''; position:absolute; inset:0; background:radial-gradient(260px circle at var(--glow-x,50%) var(--glow-y,50%),#55d9ff12,transparent 70%); opacity:0; pointer-events:none; transition:opacity .3s; }
.cp-modern .cp-card:hover::after { opacity:1; }
.cp-modern .cp-card:hover { box-shadow:0 20px 45px #0003; }
.cp-modern .cp-card .cp-icon { transition:transform .3s,background .3s; }
.cp-modern .cp-card:hover .cp-icon { transform:rotate(-8deg) scale(1.1); background:#19486d; }
.cp-icon svg { width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.cp-modern .cp-step::before { transition:transform .3s,color .3s; transform-origin:left; }
.cp-modern .cp-step:hover::before { transform:scale(1.25); color:#fff; }
.cp-modern .cp-faq details { transition:border-color .25s,background .25s; }
.cp-modern .cp-faq details[open] { border-color:#55d9ff60; background:#102644; }
.cp-modern .cp-faq details[open] p { animation:cp-answer .3s ease; }
@keyframes cp-answer { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:none; } }
@media(min-width:901px) { .cp-modern .cp-grid { gap:24px; } .cp-modern .cp-card:nth-child(3n + 2) { top:18px; } .cp-modern .cp-card:first-child { border-top-left-radius:38px; } .cp-modern .cp-card:last-child { border-bottom-right-radius:38px; } }
@media(prefers-reduced-motion:no-preference) { .cp-motion-ready.cp-enter { opacity:0; transform:translateY(24px); transition:opacity .65s ease var(--enter-delay,0ms),transform .65s cubic-bezier(.2,.65,.3,1) var(--enter-delay,0ms); } .cp-motion-ready.cp-enter.cp-visible { opacity:1; transform:none; } }
@media(max-width:620px) { .cp-dashboard { margin-top:30px; padding:20px 18px; border-radius:20px; } .cp-dash-top h2 { font-size:20px; } .cp-dash-label { font-size:10px; } .cp-ignition { width:60px; height:60px; } .cp-signals { gap:7px; } .cp-signal { padding:9px 10px; font-size:12px; } .cp-dash-answer { display:block; min-height:110px; } .cp-dash-answer a { display:inline-block; margin-top:10px; } .cp-modern .cp-hero-stats span { font-size:10px; line-height:1.6; letter-spacing:.03em; } .cp-modern .cp-hero-stats>div { padding:0 12px; } }
@media(prefers-reduced-motion:reduce) { .cp-modern *, .cp-modern *::before, .cp-modern *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
