:root{
  --primary:#1f7a6b;
  --secondary:#2fb7a3;
  --dark:#0f2f2a;
  --light:#f4f7f6;
}
body{margin:0;font-family:Segoe UI,Arial,sans-serif;color:#333;background:var(--light)}
header{background:linear-gradient(135deg,var(--dark),var(--primary));color:#fff;padding:80px 10%}
header h1{font-size:3rem;margin:0}
header p{font-size:1.2rem;max-width:600px}
section{padding:80px 10%}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:40px}
.card{background:#fff;border-radius:14px;padding:30px;box-shadow:0 10px 30px rgba(0,0,0,.08)}
h2{color:var(--dark);font-size:2.2rem;margin-bottom:40px}
.about img{max-width:100%;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.15)}
.icon{font-size:40px;color:var(--primary);margin-bottom:10px}
footer{background:var(--dark);color:#ddd;padding:60px 10%}
footer h3{color:#fff}
footer a{color:#2fb7a3;text-decoration:none;display:block;margin:6px 0}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:40px}
.copy{text-align:center;margin-top:40px;color:#aaa}
nav a{color:#333;text-decoration:none;font-weight:500}

/* Alinear iconos sociales */
.social{
  display:flex;
  gap:16px;
  align-items:center;
}

.mobile{ display:none; }
.desktop{ display:block; }

/* Desktop */
#menu{
    display:flex;gap:30px;
    background:transparent;
    margin-bottom:0;
}

/* Móvil */
@media(max-width:1200px) {
    .desktop{ display:none; }
    .mobile{ display:block; }
    
    #burger{
        position:relative;
        z-index:1000;
        display:block;
        font-size:28px;
        cursor:pointer;
        color:#000;
    }
    #menu{
        position:fixed;
        top:0;
        right:-100%;
        height:auto;
        width:100px;
        background:#fff;
        flex-direction:column;
        padding:80px 30px;
        gap:20px;
        box-shadow:-10px 0 30px rgba(0,0,0,.15);
        transition:right .3s ease;
        z-index:900;
    }
    #menu.open{
        right:0
    }

    .carousel{
        height: 150px;
        min-height: 180px;
        max-height: 220px;
    }
}

p{
  text-align: justify;
}

.carousel {
    position:relative;
    overflow:hidden;
    height: 75vh;
    max-height: 450px;
}

/* contenedor de slides */
.carousel .slides{
    position:absolute;
    inset:0;
}

/* imágenes */
.carousel img{
    position:absolute;
    top:0;
    left:100%;
    width:100%;
    height:100%;
    object-fit:contain;
    transition: transform 3s cubic-bezier(.4,0,.2,1);
}

.carousel img.active{
    transform:translateX(-100%);
    left:100%;
    display:block;
    opacity:1;
}

.carousel img.prev{
    transform:translateX(-200%);
}

/* overlay oscuro (opcional pero pro) */
.carousel::after{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.01);
    z-index:1;
}

.arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    background:rgba(0,0,0,.4);
    color:#fff;
    border:none;
    font-size:32px;
    width:44px;
    height:44px;
    cursor:pointer;
    z-index:3;
}
.arrow.left{left:20px}
.arrow.right{right:20px}

.dots{
    position:absolute;
    bottom:20px;
    left:50%;
    transform:translateX(-50%);
    display:flex;
    gap:10px;
    z-index:3;
}
.dots span{
    width:10px;
    height:10px;
    border-radius:50%;
    background:rgba(255,255,255,.5);
    cursor:pointer;
}
.dots span.active{
    background:#fff;
}

#menu li {
  position: relative;
  list-style: none;
}

.submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  padding: 10px 0;
  min-width: 160px;
  box-shadow: 0 10px 25px rgba(0,0,0,.1);
}

.submenu li a {
  display: block;
  padding: 8px 16px;
  white-space: nowrap;
}

.has-sub:hover .submenu {
  display: block;
}

.has-sub .submenu { display: none; }
.has-sub.open .submenu { display: block; }

.card h3{
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.card h3 .icon{
  font-size:20px;
  opacity:.8;
}

/* Botin Comprar */
.btn-comprar{
  display:block;
  width:fit-content;
  margin:12px auto 0;
  padding:10px 18px;
  background:#1f7a6b;
  color:#fff;
  text-decoration:none;
  border-radius:8px;
  font-weight:500;
  font-size:14px;
  transition:.25s ease;
}

.btn-comprar:hover{
  background:#000;
  transform:translateY(-2px);
}

/* Campaña Hostinger */
.hero{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  padding:80px 10%;
  background:linear-gradient(135deg,#1d4ed8,#7c3aed);
  color:#fff;
  align-items:center;
}

.hostinger-logo{
  height:32px;
  margin-bottom:20px;
}

.hero h1{
  font-size:42px;
  line-height:1.2;
}

.hero h1 span{
  color:#fde68a;
}

.highlight{
  margin:20px 0;
  font-size:18px;
}

.cta{
  display:inline-block;
  margin:20px 0;
  padding:14px 26px;
  background:#fff;
  color:#1d4ed8;
  border-radius:10px;
  text-decoration:none;
  font-weight:600;
  transition:.25s;
}

.cta:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 25px rgba(0,0,0,.2);
}

.hero small{
  display:block;
  opacity:.9;
  margin-top:10px;
}