/* DAN Salud – Galerías de eventos. Prefijo dg- (todo lo demás del sitio queda intacto). */

.dg-root{--dg-navy:#171d4b;--dg-blue:#1a6fbd;--dg-radius:12px;width:100%;max-width:1200px;margin:0 auto;padding:0 0 24px;box-sizing:border-box;color:var(--dg-navy)}
.dg-root *,.dg-root *::before,.dg-root *::after{box-sizing:border-box}
.dg-root .dg-heading{margin:0 0 28px;text-align:center;font-size:2rem;line-height:1.2;color:var(--dg-navy)}

.dg-root .dg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px;align-items:start}
.dg-root .dg-event{min-width:0}

/* ---------- Escritorio: tarjeta por evento ---------- */
.dg-root .dg-card{position:relative;display:block;width:100%;margin:0;padding:0;border:0;border-radius:var(--dg-radius);overflow:hidden;background:#fff;color:var(--dg-navy);font:inherit;text-align:left;cursor:pointer;box-shadow:0 6px 22px rgba(23,29,75,.14);transition:transform .25s ease,box-shadow .25s ease;-webkit-appearance:none;appearance:none}
.dg-root .dg-card:hover,.dg-root .dg-card:focus{background:#fff;color:var(--dg-navy);transform:translateY(-4px);box-shadow:0 12px 30px rgba(23,29,75,.22)}
.dg-root .dg-card:focus-visible{outline:3px solid var(--dg-blue);outline-offset:3px}
.dg-root .dg-card__media{display:block;aspect-ratio:4/3;overflow:hidden;background:#dfe5ff}
.dg-root .dg-card__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform .5s ease}
.dg-root .dg-card:hover .dg-card__media img{transform:scale(1.05)}
.dg-root .dg-card__badge{position:absolute;top:12px;right:12px;padding:7px 12px;border-radius:999px;background:rgba(23,29,75,.88);color:#fff;font-size:.78rem;font-weight:600;line-height:1}
.dg-root .dg-card__body{display:block;padding:16px 18px 20px}
.dg-root .dg-card__date{display:block;margin-bottom:6px;color:var(--dg-blue);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.dg-root .dg-card__title{display:block;color:var(--dg-navy);font-size:1.15rem;font-weight:700;line-height:1.3}

/* ---------- Móvil: carrusel por evento ---------- */
.dg-root .dg-car{display:none;padding:0 0 12px}
.dg-root .dg-car__title{margin:0 0 16px;padding:0 16px;text-align:center;color:var(--dg-navy);font-size:1.1rem;font-weight:700;line-height:1.4}
.dg-root .dg-car__stage{position:relative;width:100%;overflow:hidden;touch-action:pan-y;outline-offset:-2px}
.dg-root .dg-car__inner{position:relative;width:100%;height:0;padding-bottom:56.25%}
.dg-root .dg-slide{position:absolute;top:50%;margin:0;border-radius:10px;overflow:hidden;background:#000;cursor:pointer;transition:opacity .45s,filter .45s,transform .45s,width .45s,margin-left .45s}
.dg-root .dg-slide img{display:block;width:100%;height:100%;max-width:none;object-fit:cover}
.dg-root .dg-slide.is-active{width:75%;margin-left:12.5%;transform:translateY(-50%) scale(1);opacity:1;filter:none;box-shadow:0 8px 30px rgba(0,0,0,.25);border:2.5px solid var(--dg-navy);z-index:10}
.dg-root .dg-slide.is-left{width:32%;margin-left:-6%;transform:translateY(-50%) scale(.88);opacity:.4;filter:blur(2.5px);z-index:5}
.dg-root .dg-slide.is-right{width:32%;margin-left:74%;transform:translateY(-50%) scale(.88);opacity:.4;filter:blur(2.5px);z-index:5}
.dg-root .dg-slide.is-hidden{width:32%;margin-left:-40%;transform:translateY(-50%) scale(.88);opacity:0;z-index:1;pointer-events:none}
/* Antes de que corra el JS: solo la primera foto visible (sin saltos). */
.dg-root .dg-car:not(.is-ready) .dg-slide{width:75%;margin-left:12.5%;transform:translateY(-50%);opacity:0}
.dg-root .dg-car:not(.is-ready) .dg-slide:first-child{opacity:1}

.dg-root .dg-car__dots{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;margin-top:14px;padding:0 8px;min-height:20px}
.dg-root .dg-dot{display:block;width:6px;height:6px;margin:0;padding:0;border:0;border-radius:3px;background:#ccc;cursor:pointer;transition:width .3s,background .3s;-webkit-appearance:none;appearance:none}
.dg-root .dg-dot:hover,.dg-root .dg-dot:focus{background:#ccc}
.dg-root .dg-dot.is-active,.dg-root .dg-dot.is-active:hover{width:20px;background:var(--dg-blue)}
.dg-root .dg-car__count{color:var(--dg-navy);font-size:.85rem;font-weight:600}

/* ---------- Corte escritorio / móvil ---------- */
@media (min-width:768px){
	.dg-root .dg-car{display:none!important}
}
@media (max-width:767px){
	.dg-root .dg-grid{display:block}
	.dg-root .dg-event{margin-bottom:36px}
	.dg-root .dg-heading{font-size:1.5rem;margin-bottom:20px}
	.dg-root.dg-mobile-carrusel .dg-card{display:none}
	.dg-root.dg-mobile-carrusel .dg-car{display:block}
	.dg-root.dg-mobile-tarjetas .dg-car{display:none}
	.dg-root.dg-mobile-tarjetas .dg-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
	.dg-root.dg-mobile-tarjetas .dg-event{margin:0}
	.dg-root.dg-mobile-tarjetas .dg-card__body{padding:12px 12px 14px}
	.dg-root.dg-mobile-tarjetas .dg-card__title{font-size:.95rem}
}

/* ---------- Visor (lightbox) ---------- */
html.dg-lock,html.dg-lock body{overflow:hidden}
.dg-lb{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;background:rgba(10,14,40,.95);-webkit-tap-highlight-color:transparent}
.dg-lb[hidden]{display:none}
.dg-lb__bar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;color:#fff;background:linear-gradient(rgba(10,14,40,.85),rgba(10,14,40,0));z-index:2}
.dg-lb__cap{display:flex;flex-direction:column;gap:2px;min-width:0}
.dg-lb__title{font-size:1rem;font-weight:700;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dg-lb__count{font-size:.8rem;opacity:.8}
.dg-lb .dg-lb__btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font:400 30px/1 Arial,sans-serif;cursor:pointer;-webkit-appearance:none;appearance:none;transition:background .2s}
.dg-lb .dg-lb__btn:hover,.dg-lb .dg-lb__btn:focus{background:rgba(255,255,255,.3);color:#fff}
.dg-lb .dg-lb__btn:focus-visible{outline:3px solid #6ec1e4;outline-offset:2px}
.dg-lb .dg-lb__nav{position:absolute;top:50%;margin-top:-22px;z-index:2}
.dg-lb .dg-lb__prev{left:16px}
.dg-lb .dg-lb__next{right:16px}
.dg-lb__stage{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:64px 72px}
.dg-lb__img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:6px;box-shadow:0 10px 50px rgba(0,0,0,.5);opacity:0;transition:opacity .25s}
.dg-lb__img.is-in{opacity:1}
@media (max-width:767px){
	.dg-lb__stage{padding:64px 8px}
	.dg-lb .dg-lb__nav{display:none}
}
@media (prefers-reduced-motion:reduce){
	.dg-root .dg-card,.dg-root .dg-card__media img,.dg-root .dg-slide,.dg-lb__img{transition:none}
}
