:root{
  --accent:#e10600;
  --error:#c00;
  --dark:#1a1a1a;
  --muted:#777;
}

*{box-sizing:border-box}

html,body{
  margin:0;
  min-height:100%;
  font-family:"Segoe UI",Arial;
  background:#000;
  color:white;
  scroll-behavior:smooth;
}

/* HEADER */
.topbar{
  position:fixed;
  top:0;
  width:100%;
  padding:18px 0;
  background:rgba(0,0,0,.85);
  z-index:1000;
  display:flex;
  justify-content:center;
}

.main-nav{
  display:flex;
  gap:40px;
}

.main-nav a{
  color:white;
  text-decoration:none;
  font-size:18px;
  font-weight:700;
}

/* HERO */
.hero{
  height:100vh;
  background:
    linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.6)),
    url("img/cover.png") center/cover no-repeat;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-box{text-align:center}
.btn-hero{
  display:inline-block;
  margin-top:20px;
  background:var(--accent);
  padding:14px 30px;
  border-radius:12px;
  color:white;
  text-decoration:none;
}

/* SECTIONS */
.section{
  min-height:100vh;
  padding-top:140px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
}
.section.dark{background:#111}

/* FORM */
.page{width:100%;display:flex;justify-content:center}

.card{
  background:white;
  color:black;
  padding:28px 26px;
  border-radius:18px;
  width:100%;
  max-width:420px;
  box-shadow:0 25px 60px rgba(0,0,0,.5);
}

.logo{
  color:var(--accent);
  font-weight:900;
  text-align:center;
}

.card h1{
  text-align:center;
  margin-bottom:20px;
}

/* LABELS – ALINIATE STÂNGA */
label{
  display:block;
  font-size:14px;
  font-weight:600;
  margin-top:14px;
  margin-bottom:4px;
  text-align:left;
}

/* INPUTS */
input[type="tel"]{
  width:100%;
  padding:12px;
  border-radius:10px;
  border:1px solid #ccc;
  font-size:14px;
}

/* UPLOAD */
.upload{
  margin-top:6px;
}

.upload-box{
  border:2px dashed #ccc;
  border-radius:12px;
  padding:18px;
  cursor:pointer;
  text-align:center;
  font-size:14px;
  color:#333;
  transition:.2s;
}

.upload-box:hover{
  border-color:var(--accent);
  background:#fff5f5;
}

input[type="file"]{
  display:none;
}

/* GDPR */
.gdpr-wrap{margin-top:14px}

.gdpr-check{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  cursor:pointer;
  position:relative;
}

.gdpr-check input{
  position:absolute;
  opacity:0;
}

.checkmark{
  width:18px;
  height:18px;
  border:2px solid #ccc;
  border-radius:4px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.checkmark::after{
  content:"";
  width:10px;
  height:6px;
  border-left:2px solid white;
  border-bottom:2px solid white;
  transform:rotate(-45deg);
  opacity:0;
}

.gdpr-check input:checked + .checkmark{
  background:var(--accent);
  border-color:var(--accent);
}

.gdpr-check input:checked + .checkmark::after{
  opacity:1;
}

/* ERRORS */
.field-error{
  font-size:12px;
  color:var(--error);
  margin-top:4px;
}

/* BUTTON */
button{
  width:100%;
  margin-top:18px;
  padding:14px;
  font-size:16px;
  font-weight:800;
  color:white;
  background:var(--accent);
  border:none;
  border-radius:12px;
  cursor:pointer;
}

button:disabled{
  opacity:.6;
}

/* FOOTER */
.footer{
  margin-top:14px;
  font-size:11px;
  color:#666;
  text-align:center;
}

.footer-global{
  padding:20px;
  text-align:center;
  color:#666;
}

/* WINNERS */
.winners{list-style:none;padding:0}
