/* MIXED CSS PACK */
/* Template: martinamoralesseguros.com/index.html */
/* Template mtime: 2025-10-16 14:21:52 */

/* external link (no embedded): https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css */
/* external link (no embedded): https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css */
/* external link (no embedded): https://unpkg.com/aos@2.3.1/dist/aos.css */
/* external link (no embedded): https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700;800&family=Playfair+Display:wght@800&display=swap */

/* ===== INLINE <style> BLOCK #1 ===== */
:root{
  --brand:#243c84; --brand2:#4c72d8; --accent:#d60064;
  --text:#0b1220; --muted:#64748b; --soft:#f7f9fb;
  --radius:16px; --radius-lg:22px; --line:#e9eef4;
  --shadow:0 10px 30px rgba(15,23,42,.08); --shadow2:0 16px 48px rgba(15,23,42,.12);
}

/* base */
*{box-sizing:border-box}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.6;overflow-x:hidden}
h1,h2,h3,h4{font-weight:800;line-height:1.2}
.display-title{font-family:'Playfair Display',serif}

/* navbar */
.navbar{--bs-navbar-padding-y:1rem;background:rgba(15,23,42,.08);backdrop-filter:saturate(160%) blur(10px);transition:.3s}
.navbar.scrolled{background:rgba(15,23,42,.96);box-shadow:0 6px 24px rgba(0,0,0,.15)}
.navbar-brand{color:#fff;font-weight:900}.navbar-brand span{color:var(--accent)}
.nav-link{color:#fff!important;font-weight:600}

/* hero */
#hero{min-height:78vh;display:flex;align-items:center;color:#fff;position:relative;background:
linear-gradient(135deg, rgba(36,60,132,.92) 0%, rgba(76,114,216,.82) 100%),
url('img/hero-seguros.jpg') center 35%/cover no-repeat}
#hero:after{content:'';position:absolute;inset:auto 0 0 0;height:90px;background:linear-gradient(to top,#fff,transparent)}
.hero-eyebrow{display:inline-block;background:rgba(255,255,255,.15);padding:.5rem 1rem;border-radius:999px;font-weight:700;margin-bottom:.8rem}
.hero-title{font-size:clamp(2.4rem,6vw,4rem)}
.hero-sub{max-width:780px;color:#eef3ff}
.btn-brand{background:var(--accent);border:none;color:#fff;font-weight:800;border-radius:12px;padding:.9rem 1.4rem;box-shadow:var(--shadow)}
.btn-brand:hover{filter:brightness(.95)}

/* sections */
.section{padding:84px 0}
.section-title{font-size:clamp(2rem,5vw,3rem);position:relative;display:inline-block;margin-bottom:.8rem}
.section-title:after{content:'';position:absolute;left:0;bottom:-10px;width:60px;height:4px;background:var(--accent);border-radius:3px}
.sub{color:var(--muted);max-width:900px}

/* service cards (texto izq, carrusel der) */
.service-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.6rem}
.service-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;align-items:start}
@media(max-width:992px){ .service-grid{grid-template-columns:1fr;gap:16px} }

.pill{display:inline-block;background:linear-gradient(135deg,#243c84,#4c72d8);color:#fff;border-radius:999px;padding:.42rem .85rem;font-weight:700;font-size:.82rem;margin-bottom:.6rem}
.service-card h3{font-size:1.35rem;margin:.2rem 0 .6rem}
.service-card ul{margin:0 0 .6rem 1.1rem}
.service-card li::marker{color:var(--accent)}
.mini{font-size:.95rem;color:#334155;border-top:1px dashed var(--line);padding-top:.8rem;margin-top:.4rem}

/* carousel PRO: sin dots, cover, fade, barra de progreso y contador */
.carousel-wrap{border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);background:#fff;position:relative}
.carousel.carousel-fade .carousel-item{transition:opacity .55s ease-in-out}
/* IMÁGENES DEL CARRUSEL: que NO recorten texto */
.carousel-img{
  width: 100%;
  height: 430px;             /* podés bajar/subir este alto si querés */
  object-fit: contain;       /* << clave: no recorta, muestra completa */
  object-position: center;
  background: #fff;          /* marco blanco */
  padding: 10px;             /* respirito alrededor para que no “toque” el borde */
}
@media (min-width: 1200px){
  .carousel-img{ height: 480px; }
}

/* opcional: si alguna vez querés “cover” solo en un carrusel puntual */
.fit-cover{ object-fit: cover !important; padding: 0 !important; }


/* flechas minimal */
.carousel-control-next,.carousel-control-prev{
  width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.9);
  top:12px;bottom:auto;transform:none;opacity:.85;filter:none;box-shadow:0 4px 16px rgba(0,0,0,.08)
}
.carousel-control-prev{left:12px}
.carousel-control-next{right:12px}
.carousel-control-next-icon,.carousel-control-prev-icon{filter:invert(0);}

/* contador 1/N */
.carousel-counter{
  position:absolute;right:14px;bottom:12px;background:rgba(17,24,39,.72);color:#fff;
  font-weight:700;font-size:.78rem;letter-spacing:.3px;padding:.25rem .5rem;border-radius:8px;z-index:3
}

/* barra de progreso */
.progress-track{
  position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(0,0,0,.06);z-index:2
}
.progress-bar{
  height:100%;width:0;background:linear-gradient(90deg,#243c84,#4c72d8);transition:width .1s linear
}

/* other blocks */
.benefit{display:flex;gap:1rem;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem;box-shadow:var(--shadow);margin-bottom:1rem}
.benefit .ico{width:46px;height:46px;display:grid;place-items:center;background:#eef2ff;color:#243c84;border-radius:10px}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.6rem;box-shadow:var(--shadow);height:100%}

/* footer + wa */
footer{background:#0f172a;color:#cbd5e1;padding:70px 0 40px}
.footer-logo{color:#fff;text-decoration:none;font-weight:900;font-size:1.8rem}.footer-logo span{color:var(--accent)}
.wapp-float{position:fixed;right:22px;bottom:22px;z-index:9999;display:flex;align-items:center;gap:.6rem;text-decoration:none}
.wapp-bubble{width:60px;height:60px;border-radius:999px;background:#25D366;display:grid;place-items:center;box-shadow:0 12px 35px rgba(37,211,102,.45)}
.wapp-bubble svg{width:30px;height:30px;fill:#fff}
.wapp-label{background:#111827;color:#fff;padding:.6rem .9rem;border-radius:10px;font-weight:700;box-shadow:var(--shadow);display:none}
.wapp-float:hover .wapp-label{display:block}

/* ===== INLINE <style> BLOCK #2 ===== */
/* === Fixes HERO & mobile overflow === */
html,body{max-width:100%;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
.container,.container-fluid{overflow-x:clip}

/* Navbar spacing so hero no quede debajo */
@media (max-width:576px){
  header{min-height:56px}
}

/* HERO base */
.hero{position:relative;padding-top:88px}
@media (max-width:576px){
  .hero{min-height:100dvh;display:flex;align-items:center;justify-content:center;text-align:center;padding-top:72px}
}

/* Tipografías seguras (no cortan) */
.hero-title{font-weight:800;font-size:clamp(1.9rem,7vw,3.2rem);line-height:1.15;margin-bottom:.75rem}
.hero-sub{font-size:clamp(1rem,3.6vw,1.125rem);margin-bottom:1rem}

/* CTAs centradas en phone */
@media (max-width:576px){
  .cta-group{justify-content:center}
  .cta-group .btn{min-width:220px}
  .text-lg-start{text-align:center!important}
  .justify-content-lg-start{justify-content:center!important}
}

/* Imagen del hero contenida (no empuja) */
.hero-illustration{width:clamp(200px,60vw,420px);max-width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 10px 30px rgba(0,0,0,.15))}

/* ===== INLINE <style> BLOCK #3 ===== */
/* picture wrapper ajusta en mobile y no desborda */
.hero-media picture{ display:inline-block; max-width:100%; }

