/**
 * Archivo : components/editorial-carousel.css
 * Scope   : Rail editorial de Home.
 * Función : Cards article/file/video con scroll-snap y siguiente card visible.
 */

.editorial-carousel { overflow: hidden; }
.editorial-carousel__inner { display: grid; gap: var(--space-4); }
.editorial-carousel__header { display: block; }
.editorial-carousel__header h2 { max-width: 22ch; margin: 0; font-size: clamp(1.9rem, 5vw, 3.2rem); }
.editorial-carousel__stage { --carousel-control-gutter: clamp(3rem, 6vw, 4.5rem); display: grid; min-width: 0; grid-template-columns: var(--carousel-control-gutter) minmax(0, 1fr) var(--carousel-control-gutter); align-items: stretch; }
.editorial-carousel[data-editorial-count="1"] .editorial-carousel__stage { --carousel-control-gutter: 0rem; }
.editorial-carousel[data-editorial-count="1"] .editorial-carousel__rail { grid-auto-columns: minmax(0, min(100%, 42rem)); }
.editorial-carousel__controls { display: contents; }
.editorial-carousel__controls[hidden] { display: none; }
.editorial-carousel__gutter { z-index: 2; display: grid; grid-row: 1; place-items: center; }
.editorial-carousel__gutter--previous { grid-column: 1; }
.editorial-carousel__gutter--next { grid-column: 3; }
.editorial-carousel__control { position: relative; }
.editorial-carousel__control:disabled { opacity: 0.28; pointer-events: none; }
.editorial-carousel__rail { display: grid; min-width: 0; grid-column: 2; grid-row: 1; grid-auto-flow: column; grid-auto-columns: minmax(17rem, 84vw); gap: var(--space-3); padding: 0.25rem 0 var(--space-3); overflow-x: auto; overscroll-behavior-inline: contain; scroll-padding-inline: 0; scroll-snap-type: inline mandatory; scrollbar-width: none; }
.editorial-carousel__rail::-webkit-scrollbar { display: none; width: 0; height: 0; }
.editorial-card { display: flex; min-width: 0; min-height: 25rem; flex-direction: column; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-bg); scroll-snap-align: start; }
.editorial-card__cover { position: relative; display: block; min-height: 12rem; overflow: hidden; color: var(--color-text); }
.editorial-card__cover::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 25%, rgb(0 0 0 / 88%)); content: ""; }
.editorial-card__cover img { width: 100%; height: 12rem; object-fit: cover; transition: transform 240ms ease; }
.editorial-card__cover h3 { position: absolute; z-index: 2; inset: auto var(--space-3) var(--space-3); margin: 0; font-size: clamp(1.2rem, 3vw, 1.65rem); }
.editorial-card__title-link { color: inherit; text-decoration-color: transparent; text-underline-offset: 0.16em; }
.editorial-card__title-link:hover,
.editorial-card__title-link:focus-visible { color: var(--color-accent); text-decoration-color: currentColor; }
.editorial-card > p { margin: 0; padding: var(--space-3) var(--space-3) 0; color: var(--color-muted); }
.editorial-card__action { margin: auto var(--space-3) var(--space-3); padding-block-start: var(--space-3); }
.editorial-card__icon { display: grid; height: 12rem; place-items: center; background: radial-gradient(circle, rgb(242 194 48 / 18%), transparent 64%); color: var(--color-accent); }
.editorial-card__icon svg { width: 5rem; height: 5rem; }
.editorial-card--file > h3,
.editorial-card--video > h3 { margin: 0; padding: var(--space-3) var(--space-3) 0; font-size: 1.55rem; }
.editorial-card:focus-within { border-color: var(--color-accent); }
.editorial-card:hover .editorial-card__cover img { transform: scale(1.025); }

@media (min-width: 48rem) {
    .editorial-carousel__rail { grid-auto-columns: minmax(18rem, 42%); }
}

@media (min-width: 75rem) {
    .editorial-carousel__rail { grid-auto-columns: minmax(19rem, 30%); }
}

@media (prefers-reduced-motion: reduce) {
    .editorial-carousel__rail { scroll-behavior: auto; }
    .editorial-card__cover img { transition: none; }
    .editorial-card:hover .editorial-card__cover img { transform: none; }
}
