:root{
  --azul-oscuro: #0A1A2F;
  --gris-m: #F2F4F7;
  --naranja: #FF7B00;
  --azul-v: #0077FF;
  --texto: #222;
}

/* Reset base */
*{box-sizing:border-box}
html,body{height:100%;margin:0;font-family:"Rubik",Helvetica,Arial,sans-serif;color:var(--texto);background:var(--gris-m);font-size:16px;}

/* TOP BAR */
.top-bar{background:#fff;padding:8px 0;border-bottom:1px solid rgba(10,26,47,0.06);font-size:0.95rem}
.top-bar a{color:var(--azul-oscuro);text-decoration:none}

/* NAV */
.navbar{background:var(--azul-oscuro);padding:0.6rem 0}
.brand{font-family:"Oswald",sans-serif;color:var(--gris-m);font-weight:700}
.brand-main{color:var(--naranja)}
.navbar .nav-link{color:#e9eef5;margin-left:0.6rem}
.navbar .nav-link:hover{color:var(--azul-v)}

/* HERO */
.hero-section{position:relative;height:520px;overflow:hidden}
.hero-section img{object-fit:cover;height:520px;width:100%;filter:brightness(0.55)}
.hero-estufas img{
    object-position: center bottom !important;
    height: 500px !important;
}

.hero-estufas{
    height: 500px !important;
}

.carousel-caption{
    position: absolute;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    text-align: center !important;
    width: 90%;
    padding: 20px;
}

.carousel-caption h2{
  font-family:"Oswald",sans-serif;
  font-size:2.6rem;
  color:#fff;
  margin-bottom:8px;
}

.carousel-caption p{
  color:#e6eef6;
  margin-bottom:18px;
}

.btn-primary{background:var(--azul-v);border-color:transparent}
.btn-outline-light{color:#fff;border-color:rgba(255,255,255,0.35)}

/* SERVICIOS */
section#servicios{padding:60px 0}
.service-card{border-radius:12px;box-shadow:0 6px 18px rgba(10,26,47,0.08);transition:all .28s ease;background:#fff;padding:22px}
.service-card:hover{transform:translateY(-8px);box-shadow:0 14px 30px rgba(10,26,47,0.12)}
.icon-service{font-size:32px;color:var(--naranja);background:rgba(255,123,0,0.08);padding:14px;border-radius:12px}
.service-img{
    width: 70px;
    height: 70px;
    object-fit: cover;
    border-radius: 12px;
    margin-bottom: 12px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(0,0,0,0.1);
    padding: 5px;
}

/* NOSOTROS */
.bg-light{background:#fff}

/* TESTIMONIOS */
section#testimonios{padding:60px 0}
.testimonial{border-radius:10px}

/* GALERÍA */
.galeria img{width:100%;border-radius:8px;box-shadow:0 8px 20px rgba(10,26,47,0.08)}

/* CONTACTO */
section#contacto{padding:60px 0}
.card.shadow{border-radius:12px}

/* FOOTER */
.footer{padding:40px 0;background:var(--azul-oscuro);color:#fff}
.footer a{color:#dbe9ff}
.bg-black{background:#06111b;color:#9aa6b3}

/* BOTONES FLOTANTES */
.float, .float2{
  position:fixed;right:20px;border-radius:50%;width:58px;height:58px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(10,26,47,0.2);z-index:1100;text-decoration:none;color:#fff;
}
.float{bottom:90px;background:#25D366}
.float2{bottom:20px;background:var(--azul-v)}
.my-float{font-size:24px}

/* Animaciones y visibilidad */
.service-card, .testimonial{opacity:1;transform:translateY(18px);transition:all .6s ease}
.service-card.visible, .testimonial.visible{opacity:1;transform:translateY(0)}

/* Responsive */
@media (max-width:768px){

  .carousel-caption{
      top: 50% !important;
      left: 50% !important;
      transform: translate(-50%, -50%) !important;
      text-align: center !important;
      width: 95%;
  }

  .carousel-caption h2{font-size:1.8rem}
  .hero-section{height:360px}
  .hero-section img{height:360px}
}

/* small helpers */
.lead{color:rgba(0,0,0,0.6)}
