.ieu-district-carousel-section,
.ieu-districts-v05 { background: #fff; }

.ieu-district-carousel-shell { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 14px; align-items: center; }
.ieu-district-carousel { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(330px, 38%); gap: 20px; overflow-x: auto; padding: 8px 4px 18px; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; cursor: grab; touch-action: pan-y; }
.ieu-district-carousel::-webkit-scrollbar { display: none; }
.ieu-district-carousel.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }

.ieu-district-card { min-width: 0; overflow: hidden; border: 1px solid var(--ieu-line, var(--line, #e7ecf3)); border-radius: 20px; background: #fff; box-shadow: 0 16px 40px rgba(15,35,70,.08); scroll-snap-align: start; transition: transform .25s ease, box-shadow .25s ease; }
.ieu-district-card:hover { transform: translateY(-5px); box-shadow: var(--ieu-shadow-2, var(--shadow2, 0 24px 60px rgba(15,35,70,.16))); }
.ieu-district-card-link { display: block; color: inherit; text-decoration: none; cursor: pointer; }
.ieu-district-card-link:visited { color: inherit; }
.ieu-district-card-link:focus-visible { outline: 3px solid var(--ieu-green, var(--green, #69b42e)); outline-offset: 4px; }
.ieu-district-card-image { overflow: hidden; aspect-ratio: 16 / 10; background: var(--ieu-soft, var(--soft, #f7f9fc)); }
.ieu-district-card-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.ieu-district-card:hover .ieu-district-card-image img { transform: scale(1.06); }
.ieu-district-card-body { display: grid; gap: 10px; padding: 24px; }
.ieu-district-card-body h3 { margin: 0; color: var(--ieu-blue, var(--blue, #0b2d5e)); font-size: clamp(21px, 1.55vw, 26px); line-height: 1.2; }
.ieu-district-card-body p { margin: 0; color: var(--ieu-muted, var(--muted, #64728a)); font-size: 15px; line-height: 1.55; }
.ieu-district-count { display: inline-flex; align-items: center; width: max-content; padding: 7px 11px; border-radius: 999px; background: rgba(105,180,46,.12); color: var(--ieu-green, var(--green, #69b42e)); font-size: 13px; font-weight: 800; }

.ieu-district-arrow { display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 999px; background: var(--ieu-blue, var(--blue, #0b2d5e)); color: #fff; box-shadow: 0 12px 26px rgba(15,35,70,.16); cursor: pointer; font-size: 30px; line-height: 1; transition: transform .2s ease, background .2s ease; }
.ieu-district-arrow:hover { background: var(--ieu-green, var(--green, #69b42e)); transform: translateY(-2px); }
.ieu-district-prev { margin-right: 2px; }
.ieu-district-next { margin-left: 2px; }

.ieu-district-cta { display: grid; grid-template-columns: 1fr .85fr; gap: 32px; align-items: center; padding: 32px; border: 1px solid var(--ieu-line, var(--line, #e7ecf3)); border-radius: 16px; background: #fff; box-shadow: var(--ieu-shadow, var(--shadow, 0 18px 45px rgba(15,35,70,.10))); }
.ieu-map-pill { display: grid; place-items: center; height: 180px; border: 1px dashed #b8c7dc; border-radius: 999px; color: var(--ieu-blue, var(--blue, #0b2d5e)); font-weight: 900; letter-spacing: 8px; }

/* Altura visual alineada con Noticias Nacionales: 540px en escritorio. */
.ieu-district-carousel .ieu-district-card-link { display: flex; flex-direction: column; min-height: 540px; }
.ieu-district-carousel .ieu-district-card-image { flex: 0 0 310px; height: 310px; aspect-ratio: auto; }
.ieu-district-carousel .ieu-district-card-body { display: flex; flex: 1 1 auto; flex-direction: column; padding: 28px 30px; }
.ieu-district-carousel .ieu-district-count { margin-top: auto; }

@media (max-width: 1100px) {
  .ieu-district-carousel .ieu-district-card-link { min-height: 500px; }
  .ieu-district-carousel .ieu-district-card-image { flex-basis: 285px; height: 285px; }
}
@media (max-width: 900px) {
  .ieu-district-carousel .ieu-district-card-link { min-height: 470px; }
  .ieu-district-carousel .ieu-district-card-image { flex-basis: 265px; height: 265px; }
}
@media (max-width: 640px) {
  .ieu-district-carousel .ieu-district-card-link { min-height: 390px; }
  .ieu-district-carousel .ieu-district-card-image { flex-basis: 220px; height: 220px; }
  .ieu-district-carousel .ieu-district-card-body { padding: 22px; }
}

/* Ficha individual de Distrito - equilibrio Actividades / Noticias */
.ieu-district-single .ieu-district-content-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
    align-items:stretch;
}

.ieu-district-single .ieu-district-panel--activities,
.ieu-district-single .ieu-district-panel--news{
    display:flex;
    flex-direction:column;
    min-width:0;
    height:100%;
}

.ieu-district-single .ieu-district-compact-list,
.ieu-district-single .ieu-district-news-list{
    flex:1 1 auto;
}

.ieu-district-single .ieu-district-activity-item{
    display:grid;
    grid-template-columns:64px minmax(0,1fr);
    gap:18px;
    align-items:center;
    min-width:0;
}

.ieu-district-single .ieu-district-date{
    width:64px;
    min-width:64px;
}

.ieu-district-single .ieu-district-news-item{
    display:grid;
    grid-template-columns:190px minmax(0,1fr);
    gap:20px;
    align-items:center;
    min-width:0;
    width:100%;
}

.ieu-district-single .ieu-district-news-item__thumb{
    display:block;
    width:190px;
    height:115px;
    min-width:190px;
    overflow:hidden;
    border-radius:10px;
}

.ieu-district-single .ieu-district-news-item__thumb img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.ieu-district-single .ieu-district-news-item > div{
    min-width:0;
}

.ieu-district-single .ieu-district-news-item h3{
    margin:0 0 8px;
    font-size:17px;
    line-height:1.35;
    overflow-wrap:anywhere;
}

.ieu-district-single .ieu-district-news-item time{
    display:block;
    font-size:14px;
    line-height:1.4;
}

@media(max-width:900px){
    .ieu-district-single .ieu-district-content-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:640px){
    .ieu-district-single .ieu-district-activity-item{
        grid-template-columns:56px minmax(0,1fr);
        gap:14px;
    }

    .ieu-district-single .ieu-district-date{
        width:56px;
        min-width:56px;
    }

    .ieu-district-single .ieu-district-news-item{
        grid-template-columns:120px minmax(0,1fr);
        gap:14px;
    }

    .ieu-district-single .ieu-district-news-item__thumb{
        width:120px;
        min-width:120px;
        height:78px;
    }

    .ieu-district-single .ieu-district-news-item h3{
        font-size:15px;
    }

    .ieu-district-single .ieu-district-news-item time{
        font-size:13px;
    }
}
