/* Dónde ver (mu-plugin cf-donde-ver.php) — usa las variables del tema, modo claro y oscuro. 10-oct-2026. */
.cf-dv { padding-bottom: var(--cf-espacio-3); }
.cf-dv h2 { font-size: 1.25rem; margin: 0 0 .9rem; line-height: 1.25; }
.cf-dv-cab { margin: .5rem 0 1.2rem; }
.cf-dv-cab .cf-bloque-grande__titulo { margin: .2rem 0 .5rem; }

/* Pestañas de la sección */
.cf-dv-nav ul { list-style: none; margin: 0 0 1.5rem; padding: 0; display: flex; gap: .4rem; flex-wrap: wrap; }
.cf-dv-nav a { display: inline-block; padding: .45rem .9rem; border: 1px solid var(--cf-borde); border-radius: 999px; color: var(--cf-texto-suave); text-decoration: none; font-size: .9rem; }
.cf-dv-nav a:hover { border-color: var(--cf-borde-fuerte); color: var(--cf-texto); }
.cf-dv-nav a[aria-current] { background: var(--cf-acento); border-color: var(--cf-acento); color: var(--cf-acento-texto); font-weight: 600; }

/* Buscador */
.cf-dv-buscador { background: var(--cf-superficie); border: 1px solid var(--cf-borde); border-radius: var(--cf-radio); padding: 1rem; margin-bottom: 1rem; }
.cf-dv-buscador input[type=search] { width: 100%; box-sizing: border-box; font: inherit; font-size: 1.1rem; padding: .85rem 1rem; border-radius: var(--cf-radio-chico); border: 1px solid var(--cf-borde-fuerte); background: var(--cf-fondo); color: var(--cf-texto); }
.cf-dv-buscador input[type=search]:focus { outline: 2px solid var(--cf-acento); outline-offset: 1px; }
.cf-dv-filtros { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; margin-top: .8rem; align-items: end; }
.cf-dv-filtros label { display: flex; flex-direction: column; gap: .25rem; font-size: .8rem; color: var(--cf-texto-tenue); }
.cf-dv-filtros select { font: inherit; font-size: .95rem; padding: .55rem .6rem; border-radius: var(--cf-radio-chico); border: 1px solid var(--cf-borde); background: var(--cf-fondo); color: var(--cf-texto); }
.cf-dv-filtros .cf-dv-check { grid-column: 1 / -1; flex-direction: row; align-items: center; gap: .5rem; font-size: .9rem; color: var(--cf-texto-suave); }
.cf-dv-resumen { color: var(--cf-texto-suave); font-size: .92rem; margin: .4rem 0 .9rem; }
.cf-dv-resumen a, .cf-dv-verif a, .cf-dv-cine a, .cf-dv-fuente a, .cf-dv-oferta__datos a { color: var(--cf-acento); }
.cf-dv-mas { display: block; margin: 1rem auto 0; font: inherit; padding: .7rem 1.4rem; border-radius: 999px; border: 1px solid var(--cf-borde-fuerte); background: transparent; color: var(--cf-texto); cursor: pointer; }
.cf-dv-mas:hover { border-color: var(--cf-acento); }

/* Tarjetas de texto */
.cf-dv-rejilla { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; }
.cf-dv-tarjeta { display: flex; gap: .7rem; background: var(--cf-superficie); border: 1px solid var(--cf-borde); border-radius: var(--cf-radio); padding: .85rem .9rem; min-width: 0; transition: border-color .15s; }
.cf-dv-tarjeta:hover { border-color: var(--cf-borde-fuerte); }
.cf-dv-tarjeta__afiche { width: 64px; height: 96px; object-fit: cover; border-radius: 6px; flex: none; }
.cf-dv-tarjeta__cuerpo { min-width: 0; display: flex; flex-direction: column; gap: .3rem; }
.cf-dv-tarjeta__titulo { margin: 0; font-size: 1rem; line-height: 1.3; }
.cf-dv-tarjeta__titulo a { color: var(--cf-texto); text-decoration: none; }
.cf-dv-tarjeta__titulo a:hover { color: var(--cf-acento); }
.cf-dv-tarjeta__titulo a::after { content: ""; position: absolute; inset: 0; }
.cf-dv-tarjeta { position: relative; }
.cf-dv-tarjeta__meta, .cf-dv-tarjeta__nota { margin: 0; font-size: .8rem; color: var(--cf-texto-tenue); }
.cf-dv-tarjeta__nota { color: var(--cf-brasa); font-weight: 600; }
.cf-dv-tarjeta__plats { margin: .15rem 0 0; display: flex; flex-wrap: wrap; gap: .3rem; }
.cf-dv-tarjeta__sin { font-size: .75rem; color: var(--cf-texto-tenue); }
.cf-dv-insignia { display: inline-flex; align-items: center; gap: .25rem; font-size: .72rem; font-weight: 600; line-height: 1; padding: .3rem .45rem; border-radius: 5px; color: var(--cf-texto); background: var(--cf-superficie-2); border: 1px solid var(--cf-borde); box-shadow: inset 3px 0 0 var(--cf-dv-color, var(--cf-acento)); white-space: nowrap; }
.cf-dv-insignia small { font-weight: 400; color: var(--cf-texto-suave); }
.cf-dv-insignia--cine { box-shadow: inset 3px 0 0 var(--cf-brasa); }

/* Bloques */
.cf-dv-bloque { margin: 2rem 0; }
.cf-dv-vertodo { font-size: .85rem; font-weight: 400; margin-left: .6rem; color: var(--cf-acento); }
.cf-dv-saltos { margin-bottom: 1rem; }
.cf-dv-vacio { padding: 1rem 1.2rem; border: 1px dashed var(--cf-borde-fuerte); border-radius: var(--cf-radio); color: var(--cf-texto-suave); }
.cf-dv-plats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .6rem; }
.cf-dv-plat { display: flex; flex-direction: column; gap: .15rem; padding: .8rem .9rem; border-radius: var(--cf-radio-chico); background: var(--cf-superficie); border: 1px solid var(--cf-borde); border-left: 4px solid var(--cf-dv-color); color: var(--cf-texto); text-decoration: none; }
.cf-dv-plat span { font-size: .8rem; color: var(--cf-texto-tenue); }
.cf-dv-plat:hover { border-color: var(--cf-borde-fuerte); }
.cf-dv-fuente { margin-top: 2.5rem; font-size: .78rem; color: var(--cf-texto-tenue); border-top: 1px solid var(--cf-borde); padding-top: 1rem; }

/* Ficha */
.cf-dv-ficha__cabecera { display: flex; gap: 1.4rem; align-items: flex-start; margin: .4rem 0 1.4rem; }
.cf-dv-ficha__afiche { margin: 0; flex: none; width: 160px; }
.cf-dv-ficha__afiche img { width: 100%; height: auto; border-radius: var(--cf-radio-chico); display: block; }
.cf-dv-ficha__afiche figcaption { font-size: .68rem; color: var(--cf-texto-tenue); margin-top: .3rem; }
.cf-dv-ficha__afiche figcaption a { color: inherit; }
.cf-dv-ficha__titulo { font-size: clamp(1.6rem, 3.4vw, 2.4rem); line-height: 1.12; margin: .2rem 0 .5rem; }
.cf-dv-ficha__original { margin: 0 0 .3rem; color: var(--cf-texto-suave); }
.cf-dv-ficha__meta { margin: 0 0 .6rem; color: var(--cf-texto-suave); font-size: .95rem; }
.cf-dv-ficha__generos { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0; }
.cf-dv-ficha__generos a, .cf-dv-ficha__generos span { font-size: .8rem; padding: .25rem .6rem; border-radius: 999px; border: 1px solid var(--cf-borde); color: var(--cf-texto-suave); text-decoration: none; }
.cf-dv-ficha__generos a:hover { border-color: var(--cf-acento); color: var(--cf-texto); }

.cf-dv-donde { background: var(--cf-superficie); border: 1px solid var(--cf-borde); border-radius: var(--cf-radio); padding: 1.1rem 1.2rem; margin-bottom: 2rem; }
.cf-dv-ofertas { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .6rem; }
.cf-dv-oferta { display: grid; grid-template-columns: 180px 1fr auto; gap: .9rem; align-items: center; padding: .7rem 0; border-top: 1px solid var(--cf-borde); }
.cf-dv-oferta:first-child { border-top: 0; }
.cf-dv-oferta .cf-dv-insignia { font-size: .9rem; padding: .45rem .6rem; }
.cf-dv-oferta__datos { display: flex; flex-direction: column; gap: .15rem; font-size: .88rem; color: var(--cf-texto-suave); }
.cf-dv-oferta__datos strong { color: var(--cf-texto); font-size: .95rem; }
.cf-dv-oferta__sale { color: var(--cf-brasa); font-weight: 600; }
.cf-dv-boton { display: inline-block; padding: .6rem 1rem; border-radius: 999px; background: var(--cf-acento); color: var(--cf-acento-texto); font-weight: 700; font-size: .9rem; text-decoration: none; white-space: nowrap; }
.cf-dv-boton:hover { background: var(--cf-acento-vivo); }
.cf-dv-cine { margin: .9rem 0 0; color: var(--cf-texto-suave); }

.cf-dv-ficha__grilla { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 2rem; }
.cf-dv-ficha__principal section { margin-bottom: 2rem; }
.cf-dv-sinopsis { font-size: 1.05rem; line-height: 1.65; max-width: var(--cf-ancho-texto); }
.cf-dv-ficha__lado { background: var(--cf-superficie); border: 1px solid var(--cf-borde); border-radius: var(--cf-radio); padding: 1.1rem 1.2rem; align-self: start; }
.cf-dv-ficha__lado h2 { font-size: 1.05rem; }
.cf-dv-ficha__lado h3 { font-size: .95rem; margin: 1.1rem 0 .5rem; }
.cf-dv-dl { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: .35rem .8rem; font-size: .88rem; }
.cf-dv-dl dt { color: var(--cf-texto-tenue); }
.cf-dv-dl dd { margin: 0; }
.cf-dv-reparto { list-style: none; margin: 0; padding: 0; font-size: .88rem; display: flex; flex-direction: column; gap: .35rem; }
.cf-dv-reparto span { color: var(--cf-texto-tenue); display: block; font-size: .8rem; }

.cf-dv-trailer { position: relative; aspect-ratio: 16 / 9; max-width: 760px; background: var(--cf-superficie-2); border: 1px solid var(--cf-borde); border-radius: var(--cf-radio); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .6rem; padding: 1rem; box-sizing: border-box; }
.cf-dv-trailer.esta-cargado { padding: 0; border: 0; background: #000; }
.cf-dv-trailer iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: var(--cf-radio); }
.cf-dv-trailer__boton { font: inherit; font-weight: 700; font-size: 1rem; padding: .8rem 1.3rem; border-radius: 999px; border: 0; background: var(--cf-acento); color: var(--cf-acento-texto); cursor: pointer; }
.cf-dv-trailer__canal { margin: 0; font-size: .78rem; color: var(--cf-texto-tenue); text-align: center; }

.cf-dv-faq details { border-top: 1px solid var(--cf-borde); padding: .7rem 0; }
.cf-dv-faq summary { cursor: pointer; font-weight: 600; }
.cf-dv-faq p { margin: .5rem 0 0; color: var(--cf-texto-suave); }

/* Precios */
.cf-dv-tabla { width: 100%; border-collapse: collapse; font-size: .92rem; }
.cf-dv-tabla th, .cf-dv-tabla td { text-align: left; padding: .55rem .6rem; border-bottom: 1px solid var(--cf-borde); vertical-align: top; }
.cf-dv-tabla th { color: var(--cf-texto-tenue); font-weight: 600; font-size: .8rem; }
.cf-dv-verif { font-size: .82rem; color: var(--cf-texto-tenue); }
.cf-dv-comparador { background: var(--cf-superficie); border: 1px solid var(--cf-borde); border-radius: var(--cf-radio); padding: 1.1rem 1.2rem; }
.cf-dv-comp__lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .45rem .9rem; margin: .8rem 0; }
.cf-dv-comp__item { display: flex; gap: .45rem; align-items: baseline; flex-wrap: wrap; font-size: .9rem; cursor: pointer; }
.cf-dv-comp__item span { color: var(--cf-texto-tenue); font-size: .8rem; }
.cf-dv-comp__total { font-size: 1.05rem; margin: 0; }
.cf-dv-estrenos { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 2rem; }
.cf-dv-estrenos li { break-inside: avoid; padding: .35rem 0; border-bottom: 1px solid var(--cf-borde); }
.cf-dv-estrenos time { display: inline-block; min-width: 6.5rem; color: var(--cf-brasa); font-weight: 600; font-size: .88rem; }
.cf-dv-estrenos a { color: var(--cf-texto); text-decoration: none; }
.cf-dv-estrenos a:hover { color: var(--cf-acento); }

@media (max-width: 1100px) {
	.cf-dv-rejilla, .cf-dv-plats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.cf-dv-ficha__grilla { grid-template-columns: minmax(0, 1fr) 260px; }
}
@media (max-width: 820px) {
	.cf-dv-rejilla, .cf-dv-plats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cf-dv-ficha__grilla { grid-template-columns: 1fr; }
	.cf-dv-oferta { grid-template-columns: 1fr auto; }
	.cf-dv-oferta__plat { grid-column: 1 / -1; }
	.cf-dv-comp__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cf-dv-estrenos { columns: 1; }
}
@media (max-width: 560px) {
	.cf-dv-rejilla { grid-template-columns: 1fr; }
	.cf-dv-filtros { grid-template-columns: 1fr 1fr; }
	.cf-dv-filtros label:first-child { grid-column: 1 / -1; }
	.cf-dv-ficha__cabecera { flex-direction: column; }
	.cf-dv-ficha__afiche { width: 120px; }
	.cf-dv-oferta { grid-template-columns: 1fr; }
	.cf-dv-boton { text-align: center; }
	.cf-dv-comp__lista { grid-template-columns: 1fr; }
	.cf-dv-tabla { font-size: .85rem; }
	.cf-dv-tabla th:nth-child(3), .cf-dv-tabla td:nth-child(3) { display: none; }
}
