/*
 * DELEGACIÓN RODEO DEL MEDIO
 * Diseño basado en captura real de: www.maipu.gob.ar
 * ─────────────────────────────────────────────────
 * Colores extraídos del logo oficial:
 * Azul principal : #1e8bc3  (la M y semicírculo del logo)
 * Verde acento   : #6ab23e  (triángulo del logo)
 * Header/nav     : #1e8bc3
 * Fondo          : #ffffff  / #f5f5f5
 * Texto          : #333333
 * Tipografía     : Lato (idéntica a Maipú)
 */

@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&display=swap');

/* ── VARIABLES ───────────────────────────────── */
:root {
  --celeste:     #1e8bc3;
  --celeste-d:   #1a7aad;
  --celeste-xl:  #e8f4fb;
  --azul:        #1565a0;
  --azul-d:      #0d4f7c;
  --azul-xl:     #e3eef7;
  --verde:       #6ab23e;
  --texto:       #333333;
  --texto-s:     #666666;
  --texto-xs:    #999999;
  --fondo:       #f5f5f5;
  --borde:       #e0e0e0;
  --blanco:      #ffffff;
  --sombra:      0 1px 4px rgba(0,0,0,.09);
  --sombra-md:   0 3px 12px rgba(0,0,0,.13);
  --radio:       4px;
  --t:           all .2s ease;
}

/* ── RESET ─────────────────────────────────────── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family: 'Lato', sans-serif;
  font-size: 15px; font-weight: 400;
  color: var(--texto); background: var(--blanco);
  line-height: 1.65; -webkit-font-smoothing: antialiased;
}
a { color:inherit; text-decoration:none; transition:var(--t); }
img { max-width:100%; height:auto; display:block; }
ul { list-style:none; }
.container { max-width:1200px; margin:0 auto; padding:0 16px; }

/* ── TOPBAR ──────────────────────────────────── */
.topbar { background:#2b2b2b; color:rgba(255,255,255,.75); font-size:12px; padding:6px 0; border-bottom:1px solid #222; }
.topbar .container { display:flex; justify-content:space-between; align-items:center; }
.topbar-left { display:flex; gap:20px; }
.topbar-left span { display:flex; align-items:center; gap:5px; }
.topbar-left span i { font-size:11px; color:var(--celeste); }
.topbar-right { display:flex; gap:6px; }
.topbar-right a { color:rgba(255,255,255,.65); font-size:13px; width:24px; height:24px; border-radius:3px; display:flex; align-items:center; justify-content:center; transition:var(--t); }
.topbar-right a:hover { background:var(--celeste); color:var(--blanco); }

/* ── HEADER ──────────────────────────────────── */
.main-header { background:var(--blanco); border-bottom:3px solid var(--celeste); position:sticky; top:0; z-index:1000; box-shadow:var(--sombra); transition:var(--t); }
.main-header.scrolled { box-shadow:var(--sombra-md); }
.header-inner { display:flex; align-items:center; justify-content:space-between; padding:8px 0; gap:20px; }
.logo { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.logo-img { height:60px; width:auto; display:block; transition:var(--t); }
.logo:hover .logo-img { opacity:.88; }
.logo-text { display:flex; flex-direction:column; line-height:1.25; }
.logo-main { font-size:10px; font-weight:600; color:var(--texto-xs); text-transform:uppercase; letter-spacing:1px; }
.logo-sub { font-size:15px; font-weight:700; color:var(--celeste); }

/* NAV */
.main-nav { display:flex; align-items:center; gap:2px; }
.main-nav a { display:flex; align-items:center; gap:5px; padding:8px 12px; font-size:13px; font-weight:700; color:var(--texto); white-space:nowrap; border-radius:var(--radio); border-bottom:3px solid transparent; transition:var(--t); text-transform:uppercase; letter-spacing:.3px; }
.main-nav a i { font-size:12px; color:var(--celeste); }
.main-nav a:hover { color:var(--celeste); border-bottom-color:var(--celeste); }
.main-nav a.active { color:var(--celeste); border-bottom-color:var(--celeste); font-weight:900; }

.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; padding:5px; }
.hamburger span { display:block; width:22px; height:2px; background:var(--celeste); border-radius:2px; transition:var(--t); }
.hamburger.open span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

/* ── ACCESOS RÁPIDOS ─────────────────────────── */
.accesos-rapidos { background:var(--blanco); padding:18px 0; border-bottom:1px solid var(--borde); box-shadow:var(--sombra); }
.accesos-grid { display:flex; gap:0; flex-wrap:nowrap; overflow-x:auto; }
.acceso-item { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; padding:14px 18px; min-width:110px; text-align:center; border-right:1px solid var(--borde); color:var(--texto); transition:var(--t); cursor:pointer; text-decoration:none; }
.acceso-item:last-child { border-right:none; }
.acceso-item i { font-size:28px; color:var(--celeste); }
.acceso-item span { font-size:12px; font-weight:700; line-height:1.3; color:var(--texto); }
.acceso-item:hover { background:var(--celeste-xl); }

/* ── HERO ────────────────────────────────────── */
.hero {
  background: #0d2b52;
  color:var(--blanco); padding:64px 0 58px; position:relative; overflow:hidden;
}
.hero-bg-img {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center;
  z-index:0;
}
.hero::before {
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(21,101,160,.82) 0%, rgba(30,139,195,.72) 50%, rgba(21,101,160,.88) 100%);
  z-index:1;
}
.hero-inner { position:relative; z-index:2; }
.hero-wave { position:absolute; z-index:2; }
.hero::before { content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(135deg, rgba(21,101,160,.82) 0%, rgba(30,139,195,.72) 50%, rgba(21,101,160,.88) 100%); }
.hero-inner { position:relative; z-index:2; text-align:center; }
.hero-badge { display:inline-flex; align-items:center; gap:7px; background:var(--verde); color:var(--blanco); font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; padding:5px 16px; border-radius:var(--radio); margin-bottom:18px; }
.hero h1 { font-size:clamp(28px,5vw,52px); font-weight:900; line-height:1.1; margin-bottom:12px; text-transform:uppercase; letter-spacing:-.5px; }
.hero h1 span { color:rgba(255,255,255,.7); font-weight:300; }
.hero-subtitle { font-size:clamp(14px,2vw,18px); font-weight:300; opacity:.9; max-width:560px; margin:0 auto 34px; }
.hero-accesos { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.hero-acceso { background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.3); color:var(--blanco); padding:10px 20px; border-radius:var(--radio); display:flex; align-items:center; gap:8px; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.3px; transition:var(--t); }
.hero-acceso i { font-size:14px; }
.hero-acceso:hover { background:rgba(255,255,255,.28); }
.hero-wave { position:absolute; bottom:-2px; left:0; right:0; z-index:2; }
.hero-wave svg { width:100%; height:40px; }

/* ── SECCIONES ───────────────────────────────── */
.section { padding:54px 0; }
.section-alt { background:var(--fondo); }
.section-header { margin-bottom:34px; }
.section-header.center { text-align:center; }
.section-title { font-size:clamp(18px,3vw,26px); font-weight:700; color:var(--celeste); line-height:1.25; margin-bottom:5px; padding-left:12px; border-left:4px solid var(--verde); }
.section-title.center-title { padding-left:0; border-left:none; padding-bottom:10px; border-bottom:3px solid var(--celeste); display:inline-block; }
.section-title span { color:var(--verde); }
.section-label { font-size:11px; font-weight:700; color:var(--celeste); text-transform:uppercase; letter-spacing:2px; display:block; margin-bottom:5px; }
.section-desc { color:var(--texto-s); font-size:13.5px; font-weight:300; max-width:520px; }
.section-line { width:36px; height:3px; background:var(--verde); margin:10px 0 0; border-radius:2px; }
.section-header.center .section-line { margin-left:auto; margin-right:auto; }

/* ── PAGE HERO ───────────────────────────────── */
.page-hero { background:var(--celeste); color:var(--blanco); padding:28px 0; text-align:center; border-bottom:3px solid var(--celeste); }
.page-hero h1 { font-size:clamp(18px,4vw,30px); font-weight:900; text-transform:uppercase; margin-bottom:5px; display:flex; align-items:center; gap:10px; justify-content:center; }
.page-hero h1 i { font-size:.8em; opacity:.85; }
.page-hero p { font-size:13px; opacity:.82; max-width:460px; margin:0 auto; font-weight:300; }
.breadcrumb { display:flex; align-items:center; gap:6px; justify-content:center; margin-top:8px; font-size:12px; opacity:.7; }
.breadcrumb a:hover { opacity:1; text-decoration:underline; }

/* ── NOTICIAS ────────────────────────────────── */
.noticias-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(305px,1fr)); gap:20px; }
.noticia-card { background:var(--blanco); border:1px solid var(--borde); border-radius:var(--radio); overflow:hidden; display:flex; flex-direction:column; box-shadow:var(--sombra); transition:var(--t); }
.noticia-card:hover { box-shadow:var(--sombra-md); transform:translateY(-3px); border-color:var(--celeste); }
.noticia-img { height:188px; overflow:hidden; background:var(--fondo); }
.noticia-img img { width:100%; height:100%; object-fit:cover; transition:transform .38s ease; }
.noticia-card:hover .noticia-img img { transform:scale(1.04); }
.noticia-img-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:36px; color:#ccc; }
.noticia-body { padding:16px 17px; flex:1; display:flex; flex-direction:column; }
.noticia-fecha { font-size:11px; font-weight:700; color:var(--celeste); text-transform:uppercase; letter-spacing:.8px; margin-bottom:7px; display:flex; align-items:center; gap:5px; }
.noticia-card h3 { font-size:16px; font-weight:700; color:var(--celeste); margin-bottom:7px; line-height:1.4; }
.noticia-card p { color:var(--texto-s); font-size:13.5px; font-weight:300; line-height:1.65; flex:1; }
.noticia-link { display:inline-flex; align-items:center; gap:5px; color:var(--celeste); font-weight:700; font-size:12px; text-transform:uppercase; letter-spacing:.3px; margin-top:13px; padding-top:13px; border-top:1px solid var(--borde); transition:var(--t); }
.noticia-link:hover { color:var(--azul); gap:8px; }

/* ── GALERÍA ─────────────────────────────────── */
.galeria-filtros { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-bottom:26px; }
.filtro-btn { padding:7px 18px; border-radius:20px; border:2px solid var(--celeste); background:transparent; color:var(--celeste); font-family:'Lato',sans-serif; font-size:12px; font-weight:700; cursor:pointer; transition:var(--t); text-transform:uppercase; letter-spacing:.3px; }
.filtro-btn:hover,.filtro-btn.active { background:var(--celeste); color:var(--blanco); }
.galeria-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:12px; }
.galeria-item { position:relative; border-radius:var(--radio); overflow:hidden; cursor:pointer; height:205px; background:var(--fondo); border:1px solid var(--borde); }
.galeria-item img { width:100%; height:100%; object-fit:cover; transition:transform .38s ease; }
.galeria-item:hover img { transform:scale(1.06); }
.galeria-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(30,139,195,.88) 0%,transparent 55%); opacity:0; transition:var(--t); display:flex; align-items:flex-end; padding:13px; color:var(--blanco); }
.galeria-item:hover .galeria-overlay { opacity:1; }
.galeria-overlay span { font-size:13px; font-weight:700; }
.galeria-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:34px; color:#ccc; }
.lightbox { position:fixed; inset:0; background:rgba(0,0,0,.92); z-index:9999; display:none; align-items:center; justify-content:center; padding:20px; }
.lightbox.active { display:flex; }
.lightbox-content { position:relative; max-width:90vw; max-height:85vh; }
.lightbox-content img { max-width:100%; max-height:85vh; border-radius:var(--radio); }
.lightbox-close { position:absolute; top:-36px; right:0; color:var(--blanco); font-size:26px; cursor:pointer; background:none; border:none; }

/* ── TURISMO ─────────────────────────────────── */
.turismo-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; justify-content:center; }
.tab-btn { padding:8px 18px; border-radius:20px; border:1px solid var(--borde); background:var(--blanco); color:var(--texto-s); font-family:'Lato',sans-serif; font-size:12px; font-weight:700; cursor:pointer; transition:var(--t); text-transform:uppercase; letter-spacing:.3px; display:flex; align-items:center; gap:6px; white-space:nowrap; }
.tab-btn:hover { border-color:var(--celeste); color:var(--celeste); }
.tab-btn.active { background:var(--celeste); color:var(--blanco); border-color:var(--celeste); }
.turismo-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(278px,1fr)); gap:20px; }
.turismo-card { background:var(--blanco); border:1px solid var(--borde); border-radius:var(--radio); overflow:hidden; box-shadow:var(--sombra); transition:var(--t); }
.turismo-card:hover { box-shadow:var(--sombra-md); transform:translateY(-3px); border-color:var(--celeste); }
.turismo-card-img { height:168px; background:var(--fondo); display:flex; align-items:center; justify-content:center; font-size:42px; color:#bbb; overflow:hidden; }
.turismo-card-img img { width:100%; height:100%; object-fit:cover; }
.turismo-card-body { padding:16px 17px; }
.turismo-cat { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:1.5px; color:var(--celeste); margin-bottom:4px; }
.turismo-card h3 { font-size:15px; font-weight:700; color:var(--celeste); margin-bottom:5px; line-height:1.35; }
.turismo-card p { font-size:13px; color:var(--texto-s); font-weight:300; line-height:1.65; }
.turismo-dir { display:flex; align-items:center; gap:5px; margin-top:9px; font-size:12px; color:var(--texto-xs); }

/* ── HISTORIA ────────────────────────────────── */
.historia-intro { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; margin-bottom:58px; }
.historia-intro-text h2 { font-size:clamp(20px,3vw,28px); font-weight:900; color:var(--celeste); text-transform:uppercase; margin-bottom:14px; line-height:1.2; }
.historia-intro-text p { color:var(--texto-s); margin-bottom:10px; font-size:14px; font-weight:300; line-height:1.75; }
.historia-stats { display:flex; gap:28px; margin-top:22px; }
.stat-item { text-align:center; }
.stat-num { font-size:32px; font-weight:900; color:var(--celeste); line-height:1; }
.stat-label { font-size:11px; color:var(--texto-xs); text-transform:uppercase; letter-spacing:1px; margin-top:3px; }
.historia-intro-img { border-radius:var(--radio); height:285px; background:var(--celeste); display:flex; align-items:center; justify-content:center; font-size:68px; color:rgba(255,255,255,.18); }
.timeline { position:relative; padding:10px 0; }
.timeline::before { content:''; position:absolute; left:50%; top:0; bottom:0; width:2px; background:var(--celeste); transform:translateX(-50%); opacity:.3; }
.timeline-item { display:flex; width:100%; margin-bottom:38px; position:relative; }
.timeline-item:nth-child(odd) { padding-right:calc(50% + 34px); justify-content:flex-end; }
.timeline-item:nth-child(even) { padding-left:calc(50% + 34px); }
.timeline-dot { position:absolute; left:50%; top:16px; width:14px; height:14px; background:var(--celeste); border:3px solid var(--blanco); border-radius:50%; transform:translateX(-50%); box-shadow:0 0 0 2px var(--celeste); z-index:1; }
.timeline-content { background:var(--blanco); border-radius:var(--radio); padding:16px 18px; border:1px solid var(--borde); border-top:3px solid var(--celeste); box-shadow:var(--sombra); max-width:375px; }
.timeline-year { font-size:22px; font-weight:900; color:var(--celeste); margin-bottom:4px; }
.timeline-content h4 { font-size:14px; font-weight:700; color:var(--celeste); margin-bottom:5px; }
.timeline-content p { font-size:13px; color:var(--texto-s); font-weight:300; line-height:1.65; }

/* ── INTERÉS ─────────────────────────────────── */
.interes-tabs { display:flex; gap:0; margin-bottom:30px; border:1px solid var(--borde); border-radius:var(--radio); overflow:hidden; width:fit-content; margin-left:auto; margin-right:auto; box-shadow:var(--sombra); }
.interes-tab { padding:11px 26px; border:none; cursor:pointer; font-family:'Lato',sans-serif; font-size:13px; font-weight:700; background:var(--blanco); color:var(--texto-s); transition:var(--t); display:flex; align-items:center; gap:8px; text-transform:uppercase; letter-spacing:.3px; border-right:1px solid var(--borde); }
.interes-tab:last-child { border-right:none; }
.interes-tab.active { background:var(--celeste); color:var(--blanco); }
.interes-tab:hover:not(.active) { background:var(--celeste-xl); color:var(--celeste); }
.organismos-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(285px,1fr)); gap:15px; }
.organismo-card { background:var(--blanco); border-radius:var(--radio); padding:17px; border:1px solid var(--borde); border-top:3px solid var(--celeste); box-shadow:var(--sombra); transition:var(--t); }
.organismo-card:hover { box-shadow:var(--sombra-md); transform:translateY(-2px); }
.organismo-card.seguridad { border-top-color:#1565c0; }
.organismo-card.salud { border-top-color:#2e7d32; }
.organismo-header { display:flex; align-items:flex-start; gap:12px; margin-bottom:12px; }
.organismo-icon { width:40px; height:40px; border-radius:var(--radio); background:var(--celeste-xl); color:var(--celeste); display:flex; align-items:center; justify-content:center; font-size:18px; flex-shrink:0; }
.organismo-card.seguridad .organismo-icon { background:#e3f2fd; color:#1565c0; }
.organismo-card.salud .organismo-icon { background:#e8f5e9; color:#2e7d32; }
.organismo-nombre { font-size:14px; font-weight:700; color:var(--celeste); line-height:1.3; }
.organismo-subcat { font-size:11px; color:var(--texto-xs); margin-top:2px; text-transform:uppercase; letter-spacing:.5px; }
.organismo-info { display:flex; flex-direction:column; gap:5px; }
.organismo-info-item { display:flex; align-items:flex-start; gap:7px; font-size:13px; color:var(--texto-s); font-weight:300; line-height:1.4; }
.organismo-info-item i { color:var(--celeste); width:13px; margin-top:2px; flex-shrink:0; font-size:11px; }
.organismo-card.seguridad .organismo-info-item i { color:#1565c0; }
.organismo-card.salud .organismo-info-item i { color:#2e7d32; }
.organismo-actions { display:flex; gap:7px; margin-top:13px; }
.btn-call,.btn-map { flex:1; padding:8px; border-radius:var(--radio); border:none; cursor:pointer; font-family:'Lato',sans-serif; font-size:12px; font-weight:700; display:flex; align-items:center; justify-content:center; gap:5px; transition:var(--t); text-decoration:none; text-transform:uppercase; letter-spacing:.3px; }
.btn-call { background:var(--celeste); color:var(--blanco); }
.btn-call:hover { background:var(--celeste-d); }
.btn-map { background:var(--fondo); color:var(--texto-s); border:1px solid var(--borde); }
.btn-map:hover { background:var(--celeste-xl); color:var(--celeste); border-color:var(--celeste); }

/* ── CONTACTO ────────────────────────────────── */
.contacto-grid { display:grid; grid-template-columns:1fr 1.5fr; gap:40px; }
.contacto-info h3 { font-size:20px; font-weight:900; color:var(--celeste); text-transform:uppercase; margin-bottom:22px; padding-bottom:10px; border-bottom:2px solid var(--celeste); }
.contacto-dato { display:flex; align-items:flex-start; gap:13px; margin-bottom:17px; }
.contacto-dato-icon { width:38px; height:38px; border-radius:var(--radio); background:var(--celeste); color:var(--blanco); display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0; }
.contacto-dato-text strong { display:block; font-size:11px; color:var(--texto-xs); text-transform:uppercase; letter-spacing:1px; margin-bottom:2px; font-weight:700; }
.contacto-dato-text span,.contacto-dato-text a { font-size:14px; font-weight:400; color:var(--texto); }
.contacto-dato-text a:hover { color:var(--celeste); }
.contacto-map { margin-top:22px; border-radius:var(--radio); overflow:hidden; border:1px solid var(--borde); }
.contacto-map iframe { width:100%; height:210px; border:none; display:block; }
.contacto-form { background:var(--blanco); border-radius:var(--radio); padding:28px; border:1px solid var(--borde); box-shadow:var(--sombra); }
.contacto-form h3 { font-size:20px; font-weight:900; color:var(--celeste); text-transform:uppercase; margin-bottom:22px; padding-bottom:10px; border-bottom:2px solid var(--celeste); }
.form-group { margin-bottom:14px; }
.form-group label { display:block; font-size:11px; font-weight:700; color:var(--texto-xs); margin-bottom:5px; text-transform:uppercase; letter-spacing:.5px; }
.form-group input,.form-group textarea,.form-group select { width:100%; padding:9px 12px; border:1px solid var(--borde); border-radius:var(--radio); font-family:'Lato',sans-serif; font-size:14px; color:var(--texto); background:var(--fondo); transition:var(--t); }
.form-group input:focus,.form-group textarea:focus { outline:none; border-color:var(--celeste); background:var(--blanco); box-shadow:0 0 0 2px rgba(30,139,195,.1); }
.form-group textarea { height:115px; resize:vertical; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:13px; }

/* ── BOTONES ─────────────────────────────────── */
.btn { display:inline-flex; align-items:center; gap:7px; padding:10px 22px; border-radius:var(--radio); font-family:'Lato',sans-serif; font-size:13px; font-weight:700; cursor:pointer; border:none; transition:var(--t); text-transform:uppercase; letter-spacing:.3px; }
.btn-primary { background:var(--celeste); color:var(--blanco); }
.btn-primary:hover { background:var(--celeste-d); }
.btn-secondary { background:transparent; color:var(--celeste); border:2px solid var(--celeste); }
.btn-secondary:hover { background:var(--celeste); color:var(--blanco); }
.btn-naranja { background:var(--verde); color:var(--blanco); }
.btn-naranja:hover { background:#5a9a32; }
.btn-full { width:100%; justify-content:center; }

/* ── ALERTAS ─────────────────────────────────── */
.alert { padding:11px 15px; border-radius:var(--radio); margin-bottom:14px; font-size:13.5px; }
.alert-success { background:#e8f5e9; color:#1b5e20; border-left:3px solid #2e7d32; }
.alert-error { background:#fdeaea; color:#b71c1c; border-left:3px solid #ef5350; }

/* ── NOTICIA COMPLETA ────────────────────────── */
.noticia-full { max-width:730px; margin:0 auto; }
.noticia-full-img { width:100%; height:360px; object-fit:cover; border-radius:var(--radio); margin-bottom:26px; }
.noticia-full h1 { font-size:clamp(22px,3.5vw,32px); font-weight:900; color:var(--celeste); text-transform:uppercase; margin-bottom:10px; line-height:1.25; }
.noticia-full-meta { display:flex; gap:20px; margin-bottom:22px; font-size:13px; color:var(--texto-xs); font-weight:300; padding-bottom:16px; border-bottom:1px solid var(--borde); }
.noticia-full-meta span { display:flex; align-items:center; gap:5px; }
.noticia-contenido { font-size:15px; line-height:1.8; color:var(--texto-s); font-weight:300; }
.noticia-contenido p { margin-bottom:15px; }

/* ── SIN RESULTADOS ──────────────────────────── */
.no-results { text-align:center; padding:50px 20px; color:#ccc; }
.no-results i { font-size:40px; margin-bottom:14px; display:block; }

/* ── BANNER PUBLICITARIO ─────────────────────── */
.banner-municipal { padding:32px 0; background:var(--fondo); border-top:1px solid var(--borde); border-bottom:1px solid var(--borde); }
.banner-municipal .container { text-align:center; }
.banner-slot { position:relative; display:block; width:100%; max-width:960px; margin:0 auto; border-radius:var(--radio); overflow:hidden; box-shadow:var(--sombra-md); background:var(--celeste-xl); min-height:120px; }
.banner-slot img { width:100%; height:auto; display:block; max-height:200px; object-fit:cover; transition:opacity .3s ease; }
.banner-slot:hover img { opacity:.93; }
.banner-placeholder { width:100%; min-height:120px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:10px; color:var(--texto-xs); font-size:13px; border:2px dashed var(--borde); border-radius:var(--radio); padding:30px; }
.banner-placeholder i { font-size:28px; color:var(--celeste); opacity:.5; }
.banner-label { display:inline-block; font-size:10px; font-weight:700; color:var(--texto-xs); text-transform:uppercase; letter-spacing:1.5px; margin-bottom:12px; }

/* ── DISTRITO EN NÚMEROS ─────────────────────── */
.distrito-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 20px;
  margin-bottom: 28px;
}
.distrito-card {
  background: var(--blanco);
  border-radius: var(--radio);
  padding: 28px 20px;
  text-align: center;
  border: 1px solid var(--borde);
  border-top: 3px solid var(--celeste);
  box-shadow: var(--sombra);
  transition: var(--t);
}
.distrito-card:hover { box-shadow: var(--sombra-md); transform: translateY(-3px); }
.distrito-icon {
  width: 56px; height: 56px;
  background: var(--celeste-xl);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 14px;
  font-size: 22px; color: var(--celeste);
}
.distrito-numero {
  font-size: 32px; font-weight: 900;
  color: var(--celeste); line-height: 1;
  margin-bottom: 6px;
}
.distrito-label {
  font-size: 13px; font-weight: 700;
  color: var(--texto); text-transform: uppercase;
  letter-spacing: .5px; margin-bottom: 8px;
}
.distrito-desc {
  font-size: 12px; color: var(--texto-s);
  font-weight: 300; line-height: 1.5;
}
.distrito-sabias {
  background: var(--celeste);
  color: var(--blanco);
  border-radius: var(--radio);
  padding: 16px 22px;
  font-size: 14px; line-height: 1.6;
  display: flex; align-items: flex-start; gap: 12px;
}
.distrito-sabias i {
  font-size: 20px; color: #ffe082;
  flex-shrink: 0; margin-top: 2px;
}
.distrito-sabias strong { font-weight: 900; }

/* ── INSTAGRAM ───────────────────────────────── */
.instagram-feed-wrapper { max-width:600px; margin:0 auto; }
.btn-instagram { display:inline-flex; align-items:center; gap:8px; padding:11px 28px; background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); color:#fff; border-radius:6px; font-family:'Lato',sans-serif; font-size:13px; font-weight:700; text-decoration:none; text-transform:uppercase; letter-spacing:.4px; transition:var(--t); box-shadow:0 3px 12px rgba(220,39,67,.3); }
.btn-instagram i { font-size:16px; }
.btn-instagram:hover { opacity:.9; transform:translateY(-1px); }

/* ── DROPDOWN MÁS ────────────────────────────── */
.nav-dropdown { position:relative; display:flex; align-items:center; }
.nav-dropdown-btn { display:flex; align-items:center; gap:5px; padding:8px 12px; font-size:13px; font-weight:700; color:var(--texto); text-transform:uppercase; letter-spacing:.3px; background:none; border:none; cursor:pointer; font-family:'Lato',sans-serif; border-bottom:3px solid transparent; transition:var(--t); white-space:nowrap; }
.nav-dropdown-btn i:first-child { font-size:12px; color:var(--celeste); }
.nav-dropdown-arrow { font-size:9px; transition:transform .2s; }
.nav-dropdown-btn:hover { color:var(--celeste); border-bottom-color:var(--celeste); }
.nav-dropdown.active .nav-dropdown-btn { color:var(--celeste); border-bottom-color:var(--celeste); }
.nav-dropdown.open .nav-dropdown-arrow { transform:rotate(180deg); }
.nav-dropdown-menu { position:absolute; top:calc(100% + 3px); right:0; background:var(--blanco); border:1px solid var(--borde); border-radius:var(--radio); box-shadow:var(--sombra-md); min-width:170px; z-index:999; overflow:hidden; display:none; flex-direction:column; }
.nav-dropdown.open .nav-dropdown-menu { display:flex; }
.nav-dropdown-menu a { display:flex; align-items:center; gap:8px; padding:11px 16px; font-size:13px; font-weight:700; color:var(--texto); text-transform:uppercase; letter-spacing:.3px; border-bottom:1px solid var(--borde); transition:var(--t); }
.nav-dropdown-menu a:last-child { border-bottom:none; }
.nav-dropdown-menu a i { color:var(--celeste); font-size:12px; }
.nav-dropdown-menu a:hover,.nav-dropdown-menu a.active { background:var(--celeste-xl); color:var(--celeste); }
@media (max-width:768px) {
  .nav-dropdown { flex-direction:column; width:100%; }
  .nav-dropdown-btn { display:none; }
  .nav-dropdown-menu { position:static; display:flex !important; box-shadow:none; border:none; border-radius:0; min-width:0; }
  .nav-dropdown-menu a { padding:10px 12px; border-bottom:1px solid var(--borde); }
}

/* ── BOTÓN PAGOS ─────────────────────────────── */
.btn-pagos { display:flex; align-items:center; gap:7px; padding:9px 18px; background:var(--celeste); color:var(--blanco); border:2px solid var(--celeste); border-radius:var(--radio); font-family:'Lato',sans-serif; font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.4px; white-space:nowrap; flex-shrink:0; transition:var(--t); text-decoration:none; }
.btn-pagos i { font-size:14px; }
.btn-pagos:hover { background:var(--celeste-d); border-color:var(--celeste-d); }
@media (max-width:768px) { .btn-pagos span { display:none; } .btn-pagos { padding:8px 10px; } }

/* ── FOOTER ──────────────────────────────────── */
.main-footer { background:#0090cc; color:rgba(255,255,255,.82); }
.footer-top { padding:48px 0 36px; }
.footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:36px; }
.footer-logo { display:flex; align-items:center; gap:10px; margin-bottom:13px; }
.footer-logo i { font-size:24px; color:rgba(255,255,255,.6); }
.footer-logo-main { display:block; font-size:10px; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:1.2px; }
.footer-logo-sub { display:block; font-size:16px; font-weight:900; color:var(--blanco); text-transform:uppercase; }
.footer-desc { font-size:13px; font-weight:300; line-height:1.75; margin-bottom:17px; }
.footer-social { display:flex; gap:7px; }
.footer-social a { width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,.15); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.7); font-size:13px; transition:var(--t); }
.footer-social a:hover { background:rgba(255,255,255,.3); color:var(--blanco); }
.footer-col h4 { font-size:12px; font-weight:700; color:var(--blanco); text-transform:uppercase; letter-spacing:1.5px; margin-bottom:13px; padding-bottom:8px; border-bottom:1px solid rgba(255,255,255,.15); }
.footer-col ul li { margin-bottom:7px; }
.footer-col ul li a { font-size:13px; font-weight:300; color:rgba(255,255,255,.72); display:flex; align-items:center; gap:7px; transition:var(--t); }
.footer-col ul li a i { font-size:10px; color:rgba(255,255,255,.45); }
.footer-col ul li a:hover { color:var(--blanco); padding-left:3px; }
.emergency-list { display:flex; flex-direction:column; gap:7px; }
.emergency-item { display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.75); font-size:13px; font-weight:300; transition:var(--t); }
.emergency-item:hover { color:var(--blanco); }
.emergency-num { font-size:18px; font-weight:900; color:#ffe082; min-width:34px; }
.footer-contact li { display:flex; align-items:flex-start; gap:8px; margin-bottom:10px; font-size:13px; font-weight:300; }
.footer-contact li i { color:rgba(255,255,255,.5); margin-top:2px; width:12px; flex-shrink:0; font-size:11px; }
.footer-contact li a:hover { color:var(--blanco); }
.footer-bottom { background:rgba(0,0,0,.18); padding:13px 0; font-size:12px; font-weight:300; border-top:1px solid rgba(255,255,255,.1); }
.footer-bottom .container { display:flex; justify-content:space-between; align-items:center; }
.admin-link { color:rgba(255,255,255,.3); font-size:11px; display:flex; align-items:center; gap:5px; }
.admin-link:hover { color:rgba(255,255,255,.7); }

/* ── FLOTANTES ───────────────────────────────── */
.whatsapp-float { position:fixed; bottom:22px; right:22px; z-index:999; width:50px; height:50px; border-radius:50%; background:#25d366; color:var(--blanco); display:flex; align-items:center; justify-content:center; font-size:23px; box-shadow:0 3px 12px rgba(37,211,102,.45); transition:var(--t); }
.whatsapp-float:hover { transform:scale(1.1); }
.back-to-top { position:fixed; bottom:22px; right:84px; z-index:999; width:40px; height:40px; border-radius:var(--radio); background:var(--celeste); color:var(--blanco); border:none; cursor:pointer; font-size:13px; display:flex; align-items:center; justify-content:center; box-shadow:var(--sombra); transition:var(--t); opacity:0; pointer-events:none; }
.back-to-top.visible { opacity:1; pointer-events:all; }
.back-to-top:hover { background:var(--celeste-d); }

/* ── RESPONSIVE ──────────────────────────────── */
@media (max-width:1024px) {
  .footer-grid { grid-template-columns:1fr 1fr; gap:28px; }
  .historia-intro { grid-template-columns:1fr; }
  .historia-intro-img { display:none; }
  .timeline::before { left:16px; }
  .timeline-item:nth-child(odd) { padding-right:0; padding-left:44px; justify-content:flex-start; }
  .timeline-item:nth-child(even) { padding-left:44px; }
  .timeline-dot { left:16px; }
  .timeline-content { max-width:100%; }
  .contacto-grid { grid-template-columns:1fr; }
}
@media (min-width:481px) and (max-width:768px) {
  .footer-grid { grid-template-columns:1fr 1fr; gap:22px; }
}

@media (max-width:768px) {
  .topbar { display:none; }
  .hamburger { display:flex; }
  .main-nav { position:absolute; top:100%; left:0; right:0; background:var(--celeste); flex-direction:column; padding:0 16px; gap:2px; box-shadow:0 6px 16px rgba(0,0,0,.15); max-height:0; overflow:hidden; transition:max-height .35s ease, padding .35s ease; }
  .main-nav.open { max-height:500px; padding:8px 16px 16px; border-top:1px solid rgba(255,255,255,.2); }
  .main-nav a { padding:10px 12px; border-radius:var(--radio); font-size:13px; color:#fff; border-bottom:none; white-space:normal; }
  .main-nav a.active { border-bottom:none; }
  .main-nav a:hover { border-bottom:none; }
  .main-nav a:hover,.main-nav a.active { background:rgba(255,255,255,.2); }
  .main-header { position:relative; }
  .logo-img { height:48px; }
  .noticias-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; gap:26px; }
  .interes-tabs { flex-direction:column; width:100%; }
  .interes-tab { border-radius:0; border-right:none; border-bottom:1px solid var(--borde); }
  .form-row { grid-template-columns:1fr; }
  .footer-bottom .container { flex-direction:column; gap:8px; text-align:center; }
}
@media (max-width:480px) {
  .hero { padding:40px 0 46px; }
  .section { padding:42px 0; }
  .turismo-cards,.organismos-grid,.galeria-grid { grid-template-columns:1fr; }
  .btn { padding:9px 18px; font-size:12px; }
  /* FIX: accesos hero sin scroll horizontal */
  .accesos-grid { flex-wrap:wrap; justify-content:center; overflow-x:hidden; }
  .acceso-item { min-width:80px; padding:10px 10px; font-size:11px; }
}

/* ── ANIMACIONES DE ENTRADA ──────────────────── */
@keyframes fadeInUp {
  from { opacity:0; transform:translateY(22px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes fadeIn {
  from { opacity:0; }
  to   { opacity:1; }
}

/* Elementos que se animan al entrar */
.main-header {
  animation: fadeIn .5s ease both;
}
.hero-inner > * {
  opacity: 0;
  animation: fadeInUp .6s ease forwards;
}
.hero-badge        { animation-delay: .1s; }
.hero h1           { animation-delay: .22s; }
.hero-subtitle     { animation-delay: .34s; }
/* .hero-accesos eliminado */

.accesos-rapidos {
  animation: fadeInUp .5s ease .3s both;
}

/* Secciones — se animan al hacer scroll */
.animate-on-scroll {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .6s ease, transform .6s ease;
}
.animate-on-scroll.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ── SECCIONES DESTACADAS INDEX (Trabajos / Turismo) ── */
.dest-grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 40px;
    align-items: center;
}
@media (max-width: 768px) {
    .dest-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .dest-info { text-align: center; }
    .dest-info a { width: 100%; justify-content: center; }
    .dest-info > div:first-child { justify-content: center; }
    .dest-desc { display: none; }
    .dest-cards { gap: 8px; }
}

@media (max-width: 480px) {
    /* Cards de trabajos en mobile */
    .dest-cards a {
        padding: 12px !important;
        gap: 10px !important;
    }
    .dest-cards a div[style*="width:44px"] {
        width: 36px !important;
        height: 36px !important;
        font-size: 16px !important;
    }
    /* Turismo cards en mobile */
    .dest-cards a[style*="height:80px"] {
        height: auto !important;
        min-height: 64px;
    }
    .dest-cards a div[style*="width:80px"] {
        width: 60px !important;
        min-width: 60px;
    }
    .dest-cards a div[style*="width:80px"] img {
        width: 60px !important;
        height: 60px !important;
    }
}

/* ── TURISMO CARDS DESTACADAS (index) ── */
.tur-card-dest {
    background: rgba(255,255,255,.1);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 8px;
    display: flex;
    align-items: center;
    text-decoration: none;
    overflow: hidden;
    transition: all .2s;
    min-height: 70px;
}
.tur-card-img {
    width: 72px;
    min-width: 72px;
    height: 72px;
    overflow: hidden;
    flex-shrink: 0;
}
.tur-card-img img {
    width: 72px;
    height: 72px;
    object-fit: cover;
    display: block;
}
.tur-card-body {
    flex: 1;
    padding: 10px 12px;
    min-width: 0;
}
.tur-card-titulo {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.tur-card-desc {
    font-size: 12px;
    color: rgba(255,255,255,.6);
    margin-top: 3px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
@media (max-width: 480px) {
    .tur-card-img { width: 56px; min-width: 56px; height: 56px; }
    .tur-card-img img { width: 56px; height: 56px; }
    .tur-card-titulo { font-size: 13px; white-space: normal; }
    .tur-card-desc { display: none; }
}