:root {
  --inem-green: #0077B6;
  --inem-orange: #159947;
  --inem-gold: #12355B;
  --inem-ink: #102a43;
  --inem-cream: #f7fbff;
  --inem-muted: #edf6fb;
}

html { scroll-behavior: smooth; }
body { color: var(--inem-ink); background: var(--inem-cream); font-family: 'Roboto', sans-serif; }

/* Encabezado compartido */
.barra-superior-govco { background: var(--inem-green) !important; height: 2.65rem; }
.navbar.bg-white { background: #fff !important; box-shadow: 0 5px 18px rgba(11, 77, 53, .09) !important; }
.navbar-brand img { max-height: 82px; width: auto; object-fit: contain; }
.navbar-custom {
  margin-top: 0 !important;
  padding: .55rem 0 !important;
  border-radius: 0 !important;
  background: var(--inem-green) !important;
  border-bottom: 4px solid var(--inem-gold);
}
.navbar-custom .navbar-nav .nav-link { font-size: .92rem !important; letter-spacing: .01em; }
.navbar-custom .navbar-nav .nav-link:hover { color: var(--inem-gold) !important; }
.navbar-custom .dropdown-menu {
  border: 0; border-radius: 0 0 14px 14px !important;
  box-shadow: 0 12px 25px rgba(11, 77, 53, .17);
}
.navbar-custom .dropdown-menu .dropdown-item { color: var(--inem-green); }
.navbar-custom .dropdown-menu .dropdown-item:hover,
.navbar-custom .dropdown-menu .dropdown-item:focus {
  background: #E6F4FA !important;
  color: #12355B !important;
  border-left: 4px solid #159947 !important;
  padding-left: .75rem;
}
.navbar-custom .dropdown-menu .dropdown-item:hover i,
.navbar-custom .dropdown-menu .dropdown-item:focus i { color: #12355B !important; }
.input-search-govco { border: 1px solid #cbd8d0; border-radius: 8px; padding-right: 1rem; }
.input-search-govco:focus { outline: 3px solid rgba(246,183,42,.38); border-color: var(--inem-gold); }
.container-options-search-govco { border-color: var(--inem-gold); border-radius: 0 0 10px 10px; }
.pulse-effect { background: var(--inem-orange) !important; border-radius: 8px !important; }
.pulse-effect:hover { background: #c93f16 !important; }

/* Portada */
.inicio { margin: 0 !important; position: relative; }
.inicio #miCarrusel { overflow: hidden; }
.inicio .carousel-item { transform: none !important; transition: opacity .65s ease-in-out !important; }
.inicio .carousel-item img { height: clamp(340px, 52vw, 620px) !important; max-height: none !important; filter: brightness(.62); }
.inicio .carousel-control-prev, .inicio .carousel-control-next { width: 11%; background: transparent; }
.inicio .carousel-control-prev-icon, .inicio .carousel-control-next-icon { background-color: var(--inem-gold); padding: 16px; }
.inem-hero-copy {
  position: absolute; z-index: 4; inset: 0; display: flex; align-items: end;
  pointer-events: none; padding: clamp(2rem, 7vw, 6.5rem) 8%;
}
.inem-hero-copy__inner { max-width: 780px; color: #fff; pointer-events: auto; }
.inem-kicker { display: inline-block; margin-bottom: 1rem; padding: .38rem .8rem; color: var(--inem-green); background: var(--inem-gold); font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.inem-hero-copy h1 { font-size: clamp(2.35rem, 5vw, 4.8rem); line-height: .98; font-weight: 900; text-transform: uppercase; text-wrap: balance; }
.inem-hero-copy p { max-width: 590px; font-size: clamp(1rem, 1.7vw, 1.25rem); margin: 1rem 0 1.6rem; }
.inem-hero-copy .btn { border-radius: 0; padding: .75rem 1.15rem; font-weight: 800; }
.btn-inem-primary { color: #fff; background: var(--inem-orange); border: 2px solid var(--inem-orange); }
.btn-inem-primary:hover { color: #fff; background: #0f7636; border-color: #0f7636; }
.btn-inem-outline { margin-left: .45rem; color: #fff; border: 2px solid #fff; }
.btn-inem-outline:hover { color: var(--inem-green); background: #fff; }

/* Secciones institucionales de la portada */
.home-intro { max-width: 1180px; margin: 4.5rem auto; padding: 0 1.25rem; }
.home-intro .row { align-items: center; background: #fff; box-shadow: 0 16px 45px rgba(11, 77, 53, .10); }
.home-intro .intro-content { padding: clamp(2rem, 5vw, 4.5rem); }
.texto-lateral1 { color: var(--inem-green) !important; font-size: clamp(1.65rem, 3.2vw, 2.7rem) !important; line-height: 1.1; }
.texto-lateral { color: var(--inem-orange) !important; font-weight: 700; font-style: normal !important; }
.info-institucion { border-left: 4px solid var(--inem-gold); padding-left: 1rem; }
.info-institucion h5 { color: var(--inem-green) !important; text-transform: uppercase; letter-spacing: .08em; }
.intro-emblem { background: var(--inem-green); min-height: 100%; display: grid; place-items: center; padding: 2rem; }
.intro-emblem .img-fluid { max-height: 360px; filter: drop-shadow(0 14px 16px rgba(0,0,0,.25)); animation: none !important; }
.btn.pulse-effect1, .btn-custom1 { background: var(--inem-orange) !important; border-radius: 0 !important; box-shadow: none !important; }
.btn.pulse-effect1:hover, .btn-custom1:hover { background: #0f7636 !important; transform: translateY(-2px) !important; }
.btn-container1 { display: flex; justify-content: center; flex-wrap: wrap; gap: 1rem; margin: 0 auto 4.5rem; }
.btn-custom { margin: 0 !important; padding: .55rem !important; border-radius: 0 !important; border: 2px solid var(--inem-green) !important; background: #fff !important; }
.btn-custom:hover { border-color: var(--inem-orange) !important; transform: translateY(-4px) !important; }
.btn-custom .img-fluid { animation: none !important; }
.avisos-section { background: var(--inem-muted) !important; padding: 4.5rem 0 !important; }
.avisos-section .alert, .container2 > .row > .col-md-12 > .alert { margin: 0 auto 2rem; max-width: 1180px; color: #fff; background: var(--inem-green); border: 0; border-radius: 0; }
.avisos-title, .container-title { font-weight: 900; text-transform: uppercase; }
.avisos-title i { color: var(--inem-gold) !important; }
.container2 { max-width: 1180px; margin: 4.5rem auto !important; padding: 0 1.25rem; }
.custom-card { border: 0 !important; border-radius: 0 !important; }
.border-left-card { border-left: 6px solid var(--inem-gold) !important; }
.custom-card .card-header { background: var(--inem-green) !important; min-height: 8px; padding: 0 !important; }
.custom-card:hover .iframe-wrapper { border-color: var(--inem-gold) !important; }

/* Pie común */
.custom-footer { background: var(--inem-green) !important; border-top: 5px solid var(--inem-gold) !important; }
.footer-title { border-color: var(--inem-gold) !important; }
.enlace-contacto:hover, .footer a:hover { color: var(--inem-gold) !important; }

@media (max-width: 767.98px) {
  .navbar-brand img { max-height: 58px; }
  .search-govco { order: 3; width: 100%; margin-top: .5rem; }
  .inem-hero-copy { align-items: center; padding: 2rem 9%; }
  .inem-hero-copy h1 { font-size: 2.35rem; }
  .btn-inem-outline { margin: .65rem 0 0; }
  .home-intro { margin: 2.5rem auto; }
  .intro-emblem { min-height: 240px; }
}
