:root {
  --primary:#0D2E8B;
  --secondary:#1E5BAA;
  --accent:#22C1E6;
  --danger:#E30613;
  --white:#ffffff;
}

* {
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family: -apple-system, BlinkMacSystemFont, sans-serif;
}

body {
  background:var(--primary);
  color:var(--white);
}

.main-header {
  padding:1rem;
  text-align:center;
}

.logo {
  max-width:200px;
}

.hero {
  height:50vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:linear-gradient(135deg, var(--primary), var(--secondary));
}

.hero h1 {
  font-size:clamp(2rem,5vw,3rem);
}

.module {
  padding:3rem 1rem;
}

.module h2 {
  margin-bottom:1rem;
  border-left:5px solid var(--accent);
  padding-left:1rem;
}

.carousel {
  display:flex;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  gap:1rem;
  padding-bottom:1rem;
}

.card {
  min-width:280px;
  background:var(--white);
  color:#000;
  border-radius:20px;
  overflow:hidden;
  scroll-snap-align:center;
  box-shadow:0 10px 25px rgba(0,0,0,.2);
  transform:scale(.95);
  transition:transform .6s cubic-bezier(.34,1.56,.64,1);
}

.card:hover {
  transform:scale(1);
}

.card img {
  width:100%;
  height:200px;
  object-fit:cover;
}

.card-body {
  padding:1rem;
}

.price-normal {
  text-decoration:line-through;
  color:gray;
}

.price-special {
  color:var(--danger);
  font-weight:bold;
  font-size:1.2rem;
}

.btn-contact {
  margin-top:.5rem;
  display:block;
  text-align:center;
  padding:.6rem;
  background:var(--accent);
  color:#000;
  border-radius:12px;
  text-decoration:none;
  transition:.3s;
}

.btn-contact:hover {
  background:var(--secondary);
  color:var(--white);
}

@media(min-width:768px){
  .carousel{
    overflow:hidden;
  }
}
