/* ==========================================================
   CCPGIO — page.css
   Complemento de Bootstrap 5. Paleta teal / navy en neutros fríos.
   Ubicación sugerida: public/css/page.css
   ========================================================== */

:root {
  --brand: #1d8a91;          /* teal institucional */
  --brand-dark: #146a70;
  --brand-subtle: #e2f2f3;
  --navy: #1f2b45;
  --navy-deep: #162034;
  --ink: #232c3d;
  --muted: #67728a;
  --line: #dde3ea;
  --soft: #f4f7f9;           /* fondo de secciones (neutro frío, sin amarillo) */
}

body {
  color: var(--ink);
  background: #fff;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  scroll-behavior: smooth;
}

h1, h2, h3, h4, h5, h6 { font-weight: 600; letter-spacing: -.02em; }

.py-6 { padding-top: 5rem; padding-bottom: 5rem; }
.bg-soft { background-color: var(--soft); }
.text-brand { color: var(--brand) !important; }
.text-white-75 { color: rgba(255,255,255,.8) !important; }
.text-muted { color: var(--muted) !important; }

.section-title { font-size: clamp(1.6rem, 3vw, 2.25rem); }
.card-body{
    background-color: #fff;
    border-radius: 15px;
}
.card-body img{
    width: 100px;
}
.eyebrow {
  font-size: .8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--brand);
  margin-bottom: .25rem;
}
.section-head .eyebrow { color: #7fd0d4; }

/* ---------- Navbar ---------- */
.site-nav {
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
.site-nav .brand-text {
  max-width: 20rem;
  font-size: .9rem;
  font-weight: 600;
  line-height: 1.15;
  color: var(--ink);
}
.site-nav .nav-link {
  color: var(--muted);
  font-weight: 500;
  border-radius: .5rem;
  padding: .5rem .9rem;
}
.site-nav .nav-link:hover,
.site-nav .nav-link.active { color: var(--brand); background: var(--brand-subtle); }

/* ---------- Botones ---------- */
.btn-brand {
  background: var(--brand);
  border-color: var(--brand);
  color: #fff;
}
.btn-brand:hover, .btn-brand:focus { background: var(--brand-dark); border-color: var(--brand-dark); color: #fff; }

.btn-outline-brand {
  border: 1px solid var(--brand);
  color: var(--brand);
  background: transparent;
}
.btn-outline-brand:hover { background: var(--brand); color: #fff; }

.btn-ghost-light {
  border: 1px solid rgba(255,255,255,.45);
  background: rgba(31,43,69,.7);
  color: #fff;
}
.btn-ghost-light:hover { background: rgba(31,43,69,.9); color: #fff; }

/* ---------- Hero ---------- */
.hero { position: relative; min-height: 70vh; display: flex; align-items: center; overflow: hidden; }
.hero-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(22,32,52,.95) 0%, rgba(31,43,69,.85) 45%, rgba(31,43,69,.6) 100%);
}
.hero-content { position: relative; padding: 6rem 0; }
.hero h1 { line-height: 1.1; text-wrap: balance; }

/* ---------- Cabeceras de sección oscuras ---------- */
.section-head {
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-deep) 50%, var(--navy) 100%);
  padding: 4.5rem 0;
  color: #fff;
}
.section-head h2 { color: #fff; }

/* ---------- Tarjetas ---------- */
.card-soft {
  border: 1px solid var(--line);
  border-radius: 1rem;
  box-shadow: 0 1px 2px rgba(16,24,40,.04);
  transition: box-shadow .2s ease, transform .2s ease;
}
.card-soft:hover { box-shadow: 0 10px 24px rgba(16,24,40,.08); transform: translateY(-2px); }

.icon-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem; height: 3rem;
  border-radius: .75rem;
  background: var(--brand-subtle);
  color: var(--brand);
  font-size: 1.25rem;
}
.icon-badge.sm { width: 2.5rem; height: 2.5rem; border-radius: 50%; font-size: 1rem; }

/* ---------- Listas y timeline ---------- */
.list-check { list-style: none; padding: 0; margin: 0; }
.list-check li {
  position: relative;
  padding-left: 1.9rem;
  margin-bottom: .85rem;
  color: var(--muted);
}
.list-check li::before {
  content: "\F26E"; /* bi-patch-check */
  font-family: "bootstrap-icons";
  position: absolute; left: 0; top: .05rem;
  color: var(--brand);
}

.timeline { list-style: none; margin: 0; padding-left: 1.5rem; border-left: 1px solid var(--line); }
.timeline li { position: relative; padding-bottom: 1.75rem; }
.timeline li::before {
  content: ""; position: absolute; left: -1.9rem; top: .35rem;
  width: .7rem; height: .7rem; border-radius: 50%; background: var(--brand);
}
.timeline-year { font-size: .8rem; font-weight: 700; color: var(--brand); margin-bottom: .15rem; }

/* ---------- Formularios ---------- */
.form-control, .input-group-text {
  border-color: var(--line);
  border-radius: .55rem;
}
.input-group-text { background: #fff; color: var(--muted); }
.form-control:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 .2rem rgba(29,138,145,.15);
}

/* ---------- Enlaces ---------- */
.link-plain { color: var(--ink); text-decoration: none; }
.link-plain:hover { color: var(--brand); }
.link-muted { color: var(--muted); text-decoration: none; }
.link-muted:hover { color: var(--brand); }

/* ---------- Footer ---------- */
.site-footer { background: #fff; border-top: 1px solid var(--line); }
.footer-title {
  font-size: .8rem; text-transform: uppercase; letter-spacing: .1em;
  color: var(--muted); margin-bottom: 1rem;
}

/* ---------- Responsive ---------- */
@media (max-width: 991.98px) {
  .py-6 { padding-top: 3.25rem; padding-bottom: 3.25rem; }
  .site-nav .navbar-nav { padding-top: .75rem; gap: .25rem; }
  .hero { min-height: 60vh; }
}
