/* AMDDay 2026 — Recap (post-evento). Se carga junto a amdday-2026.css.
   Reutiliza los tokens (--amdd-accent, etc.) definidos en .amdday2026. */

/* ---------- Hero video (mismo full-bleed que el hero real, con overlay) ---------- */
.amdday2026__hero--video { position: relative; background: #0d0d0d; overflow: hidden; }
.amdday2026__hero--video > img {
	display: block; width: 100%; height: auto; max-height: 84vh; object-fit: cover; opacity: .72;
}
.amdday2026__hero-overlay {
	position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center;
	justify-content: center; gap: 1rem; text-align: center; color: #fff;
	background: linear-gradient(180deg, rgba(10,11,9,.15), rgba(10,11,9,.55));
}
.amdday2026__hero-play {
	width: 84px; height: 84px; border-radius: 50%; border: 0; cursor: pointer;
	background: var(--amdd-accent); color: var(--amdd-accent-on); display: grid; place-items: center;
	box-shadow: 0 12px 34px -8px rgba(0,0,0,.5); transition: transform .15s ease; position: relative;
}
.amdday2026__hero-play:hover { transform: scale(1.06); }
.amdday2026__hero-play svg { width: 30px; height: 30px; margin-left: 4px; fill: currentColor; }
.amdday2026__hero-label { font-size: 1.05rem; font-weight: 800; letter-spacing: .02em; text-shadow: 0 2px 8px rgba(0,0,0,.5); }
.amdday2026__hero-dur { font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #e7e8dc; opacity: .9; }
@media (prefers-reduced-motion: no-preference) {
	.amdday2026__hero-play::after {
		content: ""; position: absolute; inset: 0; border-radius: 50%;
		border: 2px solid var(--amdd-accent); animation: amdd-recap-pulse 2.4s ease-out infinite;
	}
	@keyframes amdd-recap-pulse { 0% { transform: scale(1); opacity: .6; } 100% { transform: scale(1.7); opacity: 0; } }
}

/* ---------- Datos del evento (fecha / lugar / asistentes) — fila editorial plana ---------- */
.amdday2026__facts {
	display: flex; flex-wrap: wrap; margin: 1.75rem 0 .5rem; padding-top: 1.4rem;
	border-top: 1px solid #e4e6c2;
}
.amdday2026__fact { padding-right: 2rem; margin-right: 2rem; border-right: 1px solid #e6e7ea; }
.amdday2026__fact:last-child { padding-right: 0; margin-right: 0; border-right: 0; }
.amdday2026__fact .v { display: block; font-size: 1.4rem; font-weight: 800; letter-spacing: -.01em; color: var(--amdd-text); line-height: 1.1; }
.amdday2026__fact .l { display: block; font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--amdd-muted); margin-top: .35rem; }
@media (max-width: 480px) {
	.amdday2026__fact { padding-right: 1.2rem; margin-right: 1.2rem; }
	.amdday2026__fact .v { font-size: 1.15rem; }
}

/* ---------- Fotos generales — grid asimétrica ---------- */
.amdday2026__gallery { padding: 4.5rem 0; background: var(--amdd-bg-alt); }
.amdday2026__gallery-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1rem; grid-auto-flow: dense; }
.amdday2026__ph {
	margin: 0; position: relative; border-radius: 14px; overflow: hidden; background: #eee; cursor: zoom-in;
	border: 1px solid #ececf3; box-shadow: 0 8px 24px -16px rgba(15,18,40,.25);
}
.amdday2026__ph img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .45s ease; aspect-ratio: 3 / 2; }
.amdday2026__ph:hover img { transform: scale(1.045); }
.amdday2026__ph .cap {
	position: absolute; left: 0; right: 0; bottom: 0; padding: 1.4rem .9rem .7rem; color: #fff;
	font-size: .82rem; font-weight: 600; background: linear-gradient(transparent, rgba(0,0,0,.7)); opacity: 0; transition: .2s;
}
.amdday2026__ph:hover .cap { opacity: 1; }
.amdday2026__ph--tall img { aspect-ratio: 2 / 3; }
.amdday2026__ph--tall { grid-row: span 2; }
.g-c4 { grid-column: span 4; } .g-c3 { grid-column: span 3; } .g-c2 { grid-column: span 2; }
@media (max-width: 760px) {
	.amdday2026__gallery-grid { grid-template-columns: repeat(2, 1fr); }
	.g-c4, .g-c3, .g-c2 { grid-column: span 1; }
	.g-c4.is-lead { grid-column: span 2; }
	.amdday2026__ph--tall { grid-row: auto; }
	.amdday2026__ph--tall img { aspect-ratio: 3 / 2; }
}

/* ---------- AMDDay Talks — carrusel ---------- */
.amdday2026__talks { padding: 4.5rem 0; background: var(--amdd-bg); }
.amdday2026__rail { position: relative; max-width: var(--amdd-max); margin-inline: auto; padding: 0 1.25rem; }
.amdday2026__rail-head { display: flex; justify-content: flex-end; margin-bottom: 1rem; gap: .5rem; }
.amdday2026__rbtn {
	width: 42px; height: 42px; border-radius: 50%; border: 1px solid #ececf3; background: #fff; color: #111;
	cursor: pointer; display: grid; place-items: center; transition: .15s;
}
.amdday2026__rbtn:hover { border-color: var(--amdd-accent); background: #fbfcec; }
.amdday2026__rbtn:disabled { opacity: .35; cursor: default; }
.amdday2026__rbtn svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2.4; }
.amdday2026__track {
	display: grid; grid-auto-flow: column; grid-auto-columns: clamp(250px, 78vw, 320px); gap: 1rem;
	overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 1rem; scrollbar-width: thin;
}
.amdday2026__tcard {
	scroll-snap-align: start; background: #fff; border: 1px solid #ececf3; border-radius: 14px; overflow: hidden;
	cursor: pointer; display: flex; flex-direction: column; box-shadow: 0 8px 24px -16px rgba(15,18,40,.25);
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; text-align: left;
}
.amdday2026__tcard:hover { transform: translateY(-2px); border-color: var(--amdd-accent); box-shadow: 0 14px 30px -16px rgba(15,18,40,.3); }
.amdday2026__tthumb { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #0d0d0d; }
.amdday2026__tthumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.amdday2026__tthumb::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(0,0,0,.45)); }
.amdday2026__tthumb .tag {
	position: absolute; left: 8px; top: 8px; z-index: 2; background: rgba(0,0,0,.62); color: #fff;
	font-size: .6rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: .2rem .45rem; border-radius: 5px;
}
.amdday2026__tplay { position: absolute; inset: 0; display: grid; place-items: center; z-index: 2; }
.amdday2026__tplay span {
	width: 54px; height: 54px; border-radius: 50%; background: rgba(0,0,0,.45);
	border: 1.5px solid rgba(255,255,255,.85); display: grid; place-items: center; transition: .15s;
}
.amdday2026__tcard:hover .amdday2026__tplay span { background: var(--amdd-accent); border-color: var(--amdd-accent); }
.amdday2026__tplay svg { width: 16px; height: 16px; fill: #fff; margin-left: 2px; }
.amdday2026__tcard:hover .amdday2026__tplay svg { fill: var(--amdd-accent-on); }
.amdday2026__tdur { position: absolute; right: 8px; bottom: 8px; z-index: 3; background: rgba(0,0,0,.82); color: #fff; font-size: .72rem; font-weight: 700; padding: .16rem .42rem; border-radius: 5px; }
.amdday2026__tmeta { padding: .85rem .95rem 1rem; }
.amdday2026__tmeta .tt { font-weight: 800; font-size: .98rem; color: var(--amdd-text); line-height: 1.25; }
.amdday2026__tmeta .ts { font-size: .82rem; color: var(--amdd-muted); margin-top: .3rem; }

/* ---------- Galería social — masonry ---------- */
.amdday2026__social { padding: 4.5rem 0; background: var(--amdd-bg-alt); }
.amdday2026__masonry { max-width: var(--amdd-max); margin-inline: auto; padding: 0 1.25rem; columns: 3; column-gap: 1rem; }
@media (max-width: 760px) { .amdday2026__masonry { columns: 2; } }
@media (max-width: 440px) { .amdday2026__masonry { columns: 1; } }
.amdday2026__m {
	break-inside: avoid; margin-bottom: 1rem; position: relative; border-radius: 14px; overflow: hidden;
	border: 1px solid #ececf3; box-shadow: 0 8px 24px -16px rgba(15,18,40,.25); cursor: zoom-in;
}
.amdday2026__m img { width: 100%; display: block; transition: transform .45s ease; }
.amdday2026__m:hover img { transform: scale(1.045); }
.amdday2026__m--loop {
	cursor: default; aspect-ratio: 4 / 3; display: flex; flex-direction: column; align-items: center;
	justify-content: center; text-align: center; padding: 1.2rem; gap: .4rem;
	background: linear-gradient(135deg, #1b1d10, #0d0d0d); color: #e7e8dc;
}
.amdday2026__m--loop svg { width: 30px; height: 30px; fill: var(--amdd-accent); }
.amdday2026__m--loop b { font-size: .92rem; font-weight: 800; }
.amdday2026__m--loop small { font-size: .74rem; color: #b8bba4; line-height: 1.4; }

/* ---------- Lightbox de imágenes ---------- */
.amdd-lb { position: fixed; inset: 0; z-index: 1000; background: rgba(10,11,9,.94); display: none; align-items: center; justify-content: center; padding: 2rem; }
.amdd-lb.open { display: flex; }
.amdd-lb img { max-width: 92vw; max-height: 86vh; border-radius: 8px; box-shadow: 0 20px 60px rgba(0,0,0,.6); }
.amdd-lb__x, .amdd-lb__nav { position: absolute; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.25); color: #fff; cursor: pointer; border-radius: 50%; display: grid; place-items: center; }
.amdd-lb__x { top: 1.2rem; right: 1.2rem; width: 44px; height: 44px; font-size: 1.4rem; line-height: 1; }
.amdd-lb__nav { top: 50%; transform: translateY(-50%); width: 48px; height: 48px; }
.amdd-lb__nav svg { width: 20px; height: 20px; stroke: #fff; fill: none; stroke-width: 2.4; }
.amdd-lb__prev { left: 1.2rem; } .amdd-lb__next { right: 1.2rem; }
.amdd-lb__cap { position: absolute; bottom: 1.1rem; left: 0; right: 0; text-align: center; color: #d7d9c6; font-size: .85rem; font-weight: 600; }

/* ---------- Modal de video (YouTube, carga diferida) ---------- */
.amdd-video { position: fixed; inset: 0; z-index: 1000; background: rgba(10,11,9,.94); display: none; align-items: center; justify-content: center; padding: 2rem; }
.amdd-video.open { display: flex; }
.amdd-video__frame { width: min(960px, 92vw); aspect-ratio: 16 / 9; background: #000; border-radius: 12px; overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,.6); }
.amdd-video__frame iframe { width: 100%; height: 100%; border: 0; display: block; }
.amdd-video__x { position: absolute; top: 1.2rem; right: 1.2rem; width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.25); color: #fff; font-size: 1.4rem; line-height: 1; cursor: pointer; }
