/* ==========================================================================
   Studio Cinema Manager — Skin "Editorial"
   Tokens y componentes del estilo editorial (card minimal, filtros, ficha).
   Sobreescribible por sitio redefiniendo las variables --scm-ed-*.
   ========================================================================== */

/* --- Placeholder "sin arte" (película sin imagen destacada) -------------- */
.scm-poster-ph {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    height: 100%;
    aspect-ratio: 3 / 4;
    box-sizing: border-box;
    padding: 12px;
    text-align: center;
    color: var(--scm-ed-muted, #A1A0A1);
    background:
        repeating-linear-gradient(
            45deg,
            var(--scm-ed-bg, #EDEFFF),
            var(--scm-ed-bg, #EDEFFF) 10px,
            #e6e8fb 10px,
            #e6e8fb 20px
        );
    border: 1px dashed #c7c9e6;
    border-radius: var(--scm-ed-radius, 5px);
}
.scm-poster-ph__icon {
    width: 34%;
    max-width: 64px;
    height: auto;
    opacity: 0.7;
}
.scm-poster-ph__label {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

:root {
    --scm-ed-bg: #EDEFFF;        /* fondo lavanda claro */
    --scm-ed-surface: #FFFFFF;   /* superficies / cards */
    --scm-ed-dark: #00031C;      /* azul noche (footer/bloques del sitio) */
    --scm-ed-primary: #7B61FF;   /* violeta: links, tags, hovers */
    --scm-ed-accent: #6C52EE;
    --scm-ed-heading: #000000;
    --scm-ed-body: #2D2828;
    --scm-ed-muted: #A1A0A1;
    --scm-ed-radius: 5px;
}

/* --- Card minimalista (póster + título) --------------------------------- */
.scm-mcard {
    display: block;
    text-decoration: none;
}
.scm-mcard__media {
    display: block;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    border-radius: var(--scm-ed-radius);
    background: #e3e5f5;
}
.scm-mcard__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: 0.3s all;
}
.scm-mcard:hover .scm-mcard__media img {
    transform: scale(1.1);
}
.scm-mcard__title {
    margin: 10px 0 0;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    color: var(--scm-ed-heading);
    /* Neutralizar estilos de h6 que impongan los themes */
    text-transform: none;
    letter-spacing: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.scm-listing__grid--minimal {
    gap: 25px;
}

/* Grillas renderizadas por widget: respetan el control "Columnas" (--scm-cols).
   Los valores por breakpoint que setea Elementor tienen mayor especificidad
   y pisan estos defaults de tablet/mobile. */
.scm-listing__grid--cols {
    grid-template-columns: repeat(var(--scm-cols, 4), minmax(0, 1fr));
}
/* Los breakpoints leen la MISMA variable: el control responsive "Columnas"
   de Elementor emite --scm-cols por breakpoint (default tablet 3 / mobile 2),
   así que un valor explícito del editor gana; el número es solo el fallback
   para uso del componente sin Elementor. */
@media (max-width: 1024px) {
    .scm-listing__grid--cols {
        grid-template-columns: repeat(var(--scm-cols, 3), minmax(0, 1fr));
    }
}
@media (max-width: 767px) {
    .scm-listing__grid--cols {
        grid-template-columns: repeat(var(--scm-cols, 2), minmax(0, 1fr));
    }
}

/* =========================================================================
   Hero editorial — dos layouts sobre fondo lavanda (estilo del sitio).
   Reutiliza .scm-hero / __slides / __slide / __dots (misma navegación JS).
   ========================================================================= */
.scm-hero--ed-split,
.scm-hero--ed-backdrop {
    position: relative;
    background: var(--scm-ed-bg, #EDEFFF);
    overflow: hidden;
}
.scm-hero--ed-split .scm-hero__slides,
.scm-hero--ed-backdrop .scm-hero__slides {
    position: relative;
    height: 100%;
}
.scm-hero--ed-split .scm-hero__slide,
.scm-hero--ed-backdrop .scm-hero__slide {
    position: absolute !important;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease;
    /* Anular el flex/alineación del slide cinemático heredado. */
    padding: 0 !important;
    justify-content: initial !important;
    align-items: stretch !important;
}
.scm-hero--ed-split .scm-hero__slide {
    display: block !important;
}
.scm-hero--ed-backdrop .scm-hero__slide {
    display: flex !important;
    align-items: flex-end !important;
    min-height: 480px;
}
.scm-hero--ed-split .scm-hero__slide.is-active,
.scm-hero--ed-backdrop .scm-hero__slide.is-active {
    opacity: 1;
    visibility: visible;
    position: relative !important;
}
/* Matar los overlays oscuros del slide cinemático (::before/::after). */
.scm-hero--ed-split .scm-hero__slide::before,
.scm-hero--ed-split .scm-hero__slide::after,
.scm-hero--ed-backdrop .scm-hero__slide::before,
.scm-hero--ed-backdrop .scm-hero__slide::after {
    display: none !important;
    content: none !important;
    background: none !important;
}
/* Puntos: contenedor sin glass, botones con el color editorial (vencer !important). */
.scm-hero--ed-split .scm-hero__dots,
.scm-hero--ed-backdrop .scm-hero__dots {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}
.scm-hero--ed-split .scm-hero__dot,
.scm-hero--ed-backdrop .scm-hero__dot,
.scm-hero--ed-split button.scm-hero__dot,
.scm-hero--ed-backdrop button.scm-hero__dot {
    width: 8px !important;
    height: 8px !important;
    background: #C7C9E6 !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
}
.scm-hero--ed-split .scm-hero__dot.is-active,
.scm-hero--ed-backdrop .scm-hero__dot.is-active,
.scm-hero--ed-split button.scm-hero__dot.is-active,
.scm-hero--ed-backdrop button.scm-hero__dot.is-active {
    width: 22px !important;
    background: var(--scm-ed-primary, #7B61FF) !important;
    background-image: none !important;
}

/* Texto compartido: título/logo, fecha, CTA */
.scm-hero__ed-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}
.scm-hero__ed-title {
    margin: 0;
    font-size: clamp(28px, 4vw, 48px);
    font-weight: 700;
    line-height: 1.05;
    color: var(--scm-ed-heading, #000);
}
.scm-hero__ed-title a { color: inherit; text-decoration: none; }
.scm-hero__ed-logo { max-width: 340px; max-height: 160px; width: auto; height: auto; }
.scm-hero__ed-release {
    margin: 0;
    display: inline-block;
    font-size: 14px;
    font-weight: 500;
    color: var(--scm-ed-primary, #7B61FF);
    background: #fff;
    border: 1px solid #E2E4F7;
    border-radius: 999px;
    padding: 6px 16px;
}
.scm-hero__ed-cta .scm-cta {
    background: var(--scm-ed-primary) !important;
    background-image: none !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff;
    border: 0 !important;
    border-radius: var(--scm-ed-radius) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    font-weight: 600 !important;
    padding: 13px 26px !important;
    transition: 0.2s background-color, 0.12s transform;
}
.scm-hero__ed-cta .scm-cta--active:hover { background: var(--scm-ed-accent) !important; transform: translateY(-1px); }

/* Layout 1 — póster + info */
.scm-hero--ed-split { min-height: 500px; }
.scm-hero__ed-split-inner {
    display: grid;
    grid-template-columns: minmax(0, 280px) 1fr;
    gap: 48px;
    align-items: center;
    min-height: 500px;
    max-width: 1320px;
    margin: 0 auto;
    padding: 40px 70px;
    box-sizing: border-box;
}
.scm-hero__ed-poster {
    display: block;
    width: 100%;
    max-width: 280px;
    aspect-ratio: 3 / 4;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 10px 30px -12px rgba(0, 3, 28, 0.25);
}
.scm-hero__ed-poster img,
.scm-hero__ed-poster .scm-poster-ph {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 8px;
}

/* Layout 2 — backdrop apaisado con degradé claro */
.scm-hero--ed-backdrop { min-height: 480px; }
.scm-hero--ed-backdrop .scm-hero__slide { display: flex; }
.scm-hero__ed-backdrop-media {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.scm-hero__ed-backdrop-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.scm-hero__ed-backdrop-media::after {
    content: "";
    position: absolute;
    inset: 0;
    /* Funde la imagen a lavanda por arriba, abajo e izquierda; deja una
       "ventana" nítida hacia el centro-derecha. Evita bandas negras del
       thumbnail y mantiene el aire claro editorial. */
    background:
        linear-gradient(180deg, rgba(237,239,255,0.82) 0%, rgba(237,239,255,0.12) 24%, rgba(237,239,255,0) 58%, rgba(237,239,255,0.55) 84%, var(--scm-ed-bg, #EDEFFF) 100%),
        linear-gradient(90deg, rgba(237,239,255,0.94) 0%, rgba(237,239,255,0.55) 32%, rgba(237,239,255,0.08) 68%, rgba(237,239,255,0) 100%);
}
.scm-hero__ed-backdrop-inner {
    position: relative;
    z-index: 1;
    align-self: flex-end;
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: 40px 70px 48px;
    box-sizing: border-box;
}
.scm-hero__ed-backdrop-inner .scm-hero__ed-text { max-width: 560px; }

/* Puntos de navegación — violeta */
.scm-hero--ed-split .scm-hero__dots,
.scm-hero--ed-backdrop .scm-hero__dots {
    position: absolute;
    bottom: 18px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 2;
}
.scm-hero--ed-split .scm-hero__dot,
.scm-hero--ed-backdrop .scm-hero__dot {
    width: 8px; height: 8px; padding: 0;
    border: 0; border-radius: 999px;
    background: #C7C9E6; cursor: pointer;
    transition: 0.2s background, 0.2s width;
}
.scm-hero--ed-split .scm-hero__dot.is-active,
.scm-hero--ed-backdrop .scm-hero__dot.is-active {
    background: var(--scm-ed-primary, #7B61FF);
    width: 22px;
}

@media (max-width: 767px) {
    .scm-hero__ed-split-inner {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 28px 20px 44px;
        text-align: center;
        justify-items: center;
    }
    .scm-hero__ed-poster { max-width: 220px; }
    .scm-hero__ed-text { align-items: center; }
    .scm-hero__ed-backdrop-inner { padding: 24px 20px 44px; }
    .scm-hero__ed-backdrop-media::after {
        background: linear-gradient(180deg, rgba(237,239,255,0.15) 0%, rgba(237,239,255,0.75) 60%, var(--scm-ed-bg) 100%);
    }
}

/* --- Carrusel de películas ------------------------------------------------ */
.scm-carousel {
    position: relative;
}
.scm-carousel__title {
    margin: 0 0 18px;
    font-size: 22px;
    font-weight: 700;
    color: var(--scm-ed-heading, #000);
}
.scm-carousel__track {
    display: flex;
    gap: var(--scm-carousel-gap, 25px);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 4px;
}
.scm-carousel__track::-webkit-scrollbar {
    display: none;
}
.scm-carousel__item {
    /* ancho = (100% - gaps entre visibles) / visibles */
    flex: 0 0 calc( ( 100% - ( var(--scm-carousel-visible, 5) - 1 ) * var(--scm-carousel-gap, 25px) ) / var(--scm-carousel-visible, 5) );
    scroll-snap-align: start;
    min-width: 0;
}
/* Doble selector para ganarle a los estilos de botón del kit de Elementor
   (.elementor-kit-N button) y de los themes. */
.scm-carousel button.scm-carousel__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background-color: var(--scm-ed-surface, #fff);
    color: var(--scm-ed-heading, #000);
    box-shadow: 0 2px 10px rgba(0, 3, 28, 0.15);
    cursor: pointer;
    transition: 0.2s background-color, 0.2s color, 0.2s opacity;
}
.scm-carousel button.scm-carousel__arrow:hover {
    background-color: var(--scm-ed-primary, #7B61FF);
    color: #fff;
}
.scm-carousel__arrow svg {
    width: 16px;
    height: 16px;
}
.scm-carousel__arrow--prev { left: -12px; }
.scm-carousel__arrow--next { right: -12px; }
.scm-carousel.is-start .scm-carousel__arrow--prev,
.scm-carousel.is-end   .scm-carousel__arrow--next {
    opacity: 0.3;
    pointer-events: none;
}
@media (max-width: 767px) {
    /* En touch se desliza con el dedo; las flechas molestan */
    .scm-carousel__arrow { display: none; }
}

/* --- Buscador del catálogo ------------------------------------------------ */
.scm-catalog-search {
    display: flex;
    gap: 10px;
    margin: 0 0 22px;
    max-width: 520px;
}
.scm-catalog-search__input {
    flex: 1;
    padding: 10px 16px;
    font: inherit;
    font-size: 14px;
    color: var(--scm-ed-body);
    background: var(--scm-ed-surface);
    border: 1px solid #DDDFF2;
    border-radius: var(--scm-ed-radius);
    outline: none;
    transition: 0.2s border-color;
}
.scm-catalog-search__input:focus {
    border-color: var(--scm-ed-primary);
}
/* Doble contexto para ganarle a los estilos de botón del kit de Elementor
   (.elementor-kit-N button) y de los themes. */
.scm-catalog-search button.scm-catalog-search__submit {
    padding: 10px 22px;
    font: inherit;
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    background-color: var(--scm-ed-primary);
    border: 0;
    border-radius: var(--scm-ed-radius);
    cursor: pointer;
    transition: 0.2s background-color;
}
.scm-catalog-search button.scm-catalog-search__submit:hover {
    background-color: var(--scm-ed-accent);
    color: #fff;
}
.scm-catalog-search__meta {
    font-size: 13px;
    color: var(--scm-ed-muted);
    margin: -10px 0 20px;
}
.scm-catalog-search__meta a {
    color: var(--scm-ed-primary);
    text-decoration: none;
}

/* --- Filtros de catálogo (lista horizontal de texto) --------------------- */
.scm-catalog-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 22px;
    margin: 0 0 30px;
}
.scm-catalog-filters a {
    font-size: 14px;
    line-height: 20px;
    color: var(--scm-ed-heading);
    text-decoration: none;
    padding-bottom: 3px;
    border-bottom: 2px solid transparent;
    transition: 0.2s color, 0.2s border-color;
}
.scm-catalog-filters a:hover {
    color: var(--scm-ed-primary);
}
.scm-catalog-filters a.is-active {
    color: var(--scm-ed-primary);
    font-weight: 700;
    border-bottom-color: var(--scm-ed-primary);
}
.scm-catalog-filters__sep {
    color: var(--scm-ed-muted);
    user-select: none;
}

/* Variante dropdown: selects que filtran al cambiar */
.scm-catalog-filters--dropdown {
    align-items: center;
    gap: 12px;
}
.scm-catalog-filters--dropdown select {
    appearance: none;
    -webkit-appearance: none;
    padding: 10px 38px 10px 16px;
    font: inherit;
    font-size: 14px;
    color: var(--scm-ed-body);
    background-color: var(--scm-ed-surface);
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%232D2828' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    border: 1px solid #DDDFF2;
    border-radius: var(--scm-ed-radius);
    cursor: pointer;
    transition: 0.2s border-color;
}
.scm-catalog-filters--dropdown select:focus {
    outline: none;
    border-color: var(--scm-ed-primary);
}
.scm-catalog-filters__reset {
    font-size: 13px;
    color: var(--scm-ed-primary) !important;
    border-bottom: 0 !important;
}
.scm-catalog-filters__apply {
    padding: 10px 18px;
    font: inherit;
    font-size: 14px;
    color: #fff;
    background-color: var(--scm-ed-primary);
    border: 0;
    border-radius: var(--scm-ed-radius);
    cursor: pointer;
}

/* --- Ficha editorial ------------------------------------------------------ */
.scm-editorial {
    background: var(--scm-ed-bg);
    padding: 50px 20px 70px;
}
.scm-editorial__card {
    background: var(--scm-ed-surface);
    max-width: 990px;              /* ~9/12 de 1320px */
    margin: 0 auto;
    padding: 25px;
    border-radius: 8px;
}
.scm-editorial__topbar {
    max-width: 990px;
    margin: 0 auto 14px;
}
.scm-editorial__back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 500;
    color: var(--scm-ed-heading);
    text-decoration: none;
    transition: 0.2s color;
}
.scm-editorial__back svg {
    width: 18px;
    height: 18px;
    transition: 0.2s transform;
}
.scm-editorial__back:hover {
    color: var(--scm-ed-primary);
}
.scm-editorial__back:hover svg {
    transform: translateX(-3px);
}
/* =========================================================================
   Funciones de cines — diseño editorial plano (reemplaza el legacy "glass").
   Cards blancas con borde sutil, sin sombras ni glows, un solo acento violeta.
   ========================================================================= */
.scm-editorial__showtimes {
    margin-top: 34px;
}
/* Título de sección como heading real (no el uppercase chico del legacy). */
.scm-editorial__showtimes .scm-movie__showtimes-title {
    margin: 0 0 20px !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    color: var(--scm-ed-heading) !important;
    -webkit-text-fill-color: var(--scm-ed-heading);
}

/* Controles superiores (buscar cine / provincia / ciudad / día / formato) */
.scm-editorial__showtimes .scm-showtimes__geo,
.scm-editorial__showtimes .scm-showtimes__filters {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 0 18px !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
.scm-editorial__showtimes .scm-showtimes__geo-label > span,
.scm-editorial__showtimes .scm-showtimes__select-filter > span,
.scm-editorial__showtimes .scm-showtimes__filter-group legend {
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: var(--scm-ed-muted) !important;
}
.scm-editorial__showtimes input[type="search"],
.scm-editorial__showtimes select {
    background: #fff !important;
    background-image: none !important;
    color: var(--scm-ed-body) !important;
    border: 1px solid #DDDFF2 !important;
    border-radius: var(--scm-ed-radius) !important;
    box-shadow: none !important;
    padding: 9px 12px !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
.scm-editorial__showtimes input[type="search"]:focus,
.scm-editorial__showtimes select:focus {
    outline: none !important;
    border-color: var(--scm-ed-primary) !important;
}

/* Pestañas de día (solo en modo con fechas) — pill plano, activo violeta. */
.scm-editorial__showtimes .scm-showtimes__days {
    gap: 8px !important;
    border: 0 !important;
}
.scm-editorial__showtimes .scm-showtimes__day {
    background: #fff !important;
    background-image: none !important;
    color: var(--scm-ed-body) !important;
    border: 1px solid #DDDFF2 !important;
    border-radius: var(--scm-ed-radius) !important;
    box-shadow: none !important;
    transition: 0.2s background-color, 0.2s border-color;
}
.scm-editorial__showtimes .scm-showtimes__day.is-active,
.scm-editorial__showtimes .scm-showtimes__day.is-active .scm-showtimes__day-label,
.scm-editorial__showtimes .scm-showtimes__day.is-active .scm-showtimes__day-date {
    background: var(--scm-ed-primary) !important;
    background-image: none !important;
    border-color: var(--scm-ed-primary) !important;
    color: #fff !important;
}

/* Botones de filtro de idioma — pill plano. */
.scm-editorial__showtimes .scm-showtimes__filter-group button {
    color: var(--scm-ed-body) !important;
    background: #fff !important;
    border: 1px solid #DDDFF2 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
}
.scm-editorial__showtimes .scm-showtimes__filter-group button[aria-pressed="true"] {
    background: var(--scm-ed-primary) !important;
    color: #fff !important;
    border-color: var(--scm-ed-primary) !important;
}

/* Card de cine — plana, borde sutil, sin sombra ni glass. */
.scm-editorial__showtimes .scm-showtimes__list {
    display: grid;
    gap: 14px;
}
.scm-editorial__showtimes .scm-showtimes__cinema {
    background: #fff !important;
    border: 1px solid #ECECF4 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    padding: 20px 22px !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
.scm-editorial__showtimes .scm-showtimes__cinema::before,
.scm-editorial__showtimes .scm-showtimes__cinema::after {
    display: none !important;
}
.scm-editorial__showtimes .scm-showtimes__cinema-name {
    font-size: 17px !important;
    font-weight: 600 !important;
    color: var(--scm-ed-heading) !important;
    -webkit-text-fill-color: var(--scm-ed-heading);
    margin: 0 0 2px !important;
}
.scm-editorial__showtimes .scm-showtimes__cinema-city {
    font-size: 13px !important;
    color: var(--scm-ed-muted) !important;
}
.scm-editorial__showtimes .scm-showtimes__format-header {
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: var(--scm-ed-muted) !important;
}

/* Chips de horario — pill lavanda, hover violeta con feedback táctil. */
.scm-editorial__showtimes .scm-showtimes__time-chip {
    background: #F1F2FF !important;
    color: var(--scm-ed-heading) !important;
    -webkit-text-fill-color: var(--scm-ed-heading);
    border: 1px solid #E2E4F7 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    font-weight: 500 !important;
    transition: 0.15s background-color, 0.15s transform;
}
.scm-editorial__showtimes .scm-showtimes__time-chip:hover {
    background: var(--scm-ed-primary) !important;
    border-color: var(--scm-ed-primary) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff;
    transform: translateY(-1px);
}

/* Botón "Comprar en [cine]" — violeta plano (acción secundaria). */
.scm-editorial__showtimes .scm-cta--secondary {
    background: var(--scm-ed-primary) !important;
    background-image: none !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff;
    border: 0 !important;
    border-radius: var(--scm-ed-radius) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    transition: 0.2s background-color, 0.12s transform;
}
.scm-editorial__showtimes .scm-cta--secondary:hover {
    background: var(--scm-ed-accent) !important;
    transform: translateY(-1px);
}
.scm-editorial__showtimes .scm-cta--secondary:active {
    transform: translateY(0);
}
.scm-editorial__related {
    max-width: 990px;
    margin: 40px auto 0;
}
.scm-editorial__related .scm-movie__related-title {
    margin: 0 0 18px;
    font-size: 22px;
    font-weight: 700;
    color: var(--scm-ed-heading);
    /* Neutralizar el estilo uppercase del CSS legacy (.scm-movie__related-title) */
    text-transform: none;
    letter-spacing: normal;
}
.scm-editorial__tabs {
    display: flex;
    gap: 24px;
    margin: 0 0 25px;
    border-bottom: 1px solid #ECECF4;
}
.scm-editorial__tab {
    font-size: 14px;
    font-weight: 700;
    color: var(--scm-ed-heading);
    text-decoration: none;
    padding-bottom: 4px;
    margin-bottom: -1px;
    border-bottom: 2px solid var(--scm-ed-primary);
}
.scm-editorial__cols {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 30px;
    align-items: start;
}
.scm-editorial__poster img {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    border-radius: var(--scm-ed-radius);
    display: block;
}
.scm-editorial__title {
    margin: 0 0 4px;
    font-size: 32px;
    line-height: 1.2;
    font-weight: 700;
    color: var(--scm-ed-heading);
}
.scm-editorial__year {
    margin: 0 0 20px;
    font-size: 14px;
    color: var(--scm-ed-muted);
}
.scm-editorial__subtitle {
    margin: 0 0 8px;
    font-size: 18px;
    font-weight: 700;
    color: var(--scm-ed-heading);
}
.scm-editorial hr {
    border: 0;
    border-top: 1px solid #ECECF4;
    margin: 0 0 15px;
}
.scm-editorial__synopsis {
    font-size: 14px;
    line-height: 22px;
    color: var(--scm-ed-body);
    margin: 0 0 25px;
}
.scm-editorial__meta {
    margin: 0;
}
.scm-editorial__meta > div {
    margin-bottom: 14px;
    font-size: 14px;
    line-height: 20px;
    color: var(--scm-ed-body);
}
.scm-editorial__meta dt {
    display: inline;
    font-weight: 700;
    color: var(--scm-ed-heading);
}
.scm-editorial__meta dd {
    display: inline;
    margin: 0;
}
.scm-editorial__meta a {
    color: var(--scm-ed-primary);
    text-decoration: none;
}
.scm-editorial__meta a:hover {
    text-decoration: underline;
}
.scm-editorial__status-tag {
    display: inline-block;
    background: var(--scm-ed-primary);
    color: #fff;
    border-radius: var(--scm-ed-radius);
    padding: 3px 10px;
    font-size: 13px;
    line-height: 18px;
}
.scm-editorial__trailer-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--scm-ed-primary);
    color: #fff !important;
    border-radius: var(--scm-ed-radius);
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none !important;
    transition: 0.2s background;
}

/* --- Premios y festivales (badges tipográficos, sin laurel) ---------------- */
.scm-awards {
    margin: 34px 0 4px;
}
.scm-awards__row {
    display: flex;
    flex-wrap: wrap;
    margin-top: 22px;
}
.scm-awards__item {
    padding: 4px 32px;
    text-align: center;
    border-left: 1px solid #E2E4F7;
}
.scm-awards__item:first-child {
    border-left: 0;
    padding-left: 0;
}
.scm-awards__tag {
    display: inline-block;
    margin-bottom: 9px;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--scm-ed-muted, #A1A0A1);
}
.scm-awards__item--winner .scm-awards__tag {
    color: var(--scm-ed-accent, #6C52EE);
}
.scm-awards__dist {
    margin-bottom: 8px;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.15;
    color: var(--scm-ed-heading, #000);
}
.scm-awards__fest {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--scm-ed-body, #2D2828);
}
.scm-awards__year {
    margin-top: 3px;
    font-size: 12px;
    color: var(--scm-ed-muted, #A1A0A1);
}
@media (max-width: 767px) {
    .scm-awards__row { flex-direction: column; }
    .scm-awards__item {
        border-left: 0;
        border-top: 1px solid #E2E4F7;
        padding: 16px 0;
        text-align: left;
    }
    .scm-awards__item:first-child { border-top: 0; padding-top: 0; }
}

/* CTA "Comprar entradas" — botón primario prominente, arriba de la ficha.
   Rojo (color de acción), sobreescribiendo el gradiente legacy con
   background shorthand. */
.scm-editorial__cta {
    margin: 4px 0 24px;
}
.scm-editorial__cta .scm-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 200px;
    padding: 14px 28px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    border-radius: var(--scm-ed-radius);
    box-shadow: none;
    text-decoration: none !important;
}
.scm-editorial__cta .scm-cta--active {
    background: #d4322b;
    color: #fff !important;
    -webkit-text-fill-color: #fff;
    transition: 0.2s background;
}
.scm-editorial__cta .scm-cta--active:hover {
    background: #b62721;
    transform: none;
    box-shadow: none;
}
.scm-editorial__cta .scm-cta--message {
    background: #EDEFFF;
    color: var(--scm-ed-body);
    font-weight: 500;
}
.scm-editorial__cta .scm-cta--disabled {
    background: #E6E8F5;
    color: var(--scm-ed-muted);
    border: 0;
    cursor: not-allowed;
}
.scm-editorial__trailer-btn:hover {
    background: var(--scm-ed-accent);
}
.scm-editorial__trailer-btn svg {
    width: 14px;
    height: 14px;
    fill: currentColor;
}

@media (max-width: 767px) {
    .scm-editorial__cols {
        grid-template-columns: 1fr;
    }
    .scm-editorial__title {
        font-size: 24px;
    }
}
