/* ==========================================================================
   Play Stereo 106.7 · estilos del tema
   ========================================================================== */

:root {
	--ps-negro: #101215;
	--ps-negro-2: #1C2026;
	--ps-negro-3: #2C3138;
	--ps-crema: #F4F2EE;
	--ps-crema-2: #F9F8F5;
	--ps-blanco: #FFFFFF;
	--ps-azul: #0B63C4;
	--ps-azul-hover: #08498F;
	--ps-azul-claro: #1A8FFF;
	--ps-sol: #FFD21F;
	--ps-naranja: #FF7A1A;
	--ps-verde: #2E9E44;
	--ps-cielo: #CFE6FF;
	--ps-texto-2: #3F444B;
	--ps-texto-3: #5B6068;
	--ps-claro-2: #B8BDC4;
	--ps-claro-3: #C9CDD3;
	--ps-borde: #DEDAD2;
	--ps-borde-2: #CFCAC0;
	--ps-borde-3: #E4E0D8;
	--ps-display: "Bricolage Grotesque", system-ui, sans-serif;
	--ps-sans: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	--ps-gutter: 40px;
	--ps-radio: 24px;
}

@media (max-width: 720px) {
	:root { --ps-gutter: 16px; }
}

/* Base ------------------------------------------------------------------- */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
	margin: 0;
	background: var(--ps-crema);
	color: var(--ps-negro);
	font-family: var(--ps-sans);
	font-size: 17px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

img, svg, video, iframe { max-width: 100%; }
img { height: auto; display: block; }
a { color: var(--ps-azul); }
a:hover { color: var(--ps-azul-hover); }
button { font: inherit; }
[hidden] { display: none !important; }

:focus-visible { outline: 3px solid var(--ps-azul-claro); outline-offset: 2px; }

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute !important; word-wrap: normal !important;
}

.ps-saltar {
	position: absolute; left: 16px; top: -100px; z-index: 100;
	background: var(--ps-negro); color: #fff; padding: 12px 18px; border-radius: 999px; font-weight: 700;
}
.ps-saltar:focus { top: 12px; color: #fff; }

.ps-wrap {
	width: 100%;
	max-width: 1360px;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--ps-gutter);
	padding-right: var(--ps-gutter);
}

.ps-main { display: block; outline: none; }

/* Tipografía ------------------------------------------------------------- */

.ps-kicker {
	margin: 0 0 12px;
	font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
	color: var(--ps-azul);
}
.ps-kicker--azul-claro { color: var(--ps-azul-claro); }
.ps-kicker--sol { color: var(--ps-sol); }

.ps-h1, .ps-h2, .ps-h3 { font-family: var(--ps-display); font-weight: 800; margin: 0; letter-spacing: -.03em; }
.ps-h1 { font-size: clamp(40px, 5.5vw, 72px); line-height: 1; letter-spacing: -.035em; }
.ps-h2 { font-size: clamp(36px, 5vw, 64px); line-height: 1; text-wrap: balance; }
.ps-h3 { font-size: clamp(28px, 3vw, 40px); line-height: 1.05; }

.ps-texto-grande { font-size: 19px; }
.ps-texto-suave { color: var(--ps-texto-3); }
.ps-letra-menuda { font-size: 14px; color: var(--ps-texto-3); margin: 20px 0 0; }

.ps-link-fuerte { color: var(--ps-negro); font-weight: 700; text-underline-offset: 3px; }
.ps-link-fuerte:hover { color: var(--ps-azul); }

.ps-pildora {
	margin: 0; align-self: flex-start; display: inline-flex; align-items: center; gap: 8px;
	border: 1px solid var(--ps-borde-2); border-radius: 999px; padding: 6px 14px; font-size: 14px; font-weight: 500;
}

/* Colores de marca como fondos ------------------------------------------ */

.ps-fondo--sol { background: var(--ps-sol); color: var(--ps-negro); }
.ps-fondo--naranja { background: var(--ps-naranja); color: var(--ps-negro); }
.ps-fondo--verde { background: var(--ps-verde); color: var(--ps-negro); }
.ps-fondo--cielo { background: var(--ps-cielo); color: var(--ps-negro); }
.ps-fondo--azul-claro { background: var(--ps-azul-claro); color: var(--ps-negro); }
.ps-fondo--azul { background: var(--ps-azul); color: #fff; }

/* Botones ---------------------------------------------------------------- */

.ps-botones { display: flex; flex-wrap: wrap; gap: 12px; }

.ps-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 48px; padding: 12px 24px;
	border: 1.5px solid transparent; border-radius: 999px;
	font-family: var(--ps-sans); font-size: 16px; font-weight: 700; line-height: 1.2;
	text-decoration: none; cursor: pointer;
	transition: background-color .15s, color .15s, border-color .15s, transform .15s;
}
.ps-btn:active { transform: translateY(1px); }
.ps-btn--grande { min-height: 54px; padding: 14px 26px; font-size: 17px; }
.ps-btn--sm { min-height: 44px; padding: 9px 16px; font-size: 14px; }
.ps-btn--azul { background: var(--ps-azul); color: #fff; }
.ps-btn--azul:hover { background: var(--ps-azul-hover); color: #fff; }
.ps-btn--azul-claro { background: var(--ps-azul-claro); color: var(--ps-negro); }
.ps-btn--azul-claro:hover { background: #4FA9FF; color: var(--ps-negro); }
.ps-btn--negro { background: var(--ps-negro); color: #fff; }
.ps-btn--negro:hover { background: #2A2E35; color: #fff; }
.ps-btn--blanco { background: #fff; color: var(--ps-negro); }
.ps-btn--blanco:hover { background: var(--ps-sol); color: var(--ps-negro); }
.ps-btn--borde { border-color: var(--ps-negro); color: var(--ps-negro); background: transparent; }
.ps-btn--borde:hover { background: var(--ps-negro); color: #fff; }
.ps-btn--borde-claro { border-color: #fff; color: #fff; background: transparent; }
.ps-btn--borde-claro:hover { background: #fff; color: var(--ps-negro); }

.ps-btn-icono {
	width: 46px; height: 46px; flex: 0 0 46px;
	display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid var(--ps-borde-2); border-radius: 999px; background: transparent; color: var(--ps-negro);
	cursor: pointer; text-decoration: none;
}
.ps-btn-icono:hover { background: var(--ps-negro); color: #fff; border-color: var(--ps-negro); }
.ps-btn-icono--oscuro { border-color: #3A3F47; color: #fff; }
.ps-btn-icono--oscuro:hover { background: #fff; color: var(--ps-negro); border-color: #fff; }

.ps-circulo {
	width: 40px; height: 40px; flex: 0 0 40px; border-radius: 999px;
	background: #fff; color: var(--ps-negro);
	display: inline-flex; align-items: center; justify-content: center;
	transition: transform .2s;
}
.ps-circulo--negro { width: 44px; height: 44px; flex-basis: 44px; background: var(--ps-negro); color: #fff; }

.ps-punto {
	width: 9px; height: 9px; border-radius: 999px; background: var(--ps-naranja); display: inline-block; flex: 0 0 auto;
	animation: ps-pulso 1.6s ease-in-out infinite;
}
@keyframes ps-pulso { 50% { opacity: .3; } }

/* Botón de reproducir: icono de play o pausa según el estado global */
.ps-play {
	position: relative; border: 0; border-radius: 999px; cursor: pointer;
	background: var(--ps-azul-claro); color: var(--ps-negro);
	display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
}
.ps-play:hover { background: #4FA9FF; }
.ps-play--md { width: 48px; height: 48px; }
.ps-play--lg { width: 64px; height: 64px; }
.ps-play__off { display: none; }
.ps-play__on, .ps-play__off { display: inline-flex; }
.ps-play__off { display: none; }
.ps-sonando [data-ps-play] .ps-play__on { display: none; }
.ps-sonando [data-ps-play] .ps-play__off { display: inline-flex; }
.ps-play__spin {
	position: absolute; inset: -4px; border-radius: 999px; border: 3px solid transparent;
	border-top-color: var(--ps-sol); opacity: 0; pointer-events: none;
}
.ps-cargando .ps-play__spin { opacity: 1; animation: ps-girar .9s linear infinite; }
@keyframes ps-girar { to { transform: rotate(360deg); } }

/* Formularios ------------------------------------------------------------ */

.ps-form { display: flex; flex-direction: column; gap: 16px; }
.ps-campo { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.ps-campo label { font-size: 14px; font-weight: 700; }
.ps-campos-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 12px; }

.ps-input {
	width: 100%; min-height: 50px;
	border: 1.5px solid var(--ps-borde-2); background: #fff; color: var(--ps-negro);
	border-radius: 14px; padding: 13px 16px;
	font-family: var(--ps-sans); font-size: 16px;
}
textarea.ps-input { min-height: 100px; resize: vertical; }
.ps-input:focus { outline: 2px solid var(--ps-azul); outline-offset: 1px; border-color: var(--ps-azul); }
.ps-input--codigo { text-transform: uppercase; letter-spacing: .06em; font-weight: 700; }

.ps-form--oscuro .ps-campo label { color: #E3E6EA; font-weight: 500; }
.ps-form--oscuro .ps-input { background: var(--ps-negro-2); border-color: #3A3F47; color: #fff; }
.ps-form--oscuro .ps-input::placeholder { color: #8A9099; }
.ps-form--oscuro .ps-input:focus { outline-color: var(--ps-azul-claro); border-color: var(--ps-azul-claro); }

.ps-check { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; cursor: pointer; }
.ps-check input { width: 22px; height: 22px; margin: 0; flex: 0 0 22px; accent-color: var(--ps-azul-claro); }
.ps-form--oscuro .ps-check { color: #E3E6EA; }
.ps-form--oscuro a { color: #7FC0FF; }

.ps-trampa { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.ps-aviso {
	margin: 0; border-radius: 16px; padding: 14px 18px; font-size: 15px;
	display: flex; flex-direction: column; gap: 4px;
}
.ps-aviso--ok { background: #E3F5E7; color: #0E4A1C; border: 1.5px solid var(--ps-verde); }
.ps-aviso--error { background: #FFEDE2; color: #7A2A06; border: 1.5px solid var(--ps-naranja); }
.ps-aviso__titulo { font-size: 18px; font-family: var(--ps-display); }

.ps-vacio {
	margin: 0; border: 2px dashed var(--ps-borde-2); border-radius: 20px; padding: 24px;
	color: var(--ps-texto-3);
}
.ps-seccion--negra .ps-vacio { border-color: #3A3F47; color: var(--ps-claro-2); }

.ps-buscar { display: flex; gap: 8px; max-width: 680px; }
.ps-buscar__input { flex: 1; min-width: 0; }
@media (max-width: 480px) { .ps-buscar .ps-btn span { display: none; } }

/* Chips y etiquetas ------------------------------------------------------ */

.ps-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ps-chip {
	display: inline-flex; align-items: center; min-height: 44px;
	border: 1px solid var(--ps-borde-2); border-radius: 999px; padding: 8px 18px;
	background: transparent; color: var(--ps-negro); text-decoration: none;
	font-size: 15px; font-weight: 500; cursor: pointer;
}
.ps-chip:hover { border-color: var(--ps-negro); color: var(--ps-negro); }
.ps-chip[aria-selected="true"], .ps-chip[aria-current="page"], .ps-chip[aria-pressed="true"] {
	background: var(--ps-negro); color: #fff; border-color: var(--ps-negro); font-weight: 700;
}
.ps-chip--sm { min-height: 36px; padding: 4px 12px; font-size: 14px; }
.ps-chips--oscuro .ps-chip, .ps-seccion--negra .ps-chip { border-color: #3A3F47; color: #fff; }
.ps-chips--oscuro .ps-chip:hover, .ps-seccion--negra .ps-chip:hover { border-color: #fff; }
.ps-chips--oscuro .ps-chip[aria-selected="true"], .ps-seccion--negra .ps-chip[aria-selected="true"] { background: #fff; color: var(--ps-negro); border-color: #fff; }

.ps-etiqueta {
	align-self: flex-start; display: inline-flex; align-items: center;
	border-radius: 999px; padding: 4px 12px; font-size: 13px; font-weight: 700; text-decoration: none; color: var(--ps-negro);
}
.ps-etiqueta--borde { border: 1.5px solid currentColor; padding: 3px 12px; }
a.ps-etiqueta:hover { color: var(--ps-negro); filter: brightness(.95); }

/* Cabecera --------------------------------------------------------------- */

.ps-cabecera { background: var(--ps-crema); border-bottom: 1px solid var(--ps-borde); position: relative; z-index: 30; }
.ps-cabecera__fila {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
	gap: 16px 32px; padding-top: 14px; padding-bottom: 14px;
}
.ps-logo { display: flex; align-items: center; }
.ps-logo__img, .ps-logo img { height: 52px; width: auto; }

.ps-nav__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 28px; }
.ps-nav a { color: var(--ps-negro); text-decoration: none; font-weight: 500; font-size: 16px; padding: 6px 0; display: inline-block; }
.ps-nav a:hover, .ps-nav .current-menu-item > a, .ps-nav .current_page_item > a, .ps-nav .current-menu-ancestor > a { color: var(--ps-azul); }

.ps-cabecera__acciones { display: flex; align-items: center; gap: 10px; }

.ps-btn-vivo {
	display: inline-flex; align-items: center; gap: 10px; min-height: 46px;
	background: var(--ps-negro); color: #fff; border: 0; border-radius: 999px;
	padding: 10px 20px; font-weight: 700; font-size: 15px; cursor: pointer;
}
.ps-btn-vivo:hover { background: var(--ps-azul); }
.ps-sonando .ps-btn-vivo { background: var(--ps-azul); }

.ps-menu-btn { display: none; }
.ps-menu-btn__cerrar { display: none; }

@media (max-width: 1400px) and (min-width: 1181px) {
	.ps-nav__lista { gap: 4px 20px; }
	.ps-nav a { font-size: 15px; }
	.ps-cabecera__fila { column-gap: 24px; }
}
@media (max-width: 1180px) {
	.ps-menu-btn { display: inline-flex; }
	.ps-nav { display: none; order: 3; flex-basis: 100%; }
	.ps-cabecera.is-abierta .ps-nav { display: block; }
	.ps-cabecera.is-abierta .ps-menu-btn__abrir { display: none; }
	.ps-cabecera.is-abierta .ps-menu-btn__cerrar { display: inline-flex; }
	.ps-nav__lista { flex-direction: column; gap: 0; border-top: 1px solid var(--ps-borde); padding-top: 8px; }
	.ps-nav a { display: block; padding: 12px 0; font-size: 20px; font-family: var(--ps-display); font-weight: 700; }
}
@media (max-width: 480px) {
	.ps-logo__img, .ps-logo img { height: 42px; }
	.ps-btn-vivo { padding: 10px 14px; }
	.ps-cabecera__acciones { gap: 6px; }
	.ps-cabecera__acciones > [data-ps-buscar] { display: none; }
}

.ps-buscador { border-top: 1px solid var(--ps-borde); padding: 16px 0; }

/* Migas de pan ----------------------------------------------------------- */

.ps-migas { font-size: 14px; color: var(--ps-texto-3); }
.ps-migas ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.ps-migas li + li::before { content: "/"; margin-right: 6px; color: var(--ps-borde-2); }
.ps-migas a { color: var(--ps-texto-3); }
.ps-migas a:hover { color: var(--ps-negro); }
.ps-migas li[aria-current] { max-width: 40ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Portada · hero --------------------------------------------------------- */

.ps-hero {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 520px), 1fr));
	gap: 24px; align-items: stretch; padding-top: 40px; padding-bottom: 40px;
}
.ps-hero--pagina { padding-top: 48px; padding-bottom: 72px; }
.ps-hero__texto { display: flex; flex-direction: column; justify-content: center; gap: 28px; padding: 24px 8px; }
.ps-hero__texto .ps-kicker { margin: 0; }
.ps-hero__titulo {
	margin: 0; font-family: var(--ps-display); font-weight: 800;
	font-size: clamp(52px, 7vw, 96px); line-height: .95; letter-spacing: -.035em; text-wrap: balance;
}
.ps-hero__titulo--md { font-size: clamp(44px, 5.5vw, 80px); }
.ps-resalte { color: var(--ps-azul); }
.ps-hero__bajada { margin: 0; max-width: 520px; font-size: 19px; color: var(--ps-texto-2); }

.ps-envivo {
	background: var(--ps-negro); color: #fff; border-radius: 32px; padding: 28px;
	display: flex; flex-direction: column; gap: 18px; min-width: 0;
}
.ps-envivo__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.ps-envivo__etiqueta { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; letter-spacing: .08em; }
.ps-envivo__senal { font-size: 14px; color: var(--ps-claro-2); }
.ps-envivo__programa {
	background: var(--ps-sol); color: var(--ps-negro); border-radius: 24px; padding: 24px;
	display: flex; flex-wrap: wrap; gap: 20px; align-items: stretch;
}
.ps-envivo__datos { flex: 1 1 220px; display: flex; flex-direction: column; justify-content: space-between; gap: 24px; }
.ps-envivo__kicker { margin: 0 0 6px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.ps-envivo__nombre { margin: 0; font-family: var(--ps-display); font-size: clamp(34px, 3.4vw, 44px); line-height: 1; letter-spacing: -.03em; font-weight: 800; }
.ps-envivo__locutor { margin: 8px 0 0; font-size: 17px; }
.ps-envivo__franja { margin: 0; font-size: 15px; font-weight: 500; }
.ps-envivo__foto { flex: 0 0 170px; height: 210px; border-radius: 18px; overflow: hidden; }
.ps-envivo__foto img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 480px) { .ps-envivo__foto { flex-basis: 100%; height: 180px; } .ps-envivo { padding: 18px; border-radius: 26px; } }

.ps-envivo__player {
	background: var(--ps-negro-2); border-radius: 24px; padding: 18px 20px;
	display: flex; align-items: center; gap: 18px;
}
.ps-envivo__sonando { flex: 1 1 auto; min-width: 0; }
.ps-envivo__mini { margin: 0; font-size: 13px; color: var(--ps-claro-2); display: block; }
.ps-envivo__cancion { margin: 2px 0 10px; font-size: 16px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.ps-ondas { display: flex; align-items: center; gap: 4px; height: 34px; }
.ps-ondas span {
	display: block; flex: 1; max-width: 6px; height: var(--h); border-radius: 999px; background: var(--ps-sol);
	transform-origin: center; transform: scaleY(.35); transition: transform .4s;
}
.ps-ondas span:nth-child(n+7) { background: #FFB01F; }
.ps-ondas span:nth-child(n+12) { background: var(--ps-naranja); }
.ps-ondas span:nth-child(n+18) { background: var(--ps-verde); }
.ps-ondas span:nth-child(n+23) { background: var(--ps-azul-claro); }
.ps-sonando .ps-ondas span { animation: ps-onda 1s ease-in-out infinite alternate; animation-delay: var(--d); }
@keyframes ps-onda { from { transform: scaleY(.25); } to { transform: scaleY(1); } }

.ps-envivo__siguiente {
	display: flex; justify-content: space-between; align-items: center; gap: 12px;
	color: #fff; text-decoration: none; border-top: 1px solid var(--ps-negro-3); padding-top: 16px;
}
.ps-envivo__siguiente:hover { color: var(--ps-sol); }
.ps-envivo__siguiente strong { display: block; }

/* Accesos rápidos -------------------------------------------------------- */

.ps-accesos {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
	gap: 16px; padding-bottom: 72px;
}
.ps-acceso {
	border-radius: 24px; padding: 24px; min-height: 170px;
	display: flex; flex-direction: column; justify-content: space-between; gap: 20px;
	text-decoration: none; color: var(--ps-negro);
}
.ps-acceso:hover { color: var(--ps-negro); }
.ps-acceso:hover .ps-circulo { transform: rotate(45deg); }
.ps-acceso__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.ps-acceso__kicker { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.ps-acceso__titulo { font-family: var(--ps-display); font-size: 30px; font-weight: 800; line-height: 1.05; letter-spacing: -.02em; }

/* Secciones -------------------------------------------------------------- */

.ps-seccion { padding: 96px 0; }
.ps-seccion--negra { background: var(--ps-negro); color: #fff; }
.ps-seccion--blanca { background: #fff; }
.ps-seccion--azul { background: var(--ps-azul); color: #fff; }
.ps-seccion--negra .ps-texto-suave, .ps-seccion--azul .ps-texto-suave { color: var(--ps-claro-2); }
@media (max-width: 720px) { .ps-seccion { padding: 64px 0; } }

.ps-pila { display: flex; flex-direction: column; gap: 36px; }
.ps-pila--sm { gap: 16px; }

.ps-sec-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px; }
.ps-sec-head__texto { max-width: 760px; }
.ps-sec-pie { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; }
.ps-sec-pie p { margin: 0; font-size: 14px; color: var(--ps-claro-2); max-width: 640px; }

.ps-firma { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.ps-firma span { font-size: 13px; color: var(--ps-claro-2); }
.ps-decibeles { height: 26px; width: auto; }
.ps-decibeles--md { height: 44px; }
.ps-decibeles--lg { height: 48px; }

.ps-intro-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr)); gap: 24px 32px; align-items: end; }
.ps-intro-2 .ps-texto-suave { margin: 0; }

.ps-dos-col { display: flex; flex-wrap: wrap; gap: 48px; }
.ps-dos-col__lado { flex: 1 1 320px; display: flex; flex-direction: column; gap: 16px; }
.ps-dos-col__lado .ps-kicker, .ps-dos-col__lado p { margin: 0; }
.ps-dos-col__main { flex: 999 1 560px; min-width: 0; }

.ps-grid-3 { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 20px; }
.ps-grid-4 { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 16px; }

/* Top 20 ----------------------------------------------------------------- */

.ps-top20 { display: flex; flex-direction: column; gap: 28px; }
.ps-top20__lista { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ps-borde); }
.ps-top20__item { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 28px; padding: 16px 0; border-bottom: 1px solid var(--ps-borde); }
.ps-top20__pos { width: 56px; font-family: var(--ps-display); font-size: 40px; font-weight: 800; line-height: 1; letter-spacing: -.03em; color: var(--ps-azul); }
.ps-top20__cancion { flex: 1 1 260px; min-width: 0; }
.ps-top20__cancion strong { display: block; font-size: 20px; }
.ps-top20__cancion span { display: block; font-size: 15px; color: var(--ps-texto-3); }
.ps-top20__barra { flex: 1 1 280px; display: flex; align-items: center; gap: 14px; }
.ps-top20__pista { flex: 1; height: 8px; background: var(--ps-borde); border-radius: 999px; overflow: hidden; display: block; }
.ps-top20__relleno { display: block; height: 100%; border-radius: 999px; }
.ps-top20__num { min-width: 110px; font-size: 15px; text-align: right; color: var(--ps-texto-2); }
.ps-top20__fecha { margin: 0; font-size: 14px; color: var(--ps-texto-3); }
.ps-top20__iframe iframe { width: 100%; border: 0; border-radius: 20px; background: #fff; }

.ps-seccion--negra .ps-top20__lista, .ps-seccion--negra .ps-top20__item { border-color: var(--ps-negro-3); }
.ps-seccion--negra .ps-top20__pos { color: var(--ps-sol); }
.ps-seccion--negra .ps-top20__cancion span, .ps-seccion--negra .ps-top20__fecha { color: var(--ps-claro-2); }
.ps-seccion--negra .ps-top20__pista { background: #22262C; }
.ps-seccion--negra .ps-top20__num { color: #E3E6EA; }

@media (max-width: 600px) {
	.ps-top20__item { gap: 6px 16px; }
	.ps-top20__pos { width: 40px; font-size: 30px; }
	.ps-top20__cancion { flex-basis: calc(100% - 60px); }
	.ps-top20__barra { flex-basis: 100%; padding-left: 56px; }
	.ps-top20__num { min-width: 90px; font-size: 14px; }
}

/* Noticias --------------------------------------------------------------- */

.ps-grid-notas { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
@media (min-width: 700px) {
	.ps-grid-notas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ps-grid-notas .ps-nota--destacada { grid-column: span 2; }
}
@media (min-width: 1100px) { .ps-grid-notas { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.ps-nota { text-decoration: none; color: var(--ps-negro); }
.ps-nota:hover { color: var(--ps-negro); }
.ps-nota img { transition: transform .4s ease; }
.ps-nota:hover img { transform: scale(1.03); }
.ps-nota__titulo { margin: 0; font-family: var(--ps-display); font-weight: 800; font-size: 28px; line-height: 1.1; letter-spacing: -.02em; text-wrap: balance; }
.ps-nota__titulo--xl { font-size: clamp(28px, 3vw, 40px); line-height: 1.05; }
.ps-nota__titulo--lg { font-size: 32px; line-height: 1.08; }
.ps-nota__titulo--md { font-size: 22px; line-height: 1.15; font-weight: 700; }

.ps-nota--destacada {
	position: relative; min-height: 440px; border-radius: 24px; overflow: hidden;
	display: flex; color: #fff; background: var(--ps-negro);
}
.ps-nota--destacada:hover { color: #fff; }
.ps-nota--destacada .ps-nota__media { position: absolute; inset: 0; }
.ps-nota--destacada .ps-nota__media img, .ps-nota--destacada .ps-ph { width: 100%; height: 100%; object-fit: cover; }
.ps-nota--destacada .ps-nota__media::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(to top, rgba(16, 18, 21, .88) 0%, rgba(16, 18, 21, .45) 45%, rgba(16, 18, 21, 0) 75%);
}
.ps-nota--destacada .ps-nota__cuerpo { position: relative; z-index: 1; margin-top: auto; padding: 28px; display: flex; flex-direction: column; gap: 12px; max-width: 680px; }
.ps-nota__bajada { color: #DDE0E5; }

.ps-nota--color { border-radius: 24px; overflow: hidden; min-height: 440px; display: flex; flex-direction: column; }
.ps-nota--color .ps-nota__cuerpo { padding: 28px 28px 20px; display: flex; flex-direction: column; gap: 14px; }
.ps-nota--color .ps-nota__media { flex: 1; min-height: 200px; border-radius: 24px; overflow: hidden; display: block; }
.ps-nota--color .ps-nota__media img, .ps-nota--color .ps-ph { width: 100%; height: 100%; object-fit: cover; }
.ps-nota--solo-texto { padding: 28px; justify-content: space-between; gap: 24px; min-height: 440px; }
.ps-nota__pie { display: flex; justify-content: space-between; align-items: center; font-size: 14px; font-weight: 500; }
.ps-nota:hover .ps-circulo { transform: rotate(45deg); }

.ps-nota--simple { display: flex; flex-direction: column; gap: 14px; }
.ps-nota--simple .ps-nota__media { aspect-ratio: 4 / 3; border-radius: 20px; overflow: hidden; display: block; }
.ps-nota--simple .ps-nota__media img, .ps-nota--simple .ps-ph { width: 100%; height: 100%; object-fit: cover; }
.ps-nota--simple .ps-nota__cuerpo { display: flex; flex-direction: column; gap: 6px; }
.ps-nota__cat { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ps-azul); }
.ps-nota__fecha { font-size: 14px; color: var(--ps-texto-3); }
.ps-nota--pagina { background: #fff; border-radius: 20px; padding: 24px; }

/* Relleno con la marca cuando falta imagen */
.ps-ph {
	display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; min-height: 100%;
	background-color: #E2DFD8;
	background-image: repeating-linear-gradient(135deg, rgba(16, 18, 21, .05) 0 10px, transparent 10px 20px);
}
.ps-ph img { width: 46%; max-width: 220px; height: auto; filter: brightness(0); opacity: .14; }
.ps-ph--oscuro { background-color: #262A31; background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, .05) 0 10px, transparent 10px 20px); }
.ps-ph--oscuro img { filter: none; opacity: .5; }
.ps-ph--sol { background-color: #FFE580; }
.ps-ph--naranja { background-color: #FFB47F; }
.ps-ph--verde { background-color: #9ED3A9; }
.ps-ph--cielo { background-color: var(--ps-cielo); }
.ps-nota img.ps-ph, .ps-nota .ps-ph img { transform: none !important; }

/* Programación ----------------------------------------------------------- */

.ps-parrilla { display: flex; flex-direction: column; gap: 20px; }
.ps-parrilla__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.ps-parrilla__item {
	display: flex; flex-wrap: wrap; align-items: center; gap: 6px 24px;
	padding: 18px 22px; border-radius: 18px; background: var(--ps-crema);
}
.ps-seccion--blanca .ps-parrilla__item { background: var(--ps-crema); }
.ps-contenido .ps-parrilla__item { background: #fff; }
.ps-parrilla__item.is-live { background: var(--ps-sol); }
.ps-parrilla__hora { width: 190px; font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; }
.ps-parrilla__info { flex: 1 1 220px; min-width: 0; }
.ps-parrilla__info strong { display: block; font-family: var(--ps-display); font-size: 22px; font-weight: 700; letter-spacing: -.01em; }
.ps-parrilla__info span { display: block; font-size: 15px; color: var(--ps-texto-3); }
.ps-parrilla__item.is-live .ps-parrilla__info span { color: var(--ps-texto-2); }
.ps-al-aire {
	display: none; align-items: center; gap: 8px;
	background: var(--ps-negro); color: #fff; border-radius: 999px; padding: 6px 14px; font-size: 13px; font-weight: 700;
}
.is-live .ps-al-aire { display: inline-flex; }
.ps-chips .ps-chip { font-variant-numeric: tabular-nums; }

/* Aliados ---------------------------------------------------------------- */

.ps-aliado { background: #fff; border: 1px solid var(--ps-borde-3); border-radius: 24px; padding: 12px; }
.ps-seccion--blanca .ps-aliado { background: var(--ps-crema); border-color: transparent; }
.ps-aliado__enlace { display: flex; flex-direction: column; gap: 14px; height: 100%; color: var(--ps-negro); text-decoration: none; }
.ps-aliado__enlace:hover { color: var(--ps-negro); }
.ps-aliado__media { position: relative; height: 210px; border-radius: 16px; overflow: hidden; display: block; }
.ps-aliado__media img, .ps-aliado__media .ps-ph { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.ps-aliado__enlace:hover .ps-aliado__media > img { transform: scale(1.03); }
.ps-aliado__media .ps-etiqueta { position: absolute; top: 12px; left: 12px; }
.ps-aliado__cuerpo { padding: 4px 10px 12px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.ps-aliado__nombre { margin: 0; font-family: var(--ps-display); font-size: 22px; font-weight: 700; letter-spacing: -.01em; line-height: 1.15; }
.ps-aliado__producto { font-size: 15px; color: var(--ps-texto-3); }
.ps-aliado__descuento {
	margin-top: auto; align-self: flex-start; background: var(--ps-negro); color: #fff;
	border-radius: 999px; padding: 7px 14px; font-size: 14px; font-weight: 700;
}
.ps-aliado__nombre + .ps-aliado__descuento, .ps-aliado__producto + .ps-aliado__descuento { margin-top: 8px; }

.ps-pasos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; }
.ps-pasos li { border-radius: 20px; padding: 18px; display: flex; flex-direction: column; gap: 6px; font-weight: 500; }
.ps-pasos__num { font-family: var(--ps-display); font-size: 32px; font-weight: 800; line-height: 1; }

.ps-panel-oscuro { background: var(--ps-negro); color: #fff; border-radius: 32px; padding: 32px; align-self: start; }
@media (max-width: 480px) { .ps-panel-oscuro { padding: 22px; border-radius: 26px; } }

.ps-codigo__titulo { margin: 0; font-family: var(--ps-display); font-size: 34px; font-weight: 800; letter-spacing: -.02em; line-height: 1.05; }
.ps-codigo__ok { display: flex; flex-direction: column; gap: 18px; }
.ps-codigo__ok .ps-kicker { margin: 0; }
.ps-codigo__tarjeta { background: var(--ps-sol); color: var(--ps-negro); border-radius: 24px; padding: 28px; display: flex; flex-direction: column; gap: 10px; }
.ps-codigo__valor { font-family: var(--ps-display); font-size: clamp(36px, 5vw, 54px); font-weight: 800; letter-spacing: .02em; line-height: 1; overflow-wrap: anywhere; }
.ps-codigo__nota { margin: 0; color: var(--ps-claro-3); font-size: 15px; }

.ps-banda { border-radius: 32px; padding: 40px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 28px; }
.ps-banda__texto { flex: 1 1 420px; display: flex; flex-direction: column; gap: 12px; }
.ps-banda__texto p { margin: 0; font-size: 18px; color: #E6F1FF; }
@media (max-width: 480px) { .ps-banda { padding: 26px; } }

.ps-ficha__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr)); gap: 40px; padding-top: 16px; padding-bottom: 56px; }
.ps-ficha__media { border-radius: 28px; overflow: hidden; aspect-ratio: 4 / 3; }
.ps-ficha__media img, .ps-ficha__media .ps-ph { width: 100%; height: 100%; object-fit: cover; }
.ps-ficha__datos { display: flex; flex-direction: column; gap: 20px; justify-content: center; }
.ps-ficha__datos p { margin: 0; }
.ps-ficha__beneficio { background: var(--ps-naranja); border-radius: 24px; padding: 24px; display: flex; flex-direction: column; gap: 6px; }
.ps-ficha__beneficio strong { font-family: var(--ps-display); font-size: 40px; font-weight: 800; line-height: 1; letter-spacing: -.02em; }
.ps-ficha__contacto { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.ps-ficha__contacto li { display: flex; gap: 10px; align-items: center; }
.ps-ficha__contacto a { color: var(--ps-negro); font-weight: 700; }
.ps-ficha__productos { display: flex; flex-direction: column; gap: 20px; padding-bottom: 56px; }

/* Redes ------------------------------------------------------------------ */

.ps-redes { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.ps-red {
	display: inline-flex; align-items: center; gap: 8px; min-height: 44px;
	background: #fff; color: var(--ps-negro); text-decoration: none;
	border-radius: 999px; padding: 10px 16px; font-size: 15px; font-weight: 700;
}
.ps-red:hover { background: var(--ps-sol); color: var(--ps-negro); }
.ps-grid-redes { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(46%, 200px), 1fr)); gap: 16px; }
.ps-post-red { color: #fff; text-decoration: none; display: flex; flex-direction: column; gap: 10px; }
.ps-post-red:hover { color: var(--ps-sol); }
.ps-post-red__media { position: relative; aspect-ratio: 4 / 5; border-radius: 20px; overflow: hidden; display: block; background: #262A31; }
.ps-post-red__media img, .ps-post-red__media .ps-ph { width: 100%; height: 100%; object-fit: cover; }
.ps-post-red__red {
	position: absolute; left: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: 6px;
	background: #fff; color: var(--ps-negro); border-radius: 999px; padding: 4px 10px; font-size: 12px; font-weight: 700;
}
.ps-post-red__texto { font-size: 15px; font-weight: 500; }

/* Pauta (bento) ---------------------------------------------------------- */

.ps-bento { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
@media (min-width: 700px) {
	.ps-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ps-bento__principal { grid-column: span 2; }
}
@media (min-width: 1100px) {
	.ps-bento { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.ps-bento__certificado { grid-column: span 3; }
}
.ps-bento__principal {
	background: var(--ps-negro); color: #fff; border-radius: 28px; padding: 36px;
	display: flex; flex-direction: column; justify-content: space-between; gap: 28px; min-height: 320px;
}
.ps-bento__principal .ps-kicker { margin: 0; }
.ps-bento__dato { border-radius: 28px; padding: 28px; display: flex; flex-direction: column; justify-content: space-between; gap: 24px; min-height: 240px; }
.ps-bento__dato > span:first-child { font-size: 15px; font-weight: 500; }
.ps-bento__cifra { font-family: var(--ps-display); font-size: 64px; font-weight: 800; line-height: 1; letter-spacing: -.04em; }
.ps-bento__cifra--md { font-size: 34px; line-height: 1.05; letter-spacing: -.02em; }
.ps-bento__fuente { font-size: 14px; }
.ps-bento__certificado {
	background: #fff; border: 1px solid var(--ps-borde-3); border-radius: 28px; padding: 28px;
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px;
}
.ps-bento__certificado > div { flex: 1 1 320px; display: flex; flex-direction: column; gap: 8px; color: var(--ps-texto-2); }
.ps-bento__cert-titulo { font-family: var(--ps-display); font-size: 28px; font-weight: 800; line-height: 1.1; letter-spacing: -.02em; color: var(--ps-negro); }

/* Páginas y artículos ---------------------------------------------------- */

.ps-cabeza-pagina { padding-top: 40px; padding-bottom: 32px; display: flex; flex-direction: column; gap: 16px; }
.ps-cabeza-pagina .ps-kicker { margin: 0; }
.ps-cabeza-pagina p { margin: 0; max-width: 760px; }
.ps-cabeza-pagina--sin-titulo { padding-bottom: 0; }
.ps-listado { padding-bottom: 96px; }
.ps-buscar-pagina { margin-top: 8px; }

.ps-articulo__cabeza { padding-top: 40px; display: flex; flex-direction: column; gap: 20px; }
.ps-articulo__cabeza > .ps-articulo__titulo { max-width: 1040px; }
.ps-articulo__cabeza .ps-etiqueta { font-size: 14px; padding: 5px 14px; }
.ps-articulo__titulo { margin: 0; font-family: var(--ps-display); font-weight: 800; font-size: clamp(38px, 5.5vw, 72px); line-height: 1; letter-spacing: -.035em; text-wrap: balance; }
.ps-articulo__bajada { margin: 0; font-size: 21px; color: var(--ps-texto-2); max-width: 820px; }
.ps-articulo__meta {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px;
	border-top: 1px solid var(--ps-borde); border-bottom: 1px solid var(--ps-borde); padding: 16px 0;
}
.ps-autor { display: flex; align-items: center; gap: 12px; font-size: 15px; line-height: 1.45; }
.ps-autor__foto { border-radius: 999px; }
.ps-compartir { display: flex; flex-wrap: wrap; gap: 8px; }
.ps-articulo__imagen { margin-top: 28px; margin-bottom: 0; }
.ps-articulo__imagen img { width: 100%; max-height: 680px; object-fit: cover; border-radius: 28px; }
.ps-articulo__imagen figcaption { margin-top: 10px; font-size: 14px; color: var(--ps-texto-3); }
.ps-articulo__cuerpo { display: flex; flex-wrap: wrap; gap: 56px; padding-top: 48px; padding-bottom: 80px; }

/* Contenido del editor */
.ps-contenido { flex: 999 1 560px; min-width: 0; max-width: 740px; font-size: 19px; line-height: 1.7; }
.ps-contenido--pagina { max-width: 860px; padding-bottom: 96px; }
.ps-contenido--ancho { max-width: none; font-size: 18px; }
.ps-contenido > * { margin-top: 0; margin-bottom: 1.1em; }
.ps-contenido h2, .ps-contenido h3, .ps-contenido h4 { font-family: var(--ps-display); letter-spacing: -.02em; line-height: 1.12; margin-top: 1.6em; margin-bottom: .5em; scroll-margin-top: 24px; }
.ps-contenido h2 { font-size: 32px; font-weight: 800; }
.ps-contenido h3 { font-size: 25px; font-weight: 700; }
.ps-contenido h4 { font-size: 20px; font-weight: 700; }
.ps-contenido a { color: var(--ps-azul); text-underline-offset: 3px; }
.ps-contenido ul, .ps-contenido ol { padding-left: 1.2em; }
.ps-contenido li { margin-bottom: .35em; }
.ps-contenido img { border-radius: 16px; }
.ps-contenido figure { margin-left: 0; margin-right: 0; }
.ps-contenido figcaption, .ps-contenido .wp-element-caption { font-size: 14px; color: var(--ps-texto-3); margin-top: 8px; }
.ps-contenido blockquote, .ps-contenido .wp-block-quote, .ps-contenido .wp-block-pullquote {
	margin: 1.4em 0; background: var(--ps-cielo); border: 0; border-radius: 24px; padding: 28px 32px;
	font-family: var(--ps-display); font-size: 26px; line-height: 1.25; font-weight: 700; letter-spacing: -.01em;
}
.ps-contenido blockquote p { margin: 0; }
.ps-contenido blockquote cite { display: block; margin-top: 12px; font-family: var(--ps-sans); font-size: 15px; font-weight: 500; font-style: normal; }
.ps-contenido hr { border: 0; border-top: 1px solid var(--ps-borde); margin: 2em 0; }
.ps-contenido .wp-block-embed iframe { border-radius: 16px; }
.ps-contenido table { border-collapse: collapse; width: 100%; font-size: 16px; }
.ps-contenido th, .ps-contenido td { padding: 12px 14px; border-bottom: 1px solid var(--ps-borde); text-align: left; }
.ps-contenido .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; min-height: 48px;
	background: var(--ps-negro); color: #fff; border: 1.5px solid var(--ps-negro); border-radius: 999px;
	padding: 12px 24px; font-size: 16px; font-weight: 700; text-decoration: none;
}
.ps-contenido .wp-block-button__link:hover { background: var(--ps-azul); border-color: var(--ps-azul); color: #fff; }
.ps-contenido .is-style-outline .wp-block-button__link { background: transparent; color: var(--ps-negro); }
.ps-contenido .is-style-outline .wp-block-button__link:hover { background: var(--ps-negro); color: #fff; border-color: var(--ps-negro); }
.ps-contenido .alignwide { max-width: none; }
.ps-contenido .ps-top20, .ps-contenido .ps-parrilla, .ps-contenido .ps-validar { font-size: 17px; line-height: 1.5; }

.ps-etiquetas { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-top: 12px; font-size: 15px; }

.ps-lateral { flex: 1 1 300px; display: flex; flex-direction: column; gap: 16px; align-self: flex-start; }
.ps-lateral__vivo { background: var(--ps-negro); color: #fff; border-radius: 24px; padding: 24px; display: flex; flex-direction: column; gap: 14px; }
.ps-lateral__vivo .ps-btn { align-self: flex-start; }
.ps-lateral__programa { margin: 0; font-family: var(--ps-display); font-size: 26px; font-weight: 800; line-height: 1.05; }
.ps-lateral__aliado { border-radius: 24px; padding: 24px; display: flex; flex-direction: column; gap: 10px; color: var(--ps-negro); text-decoration: none; }
.ps-lateral__aliado:hover { color: var(--ps-negro); }
.ps-lateral__aliado-nombre { font-family: var(--ps-display); font-size: 24px; font-weight: 800; line-height: 1.1; }
.ps-lateral__leidas { background: #fff; border: 1px solid var(--ps-borde-3); border-radius: 24px; padding: 24px; }
.ps-lateral__titulo { margin: 0 0 12px; font-weight: 700; }
.ps-lateral__leidas ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.ps-lateral__leidas a { display: flex; gap: 12px; color: var(--ps-negro); text-decoration: none; line-height: 1.35; }
.ps-lateral__leidas a:hover { color: var(--ps-azul); }
.ps-lateral__num { font-family: var(--ps-display); font-size: 24px; font-weight: 800; color: var(--ps-azul); line-height: 1; }

.ps-paginacion .nav-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 48px; }
.ps-paginacion .page-numbers {
	min-width: 46px; min-height: 46px; display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid var(--ps-borde-2); border-radius: 999px; padding: 8px 16px; color: var(--ps-negro); text-decoration: none; font-weight: 700;
}
.ps-paginacion .page-numbers.current { background: var(--ps-negro); color: #fff; border-color: var(--ps-negro); }
.ps-paginacion .page-numbers.dots { border: 0; }

.ps-vacio-grande { padding: 64px 0; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.ps-vacio-grande p { margin: 0; }

.ps-404 { padding-top: 72px; padding-bottom: 120px; display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
.ps-404 p { margin: 0; }
.ps-404__num { font-family: var(--ps-display); font-size: clamp(110px, 18vw, 200px); font-weight: 800; line-height: .85; letter-spacing: -.05em; color: var(--ps-azul-claro); }

/* Plantilla legal */
.ps-legal { display: flex; flex-wrap: wrap; gap: 48px; padding-bottom: 96px; }
.ps-legal__indice { flex: 1 1 260px; align-self: flex-start; background: #fff; border: 1px solid var(--ps-borde-3); border-radius: 24px; padding: 24px; }
@media (min-width: 900px) { .ps-legal__indice { position: sticky; top: 24px; } }
.ps-legal__indice ol { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 8px; font-size: 15px; }
.ps-legal__indice a { color: var(--ps-negro); }
.ps-legal__indice a:hover { color: var(--ps-azul); }
.ps-legal .ps-contenido { max-width: 780px; font-size: 18px; }

/* Cotizar */
.ps-cotizar { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 32px; border-radius: 32px; padding: 40px; }
.ps-cotizar p { margin: 0; }
.ps-cotizar .ps-btn--borde { align-self: flex-start; }
@media (max-width: 480px) { .ps-cotizar { padding: 24px; border-radius: 26px; } }

/* Quiénes somos: equipo */
.ps-equipo { list-style: none; margin: 0; padding: 0; }
.ps-equipo__persona { display: flex; flex-direction: column; gap: 6px; }
.ps-equipo__foto { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 24px; border-bottom: 8px solid var(--ps-sol); margin-bottom: 6px; }
.ps-equipo__nombre { font-family: var(--ps-display); font-size: 22px; font-weight: 700; }
.ps-borde--sol { border-bottom-color: var(--ps-sol); }
.ps-borde--azul-claro { border-bottom-color: var(--ps-azul-claro); }
.ps-borde--naranja { border-bottom-color: var(--ps-naranja); }
.ps-borde--verde { border-bottom-color: var(--ps-verde); }

/* Patrones de bloques (contenido editable) ------------------------------- */

.ps-contenido .ps-b-hero { display: flex; flex-direction: column; gap: 20px; padding: 16px 0 40px; margin: 0; }
.ps-contenido .ps-b-hero > * { margin: 0; }
.ps-contenido .ps-b-titular, .ps-b-titular {
	font-family: var(--ps-display); font-weight: 800; font-size: clamp(46px, 6vw, 84px);
	line-height: .96; letter-spacing: -.035em; margin: 0; max-width: 1000px; text-wrap: balance;
}
.ps-contenido .ps-b-titular--xl { font-size: clamp(46px, 7vw, 104px); max-width: 1100px; }
.ps-contenido .ps-b-hero .ps-texto-grande { max-width: 760px; color: var(--ps-texto-2); }
.ps-contenido .ps-b-h2 { font-size: clamp(32px, 3.4vw, 44px); line-height: 1; letter-spacing: -.03em; margin: 56px 0 24px; scroll-margin-top: 24px; }

.ps-contenido .wp-block-columns { gap: 16px; margin-bottom: 16px; }
.ps-contenido .ps-b-historia { gap: 48px; padding-top: 56px; }

.ps-b-plan {
	background: #fff; border: 1px solid var(--ps-borde-3); border-radius: 28px; padding: 28px;
	display: flex; flex-direction: column; gap: 18px; height: 100%; font-size: 16px; line-height: 1.5;
}
.ps-b-plan > * { margin: 0 !important; }
.ps-b-plan--destacado { background: var(--ps-negro); color: #fff; border-color: var(--ps-negro); }
.ps-b-plan--destacado li { color: #E3E6EA; }
.ps-b-plan ul { padding-left: 20px; display: flex; flex-direction: column; gap: 6px; color: var(--ps-texto-2); }
.ps-b-plan li { margin: 0; }
.ps-b-plan__nombre { align-self: flex-start; border-radius: 999px; padding: 4px 12px; font-size: 13px; font-weight: 700; color: var(--ps-negro); }
.ps-b-plan__nombre--cielo { background: var(--ps-cielo); }
.ps-b-plan__nombre--sol { background: var(--ps-sol); }
.ps-b-plan__nombre--naranja { background: var(--ps-naranja); }
.ps-b-plan__precio { font-family: var(--ps-display); font-size: 46px; font-weight: 800; letter-spacing: -.03em; line-height: 1; }
.ps-b-plan__precio span { font-family: var(--ps-sans); font-size: 16px; font-weight: 500; letter-spacing: 0; color: var(--ps-texto-3); }
.ps-b-plan--destacado .ps-b-plan__precio span { color: var(--ps-claro-2); }
.ps-b-plan .wp-block-buttons { margin-top: auto !important; }
.ps-b-plan .wp-block-button { width: 100%; }
.ps-b-plan .wp-block-button__link { width: 100%; }
.ps-b-plan--destacado .wp-block-button__link { background: var(--ps-azul-claro); border-color: var(--ps-azul-claro); color: var(--ps-negro); }
.ps-b-plan--destacado .wp-block-button__link:hover { background: #fff; border-color: #fff; color: var(--ps-negro); }

.ps-b-tabla { overflow-x: auto; border: 1px solid var(--ps-borde-3); border-radius: 20px; background: #fff; margin: 0 0 12px; }
.ps-b-tabla table { min-width: 720px; border-collapse: collapse; width: 100%; font-size: 16px; }
.ps-b-tabla thead { border: 0; }
.ps-b-tabla th { background: var(--ps-negro); color: #fff; padding: 16px 20px; text-align: left; font-weight: 700; border: 0; }
.ps-b-tabla td { padding: 16px 20px; border: 0; border-top: 1px solid var(--ps-borde-3); }
.ps-b-tabla tbody tr:nth-child(even) { background: var(--ps-crema-2); }

.ps-b-mosaico .wp-block-image, .ps-b-mosaico .wp-block-image img { margin: 0; height: 100%; }
.ps-b-mosaico .wp-block-image img { width: 100%; min-height: 440px; object-fit: cover; border-radius: 28px; }
.ps-b-foto-pendiente {
	min-height: 440px; height: 100%; border-radius: 28px; padding: 24px;
	display: flex; align-items: center; justify-content: center; text-align: center;
	color: var(--ps-texto-3); font-size: 15px;
	background-color: #E2DFD8;
	background-image: repeating-linear-gradient(135deg, rgba(16, 18, 21, .05) 0 10px, transparent 10px 20px);
}
.ps-b-foto-pendiente p { margin: 0; max-width: 320px; }

.ps-b-tarjeta { border-radius: 24px; padding: 24px; display: flex; flex-direction: column; gap: 10px; margin: 0 0 16px; font-size: 17px; line-height: 1.5; }
.ps-b-tarjeta > * { margin: 0 !important; }
.ps-b-tarjeta h2, .ps-b-tarjeta h3 { font-size: 26px; font-weight: 800; }
.ps-b-tarjeta--azul { background: var(--ps-azul-claro); min-height: 440px; height: 100%; justify-content: space-between; font-size: 18px; font-weight: 500; }
.ps-b-tarjeta--sol { background: var(--ps-sol); }
.ps-b-tarjeta--naranja { background: var(--ps-naranja); }
.ps-b-tarjeta--verde { background: var(--ps-verde); }
.ps-b-cifra { font-family: var(--ps-display); font-size: clamp(72px, 8vw, 104px); font-weight: 800; line-height: .9; letter-spacing: -.04em; }
@media (max-width: 781px) {
	.ps-b-tarjeta--azul, .ps-b-foto-pendiente, .ps-b-mosaico .wp-block-image img { min-height: 260px; }
}

/* Pie de página ---------------------------------------------------------- */

.ps-pie { background: var(--ps-negro); color: #fff; padding: 72px 0 40px; }
.ps-pie__grid { display: flex; flex-wrap: wrap; gap: 40px 56px; }
.ps-pie__marca { flex: 1 1 260px; display: flex; flex-direction: column; gap: 16px; }
.ps-pie__marca p { margin: 0; color: var(--ps-claro-3); font-size: 15px; }
.ps-pie__logo { height: 60px; width: auto; align-self: flex-start; }
.ps-pie__redes { list-style: none; margin: 0; padding: 0; display: flex; gap: 8px; }
.ps-pie__col { flex: 1 1 160px; display: flex; flex-direction: column; gap: 12px; font-size: 15px; }
.ps-pie__titulo { margin: 0; font-weight: 700; color: #fff; }
.ps-pie__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; color: var(--ps-claro-3); }
.ps-pie a { color: var(--ps-claro-3); text-decoration: none; }
.ps-pie a:hover { color: #fff; text-decoration: underline; }
.ps-pie .ps-btn-icono--oscuro { color: #fff; }
.ps-pie .ps-btn-icono--oscuro:hover { color: var(--ps-negro); text-decoration: none; }
.ps-pie__base {
	display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px;
	border-top: 1px solid var(--ps-negro-3); margin-top: 48px; padding-top: 24px; font-size: 14px; color: var(--ps-claro-2);
}
.ps-pie__credito { display: inline-flex; align-items: center; gap: 10px; }

/* Reproductor fijo ------------------------------------------------------- */

.ps-reproductor {
	position: sticky; bottom: 0; z-index: 40;
	background: var(--ps-negro); color: #fff; border-top: 1px solid var(--ps-negro-3);
}
.ps-reproductor__fila { display: flex; align-items: center; gap: 12px 18px; padding-top: 10px; padding-bottom: 10px; }
.ps-reproductor__vivo { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; letter-spacing: .08em; white-space: nowrap; }
.ps-reproductor__info { flex: 1 1 auto; min-width: 0; font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ps-reproductor__cancion { color: var(--ps-claro-2); }
.ps-reproductor__estado { font-size: 13px; color: var(--ps-sol); white-space: nowrap; }
.ps-reproductor__estado:empty { display: none; }
.ps-reproductor__vol { width: 110px; accent-color: var(--ps-azul-claro); }
.ps-mute__off { display: none; }
[data-ps-mute][aria-pressed="true"] .ps-mute__on { display: none; }
[data-ps-mute][aria-pressed="true"] .ps-mute__off { display: inline-flex; }
@media (max-width: 720px) {
	.ps-reproductor__vivo, .ps-reproductor__vol { display: none; }
	.ps-reproductor__estado { display: none; }
}

/* Movimiento reducido ---------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation: none !important; transition: none !important; }
	.ps-ondas span { transform: scaleY(.6); }
}

@media (max-width: 699px) {
	.ps-nota--color, .ps-nota--solo-texto, .ps-nota--destacada { min-height: 0; }
	.ps-nota--destacada { min-height: 420px; }
	.ps-nota--color .ps-nota__media { flex: 0 0 220px; }
	.ps-nota--solo-texto { gap: 40px; }
}

/* ==========================================================================
   v1.1 · Shorts, Club Play y circuito RadioChat
   ========================================================================== */

:root { --ps-fondo-seccion: var(--ps-crema); }
.ps-seccion--blanca { --ps-fondo-seccion: #fff; }
.ps-seccion--negra { --ps-fondo-seccion: var(--ps-negro); }

.ps-pila--md { gap: 24px; }
.ps-kicker--negro { color: var(--ps-negro); }
.ps-icono-girado { display: inline-flex; transform: rotate(180deg); }
.ps-circulo--sol { background: var(--ps-sol); color: var(--ps-negro); }

/* Llamar a la cabina desde la tarjeta en vivo */
.ps-envivo__llamar {
	display: flex; justify-content: space-between; align-items: center; gap: 12px;
	color: #fff; text-decoration: none; border-top: 1px solid var(--ps-negro-3); padding-top: 16px;
}
.ps-envivo__llamar strong { display: block; }
.ps-envivo__llamar:hover { color: var(--ps-sol); }

/* Shorts ----------------------------------------------------------------- */

.ps-shorts__acciones { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ps-carrusel {
	display: grid; grid-auto-flow: column; grid-auto-columns: 220px; gap: 16px;
	overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
	padding-bottom: 12px; scrollbar-width: thin; scrollbar-color: #3A3F47 transparent;
}
.ps-carrusel > * { scroll-snap-align: start; }
.ps-carrusel:focus-visible { outline-offset: 6px; }
@media (max-width: 600px) { .ps-carrusel { grid-auto-columns: 62vw; } }

.ps-short { display: flex; flex-direction: column; gap: 10px; color: inherit; text-decoration: none; min-width: 0; }
.ps-short:hover { color: inherit; }
.ps-short__media {
	position: relative; display: block; aspect-ratio: 9 / 16; border-radius: 20px; overflow: hidden; background: #262A31;
}
.ps-short__media video, .ps-short__media img, .ps-short__media .ps-ph { width: 100%; height: 100%; object-fit: cover; display: block; }
.ps-short__play {
	position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
	width: 52px; height: 52px; border-radius: 999px; background: rgba(255, 255, 255, .92); color: var(--ps-negro);
	display: flex; align-items: center; justify-content: center; transition: opacity .2s;
}
.ps-short.is-playing .ps-short__play { opacity: 0; }
.ps-short__red {
	position: absolute; left: 10px; bottom: 10px; display: inline-flex; align-items: center; gap: 6px;
	background: #fff; color: var(--ps-negro); border-radius: 999px; padding: 4px 10px; font-size: 12px; font-weight: 700;
}
.ps-short__titulo { margin: 0; font-family: var(--ps-sans); font-size: 15px; font-weight: 500; line-height: 1.35; letter-spacing: 0; }
.ps-short:hover .ps-short__titulo { text-decoration: underline; text-underline-offset: 3px; }
.ps-shorts .ps-redes { margin-top: -8px; }

.ps-grid-shorts { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(46%, 200px), 1fr)); gap: 24px 16px; }

.ps-short-pagina__grid {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
	gap: 48px; align-items: center; padding-top: 16px; padding-bottom: 72px;
}
.ps-short-pagina__video {
	width: 100%; max-width: 420px; justify-self: center; aspect-ratio: 9 / 16; max-height: 80vh;
	border-radius: 28px; overflow: hidden; background: #000;
}
.ps-short-pagina__video video, .ps-short-pagina__video img, .ps-short-pagina__video .ps-ph { width: 100%; height: 100%; object-fit: contain; display: block; }
.ps-short-pagina__datos { display: flex; flex-direction: column; gap: 18px; }
.ps-short-pagina__datos p { margin: 0; }
.ps-short-pagina__titulo { font-size: clamp(34px, 4vw, 56px); }
.ps-short-pagina__aviso { background: var(--ps-sol); border-radius: 16px; padding: 12px 16px; font-size: 15px; }

/* Club Play en portada --------------------------------------------------- */

.ps-club__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr)); gap: 48px; align-items: start; }
.ps-club__grid .ps-kicker { margin-bottom: 12px; }
.ps-club__intro { margin: 0; max-width: 560px; }
.ps-club__lado { display: flex; flex-direction: column; gap: 16px; }
.ps-club__privacidad { max-width: 760px; margin: 0; }

.ps-premio-hoy { background: var(--ps-negro); color: #fff; border-radius: 28px; padding: 28px; }
.ps-premio-hoy__kicker {
	margin: 0 0 18px; display: flex; align-items: center; gap: 8px;
	font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
}
.ps-premio-hoy__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.ps-premio-hoy__lista li { display: flex; flex-direction: column; gap: 4px; }
.ps-premio-hoy__nombre { font-family: var(--ps-display); font-size: 28px; font-weight: 800; line-height: 1.05; letter-spacing: -.02em; }
.ps-premio-hoy__lista span { color: var(--ps-claro-3); font-size: 15px; }
.ps-premio-hoy__vacio { margin: 0; color: var(--ps-claro-3); }

/* Ruta del oyente: llama, cuéntanos, gana, recibe */
.ps-ruta { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.ps-ruta.ps-ruta--compacta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 960px) { .ps-ruta { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .ps-ruta, .ps-ruta.ps-ruta--compacta { grid-template-columns: minmax(0, 1fr); } }
.ps-ruta__paso { background: var(--ps-crema); border-radius: 20px; padding: 20px; display: flex; flex-direction: column; gap: 6px; }
.ps-seccion:not(.ps-seccion--blanca) .ps-ruta__paso { background: #fff; }
.ps-ruta__num {
	width: 38px; height: 38px; border-radius: 999px; background: var(--ps-negro); color: #fff;
	display: inline-flex; align-items: center; justify-content: center; margin-bottom: 6px;
	font-family: var(--ps-display); font-weight: 800; font-size: 18px;
}
.ps-ruta__paso:nth-child(2) .ps-ruta__num { background: var(--ps-azul); }
.ps-ruta__paso:nth-child(3) .ps-ruta__num { background: var(--ps-naranja); color: var(--ps-negro); }
.ps-ruta__paso:nth-child(4) .ps-ruta__num { background: var(--ps-verde); color: var(--ps-negro); }
.ps-ruta__paso strong { font-family: var(--ps-display); font-size: 20px; font-weight: 700; line-height: 1.15; }
.ps-ruta__paso span:last-child { font-size: 15px; color: var(--ps-texto-3); }
.ps-ruta--compacta .ps-ruta__paso { padding: 16px 18px; }

/* Cupones ---------------------------------------------------------------- */

.ps-grid-cupones { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 16px; }
.ps-cupon {
	position: relative; display: grid; grid-template-columns: 116px minmax(0, 1fr);
	background: #fff; border: 1px solid var(--ps-borde-3); border-radius: 20px; overflow: hidden; min-height: 150px;
}
.ps-seccion--blanca .ps-cupon { border-color: var(--ps-borde); }
.ps-cupon::before, .ps-cupon::after {
	content: ""; position: absolute; left: 106px; width: 20px; height: 20px; border-radius: 999px;
	background: var(--ps-fondo-seccion); border: 1px solid var(--ps-borde-3);
}
.ps-cupon::before { top: -11px; }
.ps-cupon::after { bottom: -11px; }
.ps-cupon__valor { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 6px; padding: 16px 10px; text-align: center; }
.ps-cupon__valor strong { font-family: var(--ps-display); font-size: 30px; font-weight: 800; line-height: 1; letter-spacing: -.02em; overflow-wrap: anywhere; }
.ps-cupon__tipo { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; line-height: 1.2; }
.ps-cupon__info { border-left: 2px dashed rgba(16, 18, 21, .18); padding: 18px 20px; display: flex; flex-direction: column; gap: 4px; }
.ps-cupon__aliado { font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--ps-azul); text-decoration: none; }
.ps-cupon__titulo { margin: 0 0 4px; font-family: var(--ps-display); font-size: 21px; font-weight: 700; line-height: 1.15; letter-spacing: -.01em; }
.ps-cupon__momento { font-size: 14px; font-weight: 700; }
.ps-cupon__vigencia { font-size: 14px; color: var(--ps-texto-3); }
.ps-cupon__condiciones { font-size: 13px; color: var(--ps-texto-3); margin-top: 4px; }

/* Página Club Play ------------------------------------------------------- */

.ps-premio-panel { display: flex; flex-direction: column; gap: 20px; }
.ps-premio-panel .ps-premio-hoy__kicker { margin: 0; }
.ps-premio-panel .ps-btn { align-self: flex-start; }
.ps-premio-panel__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 20px; }
.ps-premio-panel__lista li { display: flex; flex-direction: column; gap: 4px; }
.ps-premio-panel__lista strong { font-family: var(--ps-display); font-size: 28px; font-weight: 800; line-height: 1.05; letter-spacing: -.02em; }
.ps-premio-panel__lista li > span:last-child { color: var(--ps-claro-3); font-size: 15px; }
.ps-premio-panel__valor { align-self: flex-start; background: var(--ps-sol); color: var(--ps-negro); border-radius: 999px; padding: 3px 12px; font-size: 13px; font-weight: 700; }
.ps-premio-panel__vacio { margin: 0; color: var(--ps-claro-3); font-size: 18px; }

.ps-semana { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 170px), 1fr)); gap: 12px; }
.ps-semana__dia { background: #fff; border-radius: 20px; padding: 18px; display: flex; flex-direction: column; gap: 12px; min-height: 170px; }
.ps-semana__dia.is-hoy { background: var(--ps-sol); }
.ps-semana__fecha { font-family: var(--ps-display); font-size: 21px; font-weight: 800; line-height: 1.1; }
.ps-semana__fecha span { display: block; font-family: var(--ps-sans); font-size: 14px; font-weight: 500; color: var(--ps-texto-3); }
.ps-semana__dia.is-hoy .ps-semana__fecha span { color: var(--ps-texto-2); }
.ps-semana__dia ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.ps-semana__dia li strong { display: block; font-size: 16px; line-height: 1.25; }
.ps-semana__dia li span { display: block; font-size: 14px; color: var(--ps-texto-3); }
.ps-semana__dia.is-hoy li span { color: var(--ps-texto-2); }
.ps-semana__vacio { font-size: 14px; color: var(--ps-texto-3); }

.ps-cumple { border-radius: 32px; padding: 40px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 32px; align-items: center; }
.ps-cumple p { margin: 0; }
.ps-cumple__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.ps-cumple__lista li { background: rgba(255, 255, 255, .6); border-radius: 16px; padding: 14px 18px; }
.ps-cumple__lista strong { display: block; font-family: var(--ps-display); font-size: 20px; }
.ps-cumple__lista span { font-size: 14px; }
@media (max-width: 480px) { .ps-cumple { padding: 26px; border-radius: 26px; } }

.ps-ficha__pie { padding-bottom: 56px; }

/* Circuito RadioChat para anunciantes ------------------------------------ */

.ps-circuito {
	background: var(--ps-negro); color: #fff; border-radius: 32px; padding: 40px;
	display: flex; flex-direction: column; gap: 32px; font-size: 17px; line-height: 1.5;
}
.ps-circuito p { margin: 0; }
.ps-circuito__cabeza { display: flex; flex-direction: column; gap: 14px; max-width: 860px; }
.ps-circuito__titulo { margin: 0 !important; font-family: var(--ps-display); font-size: clamp(32px, 4vw, 52px) !important; font-weight: 800; line-height: 1 !important; letter-spacing: -.03em; }
.ps-circuito__intro { color: #D7DAE0; font-size: 18px; }
@media (max-width: 480px) { .ps-circuito { padding: 24px; border-radius: 26px; } }

.ps-avance { display: flex; flex-direction: column; gap: 10px; }
.ps-avance__cifras { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; }
.ps-avance__num { font-family: var(--ps-display); font-size: 64px; font-weight: 800; line-height: 1; letter-spacing: -.04em; color: var(--ps-sol); }
.ps-avance__cifras span { color: var(--ps-claro-3); font-size: 18px; }
.ps-avance__barra { position: relative; height: 14px; background: #262A31; border-radius: 999px; margin: 14px 0 40px; }
.ps-avance__relleno { position: absolute; left: 0; top: 0; bottom: 0; background: var(--ps-sol); border-radius: 999px; }
.ps-avance__hito { position: absolute; top: -6px; bottom: -6px; width: 2px; background: #fff; }
.ps-avance__hito span {
	position: absolute; top: 30px; left: 0; transform: translateX(-50%); white-space: nowrap;
	font-size: 13px; color: var(--ps-claro-3);
}
.ps-avance__hito--fin { margin-left: -2px; }
.ps-avance__hito--fin span { transform: translateX(-100%); }
.ps-avance__fuente { font-size: 13px; color: #8A9099; }
@media (max-width: 600px) {
	.ps-avance__hito span { font-size: 12px; }
	.ps-avance__hito:not(.ps-avance__hito--fin) span { transform: translateX(-30%); }
	.ps-avance__hito--fin span { top: -26px; }
}

.ps-fases { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 12px; }
.ps-fase { background: var(--ps-negro-2); border-radius: 20px; padding: 22px; display: flex; flex-direction: column; gap: 8px; margin: 0; }
.ps-fase--curso { background: #262A31; box-shadow: inset 0 0 0 2px var(--ps-sol); }
.ps-fase__top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.ps-fase__num { font-family: var(--ps-display); font-size: 40px; font-weight: 800; line-height: 1; }
.ps-fase__estado { border-radius: 999px; padding: 3px 10px; font-size: 12px; font-weight: 700; border: 1px solid #3A3F47; color: var(--ps-claro-3); }
.ps-fase--curso .ps-fase__estado { background: var(--ps-sol); color: var(--ps-negro); border-color: var(--ps-sol); }
.ps-fase--cumplida .ps-fase__estado { background: var(--ps-verde); color: var(--ps-negro); border-color: var(--ps-verde); }
.ps-fase__nombre { font-family: var(--ps-display); font-size: 26px; font-weight: 800; line-height: 1.05; }
.ps-fase__texto { font-size: 15px; color: var(--ps-claro-3); line-height: 1.5; }

.ps-contenido .ps-b-circuito { margin: 8px 0 24px; scroll-margin-top: 24px; }
.ps-contenido .ps-b-circuito > * { margin: 0; }

/* Bento: tarjeta enlazada */
.ps-bento__dato--enlace { text-decoration: none; color: var(--ps-negro); }
.ps-bento__dato--enlace:hover { color: var(--ps-negro); filter: brightness(1.04); }
.ps-seccion.ps-shorts { padding: 56px 0 64px; }
.ps-shorts + .ps-accesos { padding-top: 40px; }

/* En el celular, la señal y los shorts quedan más cerca: tarjeta en vivo más compacta. */
@media (max-width: 600px) {
	.ps-hero { padding-top: 24px; gap: 16px; }
	.ps-hero__texto { gap: 20px; padding: 8px 0; }
	.ps-hero__texto .ps-btn--borde { display: none; }
	.ps-envivo__foto { display: none; }
	.ps-envivo__datos { gap: 12px; }
}

/* Arte de programa horizontal (16:9) en la tarjeta en vivo */
.ps-envivo__foto { flex: 0 1 260px; height: auto; aspect-ratio: 16 / 9; align-self: center; }

/* ==========================================================================
   v1.2 · Ajustes responsivos (celular, tablet y pantallas táctiles)
   ========================================================================== */

/* Títulos largos nunca empujan la página hacia los lados. */
h1, h2, h3, .ps-h1, .ps-h2, .ps-h3 { overflow-wrap: break-word; }
img, video, iframe { max-width: 100%; }

/* Reproductor fijo: respeta la barra de inicio del iPhone. */
.ps-reproductor { padding-bottom: env(safe-area-inset-bottom, 0px); }

/* Áreas táctiles de al menos 40 px en enlaces pequeños. */
.ps-cupon__tipo { font-size: 12px; }
@media (pointer: coarse) {
	a.ps-etiqueta { min-height: 36px; padding-left: 14px; padding-right: 14px; }
	.ps-cupon__aliado { display: inline-block; padding: 6px 0; }
	.ps-link-fuerte { display: inline-block; padding: 9px 0; }
}

/* Tabletas: dos columnas donde antes había una muy ancha. */
@media (min-width: 601px) and (max-width: 1099px) {
	.ps-accesos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ps-fases { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ps-fase { padding: 18px; }
	.ps-fase__nombre { font-size: 22px; }
}

@media (max-width: 600px) {
	.ps-h1 { font-size: clamp(34px, 10.5vw, 44px); }
	.ps-h2 { font-size: clamp(30px, 9vw, 40px); }
	.ps-seccion { padding: 52px 0; }
	.ps-pila { gap: 28px; }

	/* Filtros y pestañas en una sola fila que se desliza con el dedo. */
	.ps-chips {
		flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
		margin-left: calc(var(--ps-gutter) * -1); margin-right: calc(var(--ps-gutter) * -1);
		padding-left: var(--ps-gutter); padding-right: var(--ps-gutter); scroll-padding-left: var(--ps-gutter);
	}
	.ps-chips::-webkit-scrollbar { display: none; }
	.ps-chips .ps-chip { flex: 0 0 auto; white-space: nowrap; }

	/* Accesos rápidos en cuadrícula de 2 × 2. */
	.ps-accesos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding-bottom: 52px; }
	.ps-acceso { min-height: 128px; padding: 16px; border-radius: 20px; gap: 14px; }
	.ps-acceso__kicker { font-size: 12px; letter-spacing: .05em; }
	.ps-acceso__titulo { font-size: 20px; }
	.ps-acceso .ps-circulo { width: 32px; height: 32px; }

	/* Noticias: la destacada grande y las demás como filas compactas. */
	.ps-grid-notas { gap: 10px; }
	.ps-nota--destacada { min-height: 360px; }
	.ps-nota--destacada .ps-nota__cuerpo { padding: 22px; }
	.ps-nota--color:not(.ps-nota--solo-texto) {
		display: grid; grid-template-columns: minmax(0, 1fr) 92px; align-items: stretch; border-radius: 20px;
	}
	.ps-nota--color:not(.ps-nota--solo-texto) .ps-nota__cuerpo { padding: 18px 4px 18px 18px; gap: 10px; }
	.ps-nota--color:not(.ps-nota--solo-texto) .ps-nota__media { flex: none; min-height: 92px; margin: 10px; border-radius: 14px; }
	.ps-nota--solo-texto { padding: 18px; gap: 18px; border-radius: 20px; }
	.ps-nota--color .ps-nota__titulo, .ps-nota--solo-texto .ps-nota__titulo { font-size: 20px; line-height: 1.15; }
	.ps-nota--color .ps-nota__bajada, .ps-nota--solo-texto .ps-nota__bajada { display: none; }
	.ps-nota--simple { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 14px; align-items: start; }
	.ps-nota--simple .ps-nota__media { border-radius: 14px; aspect-ratio: 1; }
	.ps-nota--simple .ps-nota__titulo { font-size: 18px; }

	/* Aliados y tarjetas de producto: carrusel horizontal en la portada. */
	#aliados .ps-grid-4 {
		grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 74%;
		overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px;
		margin-left: calc(var(--ps-gutter) * -1); margin-right: calc(var(--ps-gutter) * -1);
		padding-left: var(--ps-gutter); padding-right: var(--ps-gutter); scroll-padding-left: var(--ps-gutter);
	}
	#aliados .ps-grid-4::-webkit-scrollbar { display: none; }
	#aliados .ps-grid-4 > * { scroll-snap-align: start; }
	.ps-aliado__media { height: 160px; }
	.ps-aliado__nombre { font-size: 20px; }

	/* Top 20 en la portada: los cinco primeros; el resto en su página. */
	#top20 .ps-top20__item:nth-child(n+6) { display: none; }
	.ps-top20__cancion strong { font-size: 18px; }

	/* Programación: filas más bajas. */
	.ps-parrilla__item { padding: 14px 16px; border-radius: 16px; }
	.ps-parrilla__hora { width: auto; font-size: 14px; }
	.ps-parrilla__info strong { font-size: 19px; }

	/* Bloques de pauta. */
	.ps-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.ps-bento__principal, .ps-bento__certificado, .ps-bento__dato--enlace { grid-column: 1 / -1; }
	.ps-bento__principal { padding: 26px; min-height: 0; border-radius: 24px; }
	.ps-bento__dato { min-height: 150px; padding: 18px; border-radius: 20px; gap: 14px; }
	.ps-bento__cifra { font-size: 40px; }
	.ps-bento__cifra--md { font-size: 22px; }
	.ps-bento__certificado { padding: 22px; border-radius: 24px; }
	.ps-bento__cert-titulo { font-size: 24px; }

	/* Club Play y circuito. */
	.ps-semana { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 68%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
		margin-left: calc(var(--ps-gutter) * -1); margin-right: calc(var(--ps-gutter) * -1); padding-left: var(--ps-gutter); padding-right: var(--ps-gutter); scroll-padding-left: var(--ps-gutter); }
	.ps-semana::-webkit-scrollbar { display: none; }
	.ps-semana__dia { scroll-snap-align: start; min-height: 150px; }
	.ps-cupon { grid-template-columns: 96px minmax(0, 1fr); min-height: 0; }
	.ps-cupon::before, .ps-cupon::after { left: 86px; }
	.ps-cupon__valor strong { font-size: 24px; }
	.ps-cupon__info { padding: 14px 16px; }
	.ps-cupon__titulo { font-size: 19px; }
	.ps-avance__num { font-size: 48px; }
	.ps-premio-panel__lista strong { font-size: 24px; }

	/* Tarifario: cada franja como tarjeta, sin desplazamiento lateral. */
	.ps-b-tabla.ps-b-tabla--apilada { overflow: visible; border: 0; background: transparent; border-radius: 0; }
	.ps-b-tabla--apilada table { min-width: 0; display: block; }
	.ps-b-tabla--apilada thead { display: none; }
	.ps-b-tabla--apilada tbody { display: flex; flex-direction: column; gap: 10px; }
	.ps-b-tabla--apilada tr { display: grid; grid-template-columns: minmax(7.5em, 9em) minmax(0, 1fr); gap: 6px 12px; background: #fff !important; border: 1px solid var(--ps-borde-3); border-radius: 18px; padding: 16px 18px; }
	.ps-b-tabla--apilada td { display: contents; border: 0; padding: 0; }
	.ps-b-tabla--apilada td::before { content: attr(data-label); color: var(--ps-texto-3); font-size: 14px; }
	.ps-b-tabla--apilada td:first-child { display: block; grid-column: 1 / -1; font-family: var(--ps-display); font-size: 22px; }
	.ps-b-tabla--apilada td:first-child::before { content: none; }

	/* Pie de página en dos columnas. */
	.ps-pie { padding: 52px 0 28px; }
	.ps-pie__grid { gap: 32px 20px; }
	.ps-pie__marca { flex-basis: 100%; }
	.ps-pie__col { flex: 1 1 40%; }
}

@media (max-width: 360px) {
	.ps-accesos { grid-template-columns: minmax(0, 1fr); }
	.ps-acceso { min-height: 0; flex-direction: row-reverse; align-items: center; }
	.ps-acceso__top .ps-acceso__kicker { display: none; }
	.ps-btn-vivo { padding: 10px 12px; font-size: 14px; }
}

@media (max-width: 600px) {
	/* Barra de avance RadioChat: espacio para la etiqueta de la meta. */
	.ps-avance__barra { margin-top: 42px; }
	/* Lista completa de aliados y archivo: dos columnas compactas. */
	#lista-aliados .ps-grid-4, .post-type-archive-ps_aliado .ps-grid-4, .tax-ps_categoria_aliado .ps-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	#lista-aliados .ps-aliado, .tax-ps_categoria_aliado .ps-aliado { padding: 8px; border-radius: 18px; }
	#lista-aliados .ps-aliado__media, .tax-ps_categoria_aliado .ps-aliado__media { height: 110px; border-radius: 12px; }
	#lista-aliados .ps-aliado__media .ps-etiqueta, .tax-ps_categoria_aliado .ps-aliado__media .ps-etiqueta { top: 8px; left: 8px; font-size: 11px; padding: 3px 8px; min-height: 0; }
	#lista-aliados .ps-aliado__cuerpo, .tax-ps_categoria_aliado .ps-aliado__cuerpo { padding: 2px 4px 6px; }
	#lista-aliados .ps-aliado__nombre, .tax-ps_categoria_aliado .ps-aliado__nombre { font-size: 17px; }
	#lista-aliados .ps-aliado__producto, .tax-ps_categoria_aliado .ps-aliado__producto { font-size: 14px; }
	#lista-aliados .ps-aliado__descuento, .tax-ps_categoria_aliado .ps-aliado__descuento { font-size: 12px; padding: 6px 10px; }
}
@media (max-width: 360px) {
	#lista-aliados .ps-grid-4, .tax-ps_categoria_aliado .ps-grid-4 { grid-template-columns: minmax(0, 1fr); }
}

/* ======================================================================= */
/* Versión 1.2 · directorio, inscripción, tarifas y capacidad comercial     */
/* ======================================================================= */

.ps-btn--wa { background: #1F7A35; color: #fff; }
.ps-btn--wa:hover { background: #165C27; color: #fff; }
.ps-paso__num {
	width: 36px; height: 36px; flex: 0 0 36px; border-radius: 999px;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--ps-negro); color: #fff; font-family: var(--ps-sans); font-size: 16px; font-weight: 700; letter-spacing: 0;
}

/* Formularios largos ----------------------------------------------------- */

.ps-campos-3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 12px; }
.ps-campo__ayuda { font-size: 13px; line-height: 1.4; color: var(--ps-texto-3); }
.ps-input--archivo { padding: 10px 12px; background: var(--ps-crema-2); cursor: pointer; }
.ps-paso {
	margin: 0; min-width: 0; border: 1px solid var(--ps-borde-3); border-radius: 24px; background: #fff;
	padding: 28px; display: flex; flex-direction: column; gap: 18px;
}
.ps-paso legend {
	float: left; width: 100%; padding: 0; margin: 0 0 4px;
	display: flex; align-items: center; gap: 12px;
	font-family: var(--ps-display); font-size: 24px; font-weight: 800; letter-spacing: -.02em;
}
.ps-paso legend + * { clear: both; }
.ps-paso > p { margin: 0; }
.ps-pregunta { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.ps-pregunta__t { margin: 0; font-size: 14px; font-weight: 700; }
.ps-pregunta__ayuda { font-weight: 400; color: var(--ps-texto-3); }
.ps-opciones { display: flex; flex-wrap: wrap; gap: 8px; }
.ps-opcion {
	display: inline-flex; align-items: center; gap: 10px; min-height: 44px;
	border: 1.5px solid var(--ps-borde-2); border-radius: 999px; background: #fff;
	padding: 9px 16px; font-size: 15px; line-height: 1.3; cursor: pointer;
	transition: border-color .15s, background-color .15s;
}
.ps-opcion input { width: 18px; height: 18px; margin: 0; flex: 0 0 18px; accent-color: var(--ps-azul); }
.ps-opcion:hover { border-color: var(--ps-negro); }
.ps-opcion:has(input:checked) { border-color: var(--ps-azul); background: #EAF3FE; }
.ps-opcion:has(input:focus-visible) { outline: 2px solid var(--ps-azul); outline-offset: 2px; }
.ps-opcion--legal { border-radius: 16px; align-items: flex-start; padding: 14px 16px; font-size: 14px; }
.ps-opcion--legal input { margin-top: 2px; }
.ps-form__enviar { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.ps-form__enviar .ps-letra-menuda { margin: 0; }

.ps-inscribir__grid {
	display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 48px; align-items: start;
	padding-bottom: 88px;
}
.ps-inscribir__intro { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 24px; }
.ps-inscribir__intro .ps-h1 { font-size: clamp(40px, 5vw, 64px); }
.ps-inscribir__tratos { display: grid; gap: 12px; }
.ps-inscribir__trato { border-radius: 24px; padding: 22px 24px; }
.ps-inscribir__trato-t { margin: 0 0 10px; font-family: var(--ps-display); font-size: 20px; font-weight: 800; }
.ps-inscribir__trato ul { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; font-size: 15px; line-height: 1.45; }
.ps-inscribir__intro > p { margin: 0; }
@media (max-width: 960px) {
	.ps-inscribir__grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.ps-inscribir__intro { position: static; }
}
@media (max-width: 480px) {
	.ps-paso { padding: 20px 16px; border-radius: 20px; }
	.ps-paso legend { font-size: 21px; }
}

/* Directorio ------------------------------------------------------------- */

.ps-dir-hero { padding: 8px 0 56px; }
.ps-dir-hero__grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, .5fr); gap: 40px; align-items: end; }
.ps-dir-hero__titulo { font-size: clamp(50px, 8vw, 104px); line-height: .92; letter-spacing: -.045em; }
.ps-dir-hero .ps-texto-grande { margin: 0; max-width: 620px; }
.ps-dir-buscar {
	display: flex; align-items: center; gap: 10px; max-width: 660px;
	background: #fff; border: 1.5px solid var(--ps-negro); border-radius: 999px; padding: 6px 6px 6px 20px;
}
.ps-dir-buscar:focus-within { outline: 3px solid var(--ps-azul-claro); outline-offset: 2px; }
.ps-dir-buscar input {
	flex: 1 1 auto; min-width: 0; height: 46px; border: 0; background: transparent; outline: 0;
	font-family: var(--ps-sans); font-size: 17px; color: var(--ps-negro);
}
.ps-dir-buscar .ps-icon { flex: 0 0 auto; color: var(--ps-texto-3); }
.ps-dir-cifras { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ps-dir-cifras li { border-radius: 22px; padding: 16px 22px; display: flex; align-items: baseline; gap: 10px; }
.ps-dir-cifras strong { font-family: var(--ps-display); font-size: 44px; font-weight: 800; line-height: 1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.ps-dir-cifras span { font-size: 15px; font-weight: 600; line-height: 1.2; }
.ps-dir-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr)); gap: 12px; }
.ps-dir-tile {
	position: relative; min-height: 132px; border-radius: 24px; padding: 20px 64px 20px 22px;
	display: flex; flex-direction: column; justify-content: space-between; gap: 12px;
	color: var(--ps-negro); text-decoration: none; transition: transform .15s;
}
.ps-dir-tile:hover { transform: translateY(-2px); color: var(--ps-negro); }
.ps-dir-tile.ps-fondo--verde, .ps-dir-tile.ps-fondo--verde:hover { color: var(--ps-negro); }
.ps-dir-tile__nombre { font-family: var(--ps-display); font-size: 23px; font-weight: 800; line-height: 1.05; letter-spacing: -.02em; }
.ps-dir-tile__n { font-size: 14px; font-weight: 600; }
.ps-dir-tile .ps-circulo { position: absolute; top: 16px; right: 16px; background: #fff; color: var(--ps-negro); }
.ps-dir-filtros { display: flex; flex-direction: column; gap: 14px; }
.ps-dir-filtros__fila { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.ps-dir-select { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 700; }
.ps-dir-select .ps-input { width: auto; min-width: 210px; min-height: 44px; padding: 8px 14px; font-weight: 400; }
.ps-grid-negocios { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 16px; }
.ps-negocio {
	background: #fff; border: 1px solid var(--ps-borde-3); border-radius: 24px; padding: 20px;
	display: flex; flex-direction: column; gap: 12px; min-width: 0;
}
.ps-negocio__cabeza { display: flex; align-items: center; gap: 14px; min-width: 0; }
.ps-negocio__logo {
	width: 64px; height: 64px; flex: 0 0 64px; border-radius: 18px; overflow: hidden;
	display: flex; align-items: center; justify-content: center; text-decoration: none; color: var(--ps-negro);
}
.ps-negocio__logo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ps-negocio__logo span { font-family: var(--ps-display); font-size: 24px; font-weight: 800; letter-spacing: -.02em; }
.ps-negocio__logo.ps-fondo--verde { color: #fff; }
.ps-negocio__titulo { min-width: 0; }
.ps-negocio__nombre { margin: 0; font-family: var(--ps-display); font-size: 21px; font-weight: 700; line-height: 1.15; letter-spacing: -.01em; }
.ps-negocio__nombre a { color: inherit; text-decoration: none; }
.ps-negocio__nombre a:hover { text-decoration: underline; text-underline-offset: 3px; }
.ps-negocio__meta { margin: 3px 0 0; font-size: 14px; color: var(--ps-texto-3); }
.ps-negocio__resumen { margin: 0; font-size: 15px; line-height: 1.5; color: var(--ps-texto-2); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ps-negocio__beneficio {
	margin: 0; display: flex; align-items: flex-start; gap: 8px;
	background: var(--ps-sol); border-radius: 14px; padding: 10px 12px; font-size: 14px; font-weight: 600; line-height: 1.35;
}
.ps-negocio__beneficio .ps-icon { flex: 0 0 auto; margin-top: 1px; }
.ps-negocio__beneficio-k { font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; margin-right: 4px; }
.ps-negocio__datos { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 13px; color: var(--ps-texto-3); }
.ps-negocio__datos li { display: inline-flex; align-items: center; gap: 6px; }
.ps-negocio__acciones { margin-top: auto; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ps-negocio__acciones .ps-btn { gap: 6px; }
.ps-negocio__acciones .ps-btn-icono { width: 44px; height: 44px; flex-basis: 44px; }
.ps-negocio__ficha {
	margin-left: auto; width: 44px; height: 44px; border-radius: 999px; flex: 0 0 44px;
	display: inline-flex; align-items: center; justify-content: center; background: var(--ps-negro); color: #fff;
}
.ps-negocio__ficha:hover { background: var(--ps-azul); color: #fff; }
.ps-dir-vacio { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.ps-dir-vacio p { margin: 0; }
.ps-dir-cta { border-radius: 32px; padding: 36px 40px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; }
.ps-dir-cta h3 { margin: 0 0 6px; color: #fff; }
.ps-dir-cta p { margin: 0; font-size: 17px; max-width: 520px; }
.ps-ficha__mas { margin: 0; font-size: 15px; color: var(--ps-texto-3); }
@media (max-width: 960px) {
	.ps-dir-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.ps-dir-cifras { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ps-dir-cifras li { flex-direction: column; gap: 4px; padding: 14px 16px; }
	.ps-dir-cifras strong { font-size: 34px; }
}
@media (max-width: 600px) {
	.ps-dir-hero { padding-bottom: 40px; }
	.ps-dir-buscar { padding-left: 14px; }
	.ps-dir-buscar .ps-btn { padding: 10px 16px; min-height: 44px; font-size: 15px; }
	.ps-dir-cifras span { font-size: 13px; }
	.ps-dir-cifras strong { font-size: 28px; }
	.ps-dir-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.ps-dir-tile { min-height: 112px; padding: 16px 16px 16px 16px; }
	.ps-dir-tile .ps-circulo { display: none; }
	.ps-dir-tile__nombre { font-size: 19px; }
	.ps-dir-select { width: 100%; }
	.ps-dir-select .ps-input { flex: 1 1 auto; min-width: 0; }
	.ps-dir-cta { padding: 26px 22px; border-radius: 26px; }
}
@media (max-width: 360px) {
	.ps-dir-buscar .ps-icon { display: none; }
}

/* Tarifas (bloques) ------------------------------------------------------ */

.ps-contenido .ps-b-h3, .ps-b-h3 { font-family: var(--ps-display); font-size: 26px; font-weight: 800; line-height: 1.1; letter-spacing: -.02em; margin: 32px 0 12px; scroll-margin-top: 24px; }
.ps-b-columnas-tablas .ps-b-h3 { margin-top: 0; }
.ps-b-columnas-tablas .ps-b-tabla table { min-width: 0; font-size: 15px; }
.ps-b-columnas-tablas .ps-b-tabla th, .ps-b-columnas-tablas .ps-b-tabla td { padding: 10px 12px; }
.ps-b-columnas-tablas .wp-block-column > p { margin: 0 0 10px; font-size: 15px; }
.ps-b-tabla--angosta { max-width: 560px; }
.ps-b-tabla--angosta table { min-width: 0; }
.ps-b-dos .wp-block-column { background: #fff; border: 1px solid var(--ps-borde-3); border-radius: 24px; padding: 24px; }
.ps-b-dos .wp-block-column > * { margin-top: 0; }
.ps-b-dos .wp-block-column > *:last-child { margin-bottom: 0; }
.ps-b-dos .ps-b-tabla { border-radius: 14px; }
.ps-b-dos .ps-b-tabla table { min-width: 0; }
.ps-contenido .ps-b-hero .wp-block-buttons { margin: 4px 0 0; gap: 10px; }

/* Capacidad comercial ---------------------------------------------------- */

.ps-contenido--herramienta { max-width: none; font-size: 18px; }
.ps-contenido--herramienta > p { max-width: 760px; color: var(--ps-texto-2); }
.ps-contenido--herramienta > .ps-capacidad { margin-top: 32px; margin-bottom: 88px; }
.ps-cap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 340px); gap: 20px; align-items: start; font-size: 16px; line-height: 1.5; }
.ps-cap__resumen {
	grid-column: 2; grid-row: 1; position: sticky; top: 24px;
	background: var(--ps-negro); color: #fff; border-radius: 28px; padding: 24px;
	display: flex; flex-direction: column; gap: 16px;
}
.ps-cap__resumen .ps-kicker { margin: 0; color: var(--ps-sol); }
.ps-cap__kpis { display: grid; gap: 12px; }
.ps-cap__kpi { display: flex; flex-direction: column; gap: 2px; border-top: 1px solid var(--ps-negro-3); padding-top: 12px; }
.ps-cap__kpi--fuerte { background: var(--ps-sol); color: var(--ps-negro); border: 0; border-radius: 18px; padding: 16px; }
.ps-cap__kpi-t { font-size: 13px; font-weight: 600; }
.ps-cap__kpi-v { font-family: var(--ps-display); font-size: 30px; font-weight: 800; line-height: 1.05; letter-spacing: -.02em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.ps-cap__kpi-n { font-size: 13px; line-height: 1.35; color: var(--ps-claro-2); }
.ps-cap__kpi--fuerte .ps-cap__kpi-n { color: var(--ps-texto-2); }
.ps-cap__kpi-v.is-negativo { color: var(--ps-naranja); }
.ps-cap__acciones { display: flex; flex-wrap: wrap; gap: 8px; }
.ps-cap__resumen .ps-btn--borde { border-color: #5A616B; color: #fff; }
.ps-cap__resumen .ps-btn--borde:hover { background: #fff; border-color: #fff; color: var(--ps-negro); }
.ps-cap__resumen .ps-letra-menuda { margin: 0; color: var(--ps-claro-2); }
.ps-cap__copia { width: 100%; min-height: 140px; border-radius: 12px; padding: 10px; font: 13px/1.5 var(--ps-sans); color: var(--ps-negro); }
.ps-cap__pasos { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.ps-cap__paso { background: #fff; border: 1px solid var(--ps-borde-3); border-radius: 28px; padding: 28px; display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.ps-cap__paso-cabeza { display: flex; align-items: flex-start; gap: 14px; }
.ps-cap__paso-cabeza .ps-h3 { font-size: clamp(24px, 2.4vw, 30px); }
.ps-cap__paso-cabeza p { margin: 6px 0 0; max-width: 68ch; font-size: 15px; }
.ps-cap__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 14px; }
.ps-cap__nota { margin: 0; font-size: 15px; color: var(--ps-texto-2); }
.ps-cap__dato { font-weight: 700; color: var(--ps-negro); font-variant-numeric: tabular-nums; }
.ps-cap__leyenda { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 14px; align-items: center; }
.ps-cap__leyenda > span { display: inline-flex; align-items: center; gap: 6px; font-variant-numeric: tabular-nums; }
.ps-cap__punto { display: inline-block; width: 12px; height: 12px; border-radius: 999px; flex: 0 0 12px; margin-right: 6px; vertical-align: -1px; }
.ps-cap__leyenda .ps-cap__punto { margin-right: 0; }
.ps-cap__punto--baja { background: #E2DED6; border: 1px solid var(--ps-borde-2); }
.ps-cap__punto--media { background: var(--ps-cielo); border: 1px solid #9CC8F5; }
.ps-cap__punto--alta { background: #1F7A35; }
.ps-cap__punto--loc { background: var(--ps-azul); }
.ps-cap__punto--nac { background: var(--ps-naranja); }
.ps-cap__punto--libre { background: var(--ps-crema); border: 1px solid var(--ps-borde-2); }
.ps-cap__horas { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.ps-cap__hora {
	min-height: 58px; border: 1.5px solid transparent; border-radius: 14px; padding: 8px 10px;
	display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 2px;
	font-family: var(--ps-sans); text-align: left; cursor: pointer; transition: transform .1s;
}
.ps-cap__hora:hover { border-color: var(--ps-negro); }
.ps-cap__hora:active { transform: scale(.97); }
.ps-cap__hora:focus-visible { outline: 2px solid var(--ps-azul); outline-offset: 2px; }
.ps-cap__hora-h { font-size: 14px; font-weight: 700; white-space: nowrap; }
.ps-cap__hora-n { font-size: 12px; }
.ps-cap__hora--baja { background: #ECE8E1; color: var(--ps-texto-2); }
.ps-cap__hora--media { background: var(--ps-cielo); color: var(--ps-negro); }
.ps-cap__hora--alta { background: #1F7A35; color: #fff; }
.ps-cap__scroll { overflow-x: auto; min-width: 0; }
.ps-cap__tabla { width: 100%; border-collapse: collapse; font-size: 15px; font-variant-numeric: tabular-nums; }
.ps-cap__tabla th, .ps-cap__tabla td { padding: 10px 12px; text-align: left; border-bottom: 1px solid var(--ps-borde-3); vertical-align: middle; }
.ps-cap__tabla thead th { font-size: 13px; font-weight: 700; color: var(--ps-texto-3); white-space: nowrap; }
.ps-cap__tabla tbody th { font-weight: 600; white-space: nowrap; }
.ps-cap__tabla tfoot th, .ps-cap__tabla tfoot td { font-weight: 700; border-top: 2px solid var(--ps-negro); border-bottom: 0; }
.ps-cap__calc { text-align: right; font-weight: 600; white-space: nowrap; }
.ps-cap__tabla--paquetes { min-width: 820px; }
.ps-cap__tabla--paquetes td:first-child { min-width: 160px; }
.ps-input--tabla { min-height: 40px; padding: 7px 10px; border-radius: 10px; font-size: 15px; min-width: 76px; }
.ps-cap__pct { white-space: nowrap; }
.ps-cap__pct .ps-input--tabla { width: 76px; display: inline-block; }
.ps-cap__acc { width: 44px; }
.ps-cap__quitar {
	width: 36px; height: 36px; border-radius: 999px; border: 1px solid var(--ps-borde-2); background: transparent;
	font-size: 20px; line-height: 1; color: var(--ps-texto-3); cursor: pointer;
}
.ps-cap__quitar:hover { background: var(--ps-negro); color: #fff; border-color: var(--ps-negro); }
.ps-cap__sub { margin: 0; font-family: var(--ps-display); font-size: 20px; font-weight: 700; }
.ps-cap__ocupacion { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.ps-cap__ocupacion label { font-size: 15px; font-weight: 700; }
.ps-cap__rango { flex: 1 1 220px; accent-color: var(--ps-azul); min-height: 32px; }
.ps-cap__ocup { font-family: var(--ps-display); font-size: 30px; font-weight: 800; min-width: 4ch; text-align: right; font-variant-numeric: tabular-nums; }
.ps-cap__frase { margin: 0; font-family: var(--ps-display); font-size: 21px; font-weight: 700; line-height: 1.3; letter-spacing: -.01em; }
.ps-cap__barras { display: grid; gap: 4px; }
.ps-cap__barra {
	display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 12px;
	background: none; border: 0; border-radius: 10px; padding: 5px 6px; cursor: pointer;
	font-family: var(--ps-sans); font-size: 14px; color: var(--ps-negro); text-align: left;
}
.ps-cap__barra:hover { background: var(--ps-crema-2); }
.ps-cap__barra-p { font-weight: 700; font-variant-numeric: tabular-nums; }
.ps-cap__barra-pista { height: 12px; border-radius: 999px; background: var(--ps-crema); overflow: hidden; }
.ps-cap__barra-r { display: block; height: 100%; background: #9CC8F5; border-radius: 999px; }
.ps-cap__barra.is-activa .ps-cap__barra-r { background: var(--ps-azul); }
.ps-cap__barra.is-activa .ps-cap__barra-p, .ps-cap__barra.is-activa .ps-cap__barra-v { color: var(--ps-azul); }
.ps-cap__barra-v { min-width: 13ch; text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; }
.ps-cap__inv { display: flex; height: 22px; border-radius: 999px; overflow: hidden; background: var(--ps-crema); border: 1px solid var(--ps-borde-3); }
.ps-cap__inv-loc, .ps-cap__inv-nac { display: block; height: 100%; transition: width .2s; }
.ps-cap__inv-loc { background: var(--ps-azul); }
.ps-cap__inv-nac { background: var(--ps-naranja); }

@media (max-width: 1100px) {
	.ps-cap { grid-template-columns: minmax(0, 1fr); }
	.ps-cap__resumen { grid-column: 1; grid-row: 1; position: static; }
	.ps-cap__pasos { grid-column: 1; grid-row: 2; }
	.ps-cap__kpis { grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); }
}
@media (max-width: 700px) {
	.ps-cap__paso { padding: 20px 16px; border-radius: 22px; }
	.ps-cap__horas { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
	.ps-cap__hora { min-height: 52px; padding: 6px 8px; }
	.ps-cap__hora-h { font-size: 13px; }
	.ps-cap__kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ps-cap__kpi--fuerte { grid-column: 1 / -1; }
	.ps-cap__kpi-v { font-size: 24px; }
	.ps-cap__resumen { padding: 20px 16px; border-radius: 22px; }
	.ps-cap__frase { font-size: 18px; }
	.ps-cap__barra { grid-template-columns: 44px minmax(0, 1fr) auto; gap: 8px; font-size: 13px; }
	.ps-cap__barra-v { min-width: 0; }
	/* Paquetes: cada fila es una tarjeta con sus etiquetas. */
	.ps-cap__tabla--paquetes { min-width: 0; }
	.ps-cap__tabla--paquetes thead { display: none; }
	.ps-cap__tabla--paquetes tbody, .ps-cap__tabla--paquetes tfoot { display: flex; flex-direction: column; gap: 10px; }
	.ps-cap__tabla--paquetes tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 10px; border: 1px solid var(--ps-borde-3); border-radius: 16px; padding: 12px; position: relative; }
	.ps-cap__tabla--paquetes td, .ps-cap__tabla--paquetes th { border: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; text-align: left; }
	.ps-cap__tabla--paquetes td::before { content: attr(data-label); font-size: 12px; font-weight: 700; color: var(--ps-texto-3); }
	.ps-cap__tabla--paquetes td:first-child { grid-column: 1 / -1; min-width: 0; padding-right: 44px; }
	.ps-cap__tabla--paquetes .ps-cap__acc { position: absolute; top: 10px; right: 10px; width: auto; }
	.ps-cap__tabla--paquetes .ps-cap__acc::before { content: none; }
	.ps-cap__tabla--paquetes .ps-cap__calc { text-align: left; }
	.ps-cap__tabla--paquetes tfoot tr { background: var(--ps-crema-2); }
	.ps-cap__tabla--paquetes tfoot th { grid-column: 1 / -1; }
	.ps-cap__tabla--paquetes tfoot td:last-child { display: none; }
	.ps-input--tabla { min-width: 0; width: 100%; }
}
.ps-inscripcion .ps-campos-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 560px) { .ps-inscripcion .ps-campos-2 { grid-template-columns: minmax(0, 1fr); } }
.ps-contenido .ps-cap h2, .ps-contenido .ps-cap h3 { margin: 0; }
.ps-contenido .ps-cap p { margin-bottom: 0; }
.ps-contenido .ps-cap .ps-cap__paso-cabeza p { margin-top: 6px; }
.ps-contenido .ps-cap table { margin: 0; }
.ps-cap__tabla--paquetes { min-width: 720px; }
.ps-cap__tabla--paquetes .ps-input--tabla { min-width: 60px; }
.ps-dir-tile { padding-right: 56px; }
.ps-dir-tile__nombre { hyphens: auto; overflow-wrap: break-word; font-size: clamp(18px, 2vw, 23px); }
.ps-cap__barra { min-height: 36px; }
.ps-negocio__beneficio-k { font-size: 12px; }
@media (max-width: 600px) { .ps-dir-tile { padding-right: 16px; } }

/* Versión 1.3 ---------------------------------------------------------- */

.ps-hero__llamado {
	margin: 0; font-family: var(--ps-display); font-size: clamp(20px, 2vw, 24px); font-weight: 800; letter-spacing: -.01em;
	display: inline-flex; align-self: flex-start; background: var(--ps-sol); color: var(--ps-negro); border-radius: 12px; padding: 6px 14px;
}
.ps-envivo__siguiente-hora { display: block; font-size: 14px; color: var(--ps-claro-2); margin-top: 2px; }

.ps-proximo {
	display: none; align-items: center; gap: 8px;
	background: var(--ps-azul); color: #fff; border-radius: 999px; padding: 6px 14px; font-size: 13px; font-weight: 700;
}
.is-next .ps-proximo { display: inline-flex; }
.ps-parrilla__item.is-next { box-shadow: inset 0 0 0 2px var(--ps-azul); }

.ps-shorts__bajada { margin: 12px 0 0; max-width: 640px; font-size: 17px; line-height: 1.5; color: var(--ps-claro-2); }
.ps-siguenos {
	display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr); gap: 20px 32px; align-items: center;
	border: 1px solid var(--ps-negro-3); border-radius: 28px; padding: 24px;
}
.ps-siguenos__titulo { margin: 0 0 6px; font-family: var(--ps-display); font-size: clamp(26px, 3vw, 34px); font-weight: 800; letter-spacing: -.02em; color: #fff; }
.ps-siguenos__texto p { margin: 0; color: var(--ps-claro-2); font-size: 16px; }
.ps-siguenos__lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr)); gap: 10px; }
.ps-siguenos__red {
	display: grid; grid-template-columns: auto 1fr; grid-template-areas: "icono nombre" "icono accion"; column-gap: 12px; align-items: center;
	min-height: 76px; border-radius: 20px; padding: 14px 18px; color: #fff; text-decoration: none; transition: transform .15s;
}
.ps-siguenos__red:hover { transform: translateY(-2px); color: #fff; }
.ps-siguenos__red .ps-icon:first-child { grid-area: icono; }
.ps-siguenos__nombre { grid-area: nombre; font-family: var(--ps-display); font-size: 20px; font-weight: 800; line-height: 1.1; }
.ps-siguenos__accion { grid-area: accion; display: inline-flex; align-items: center; gap: 4px; font-size: 14px; font-weight: 600; opacity: .9; }
.ps-siguenos__red--facebook { background: #1877F2; }
.ps-siguenos__red--tiktok { background: #000; box-shadow: inset 0 0 0 1px #3A3F47; }
.ps-siguenos__red--instagram { background: linear-gradient(45deg, #D9531E, #C1306E 55%, #7B3FB0); }
.ps-siguenos__red--youtube { background: #D10000; }
@media (max-width: 860px) { .ps-siguenos { grid-template-columns: minmax(0, 1fr); padding: 20px; } }
@media (max-width: 480px) { .ps-siguenos__lista { grid-template-columns: minmax(0, 1fr); } }

.ps-b-plan__nombre--verde { background: #CDEBD3; }
.ps-contenido .ps-b-planes--4 { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 16px; }
.ps-contenido .ps-b-planes--4 > .wp-block-column { margin: 0 !important; }
.ps-contenido .ps-b-emprende { align-items: stretch !important; }
.ps-b-emprende .wp-block-column:last-child { background: #fff; border: 1px solid var(--ps-borde-3); border-radius: 28px; padding: 28px; display: flex; flex-direction: column; justify-content: center; gap: 12px; }
.ps-b-emprende .wp-block-column:last-child > * { margin: 0; }
.ps-contenido .ps-b-planes--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ps-b-planes--4 .ps-b-plan { padding: 24px; }
.ps-b-planes--4 .ps-b-plan__precio { font-size: clamp(28px, 2.6vw, 38px); }
.ps-b-plan__precio span { white-space: nowrap; }
@media (max-width: 1100px) { .ps-contenido .ps-b-planes--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ps-b-planes--4 .ps-b-plan__precio { font-size: 40px; } }
@media (max-width: 560px) { .ps-contenido .ps-b-planes--4 { grid-template-columns: minmax(0, 1fr); } }
