/* Ficha archivo — video o imagen de 8 columnas (947 × 534, radio de 6 px; el mismo tamaño para los dos) junto a un panel de 4 columnas (469 px) con premios, título, etiquetas y datos, sobre la grilla de 12 columnas
   (hueco de 8 px). Estilos propios: solo dependen del sistema de diseño base. */
.cca-v2 .cca-v2__file-sheet { scroll-margin-top: 100px; }
.cca-v2 .cca-v2__file-sheet--gray { --cca-v2-surface: var(--cca-v2-gray-200); --cca-v2-ink: #000; color: var(--cca-v2-ink); background: var(--cca-v2-surface); }
.cca-v2 .cca-v2__file-sheet-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 8px; align-items: start; }
.cca-v2 .cca-v2__file-sheet-media { grid-column: 1 / span 8; position: relative; min-width: 0; aspect-ratio: 947 / 534; overflow: hidden; border-radius: var(--cca-v2-radius); background: #000; }
.cca-v2 .cca-v2__file-sheet--solo .cca-v2__file-sheet-media { grid-column: 1 / -1; }
/* Botón de enlace sobre el video, arriba a la derecha: círculo de 24 px con fondo negro translúcido (#00000033) y borde blanco, icono de cadena de 16 px; al pasar el ratón los colores se invierten. */
.cca-v2 .cca-v2__file-sheet-open { position: absolute; top: 8px; right: 8px; z-index: 2; display: flex; justify-content: center; align-items: center; width: 24px; height: 24px; box-sizing: border-box; border: 1px solid #fff; border-radius: 50%; background: #00000033; color: #fff; transition: background-color 150ms ease, color 150ms ease; }
.cca-v2 .cca-v2__file-sheet-open svg { width: 16px; height: 16px; }
.cca-v2 .cca-v2__file-sheet-open:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
@media (hover: hover) { .cca-v2 .cca-v2__file-sheet-open:hover { background: #fff; color: #000; } }
@media (prefers-reduced-motion: reduce) { .cca-v2 .cca-v2__file-sheet-open { transition: none; } }
.cca-v2 .cca-v2__file-sheet-image { display: block; width: 100%; height: 100%; object-fit: cover; }
/* Imagen con enlace: el enlace envuelve toda la imagen. */
.cca-v2 .cca-v2__file-sheet-link { display: block; width: 100%; height: 100%; color: inherit; }
.cca-v2 .cca-v2__file-sheet-link:focus-visible { outline: 2px solid currentColor; outline-offset: -4px; }
/* Zoom suave al pasar el mouse, solo en la imagen con enlace (avisa que es clicable): mismo efecto y valores que el contenido simple. */
.cca-v2 .cca-v2__file-sheet-link .cca-v2__file-sheet-image { transition: transform 300ms ease; }
.cca-v2 .cca-v2__file-sheet-link:hover .cca-v2__file-sheet-image { transform: scale(1.025); }
@media (prefers-reduced-motion: reduce) { .cca-v2 .cca-v2__file-sheet-link:hover .cca-v2__file-sheet-image { transform: none; } }
.cca-v2 .cca-v2__file-sheet-video { display: block; width: 100%; height: 100%; border: 0; object-fit: cover; background: #000; }
.cca-v2 .cca-v2__file-sheet-panel { grid-column: 9 / span 4; min-width: 0; display: flex; flex-direction: column; gap: 40px; }
/* Dos bloques con 40 px entre ellos: los premios arriba, y debajo la ficha técnica (título, etiquetas y datos). */
.cca-v2 .cca-v2__file-sheet-sheet { display: flex; flex-direction: column; gap: 20px; min-width: 0; }

/* Premios arriba (uno a continuación del otro, saltan de línea al llenarse y dejan 8 px con los botones) y, a la derecha, los botones de guardar y compartir: círculos de 24 × 24 px con fondo #ECECEC, separados 8 px. */
.cca-v2 .cca-v2__file-sheet-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.cca-v2 .cca-v2__file-sheet-awards { display: flex; flex: 1 1 auto; flex-wrap: wrap; align-items: flex-start; gap: 8px; min-width: 0; margin: 0; padding: 0; list-style: none; }
/* Tag Premio: igual que en las cards (24 px de alto, radio 40 px, borde de 0.5 px gris 600, Geist Mono 10 px en mayúsculas). */
.cca-v2 .cca-v2__file-sheet .cca-v2__tag--award {
  box-sizing: border-box;
  height: 24px;
  padding: 0 6px;
  border: 0.5px solid var(--cca-v2-gray-600);
  border-radius: 40px;
  background: var(--cca-v2-white);
  color: var(--cca-v2-black);
  font-family: var(--cca-v2-font-mono);
  font-size: var(--cca-v2-type-tag);
  font-weight: var(--cca-v2-weight-regular);
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
  text-box: trim-both cap alphabetic;
}
.cca-v2 .cca-v2__file-sheet .cca-v2__tag--none::before { box-sizing: border-box; border: 1px solid var(--cca-v2-gray-600); background: transparent; }
.cca-v2 .cca-v2__file-sheet-actions { position: relative; display: flex; flex: 0 0 auto; gap: 8px; margin-left: auto; }
.cca-v2 .cca-v2__file-sheet-action { display: flex; justify-content: center; align-items: center; width: 24px; height: 24px; box-sizing: border-box; margin: 0; padding: 0; border: 0; border-radius: 50%; background: var(--cca-v2-gray-400); color: var(--cca-v2-black); cursor: pointer; appearance: none; }
.cca-v2 .cca-v2__file-sheet-action[hidden] { display: none; }
/* Aviso de "Enlace copiado": píldora negra de 24 px (como la etiqueta Oferta de las cards) bajo los botones, visible 2 segundos. */
.cca-v2 .cca-v2__file-sheet-toast { position: absolute; top: calc(100% + 8px); right: 0; z-index: 2; box-sizing: border-box; height: 24px; padding: 0 8px; display: none; align-items: center; border-radius: 40px; background: var(--cca-v2-black); color: var(--cca-v2-white); font-family: var(--cca-v2-font-mono); font-size: var(--cca-v2-type-tag); font-weight: var(--cca-v2-weight-regular); line-height: 1; text-transform: uppercase; white-space: nowrap; pointer-events: none; }
.cca-v2 .cca-v2__file-sheet-toast.is-visible { display: inline-flex; }
/* Iconos: guardar 10 × 12 px y compartir 13 × 14 px, centrados en el círculo. */
.cca-v2 .cca-v2__file-sheet-action[data-file-sheet-save] svg { width: 10px; height: 12px; }
.cca-v2 .cca-v2__file-sheet-action[data-file-sheet-share] svg { width: 13px; height: 14px; }
.cca-v2 .cca-v2__file-sheet-action[aria-pressed="true"] svg { fill: currentColor; }
.cca-v2 .cca-v2__file-sheet-action:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

/* Título de la ficha: Stack Sans Text Regular 16 px. */
.cca-v2 .cca-v2__file-sheet-title { margin: 0; font-family: var(--cca-v2-font-text); font-size: var(--cca-v2-type-body); font-weight: var(--cca-v2-weight-regular); line-height: 1.4; letter-spacing: 0; }
/* Etiquetas (año, agencia, categoría): píldoras grises sin círculo, Geist Mono 10 px en mayúsculas. Llevan un borde del color del fondo para medir 24 px, como los premios. */
.cca-v2 .cca-v2__file-sheet-categories { display: flex; flex-wrap: wrap; gap: 4px; margin: 0; padding: 0; list-style: none; }
.cca-v2 .cca-v2__file-sheet-categories .cca-v2__tag { box-sizing: border-box; height: 24px; padding: 0 8px; border: 0.5px solid var(--cca-v2-gray-400); background: var(--cca-v2-gray-400); }

/* Datos: nombre en Geist Mono 12 px gris 800 (mayúsculas) y valor en Stack Sans Text Light 16 px; una línea de 1 px negra al 20 % sobre cada fila. */
.cca-v2 .cca-v2__file-sheet-rows { margin: 0; padding: 0; }
.cca-v2 .cca-v2__file-sheet-row { display: grid; grid-template-columns: minmax(0, 110px) minmax(0, 1fr); gap: 8px; align-items: start; padding: 10px 0; border-top: 1px solid rgb(0 0 0 / 20%); }
.cca-v2 .cca-v2__file-sheet-label { margin: 0; padding-top: calc((var(--cca-v2-type-body) * 1.3 - 16px) / 2); color: var(--cca-v2-gray-800); font-family: var(--cca-v2-font-mono); font-size: 12px; font-weight: var(--cca-v2-weight-regular); line-height: 16px; text-transform: uppercase; overflow-wrap: anywhere; }
.cca-v2 .cca-v2__file-sheet-value { grid-column: 2; margin: 0; font-family: var(--cca-v2-font-text); font-size: var(--cca-v2-type-body); font-weight: var(--cca-v2-weight-light); line-height: 1.3; overflow-wrap: anywhere; }
.cca-v2 .cca-v2__file-sheet-label + .cca-v2__file-sheet-value { grid-column: 2; }
.cca-v2 .cca-v2__file-sheet-row > .cca-v2__file-sheet-value:only-child { grid-column: 1 / -1; }
/* "…" abre el resto de los datos; abierto, el mismo botón dice "Ver menos". Cerrado: círculo de 24 × 24 px, fondo #ECECEC (gray-400), con tres puntos (sin texto). Abierto: píldora de 24 px con "Ver menos" en Geist Mono 10 px, mayúsculas, sobre el mismo fondo. Sin efecto al pasar el ratón. */
.cca-v2 .cca-v2__file-sheet-more { margin-top: -8px; }
.cca-v2 .cca-v2__file-sheet-toggle { display: inline-flex; justify-content: center; align-items: center; box-sizing: border-box; padding: 0; cursor: pointer; list-style: none; font-family: var(--cca-v2-font-mono); font-size: var(--cca-v2-type-tag); font-weight: var(--cca-v2-weight-regular); line-height: 1; letter-spacing: 0; text-transform: uppercase; }
.cca-v2 .cca-v2__file-sheet-toggle::-webkit-details-marker { display: none; }
.cca-v2 .cca-v2__file-sheet-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
/* Los tres puntos se forman igual que en el texto simple (.cca-v2__text-columns-dots): un punto de 3 px con dos sombras a ±5 px. */
.cca-v2 .cca-v2__file-sheet-more:not([open]) > .cca-v2__file-sheet-toggle::before { content: ""; width: 3px; height: 3px; border-radius: 50%; background: currentColor; box-shadow: -5px 0 currentColor, 5px 0 currentColor; }
.cca-v2 .cca-v2__file-sheet-more:not([open]) > .cca-v2__file-sheet-toggle { width: 24px; height: 24px; border-radius: 50%; background: var(--cca-v2-gray-400); color: var(--cca-v2-black); }
.cca-v2 .cca-v2__file-sheet-more[open] > .cca-v2__file-sheet-toggle { height: 24px; margin-bottom: 8px; padding: 0 8px; border-radius: 40px; background: var(--cca-v2-gray-400); color: var(--cca-v2-black); }
.cca-v2 .cca-v2__file-sheet-more[open] .cca-v2__file-sheet-sr,
.cca-v2 .cca-v2__file-sheet-more:not([open]) .cca-v2__file-sheet-toggle-open { display: none; }
.cca-v2 .cca-v2__file-sheet-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* Variante a todo el ancho: el video ocupa las 12 columnas (16:9, 1424 × 801) y la ficha va debajo, a 20 px. Los premios son tarjetas de 3 columnas (350 px) con la etiqueta de color y el nombre; después van el título (32 px), las etiquetas con los botones a la derecha y los datos en 4 columnas, cada uno con un filtro arriba, el nombre con un punto y el valor debajo. Medidas tomadas del PDF de diseño. */
.cca-v2 .cca-v2__file-sheet--stacked .cca-v2__file-sheet-grid { row-gap: 20px; }
.cca-v2 .cca-v2__file-sheet--stacked .cca-v2__file-sheet-media { grid-column: 1 / -1; aspect-ratio: 16 / 9; }
.cca-v2 .cca-v2__file-sheet--stacked .cca-v2__file-sheet-panel { grid-column: 1 / -1; gap: 32px; }
.cca-v2 .cca-v2__file-sheet-award-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.cca-v2 .cca-v2__file-sheet-award-card { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; box-sizing: border-box; min-width: 0; padding: 8px; border: 1px solid rgb(0 0 0 / 20%); border-radius: var(--cca-v2-radius); }
.cca-v2 .cca-v2__file-sheet-award-name { margin: 0; font-family: var(--cca-v2-font-text); font-size: var(--cca-v2-type-body); font-weight: var(--cca-v2-weight-light); line-height: 1.4; overflow-wrap: anywhere; }
.cca-v2 .cca-v2__file-sheet--stacked .cca-v2__file-sheet-sheet { gap: 32px; }
.cca-v2 .cca-v2__file-sheet--stacked .cca-v2__file-sheet-title { font-size: 32px; line-height: 1.3; }
.cca-v2 .cca-v2__file-sheet-meta { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.cca-v2 .cca-v2__file-sheet-meta .cca-v2__file-sheet-categories { flex: 1 1 auto; min-width: 0; gap: 8px; }
.cca-v2 .cca-v2__file-sheet--stacked .cca-v2__file-sheet-rows { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 8px; }
.cca-v2 .cca-v2__file-sheet--stacked .cca-v2__file-sheet-row { display: flex; flex-direction: column; box-sizing: border-box; gap: 12px; min-width: 0; min-height: 102px; padding: 12px 0; }
.cca-v2 .cca-v2__file-sheet--stacked .cca-v2__file-sheet-label { padding-top: 0; }
.cca-v2 .cca-v2__file-sheet--stacked .cca-v2__file-sheet-label::before { content: "·"; }
.cca-v2 .cca-v2__file-sheet--stacked .cca-v2__file-sheet-value { grid-column: auto; }

/* Tablet y móvil (hasta 1024 px): el video a todo el ancho y el panel debajo; con 4 columnas el panel quedaba muy fino. */
@media (max-width: 1024px) {
  .cca-v2 .cca-v2__file-sheet-media, .cca-v2 .cca-v2__file-sheet-panel { grid-column: 1 / -1; }
  .cca-v2 .cca-v2__file-sheet-panel { margin-top: 8px; gap: 32px; }
  .cca-v2 .cca-v2__file-sheet--stacked .cca-v2__file-sheet-grid { row-gap: 0; }
  .cca-v2 .cca-v2__file-sheet--stacked .cca-v2__file-sheet-panel { margin-top: 20px; }
  .cca-v2 .cca-v2__file-sheet-award-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cca-v2 .cca-v2__file-sheet--stacked .cca-v2__file-sheet-rows { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cca-v2 .cca-v2__file-sheet--stacked .cca-v2__file-sheet-row { min-height: 0; }
}
@media (max-width: 599px) {
  .cca-v2 .cca-v2__file-sheet-award-cards, .cca-v2 .cca-v2__file-sheet--stacked .cca-v2__file-sheet-rows { grid-template-columns: minmax(0, 1fr); }
}
