:root{--pistacho:#9FCF6B;--dark:#333231;--muted:#6b6b6b}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Open Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial;background:#f8f8f8;color:#232}
h1,h2,h3,h4,h5{font-family:'Raleway',sans-serif}

/* Navbar: reducir tamaño del menú */
.navbar .nav-link{font-weight:600;letter-spacing:.8px;text-transform:uppercase;font-size:.85rem}
.navbar .navbar-brand{font-size:1.05rem}

/* Botón primario */
.btn-xl{background:var(--pistacho);color:#fff;border:0;border-radius:0;padding:12px 28px;font-weight:800;letter-spacing:1px;text-transform:uppercase}
.btn-xl:hover{filter:brightness(.95);color:#fff}

/* Hero overlay */
header#inicio .hero-overlay{position:absolute;inset:0;background:linear-gradient(0deg, rgba(0,0,0,.55), rgba(0,0,0,.25))}
.object-fit-cover{object-fit:cover}

/* Secciones */
.section{padding:90px 0;background:#fff}
.section.light-bg{background:#f8f8f8}
.section-title h2{font-size:46px;font-weight:900;letter-spacing:-.6px;color:#B3B3BB;margin-bottom:18px;position:relative;padding-bottom:12px}
.section-title h2::after{content:'';position:absolute;left:50%;bottom:0;width:60px;height:3px;background:#d4d4d4;transform:translateX(-50%)}
.section-title p{max-width:960px;margin:18px auto 40px;color:#555}

/* Qué hacemos block */
.mz-module-about{border:1px solid #E6E6EA;min-height:180px;padding:20px;background-color:#EFEFF1}
.mz-module-about h3{font-weight:600;font-size:20px;color:#424242;margin-bottom:10px}

/* Equipo */
.team-item h3{font-size:16px;font-weight:800;text-transform:uppercase;color:#2d2d2d;margin:4px 0}
.team-position{color:#989898;font-size:12px;margin-bottom:8px;text-transform:uppercase;letter-spacing:2px}

/* Productos */
.product img{height:160px;width:100%;object-fit:cover}
.months{display:grid;grid-template-columns:repeat(12,1fr);gap:2px}
.months span{font-size:11px;padding:4px 0;background:#eef2ee;color:#666;text-align:center;border-radius:2px;white-space:nowrap}
.months span.on{background:var(--pistacho);color:#fff;font-weight:700}

/* Servicios */
.featured-icon{width:55px;height:55px;background:#F8F8F8;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:22px;color:#444}

/* Preloader */
#preloader{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#fff;z-index:2000}

/* WOW-like */
.wow{opacity:0;transform:translateY(10px);transition:opacity .6s ease, transform .6s ease}
.wow.visible{opacity:1;transform:none}

/* Footer */
footer{font-size:13px}


/* Footer enhanced */
.footer-main{background:#111;border-top:4px solid #9FCF6B;margin-top:auto}
.footer-main .footer-link{color:#bbb;text-decoration:none;margin:0 .5rem;font-size:13px}
.footer-main .footer-link:hover{color:#fff;text-decoration:underline}
.footer-main .small{color:#cfcfcf}
.footer-main .sep{color:#666}


/* Servicios - iconos y tipografía */
.featured-item { align-items: flex-start; }
.featured-icon{width:56px;height:56px;background:#F3F7EF;border:1px solid #9FCF6B33;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;color:#2f5b1d;margin-top:4px}
.featured-text h4{font-family:'Raleway',sans-serif;font-weight:800;font-size:18px;margin:2px 0 6px;color:#2a2a2a}
.featured-text p{font-family:'Open Sans',sans-serif;font-weight:400;font-size:14px;line-height:1.6;color:#4b4b4b;text-align:justify}


/* Overlay para destacados 800x800 */
.overlay-wrap{position:relative;display:block}
.overlay-img{width:800px;max-width:100%;height:auto;display:block;filter:brightness(.85)}
.overlay-title{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:'Raleway',sans-serif;font-weight:800;font-size:24px;letter-spacing:.5px;
  color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.35)
}
@media (min-width:992px){.overlay-title{font-size:28px}}


/* === Enhancements added === */
/* Fade-in text per slide */
.carousel-item { position: relative; }
.carousel-item .hero-caption { opacity: 0; transition: opacity .8s ease; }
.carousel-item.active .hero-caption { opacity: 1; }

/* Hover relief for destacados */
.overlay-wrap { position: relative; display: block; overflow: hidden; border-radius: 16px; transition: transform .3s ease, box-shadow .3s ease; }
.overlay-img { width: 800px; max-width: 100%; height: auto; display: block; filter: brightness(.85); transition: transform .3s ease; }
.overlay-wrap:hover { transform: translateY(-4px) scale(1.03); box-shadow: 0 20px 40px rgba(0,0,0,.25); }
.overlay-wrap:hover .overlay-img { transform: scale(1.05); }
.overlay-title { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-family: 'Raleway', sans-serif; font-weight: 800; font-size: 24px; letter-spacing: .5px; color: #fff; text-shadow: 0 2px 8px rgba(0,0,0,.35); }
@media (min-width:992px){ .overlay-title { font-size: 28px; } }

/* === Badge de bandera al lado del nombre de producto === */
.product-title {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: nowrap;
}

.flag-badge {
  height: 0.66em;
  width: 0.99em;
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(0,0,0,.15);
  flex-shrink: 0;
  line-height: 0;
}

.flag-badge svg {
  display: block;
  width: 100%;
  height: 100%;
}

/* Logo en navbar: tamaño acorde al texto */
.navbar .navbar-brand .brand-logo {
  height: 2em;
  width: auto;
  vertical-align: middle;
}
.navbar .navbar-brand span {
  vertical-align: middle;
}

/* Logo en sección "Nuestra empresa" */
.empresa-logo {
  max-width: 220px;
  height: auto;
}
/* Nuestro equipo – imágenes 400x400 sin afectar otras */
.team-item img{
  width: 100%;
  max-width: 300px;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  margin-left: auto;
  margin-right: auto;
}