:root{ --brand:#6A1B9A; --brand2:#9C27B0; }

/* Base para demo */
#hero{
   padding: 0 !important;
  margin: 0 !important;
  position: relative;
  overflow: hidden;
}

#hero .hero-carousel,
#hero .hero-slide,
#hero .hero-img{
  
  min-height: 620px; /* ajusta si quieres */
}

.hero-slide{ position:relative; min-height:86vh; }
.hero-img{
  width:100%;
  height:86vh;
  object-fit:cover;
  transform:scale(1.08);
  transition:transform 8s ease;
  filter:saturate(1.1) contrast(1.08);
}
.carousel-item.active .hero-img{ transform:scale(1.16); }

.hero-overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(55% 70% at 20% 40%, rgba(0,0,0,.62), rgba(0,0,0,.12) 60%, rgba(0,0,0,.10)),
    linear-gradient(135deg, rgba(106,27,154,.35) 0%, rgba(0,0,0,.35) 38%, rgba(0,0,0,.55) 100%);
}

.hero-content{
  position:absolute; inset:0;
  display:flex; align-items:center;
  padding-top:90px; padding-bottom:60px;
}

/* panel glass */
.hero-content--glass > div{
  max-width:820px;
  padding:26px;
  border-radius:22px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(14px);
  box-shadow: 0 30px 80px rgba(0,0,0,.35),
              0 0 0 1px rgba(106,27,154,.18) inset;
  position:relative;
}

.hero-content--glass > div::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:24px;
  z-index:-1;
  background: radial-gradient(60% 80% at 15% 25%, rgba(156,39,176,.55), rgba(106,27,154,.12) 55%, rgba(0,0,0,0) 75%);
  filter: blur(10px);
}

.hero h1,.hero h2{
  color:#fff;
  font-weight:900;
  letter-spacing:-.03em;
  line-height:1.04;
  margin:0 0 12px;
}
.hero h1{ font-size:clamp(2.3rem,4.6vw,4.2rem); }
.hero h2{ font-size:clamp(2.1rem,4.1vw,3.6rem); }

.hero p{ color:rgba(255,255,255,.90); line-height:1.65; margin:0 0 18px; }

.hero-actions{ display:flex; gap:12px; flex-wrap:wrap; }

.btn-get-started{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 18px;
  border-radius:14px;
  font-weight:900;
  color:#fff;
  background: linear-gradient(135deg, var(--brand), var(--brand2));
  box-shadow: 0 22px 55px rgba(106,27,154,.55);
  border: 1px solid rgba(255,255,255,.18);
  transition:transform .18s ease, filter .18s ease, box-shadow .18s ease;
}
.btn-get-started:hover{ transform:translateY(-2px); filter:brightness(1.06); box-shadow:0 28px 70px rgba(106,27,154,.65); }

.btn-ghost{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 18px;
  border-radius:14px;
  font-weight:900;
  color:#fff;
  border:1px solid rgba(255,255,255,.26);
  background:rgba(0,0,0,.18);
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
}
.btn-ghost:hover{ transform:translateY(-2px); background:rgba(0,0,0,.26); border-color:rgba(255,255,255,.40); }

/* controles */
.hero-control{ width:64px; opacity:1; }
.hero-control .carousel-control-prev-icon,
.hero-control .carousel-control-next-icon{
  width:48px; height:48px;
  border-radius:999px;
  background-color:rgba(0,0,0,.35);
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.18);
  transition:transform .18s ease, background-color .18s ease;
}
.hero-control:hover .carousel-control-prev-icon,
.hero-control:hover .carousel-control-next-icon{ transform:scale(1.06); background-color:rgba(0,0,0,.45); }

/* indicadores */
.hero-indicators{ gap:10px; margin-bottom:22px; }
.hero-indicators [data-bs-target]{ width:26px; height:6px; border-radius:999px; background:rgba(255,255,255,.45); border:0; transition:width .25s ease, background .25s ease; }
.hero-indicators .active{ width:46px; background:linear-gradient(135deg,var(--brand),var(--brand2)); }

/* ============================================================
   TIPOGRAFÍA (OVERRIDES HERO)
   ============================================================ */
#hero h1, #hero h2, #hero h3, #hero h4, #hero h5, #hero h6{
  font-family: "Fjalla One", sans-serif !important;
  font-weight: 600 !important;
}

#hero .btn-get-started,
#hero .btn-ghost{
  font-family: "Fjalla One", sans-serif !important;
  font-weight: 600 !important;
}
/* ===== HERO: centrado, sin glass, texto legible ===== */
#hero .hero-content{
    font-family: "poppins", sans-serif !important;
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding-top: 90px;
  padding-bottom: 60px;
  z-index: 2;
}

/* limita ancho para que no se haga enorme */
#hero .hero-content--center{
  max-width: 980px;
}

/* overlay oscuro para legibilidad (ajusta opacidad) */
#hero .hero-overlay{
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,.55) 0%,
    rgba(0,0,0,.45) 45%,
    rgba(0,0,0,.60) 100%
  );
}

/* headings con sombra (mamalón y legible) */
#hero h1, #hero h2{
  color: #fff;
  text-shadow:
    0 2px 10px rgba(0,0,0,.85),
    0 8px 28px rgba(0,0,0,.55);
}

/* texto también con sombra suave */
#hero p{
  color: rgba(255,255,255,.92);
  text-shadow: 0 2px 10px rgba(0,0,0,.75);
  margin-left: auto;
  margin-right: auto;
  max-width: 820px;
}

/* botones centrados */
#hero .hero-actions{
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}
/* Quitar subrayado global */
a{
  text-decoration: none !important;
}