/* Sala de prensa (10-nov-2026): solo se carga en /press/ y /es/prensa/. Tarjetas = .card--media del sitio. */
.no-scroll { overflow: hidden; }
.press-status { color: var(--muted); }
.press-card { display: flex; flex-direction: column; padding: 0; overflow: hidden; }
.press-thumb { position: relative; aspect-ratio: 16 / 10; background: var(--white); border-bottom: 1px solid var(--line); display: grid; place-items: center; overflow: hidden; }
/* Imagen completa dentro del recuadro (logos sin recortar). Absoluta: en una celda de grid con aspect-ratio, height: 100%
   no se resuelve y la imagen se agrandaba y se recortaba. */
.press-thumb img { position: absolute; inset: 0; box-sizing: border-box; width: 100%; height: 100%; object-fit: contain; padding: var(--s-4); }
.press-thumb--doc { background: var(--navy); }
.press-thumb-kind { color: var(--gold); font-weight: 700; letter-spacing: 0.08em; font-size: 1.25rem; }
.press-card-body { display: flex; flex-direction: column; gap: var(--s-3); padding: var(--s-5); flex: 1; }
.press-card-body > * { margin: 0; }
.press-card-count { font-size: var(--fs-sm); color: var(--muted); }
.press-card-actions { margin-top: auto; display: flex; flex-wrap: wrap; gap: var(--s-3); }
.press-videos { list-style: none; padding: 0; margin: var(--s-5) 0 0; display: grid; gap: var(--s-5); }
@media (min-width: 800px) { .press-videos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.press-dialog { width: min(100% - 2 * var(--s-4), 1120px); max-height: min(100dvh - 2 * var(--s-4), 820px); overflow: hidden; padding: 0; border: 0; border-radius: 12px; background: var(--cream); color: var(--ink); }
.press-dialog::backdrop { background: rgba(5, 10, 20, 0.8); }
.press-dialog-inner { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; max-height: min(100dvh - 2 * var(--s-4), 820px); }
.press-dialog-bar { display: flex; align-items: center; justify-content: space-between; gap: var(--s-4); padding: var(--s-4) var(--s-5); background: var(--navy); color: var(--white); }
.press-dialog-bar .h3 { margin: 0; color: var(--white); }
.press-dialog-body { min-height: 0; display: grid; grid-template-rows: auto minmax(0, 1fr); }
@media (min-width: 860px) { .press-dialog-body { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); } }
/* Vista previa: imágenes sobre cuadrícula clara (se nota la transparencia de los logos), video sobre negro, PDF con el visor del navegador */
.press-preview { margin: 0; min-height: 0; display: grid; grid-template-rows: minmax(0, 1fr) auto; background: var(--navy); }
.press-preview-stage { min-height: 0; height: clamp(180px, 30dvh, 560px); display: flex; align-items: center; justify-content: center; padding: var(--s-3); overflow: hidden; }
@media (min-width: 860px) { .press-preview-stage { height: auto; min-height: 420px; } }
.press-preview-stage img, .press-preview-stage video { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.press-preview-stage--image { background: repeating-conic-gradient(#eef1f5 0% 25%, #ffffff 0% 50%) 50% / 20px 20px; }
.press-preview-stage--video video { width: 100%; background: #000; }
.press-preview-stage--pdf { padding: 0; background: #525659; }
.press-preview-stage iframe { width: 100%; height: 100%; border: 0; background: var(--white); }
.press-preview-empty { margin: 0; max-width: 24rem; text-align: center; color: #e7ebf3; }
.press-preview-caption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--s-2) var(--s-4); padding: var(--s-3) var(--s-4); font-size: var(--fs-sm); color: #e7ebf3; }
.press-preview-name { overflow-wrap: anywhere; font-weight: 600; }
.press-preview-caption a { color: var(--gold); }
.press-preview-caption a:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
.press-files { min-height: 0; list-style: none; margin: 0; padding: var(--s-4) var(--s-5); overflow-y: auto; display: grid; align-content: start; gap: var(--s-3); }
.press-file { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--s-3); padding: var(--s-2); background: var(--white); border: 1px solid var(--line); border-radius: 8px; }
.press-file:has([aria-pressed="true"]) { border-color: var(--gold); box-shadow: 0 0 0 1px var(--gold); }
.press-file-pick { display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; gap: var(--s-3); min-height: 44px; padding: var(--s-1); border: 0; border-radius: 6px; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.press-file-pick:hover .press-file-name { text-decoration: underline; }
.press-file-pick:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
.press-file-thumb { width: 64px; height: 64px; object-fit: contain; background: var(--cream); border-radius: 4px; }
.press-file-thumb--doc { display: grid; place-items: center; background: var(--navy); color: var(--gold); font-size: 0.75rem; font-weight: 700; }
.press-file-meta { min-width: 0; display: grid; }
.press-file-name { font-weight: 600; overflow-wrap: anywhere; }
.press-file-info { font-size: var(--fs-sm); color: var(--muted); }
.press-dialog-foot { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: var(--s-4); padding: var(--s-4) var(--s-5); border-top: 1px solid var(--line); }
.press-zip-status { margin: 0 auto 0 0; font-size: var(--fs-sm); color: var(--muted); }
@media (max-width: 520px) {
  .press-file { grid-template-columns: minmax(0, 1fr) auto; gap: var(--s-2); }
  .press-file-pick { grid-template-columns: 44px minmax(0, 1fr); gap: var(--s-2); }
  .press-file-thumb { width: 44px; height: 44px; }
  .press-file .btn { padding-inline: var(--s-3); }
  .press-files { padding: var(--s-3); gap: var(--s-2); }
}

/* Acerca de, boilerplate y contactos (12-nov-2026) */
.press-about { display: grid; gap: var(--s-5); margin-top: var(--s-4); }
@media (min-width: 800px) { .press-about { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.press-about-card h2 { margin-top: 0; }
.press-about-card p { margin: 0; }
.press-boilerplate { margin-top: var(--s-6); padding: var(--s-5); background: var(--white); border-left: 4px solid var(--gold); border-radius: 8px; }
.press-boilerplate-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--s-4); flex-wrap: wrap; }
.press-boilerplate-head .h3 { margin: 0; }
.press-boilerplate-hint { margin: var(--s-2) 0 0; font-size: var(--fs-sm); color: var(--muted); }
.press-boilerplate-text { margin: var(--s-4) 0 0; padding: 0; font-style: italic; }
.press-boilerplate-text p { margin: 0; }
.press-contacts { max-width: 880px; margin: var(--s-5) auto 0; }
.press-contacts-role { margin: 0 0 var(--s-3); font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--navy); }
.press-contacts-list { list-style: none; margin: 0; padding: 0; }
.press-contact { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.5fr) auto; gap: var(--s-2) var(--s-4); align-items: center; padding: var(--s-4) 0; border-top: 1px solid var(--line); }
.press-contact p { margin: 0; }
.press-contact-name { font-weight: 600; }
.press-contact-region { display: block; font-weight: 400; font-size: var(--fs-sm); color: var(--muted); }
.press-contact a { color: var(--ink); overflow-wrap: anywhere; min-height: 24px; display: inline-flex; align-items: center; justify-self: start; }
.press-contact-phone { white-space: nowrap; justify-self: end; }
@media (max-width: 640px) {
  .press-contact { grid-template-columns: minmax(0, 1fr); }
  .press-contact-phone { justify-self: start; }
}
.press-contacts-foot { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--s-5) var(--s-6); padding-top: var(--s-5); border-top: 1px solid var(--line); }
.press-links-label { margin: 0 0 var(--s-2); font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--navy); font-weight: 600; }
.press-links-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-4); }
.press-links-list a { color: var(--ink); }
.press-links-list .icon-link:hover .brand-icon, .press-links-list .icon-link:focus-visible .brand-icon { color: var(--gold-ink); }
.press-news-link { margin-left: auto; }

/* Encabezado con mapa animado (12-nov-2026). La ruta se dibuja y un punto la recorre; solo con movimiento permitido. */
.press-hero-grid { display: grid; gap: var(--s-6); align-items: center; }
@media (min-width: 1000px) { .press-hero-grid { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); } }
.press-map { margin: 0; }
.press-map-frame { position: relative; aspect-ratio: 1600 / 893; border-radius: 12px; overflow: hidden; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35); }
.press-map-frame picture, .press-map-frame img { display: block; width: 100%; height: 100%; object-fit: cover; }
.press-map-svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.press-route { fill: none; stroke: #c8a951; stroke-width: 3; stroke-dasharray: 8 6; opacity: 0.85; }
.press-dot { offset-rotate: 0deg; }
.press-dot--1, .press-dot--2, .press-dot--3 { offset-path: path("M 1180 390 C 1171 402, 1145 441, 1126 460 C 1107 479, 1083 488, 1066 504 C 1049 520, 1037 542, 1024 559 C 1011 576, 1004 588, 989 603 C 974 618, 953 632, 932 647 C 911 662, 882 676, 861 691 C 840 706, 825 727, 808 735 C 791 743, 768 739, 760 740"); }
.press-dot--1 { fill: #ffe9a8; offset-distance: 30%; }
.press-dot--2 { fill: #faf7f0; offset-distance: 60%; }
.press-dot--3 { fill: #c8a951; offset-distance: 85%; }
.press-map-label { position: absolute; transform: translate(-50%, -50%); padding: 0.2rem 0.6rem; border: 1px solid rgba(200, 169, 81, 0.7); background: rgba(15, 28, 50, 0.78); color: #f3ead2; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; white-space: nowrap; border-radius: 3px; }
.press-map-label--atl { left: 84%; top: 37%; }
.press-map-label--pac { left: 26%; top: 84%; }
.press-map-label--gt { left: 40%; top: 50%; }
.press-map-caption { margin-top: var(--s-4); }
.press-assets { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--s-2); }
.press-assets li { padding: 0.35rem 0.75rem; border: 1px solid rgba(200, 169, 81, 0.55); border-radius: 999px; color: #f3ead2; font-size: var(--fs-sm); }
.page-hero .press-map-note { margin: var(--s-3) 0 0; font-size: 0.75rem; color: #c9d1de; }
@media (prefers-reduced-motion: no-preference) {
  .press-route { animation: press-dash 1.2s linear infinite; }
  .press-dot--1 { animation: press-travel 6s linear infinite; }
  .press-dot--2 { animation: press-travel 6s linear -2s infinite reverse; }
  .press-dot--3 { animation: press-travel 6s linear -4s infinite; }
  .press-map-label { opacity: 0; animation: press-fade 0.6s ease-out forwards; }
  .press-map-label--pac { animation-delay: 0.4s; }
  .press-map-label--gt { animation-delay: 1.2s; }
  .press-map-label--atl { animation-delay: 2.4s; }
  .press-assets li { opacity: 0; transform: translateY(6px); animation: press-rise 0.5s ease-out forwards; }
  .press-assets li:nth-child(1) { animation-delay: 2.8s; }
  .press-assets li:nth-child(2) { animation-delay: 2.95s; }
  .press-assets li:nth-child(3) { animation-delay: 3.1s; }
  .press-assets li:nth-child(4) { animation-delay: 3.25s; }
  .press-assets li:nth-child(5) { animation-delay: 3.4s; }
}
@keyframes press-draw { to { stroke-dashoffset: 0; } }
@keyframes press-fade { to { opacity: 1; } }
@keyframes press-rise { to { opacity: 1; transform: none; } }
@keyframes press-travel { from { offset-distance: 0%; } to { offset-distance: 100%; } }
@keyframes press-dash { to { stroke-dashoffset: -14; } }
@media (max-width: 520px) { .press-map-label--gt { display: none; } }
.press-copy-status { margin: var(--s-2) 0 0; min-height: 1.2em; font-size: var(--fs-sm); color: var(--muted); }


/* Pausa de la animación del mapa (WCAG 2.2.2): detiene todo el movimiento de la figura. */
.press-map-frame.is-paused *, .press-map-frame.is-paused *::before, .press-map-frame.is-paused *::after { animation-play-state: paused !important; }
.press-map-pause { position: absolute; z-index: 2; right: var(--s-3); top: var(--s-3); min-height: 44px; padding: 0 var(--s-4); border: 1px solid rgba(255, 255, 255, 0.5); border-radius: 999px; background: rgba(15, 28, 50, 0.65); color: var(--white); font: inherit; font-size: var(--fs-sm); cursor: pointer; }
.press-map-pause:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .press-map-pause { display: none; } }

/* Portada animada de una tarjeta del kit (p. ej. Corredor multimodal) */
.press-thumb--video { position: relative; background: var(--navy); }
.press-thumb--video video { width: 100%; height: 100%; object-fit: cover; display: block; }
.press-thumb-pause { position: absolute; right: var(--s-2); bottom: var(--s-2); min-height: 44px; padding: 0 var(--s-3); border: 1px solid rgba(255, 255, 255, 0.55); border-radius: 999px; background: rgba(15, 28, 50, 0.65); color: var(--white); font: inherit; font-size: 0.8rem; cursor: pointer; }
.press-thumb-pause:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
