:root{
  color-scheme:dark;
  --text:#f8fafc;
  --muted:#a7adb8;
  --line:rgba(255,255,255,.10);
  --line-strong:rgba(255,255,255,.18);
  --surface:rgba(13,14,17,.88);
  --surface-solid:#111318;
  --surface-soft:rgba(255,255,255,.055);
  --red:#d43934;
  --red-dark:#991b1b;
  --shadow:0 22px 60px rgba(0,0,0,.42);
  --shadow-soft:0 10px 30px rgba(0,0,0,.28);
  --radius:24px;
  --radius-small:17px;
  --max:1180px;
  --transition:.24s ease;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#050506}
body{
  margin:0;
  min-height:100%;
  color:var(--text);
  background:
    radial-gradient(circle at 12% 0, rgba(212,57,52,.17), transparent 31%),
    radial-gradient(circle at 90% 8%, rgba(212,57,52,.09), transparent 25%),
    linear-gradient(180deg,#070708 0%,#0b0c0f 55%,#050506 100%) !important;
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.16;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:38px 38px;
  mask-image:radial-gradient(circle at center,#000 25%,transparent 82%);
}

body.non{overflow:hidden}
a{color:inherit}
p{color:var(--muted);line-height:1.65}
h1,h2,h3{color:var(--text);letter-spacing:-.025em}
h1{font-size:clamp(34px,5vw,58px);line-height:1.03;margin:14px 0 12px}
h2{font-size:clamp(22px,3vw,30px);margin:26px 0 14px}
h3{font-size:18px}

header{
  position:fixed !important;
  top:0;
  left:0;
  right:0;
  z-index:10000;
  min-height:74px !important;
  padding:13px 18px !important;
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  background:rgba(8,9,11,.84) !important;
  border:0 !important;
  border-bottom:1px solid var(--line) !important;
  box-shadow:0 5px 22px rgba(0,0,0,.25) !important;
  backdrop-filter:blur(17px);
  -webkit-backdrop-filter:blur(17px);
}

header>a{display:flex;align-items:center;text-decoration:none;flex:0 0 auto}
header img{display:block;width:auto !important;height:38px !important;max-width:220px;object-fit:contain}
nav ul{display:flex;align-items:center;gap:8px;list-style:none;margin:0;padding:0}
nav a{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:10px 13px !important;
  color:#d5d8de !important;
  text-decoration:none;
  font-size:14px;
  font-weight:650 !important;
  border:1px solid transparent;
  border-radius:14px !important;
  transition:var(--transition);
}
nav a:hover{color:#fff !important;background:rgba(255,255,255,.065) !important;border-color:var(--line)}
nav li:first-child a{color:#fff !important;background:linear-gradient(135deg,var(--red),var(--red-dark));border-color:rgba(212,57,52,.45)}

.menu-toggle{
  display:none;
  width:46px;
  height:46px;
  padding:0;
  color:#fff;
  background:#111318 !important;
  border:1px solid var(--line) !important;
  border-radius:15px !important;
  font-size:25px;
  cursor:pointer;
}

.snap-container{height:100vh;overflow-y:auto;scroll-snap-type:y mandatory;scroll-behavior:smooth}
section.event{
  position:relative;
  min-height:100svh;
  padding:104px 0 62px;
  display:grid;
  place-items:center;
  scroll-snap-align:start;
  isolation:isolate;
}
.hero{position:absolute;inset:0;z-index:-2;background:#050506 center/cover no-repeat;filter:brightness(.34) saturate(.88)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(4,5,7,.52) 65%,#060608)}

.panel,
.container,
.glass-panel{
  position:relative;
  z-index:2;
  width:min(980px,calc(100% - 34px));
  margin-left:auto;
  margin-right:auto;
  padding:28px !important;
  color:var(--text) !important;
  background:var(--surface) !important;
  border:1px solid var(--line) !important;
  border-radius:var(--radius) !important;
  box-shadow:var(--shadow) !important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.container{max-width:720px;margin-top:108px;margin-bottom:50px}
.glass-panel{max-width:860px;text-align:left !important}
.glass-panel h1{text-align:left !important}
.glass-panel a{color:#ff7772 !important}
.meta{display:inline-flex;margin:14px 0 2px;padding:8px 12px;color:#ffd3d1;font-size:13px;font-weight:750;background:rgba(212,57,52,.13);border:1px solid rgba(212,57,52,.32);border-radius:999px}

.event-image,.event-photo{
  width:100%;
  display:block;
  object-fit:cover;
  border:1px solid var(--line) !important;
  border-radius:19px !important;
  background:#090a0c !important;
}
.event-image{height:clamp(190px,31vh,310px)}
.event-photo{max-height:420px}

.cta,.actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 8px}
.btn,.registerCarBtn,form button{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:auto;
  min-height:48px;
  padding:12px 17px !important;
  color:#fff !important;
  background:linear-gradient(135deg,var(--red),var(--red-dark)) !important;
  border:1px solid rgba(255,105,100,.32) !important;
  border-radius:16px !important;
  box-shadow:0 10px 25px rgba(212,57,52,.18) !important;
  text-decoration:none;
  font:inherit;
  font-weight:750 !important;
  cursor:pointer;
  transition:var(--transition);
}
.btn:hover,.registerCarBtn:hover,form button:hover{transform:translateY(-1px);filter:brightness(1.1)}
.btn.secondary{background:#17191e !important;border-color:var(--line) !important;box-shadow:none !important}

.media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:13px;margin-top:17px}
.media-item{
  position:relative;
  overflow:hidden;
  color:var(--text);
  background:var(--surface-solid) !important;
  border:1px solid var(--line) !important;
  border-radius:19px !important;
  box-shadow:var(--shadow-soft);
  transition:var(--transition);
}
.media-item:hover{transform:translateY(-2px);border-color:rgba(212,57,52,.32) !important}
.media-item a{display:block;color:inherit;text-decoration:none}
.media-item img{width:100%;height:150px;object-fit:cover;display:block}
.media-thumb-wrap{position:relative;width:100%;height:190px;overflow:hidden;background:#08090b}
.media-thumb-img{width:100%;height:100% !important;object-fit:cover}
.media-caption{min-height:48px;padding:11px 13px 14px;color:#e8eaf0;font-size:14px;line-height:1.45}
.media-item .label{position:absolute;left:9px;bottom:9px;padding:5px 9px;color:#fff;background:rgba(0,0,0,.72);border:1px solid var(--line);border-radius:999px;font-size:12px}
.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:54px;height:54px;color:#fff;background:rgba(0,0,0,.72);border:1px solid rgba(255,255,255,.24);border-radius:50%;font-size:23px}
.media-icon{height:180px;display:flex;align-items:center;justify-content:center;font-size:54px;background:linear-gradient(135deg,#1b1d22,#0b0c0f);border-bottom:1px solid var(--line)}

.registered-cars-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-top:16px}
.car-tile{overflow:hidden;text-align:center;background:var(--surface-soft) !important;border:1px solid var(--line) !important;border-radius:16px !important;transition:var(--transition)}
.car-tile:hover{transform:translateY(-2px);border-color:rgba(212,57,52,.32) !important}
.car-tile img{width:100%;height:auto;display:block}
.car-name{padding:9px;color:#e6e8ed !important;font-size:13px;font-weight:650}
.car-registration{margin-top:22px;padding:18px;background:var(--surface-soft);border:1px solid var(--line);border-radius:19px}

form label{display:block;margin:15px 0 7px;color:#e5e7eb;font-size:14px;font-weight:700}
form input,form select,form textarea{
  width:100%;
  min-height:48px;
  padding:12px 14px !important;
  color:#fff !important;
  background:#0a0b0e !important;
  border:1px solid var(--line-strong) !important;
  border-radius:14px !important;
  outline:none;
  font:inherit;
  transition:var(--transition);
}
form input:focus,form select:focus,form textarea:focus{border-color:rgba(212,57,52,.65) !important;box-shadow:0 0 0 4px rgba(212,57,52,.12)}

.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:13px}
.wrap{width:min(var(--max),calc(100% - 34px));margin:104px auto 60px;padding:0 !important}
.wrap>.panel{width:100%}
.msgs{margin:15px 0}
.msg,.error,.success{padding:12px 14px;border-radius:14px;margin-bottom:9px}
.ok,.success{color:#bbf7d0;background:#0b2114;border:1px solid #23663a}
.error{color:#fecaca;background:#2b1013;border:1px solid #76262d}

table{width:100%;border-collapse:separate !important;border-spacing:0;margin-top:12px;overflow:hidden;color:var(--text);background:var(--surface-solid) !important;border:1px solid var(--line);border-radius:18px !important}
th,td{padding:13px;border-bottom:1px solid var(--line) !important;text-align:left}
th{color:#fff;background:rgba(255,255,255,.065) !important;font-size:13px}
tr:last-child td{border-bottom:0 !important}
tr:hover td{background:rgba(255,255,255,.025)}

details{margin:11px 0;background:var(--surface-soft);border:1px solid var(--line);border-radius:15px}
summary{padding:14px 16px;cursor:pointer;color:#fff;font-weight:700}
details>div{padding:0 16px 16px;color:var(--muted);line-height:1.6}

.hero-background{min-height:100svh !important;height:auto !important;padding:110px 0 50px;background-position:center;background-size:cover;display:flex;align-items:center;justify-content:center}
.bottom-hint{position:absolute;left:0;right:0;bottom:14px;text-align:center;color:#d7d9df;font-size:13px;opacity:.78}
.lightbox{position:fixed;inset:0;z-index:20000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.91);backdrop-filter:blur(10px)}
.lightbox.open{display:flex}
.lightbox img,.lightbox iframe{max-width:96vw;max-height:90vh;border:0;border-radius:18px;background:#000}
.lightbox .close{position:absolute;top:18px;right:22px;color:#fff;font-size:30px;cursor:pointer}

@media (max-width:1050px){
  header{justify-content:flex-start}
  header>a{order:1}
  header nav{order:2;width:0;flex:0 0 0}
  nav ul{display:none;position:absolute;top:74px;right:14px;width:min(330px,calc(100% - 28px));padding:12px;flex-direction:column;align-items:stretch;gap:6px;background:rgba(10,11,14,.98);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}
  nav ul.open{display:flex}
  nav a{width:100%}
  .menu-toggle{display:block;order:3;flex:0 0 46px;margin-left:auto}
}

@media (max-width:720px){
  header{min-height:68px !important;padding:10px 12px !important}
  header img{height:31px !important;max-width:180px}
  nav ul{top:68px}
  section.event{padding:88px 0 52px;align-items:start}
  .panel,.container,.glass-panel{width:calc(100% - 22px);padding:19px !important;border-radius:20px !important}
  .wrap{width:calc(100% - 22px);margin-top:88px}
  .media-grid{grid-template-columns:1fr 1fr}
  .media-thumb-wrap{height:145px}
  .event-image{height:180px}
  table{display:block;overflow-x:auto;white-space:nowrap}
}

@media (max-width:470px){
  .media-grid{grid-template-columns:1fr}
  .registered-cars-grid{grid-template-columns:1fr 1fr}
}
