:root{
  --nav-color: #333;
  --ts-blue: #0696d7;
}

/*  Utilidades globales  */
.py-6 { padding-top: 4.5rem; padding-bottom: 4.5rem; }

.section-title{
  font-size: clamp(1.4rem, 1rem + 1.6vw, 2rem);
  font-weight: 600;
  color:#111;
}

/* Imágenes 16:9 con recorte y borde suave */
.qe-img, .news-img, .event-img{
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  border-radius: .5rem;
}

/* Enlaces tipo “Leer más →” */
.qe-link, .link-more{
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  color:#111;
  text-decoration: none;
  font-weight: 500;
}
.qe-link:hover, .link-more:hover{ text-decoration: underline; }

/*  HEADER  */
.logo-nav { height: 2rem; }

.site-header .nav-link,
.site-header .navbar-brand{
  color: var(--nav-color);
}

.site-header .nav-link:hover,
.site-header .nav-link:focus{
  color: #000;
  text-decoration: underline;
}

.search-btn{ color: var(--nav-color); }
.search-btn:hover,
.search-btn:focus{ color: #000; }

.navbar .dropdown-menu{
  border-radius: 1rem;
  margin-top: 0;
}
.navbar .dropdown:hover > .dropdown-menu{ display: block; }

.dropdown-menu a{
  color: var(--nav-color);
  text-decoration: none;
}
.dropdown-menu a:hover{ text-decoration: underline; }

/*  HERO  */
.hero{
  min-height: 90vh;
  background-image: url('../MEDIA/img_hero.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: #fff;
  position: relative;
}
.hero-overlay{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.45);
  z-index: 1;
}
.hero .container{ position: relative; z-index: 2; }
.hero h1{
  font-size: clamp(1.75rem, 3vw + 1rem, 2.75rem);
  line-height: 1.3;
}

/* Botones hero */
.btn-hero-primary{
  background-color: #f26522;
  color: #fff;
  border: none;
  font-weight: 600;
  border-radius: 50px;
  padding: .75rem 1.75rem;
}
.btn-hero-primary:hover{
  background-color: #d95414;
  color: #fff;
}
.btn-hero-outline{
  background-color: transparent;
  color: #fff;
  border: 2px solid #fff;
  font-weight: 600;
  border-radius: 50px;
  padding: .75rem 1.75rem;
}
.btn-hero-outline:hover{
  background-color: #fff;
  color: #f26522;
}

/*  ¿Qué es Conapdis?  */
.qe-item h3{ color:#1a1a1a; }
.qe-item p{ line-height: 1.6; }

/*  Trámites y servicios + Próximos eventos (fondo azul)  */
.tramites-destacados,
.proximos-eventos{
  background: var(--ts-blue);
}

/* Tarjetas de trámites */
.svc-card{
  position: relative;
  background: #fff;
  border-radius: 1.5rem;
  padding: 2rem 1.75rem;
  box-shadow: 0 2px 0 rgba(0,0,0,.03);
  transition: transform .18s ease, box-shadow .18s ease;
  min-height: 420px;
  display: flex;
  flex-direction: column;
}
.svc-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(0,0,0,.08);
}
.svc-icon{ color: var(--ts-blue); margin-bottom: 1.25rem; }
.svc-title{
  font-size: clamp(1.25rem, 1rem + .9vw, 1.8rem);
  line-height: 1.2;
  margin-bottom: 1rem;
  color:#202020;
}
.svc-text{
  color:#4b4b4b;
  line-height: 1.6;
  margin-bottom: 0;
}

/*  Últimas noticias y Próximos eventos */

.event-card{
  position: relative;
  overflow: hidden;
  border-radius: .5rem;
}
.event-img{
  display: block;
  transform: scale(1);
  transition: transform .35s ease;
}
.event-overlay{
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0,0,0,.55) 0%,
    rgba(0,0,0,.35) 35%,
    rgba(0,0,0,.10) 70%,
    rgba(0,0,0,0) 100%
  );
  pointer-events: none;
}
.event-content{
  position: absolute;
  left: 1.25rem; right: 1.25rem; bottom: 1.25rem;
  color: #fff; z-index: 2;
}
.event-title{
  font-size: clamp(1.15rem, 1rem + .8vw, 1.5rem);
  font-weight: 600; margin-bottom: .25rem;
}
.event-date{ color: rgba(255,255,255,.9); }
.event-card:hover .event-img,
.event-card:focus-within .event-img{ transform: scale(1.03); }

/*  Footer  */
.site-footer{
  --footer-bg: #111;
  --footer-text: #d6d6d6;
  --footer-link: #f0f0f0;
  --footer-border: #2a2a2a;
  background: var(--footer-bg);
  color: #fff;
}
.footer-top{ border-top: 1px solid rgba(255,255,255,.05); }
.text-footer{ color: var(--footer-text); }
.link-footer{ color: var(--footer-link); text-decoration: none; }
.link-footer:hover, .link-footer:focus{ text-decoration: underline; }
.social-btn{
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 50%;
  border: 1px solid var(--footer-border); color: #fff; text-decoration: none;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.social-btn:hover, .social-btn:focus{
  background: #1c1c1c; border-color: #3a3a3a; color: #fff; outline: none;
}
.site-footer nav h3{ margin-bottom: .75rem; }
.site-footer nav ul li + li{ margin-top: .5rem; }
.footer-bottom{ border-top: 1px solid var(--footer-border); background: #0e0e0e; }

/*  Media queries  */
@media (min-width: 992px) {
  .site-header .nav-link{ padding-left: .75rem; padding-right: .75rem; }
  .hero{ display: flex; align-items: flex-end; }
  .quees-conapdis .row > [class*="col-"]{ padding-right: 2rem; padding-left: 2rem; }
  .tramites-destacados .row{ row-gap: 2rem; }
  .ultimas-noticias .row > [class*="col-"]{ padding-left: 1rem; padding-right: 1rem; }
  .site-footer .container{ padding-left: 2rem; padding-right: 2rem; }
}
