/* Fuentes alojadas en la web, no en Google (29-10-2026). */
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('fuentes/ibm-plex-mono-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('fuentes/ibm-plex-mono-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Schibsted Grotesk';font-style:normal;font-weight:400 900;font-display:swap;src:url('fuentes/schibsted-grotesk-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Schibsted Grotesk';font-style:normal;font-weight:400 900;font-display:swap;src:url('fuentes/schibsted-grotesk-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/*
 * La web premium «Tu zona» (29-10-2026). Ver inc/premium/funciones.php.
 *
 * El mundo del que sale: el mapa de la zona del cliente. Papel de mapa, tinta
 * marino, el azul cobalto de Ecaptor (#0a3fb8, más hondo que el #025cd9 de
 * antes, elegido el 29-10-2026) y una letra técnica para coordenadas y
 * kilómetros. Sin tercer color fuerte: el acento es el propio azul en claro.
 *
 * Lo que no lleva a propósito: fondo negro con brillos, rejillas, tarjetas con
 * borde fino por todas partes ni etiquetas en mayúsculas sobre cada título.
 * Andreu: «se ve como todas las demás creadas con IA».
 *
 * Primero el móvil: Andreu insistió en que se vea bien ahí. Las reglas de
 * pantalla grande van al final.
 */

.pr {
	--pr-papel: #eef0ea;
	--pr-blanco: #fbfbf8;
	--pr-tinta: #121a2e;
	--pr-tinta-2: #3d4657;
	--pr-suave: #5d6576;
	--pr-linea: rgba(18, 26, 46, .14);
	--pr-cobalto: #0a3fb8;
	--pr-cobalto-hondo: #072c84;
	--pr-cobalto-claro: #5b8cff;
	--pr-tinte: #d3def8;
	--pr-ganado: #1d7a4c;
	--pr-sello: #c42a3c;
	--pr-ancho: 1200px;
	--pr-display: 'Schibsted Grotesk', 'Instrument Sans', ui-sans-serif, system-ui, sans-serif;
	--pr-texto: 'Instrument Sans', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
	--pr-mono: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
}

/* La plantilla del tema mete márgenes y colores alrededor del <main>. */
.pr main#contenido:has(> .pr-portada) { margin: 0 !important; padding: 0 !important; max-width: none !important; }
.pr .wp-site-blocks > main:has(.pr-portada) { margin-block-start: 0 !important; }
.pr footer.wp-block-template-part:has(.pr-pie) { margin: 0 !important; padding: 0 !important; }

.pr .pr-portada, .pr .pr-cab, .pr .pr-pie { font-family: var(--pr-texto); color: var(--pr-tinta); -webkit-font-smoothing: antialiased; }
.pr .pr-portada *, .pr .pr-cab *, .pr .pr-pie * { box-sizing: border-box; }
.pr .pr-portada { background: var(--pr-blanco); overflow-x: clip; }
.pr .pr-portada :is(h1, h2, h3, p, ul, ol, dl, dd), .pr .pr-pie :is(h2, p) { margin: 0; }
.pr .pr-portada :is(h1, h2, h3), .pr .pr-pie h2 { color: inherit; font-family: var(--pr-display); text-wrap: balance; }
.pr .pr-ancho { max-width: var(--pr-ancho); margin: 0 auto; padding-left: max(20px, env(safe-area-inset-left, 0px)); padding-right: max(20px, env(safe-area-inset-right, 0px)); }
.pr [hidden] { display: none !important; }
.pr .pr-oculto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pr .pr-azul { color: var(--pr-cobalto); }
.pr .pr-subrayado { background: linear-gradient(transparent 64%, var(--pr-tinte) 64%); padding: 0 .04em; }
.pr .pr-coord { font: 500 11.5px/1.4 var(--pr-mono); letter-spacing: .04em; color: var(--pr-suave); }
.pr .pr-nota { margin-top: 18px !important; color: var(--pr-suave); font-size: 13px; }
.pr :focus-visible { outline: 2px solid var(--pr-cobalto); outline-offset: 3px; }

/* ── Botones ─────────────────────────────────────────────────── */
.pr .pr-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 22px; border-radius: 10px; font: 600 16px/1 var(--pr-texto); text-decoration: none; transition: background .15s, transform .15s, border-color .15s; }
.pr .pr-btn:active { transform: translateY(1px); }
.pr .pr-btn--primario { background: var(--pr-cobalto); color: #fff; }
.pr .pr-btn--primario:hover { background: var(--pr-cobalto-hondo); color: #fff; }
.pr .pr-btn--borde { border: 1.5px solid var(--pr-tinta); color: var(--pr-tinta); }
.pr .pr-btn--borde:hover { background: var(--pr-tinta); color: #fff; }
.pr .pr-btn--blanco { background: #fff; color: var(--pr-cobalto); }
.pr .pr-btn--blanco:hover { background: var(--pr-tinte); color: var(--pr-cobalto-hondo); }
.pr .pr-btn--borde-blanco { border: 1.5px solid rgba(255, 255, 255, .55); color: #fff; }
.pr .pr-btn--borde-blanco:hover { border-color: #fff; color: #fff; }
.pr .pr-acciones { display: flex; flex-wrap: wrap; gap: 10px; }
.pr .pr-acciones .pr-btn { flex: 1 1 100%; }

/* ── Cabecera ────────────────────────────────────────────────── */
.pr .pr-cab { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 50; background: rgba(238, 240, 234, .92); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--pr-linea); }
.admin-bar.pr .pr-cab { top: 46px; }
.pr .pr-cab__barra { max-width: var(--pr-ancho); margin: 0 auto; padding: 12px max(20px, env(safe-area-inset-right, 0px)) 12px max(20px, env(safe-area-inset-left, 0px)); display: flex; align-items: center; gap: 24px; }
.pr .pr-marca img { height: 32px; width: auto; display: block; }
.pr .pr-cab__menu, .pr .pr-cab__cta { display: none; }
.pr .pr-cab__menu a { color: var(--pr-tinta-2); text-decoration: none; font-size: 15px; font-weight: 500; }
.pr .pr-cab__menu a:hover { color: var(--pr-cobalto); }
.pr .pr-cab__cta { min-height: 42px; padding: 0 16px; font-size: 14.5px; }
.pr .pr-cab__movil { margin-left: auto; }
.pr .pr-cab__movil summary { list-style: none; cursor: pointer; width: 44px; height: 44px; display: grid; place-content: center; gap: 6px; border-radius: 10px; border: 1px solid var(--pr-linea); }
.pr .pr-cab__movil summary::-webkit-details-marker { display: none; }
.pr .pr-cab__movil summary span { display: block; width: 18px; height: 2px; background: var(--pr-tinta); transition: transform .2s; }
.pr .pr-cab__movil[open] summary span:first-child { transform: translateY(4px) rotate(45deg); }
.pr .pr-cab__movil[open] summary span:last-child { transform: translateY(-4px) rotate(-45deg); }
.pr .pr-cab__movil nav { position: absolute; left: 0; right: 0; top: 100%; background: var(--pr-papel); border-bottom: 1px solid var(--pr-linea); padding: 8px max(20px, env(safe-area-inset-right, 0px)) 20px max(20px, env(safe-area-inset-left, 0px)); display: grid; }
.pr .pr-cab__movil nav a:not(.pr-btn) { color: var(--pr-tinta); text-decoration: none; font: 600 20px var(--pr-display); padding: 14px 0; border-bottom: 1px solid var(--pr-linea); }
.pr .pr-cab__movil nav .pr-btn { margin-top: 16px; }

/* ── Tu zona ─────────────────────────────────────────────────── */
.pr .pr-zona { background: var(--pr-papel); padding: 36px 0 20px; position: relative; }
.pr .pr-zona--corta { padding-bottom: 48px; }
.pr .pr-zona__rejilla { display: grid; gap: 8px; }
.pr .pr-zona__rejilla > *, .pr .pr-dos > * { min-width: 0; }
.pr .pr-zona h1 { font-size: clamp(46px, 13vw, 96px); line-height: .94; letter-spacing: -.045em; font-weight: 800; margin: 16px 0 20px; }
.pr .pr-zona__entrada { font-size: 18px; line-height: 1.5; color: var(--pr-tinta-2); max-width: 470px; margin-bottom: 26px !important; }

.pr .pr-buscador { position: relative; display: flex; width: 100%; max-width: 480px; border: 1.5px solid var(--pr-tinta); border-radius: 12px; background: #fff; }
.pr .pr-buscador input { flex: 1; min-width: 0; border: 0; background: transparent; padding: 0 14px; height: 54px; font: 500 17px var(--pr-texto); color: var(--pr-tinta); border-radius: 12px 0 0 12px; }
.pr .pr-buscador input::placeholder { color: #8a92a3; }
.pr .pr-buscador input:focus { outline: none; }
.pr .pr-buscador:focus-within { box-shadow: 0 0 0 4px var(--pr-tinte); }
.pr .pr-buscador button { border: 0; background: var(--pr-cobalto); color: #fff; font: 600 15.5px var(--pr-texto); padding: 0 18px; border-radius: 0 10px 10px 0; cursor: pointer; white-space: nowrap; }
.pr .pr-buscador button:disabled { opacity: .7; cursor: progress; }
.pr .pr-buscador button:hover { background: var(--pr-cobalto-hondo); }
.pr .pr-sugerencias { position: absolute; left: -1.5px; right: -1.5px; top: calc(100% + 6px); z-index: 20; list-style: none; margin: 0; padding: 6px; background: #fff; border: 1.5px solid var(--pr-tinta); border-radius: 12px; box-shadow: 0 18px 40px -18px rgba(18, 26, 46, .45); }
.pr .pr-sugerencias li { display: flex; justify-content: space-between; gap: 12px; padding: 12px 12px; border-radius: 8px; cursor: pointer; font-size: 16px; }
.pr .pr-sugerencias li small { color: var(--pr-suave); font-size: 13.5px; }
.pr .pr-sugerencias li[aria-selected="true"], .pr .pr-sugerencias li:hover { background: var(--pr-papel); }
.pr .pr-sugerencias .pr-sin { cursor: default; color: var(--pr-suave); }

.pr .pr-tuzona { margin-top: 18px; max-width: 480px; display: grid; gap: 12px; padding: 16px; border-radius: 12px; background: #fff; border-left: 4px solid var(--pr-cobalto); scroll-margin-top: 84px; }
.pr .pr-tuzona p { font-size: 16px; line-height: 1.45; color: var(--pr-tinta-2); }
.pr .pr-tuzona b { color: var(--pr-tinta); }

.pr .pr-mapa { position: relative; width: 100%; aspect-ratio: 1; max-width: 100%; margin: 0 auto; }
.pr .pr-mapa svg { display: block; width: 100%; height: 100%; overflow: visible; }
.pr .pr-mapa .pr-m-zona { fill: var(--pr-cobalto); fill-opacity: .07; stroke: var(--pr-cobalto); stroke-opacity: .55; stroke-width: 1.6; }
.pr .pr-mapa .pr-m-anillo { fill: none; stroke: var(--pr-cobalto); stroke-opacity: .35; stroke-dasharray: 3 6; stroke-width: 1.3; }
.pr .pr-mapa .pr-m-anillo--dentro { fill: var(--pr-cobalto); fill-opacity: .06; stroke-dasharray: none; stroke-opacity: .45; }
.pr .pr-mapa .pr-m-km { font: 500 11px var(--pr-mono); fill: var(--pr-cobalto); }
.pr .pr-mapa .pr-m-punto { fill: var(--pr-tinta); }
.pr .pr-mapa .pr-m-pueblo { font: 500 13px var(--pr-texto); fill: var(--pr-tinta-2); paint-order: stroke; stroke: var(--pr-papel); stroke-width: 4px; stroke-linejoin: round; }
.pr .pr-mapa .pr-m-centro { fill: var(--pr-cobalto); }
.pr .pr-mapa .pr-m-halo { fill: var(--pr-cobalto); fill-opacity: .14; transform-box: fill-box; transform-origin: center; animation: pr-halo 2.8s ease-out infinite; }
.pr .pr-mapa .pr-m-nombre { font: 700 17px var(--pr-display); fill: var(--pr-tinta); paint-order: stroke; stroke: var(--pr-papel); stroke-width: 5px; stroke-linejoin: round; }
@keyframes pr-halo { 0% { transform: scale(.6); fill-opacity: .25; } 100% { transform: scale(2.4); fill-opacity: 0; } }
.pr .pr-aviso { position: absolute; transform: translate(-50%, -100%); padding: 8px 11px; border-radius: 9px; background: #fff; border: 1px solid var(--pr-linea); box-shadow: 0 10px 24px -14px rgba(18, 26, 46, .5); white-space: nowrap; font-size: 12.5px; line-height: 1.3; pointer-events: none; }
.pr .pr-aviso b { display: block; font-weight: 600; color: var(--pr-tinta); }
.pr .pr-aviso small { color: var(--pr-suave); font-size: 11.5px; }
.pr .pr-aviso--nuevo { background: var(--pr-cobalto); border-color: var(--pr-cobalto); }
.pr .pr-aviso--nuevo b { color: #fff; }
.pr .pr-aviso--nuevo small { color: var(--pr-tinte); }
.pr .pr-aviso--entra { animation: pr-entra .55s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes pr-entra { from { opacity: 0; translate: 0 8px; } }
.pr .pr-mapa__nota { font: 500 11px var(--pr-mono); color: var(--pr-suave); text-align: right; padding-top: 4px; }

/* ── La leyenda ──────────────────────────────────────────────── */
.pr .pr-leyenda { background: var(--pr-papel); border-top: 1px solid var(--pr-linea); }
.pr .pr-leyenda__fila { display: grid; grid-template-columns: 1fr 1fr; }
.pr .pr-leyenda__fila > * { display: grid; gap: 2px; padding: 18px 0; color: inherit; text-decoration: none; }
.pr .pr-leyenda__fila > *:nth-child(even) { padding-left: 16px; border-left: 1px solid var(--pr-linea); }
.pr .pr-leyenda__fila > *:nth-child(n+3) { border-top: 1px solid var(--pr-linea); }
.pr .pr-leyenda b { font: 700 18px var(--pr-display); letter-spacing: -.02em; }
.pr .pr-leyenda span { font-size: 14px; color: var(--pr-suave); }
.pr .pr-leyenda a:hover b { color: var(--pr-cobalto); }

/* ── Secciones ───────────────────────────────────────────────── */
.pr .pr-sec { padding: 72px 0; }
.pr .pr-sec--corta { padding: 56px 0; }
.pr .pr-sec--papel { background: var(--pr-papel); }
.pr .pr-portada h2 { font-size: clamp(32px, 8.4vw, 60px); line-height: 1.02; letter-spacing: -.04em; font-weight: 800; }
.pr .pr-titulo-sec { margin-bottom: 36px !important; max-width: 820px; }
.pr .pr-portada h3 { font-size: 20px; line-height: 1.25; letter-spacing: -.02em; font-weight: 700; }
.pr .pr-grande { font-size: 18px; line-height: 1.55; color: var(--pr-tinta-2); margin-top: 18px !important; max-width: 560px; }
.pr .pr-dos { display: grid; gap: 40px; }

/* La hoja de presupuesto con su sello */
.pr .pr-hoja { position: relative; background: #fff; border: 1px solid #e2e2dc; box-shadow: 0 24px 50px -30px rgba(18, 26, 46, .5), 0 2px 0 #ececE6; padding: 24px 22px 30px; transform: rotate(1.4deg); font: 500 13px/1.45 var(--pr-mono); color: #2b2f38; max-width: 480px; justify-self: center; width: 100%; }
.pr .pr-hoja__cab { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; border-bottom: 2px solid var(--pr-tinta); padding-bottom: 10px; margin-bottom: 16px; }
.pr .pr-hoja__cab b { font: 800 19px var(--pr-display); letter-spacing: -.02em; color: var(--pr-tinta); }
.pr .pr-hoja dl { display: grid; grid-template-columns: 92px 1fr; gap: 9px 10px; }
.pr .pr-hoja dt { color: #8a8f99; text-transform: uppercase; font-size: 10.5px; letter-spacing: .08em; padding-top: 2px; }
.pr .pr-tinta { font: italic 500 17px/1.35 var(--pr-texto); color: var(--pr-cobalto); }
.pr .pr-sello { position: absolute; right: 18px; bottom: -18px; transform: rotate(-11deg); border: 3px solid var(--pr-sello); color: var(--pr-sello); background: rgba(255, 255, 255, .85); font: 800 19px/1.05 var(--pr-display); letter-spacing: .04em; text-transform: uppercase; padding: 8px 14px; border-radius: 6px; text-align: center; }
.pr .pr-sello small { display: block; font: 600 9.5px var(--pr-mono); letter-spacing: .08em; margin-top: 3px; }

/* Los pasos y la semana */
.pr .pr-pasos { list-style: none; padding: 0; counter-reset: paso; display: grid; gap: 20px; }
.pr .pr-pasos li { counter-increment: paso; display: grid; grid-template-columns: 38px 1fr; gap: 0 12px; font-size: 17px; line-height: 1.5; color: var(--pr-tinta-2); }
.pr .pr-pasos li::before { content: counter(paso); grid-row: span 2; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--pr-tinta); color: #fff; font: 700 15px var(--pr-display); }
.pr .pr-pasos b { color: var(--pr-tinta); font-weight: 600; }
.pr .pr-agenda { margin-top: 40px; display: grid; grid-auto-flow: column; grid-auto-columns: 74%; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; margin-right: calc(-1 * max(20px, env(safe-area-inset-right, 0px))); padding-right: max(20px, env(safe-area-inset-right, 0px)); scrollbar-width: none; }
.pr .pr-agenda::-webkit-scrollbar { display: none; }
.pr .pr-agenda__dia { scroll-snap-align: start; background: #fff; box-shadow: 0 1px 0 rgba(18, 26, 46, .06); border-radius: 12px; padding: 12px; display: grid; gap: 8px; align-content: start; min-height: 260px; }
.pr .pr-agenda__dia > p { font: 600 13px var(--pr-texto); color: var(--pr-suave); padding: 2px 2px 4px; }
/* Las citas, claras: el azul se queda para la que acaba de entrar. */
.pr .pr-cita { background: var(--pr-blanco); color: var(--pr-tinta); border-radius: 9px; padding: 10px 11px 10px 13px; display: grid; gap: 1px; box-shadow: inset 3px 0 0 var(--pr-tinte); }
.pr .pr-cita span { font: 500 11px var(--pr-mono); color: var(--pr-suave); }
.pr .pr-cita b { font-size: 14px; font-weight: 600; line-height: 1.25; }
.pr .pr-cita small { font-size: 12.5px; color: var(--pr-suave); }
.pr .pr-cita--nueva { background: var(--pr-cobalto); color: #fff; box-shadow: none; animation: pr-late 2.4s ease-out infinite; }
.pr .pr-cita--nueva span, .pr .pr-cita--nueva small { color: var(--pr-tinte); }
@keyframes pr-late { 0% { box-shadow: 0 0 0 0 rgba(10, 63, 184, .45); } 100% { box-shadow: 0 0 0 10px rgba(10, 63, 184, 0); } }

/* El panel */
.pr .pr-lista { list-style: none; padding: 0; margin-top: 24px !important; display: grid; gap: 16px; }
.pr .pr-lista li { font-size: 17px; line-height: 1.5; color: var(--pr-tinta-2); padding-left: 22px; position: relative; }
.pr .pr-lista li::before { content: ''; position: absolute; left: 0; top: .55em; width: 9px; height: 9px; border-radius: 50%; background: var(--pr-cobalto); }
.pr .pr-lista b { color: var(--pr-tinta); font-weight: 600; }
.pr .pr-panel { background: #fff; border-radius: 16px; box-shadow: 0 30px 60px -36px rgba(18, 26, 46, .55); border: 1px solid #e4e5e0; overflow: hidden; }
.pr .pr-panel__cab { display: flex; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid #eceee8; font-size: 15px; }
.pr .pr-panel__cab span { color: var(--pr-suave); font-size: 13px; }
.pr .pr-panel ul { list-style: none; margin: 0; padding: 6px; }
.pr .pr-panel li { display: grid; grid-template-columns: 34px 1fr auto; gap: 10px; align-items: center; padding: 10px; border-radius: 10px; }
.pr .pr-panel li:first-child { background: #f3f6fd; }
.pr .pr-panel li > span:nth-child(2) { display: grid; min-width: 0; }
.pr .pr-panel li b { font-size: 14.5px; }
.pr .pr-panel li small { font-size: 12.5px; color: var(--pr-suave); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pr .pr-avatar { width: 34px; height: 34px; border-radius: 50%; background: var(--pr-papel); display: grid; place-items: center; font-size: 12px; font-weight: 600; }
.pr .pr-estado { font-style: normal; font-size: 12px; font-weight: 600; padding: 4px 9px; border-radius: 999px; background: var(--pr-papel); color: var(--pr-tinta-2); }
.pr .pr-estado--nuevo { background: var(--pr-cobalto); color: #fff; }
.pr .pr-estado--ganado { background: #e3f3ea; color: var(--pr-ganado); }
.pr .pr-panel__ficha { border-top: 1px solid #eceee8; padding: 14px 16px 16px; display: grid; gap: 12px; }
.pr .pr-panel__ficha p { font-size: 14.5px; line-height: 1.5; color: var(--pr-tinta-2); }
.pr .pr-panel__ficha div { display: flex; gap: 8px; flex-wrap: wrap; }
.pr .pr-mini { font-size: 13px; font-weight: 600; padding: 9px 13px; border-radius: 9px; border: 1px solid #dfe1dc; }
.pr .pr-mini--primario { background: var(--pr-cobalto); border-color: var(--pr-cobalto); color: #fff; }
.pr .pr-mini--suave { color: var(--pr-suave); }

/* La garantía y lo que depende */
.pr .pr-tres { display: grid; gap: 28px; }
.pr .pr-tres > div { border-top: 2px solid var(--pr-tinta); padding-top: 16px; }
.pr .pr-tres h3 { margin-bottom: 8px !important; }
.pr .pr-tres p { font-size: 16.5px; line-height: 1.55; color: var(--pr-tinta-2); }

/* Los casos */
.pr .pr-casos { display: grid; gap: 28px; }
.pr .pr-casos article { display: grid; gap: 6px; align-content: start; }
.pr .pr-casos img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 12px; margin-bottom: 12px; }
.pr .pr-casos__cifra { font: 800 34px/1 var(--pr-display); letter-spacing: -.04em; color: var(--pr-cobalto); }
.pr .pr-casos h3 { font-size: 18px !important; }
.pr .pr-casos p:last-child { font-size: 15.5px; line-height: 1.5; color: var(--pr-tinta-2); }

/* Los dos caminos */
.pr .pr-caminos { display: grid; gap: 14px; }
.pr .pr-camino { display: flex; flex-direction: column; gap: 12px; padding: 28px 24px; border-radius: 16px; background: #fff; color: var(--pr-tinta); text-decoration: none; transition: transform .2s; }
.pr .pr-camino:hover { transform: translateY(-2px); color: var(--pr-tinta); }
.pr .pr-camino__para { font: 500 12px var(--pr-mono); letter-spacing: .04em; color: var(--pr-suave); }
.pr .pr-camino b { font: 800 clamp(24px, 6vw, 32px)/1.08 var(--pr-display); letter-spacing: -.035em; max-width: 440px; }
.pr .pr-camino > span:not([class]) { font-size: 16.5px; line-height: 1.5; color: var(--pr-tinta-2); max-width: 440px; }
.pr .pr-camino__ir { margin-top: 10px; font-weight: 600; color: var(--pr-cobalto); }
.pr .pr-camino--azul { background: var(--pr-cobalto); color: #fff; }
.pr .pr-camino--azul:hover { color: #fff; }
.pr .pr-camino--azul .pr-camino__para, .pr .pr-camino--azul > span:not([class]) { color: var(--pr-tinte); }
.pr .pr-camino--azul .pr-camino__ir { color: #fff; }

/* Sectores */
.pr .pr-sectores h2 { font-size: clamp(26px, 6vw, 40px) !important; margin-bottom: 18px !important; }
.pr .pr-sectores p { font-size: 18px; line-height: 1.9; color: var(--pr-suave); }
.pr .pr-sectores a { color: var(--pr-tinta); text-decoration: underline; text-decoration-color: var(--pr-linea); text-underline-offset: 5px; text-decoration-thickness: 1.5px; }
.pr .pr-sectores a:hover { color: var(--pr-cobalto); text-decoration-color: var(--pr-cobalto); }
.pr .pr-sectores .pr-sectores__todos { color: var(--pr-cobalto); font-weight: 600; }

/* Siempre incluido */
.pr .pr-incluye { list-style: none; padding: 0; display: grid; }
.pr .pr-incluye li { padding: 15px 0 15px 30px; border-top: 1px solid var(--pr-linea); font-size: 17px; position: relative; }
.pr .pr-incluye li::before { content: ''; position: absolute; left: 3px; top: 1.3em; width: 13px; height: 7px; border-left: 2px solid var(--pr-cobalto); border-bottom: 2px solid var(--pr-cobalto); transform: rotate(-45deg); }

/* Preguntas */
.pr .pr-faq { display: grid; gap: 28px; }
.pr .pr-faq__lista { border-top: 1.5px solid var(--pr-tinta); }
.pr .pr-faq__item { border-bottom: 1px solid var(--pr-linea); }
.pr .pr-faq__item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 20px 0; font: 700 18px/1.3 var(--pr-display); letter-spacing: -.015em; }
.pr .pr-faq__item summary::-webkit-details-marker { display: none; }
.pr .pr-faq__mas { flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--pr-tinta); position: relative; }
.pr .pr-faq__mas::before, .pr .pr-faq__mas::after { content: ''; position: absolute; left: 50%; top: 50%; width: 11px; height: 2px; margin: -1px 0 0 -5.5px; background: #fff; transition: transform .2s; }
.pr .pr-faq__mas::after { transform: rotate(90deg); }
.pr .pr-faq__item[open] .pr-faq__mas { background: var(--pr-cobalto); }
.pr .pr-faq__item[open] .pr-faq__mas::after { transform: rotate(0); }
.pr .pr-faq__item p { padding: 0 0 22px; font-size: 16.5px; line-height: 1.6; color: var(--pr-tinta-2); max-width: 680px; }

/* El cierre: la llamada. Azul liso, el titular y al lado el aviso del contacto */
.pr .pr-llamada { background: var(--pr-cobalto); color: #fff; padding: 72px 0; }
.pr .pr-llamada--corta { padding: 64px 0; }
.pr .pr-llamada__rejilla { display: grid; gap: 40px; }
.pr .pr-llamada__pie { display: grid; gap: 24px; }
.pr .pr-llamada h2 { font-size: clamp(32px, 8vw, 52px) !important; color: #fff; }
.pr .pr-llamada__tarjeta { display: grid; gap: 4px; width: 100%; max-width: 400px; padding: 20px 22px 22px; border-radius: 16px; background: #fff; color: var(--pr-tinta); box-shadow: 0 34px 60px -30px rgba(4, 16, 52, .7); }
.pr .pr-llamada__aviso { display: flex; align-items: center; gap: 8px; margin: 0 0 6px !important; font: 500 12.5px var(--pr-mono); letter-spacing: .02em; color: var(--pr-suave); }
.pr .pr-vivo { width: 8px; height: 8px; border-radius: 50%; background: var(--pr-cobalto); animation: pr-parpadeo 1.6s ease-in-out infinite; }
@keyframes pr-parpadeo { 50% { opacity: .3; } }
.pr .pr-llamada__nombre { font: 800 30px/1.1 var(--pr-display); letter-spacing: -.03em; margin: 0 !important; }
.pr .pr-llamada__donde { font: 500 14px var(--pr-mono); color: var(--pr-suave); margin: 0 !important; }
.pr .pr-llamada__que { font-size: 16.5px; line-height: 1.45; color: var(--pr-tinta-2); margin: 8px 0 0 !important; }
.pr .pr-llamada__que b { color: var(--pr-tinta); font-weight: 600; }
.pr .pr-llamada__llamar { margin-top: 16px; display: flex; align-items: center; justify-content: center; gap: 8px; height: 48px; border-radius: 10px; background: var(--pr-cobalto); color: #fff; font-weight: 600; font-size: 15.5px; }

/* ── Pie ─────────────────────────────────────────────────────── */
.pr .pr-pie { background: var(--pr-tinta); color: #aab1c1; font-size: 15px; }
.pr .pr-pie__cierre { background: var(--pr-cobalto); color: #fff; text-align: left; padding: 56px max(20px, env(safe-area-inset-right, 0px)) 56px max(20px, env(safe-area-inset-left, 0px)); }
.pr .pr-pie__cierre > * { max-width: var(--pr-ancho); margin-left: auto !important; margin-right: auto !important; }
.pr .pr-pie__cierre h2 { font: 800 clamp(32px, 8vw, 52px)/1.02 var(--pr-display); letter-spacing: -.04em; margin-bottom: 14px !important; }
.pr .pr-pie__cierre em { font-style: normal; }
.pr .pr-pie__cierre p { color: var(--pr-tinte); font-size: 17px; margin-bottom: 24px !important; }
.pr .pr-pie__cierre .pr-acciones { max-width: var(--pr-ancho); }
.pr .pr-pie__cierre .pr-btn--primario { background: #fff; color: var(--pr-cobalto); }
.pr .pr-pie__cierre .pr-btn--borde { border-color: rgba(255, 255, 255, .55); color: #fff; }
.pr .pr-pie__rejilla { max-width: var(--pr-ancho); margin: 0 auto; padding: 48px max(20px, env(safe-area-inset-right, 0px)) 32px max(20px, env(safe-area-inset-left, 0px)); display: grid; grid-template-columns: 1fr 1fr; gap: 32px 20px; }
.pr .pr-pie__marca { grid-column: 1 / -1; }
.pr .pr-pie__marca img { height: 24px; width: auto; filter: brightness(0) invert(1); }
.pr .pr-pie__marca p { margin: 16px 0 !important; line-height: 1.6; max-width: 320px; }
.pr .pr-pie__trust { color: #fff; text-decoration: none; font-size: 14px; }
.pr .pr-estrellas { color: #fff; letter-spacing: 2px; margin-right: 6px; }
.pr .pr-pie__col { display: grid; gap: 11px; align-content: start; }
.pr .pr-pie__titulo { margin: 0 0 4px !important; color: #fff; font-weight: 600; font-size: 14px; }
.pr .pr-pie a { color: #aab1c1; text-decoration: none; }
.pr .pr-pie a:hover { color: #fff; }
.pr .pr-pie .pr-btn--primario, .pr .pr-pie .pr-btn--primario:hover { color: var(--pr-cobalto); }
.pr .pr-pie .pr-btn--borde, .pr .pr-pie .pr-btn--borde:hover { color: #fff; }
.pr .pr-pie__legal { max-width: var(--pr-ancho); margin: 0 auto; padding: 20px max(20px, env(safe-area-inset-right, 0px)) 32px max(20px, env(safe-area-inset-left, 0px)); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; border-top: 1px solid rgba(255, 255, 255, .12); font-size: 13px; }
.pr .pr-pie__legal span:last-child { display: flex; gap: 18px; flex-wrap: wrap; }

@media (prefers-reduced-motion: reduce) {
	.pr *, .pr *::before, .pr *::after { animation: none !important; transition: none !important; }
}

/* ── Pantallas medianas ──────────────────────────────────────── */
@media (min-width: 640px) {
	.pr .pr-acciones .pr-btn { flex: 0 0 auto; }
	.pr .pr-leyenda__fila { grid-template-columns: repeat(4, 1fr); }
	.pr .pr-leyenda__fila > * { padding: 22px 0 22px 18px; border-left: 1px solid var(--pr-linea); border-top: 0 !important; }
	.pr .pr-leyenda__fila > *:first-child { border-left: 0; padding-left: 0; }
	.pr .pr-casos { grid-template-columns: 1fr 1fr; }
	.pr .pr-caminos { grid-template-columns: 1fr 1fr; }
	.pr .pr-agenda { grid-auto-columns: calc((100% - 30px) / 3.3); }
	.pr .pr-pie__rejilla { grid-template-columns: repeat(4, 1fr); }
	.pr .pr-camino { padding: 36px; min-height: 300px; }
}

/* ── Pantallas grandes ───────────────────────────────────────── */
@media (min-width: 960px) {
	.pr .pr-marca img { height: 38px; }
	.pr .pr-cab__menu { display: flex; gap: 26px; margin-left: auto; }
	.pr .pr-cab__cta { display: inline-flex; }
	.pr .pr-cab__movil { display: none; }
	.admin-bar.pr .pr-cab { top: 32px; }
	.pr .pr-zona { padding: 40px 0 8px; }
	.pr .pr-zona--corta { padding: 72px 0 64px; }
	.pr .pr-zona__rejilla { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 40px; align-items: center; }
	.pr .pr-zona__texto { padding: 40px 0; }
	.pr .pr-mapa { max-height: 640px; }
	.pr .pr-sec { padding: 112px 0; }
	.pr .pr-sec--corta { padding: 80px 0; }
	.pr .pr-dos { grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
	.pr .pr-dos--arriba { align-items: start; }
	.pr .pr-titulo-sec { margin-bottom: 56px !important; }
	.pr .pr-tres { grid-template-columns: repeat(3, 1fr); gap: 40px; }
	.pr .pr-casos { grid-template-columns: repeat(4, 1fr); gap: 24px; }
	.pr .pr-agenda { grid-auto-flow: row; grid-template-columns: repeat(5, 1fr); overflow: visible; margin-right: 0; padding-right: 0; margin-top: 64px; }
	.pr .pr-faq { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 64px; }
	.pr .pr-faq > h2 { position: sticky; top: 100px; align-self: start; }
	.pr .pr-llamada { padding: 112px 0; }
	.pr .pr-llamada__rejilla { grid-template-columns: minmax(0, 1fr) 400px; align-items: center; gap: 72px; }
	.pr .pr-llamada--corta .pr-llamada__pie { grid-template-columns: 1fr auto; align-items: end; gap: 40px; }
	.pr .pr-pie__rejilla { grid-template-columns: 1.6fr repeat(4, 1fr); padding-top: 72px; }
	.pr .pr-pie__marca { grid-column: auto; }
	.pr .pr-pie__cierre { padding-top: 88px; padding-bottom: 88px; }
	.pr .pr-anillos { max-width: 420px; justify-self: end; }
}

/* Los anillos de /precios/ */
.pr .pr-anillos { width: 100%; max-width: 300px; justify-self: center; overflow: visible; margin-top: 24px; }
.pr .pr-anillos circle { fill: none; stroke: var(--pr-tinta); }
.pr .pr-anillos__fuera { stroke-opacity: .25; stroke-dasharray: 2 6; stroke-width: 1.2; }
.pr .pr-anillos__dentro { stroke-opacity: .35; stroke-width: 1.2; }
.pr .pr-anillos .pr-anillos__centro { fill: var(--pr-cobalto); stroke: none; }
.pr .pr-anillos text { font: 500 11px var(--pr-mono); fill: var(--pr-suave); }

/* ── El panel de verdad ──────────────────────────────────────── */
.pr .pr-capturas { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-items: start; }
.pr .pr-capturas img { width: 100%; height: auto; border-radius: 22px; border: 1px solid #e2e3de; box-shadow: 0 40px 70px -40px rgba(18, 26, 46, .6); }
.pr .pr-capturas img + img { margin-top: 48px; }
.pr .pr-capturas figcaption { grid-column: 1 / -1; font-size: 13px; color: var(--pr-suave); }

/* ── El aviso de cookies, a juego ────────────────────────────── */
.pr .ec-cookies__caja { background: var(--pr-tinta); border-color: rgba(255, 255, 255, .1); font-family: var(--pr-texto); }
.pr .ec-cookies__botones .ec-btn { border-radius: 10px; font-family: var(--pr-texto); }
.pr .ec-cookies .ec-btn--primario { background: var(--pr-cobalto); }
.pr .ec-cookies .ec-btn--primario:hover { background: var(--pr-cobalto-hondo); }
.pr .ec-cookies .ec-btn--par { background: #2a3550; }
.pr .ec-cookies .ec-btn--par:hover { background: #34405f; }
@media (max-width: 639px) {
	.pr .ec-cookies { padding: 8px; }
	.pr .ec-cookies__caja { padding: 12px 12px; gap: 10px; }
	.pr .ec-cookies p { font-size: 12.5px; line-height: 1.45; }
	.pr .ec-cookies__botones { flex-wrap: nowrap; gap: 6px; }
	.pr .ec-cookies__botones .ec-btn { flex: 1 1 0; padding: 9px 6px; font-size: 13.5px; }
}
@media (max-width: 519px) { .pr .pr-mapa .pr-m-pueblo { font-size: 12px; } .pr .pr-aviso { font-size: 11.5px; } }
.pr .pr-capturas { max-width: 600px; justify-self: center; width: 100%; }
/* En el móvil, los casos se pasan con el dedo en vez de cuatro fotos en fila. */
@media (max-width: 639px) {
	.pr .pr-casos { grid-auto-flow: column; grid-auto-columns: 82%; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; margin-right: calc(-1 * max(20px, env(safe-area-inset-right, 0px))); padding-right: max(20px, env(safe-area-inset-right, 0px)); padding-bottom: 6px; scrollbar-width: none; }
	.pr .pr-casos::-webkit-scrollbar { display: none; }
	.pr .pr-casos article { scroll-snap-align: start; }
	.pr .pr-casos img { aspect-ratio: 4 / 3; }
}

/* ── La garantía, con la pantalla de cambio de verdad ────────── */
.pr .pr-pila { display: grid; gap: 22px; margin-top: 32px; }
.pr .pr-pila > div { border-top: 2px solid var(--pr-tinta); padding-top: 14px; }
.pr .pr-pila h3 { margin-bottom: 6px !important; }
.pr .pr-pila p { font-size: 16.5px; line-height: 1.55; color: var(--pr-tinta-2); max-width: 520px; }
.pr .pr-garantia__captura { margin: 0; width: 100%; max-width: 340px; justify-self: center; }
.pr .pr-garantia__captura img { width: 100%; height: auto; border-radius: 22px; border: 1px solid #e2e3de; box-shadow: 0 40px 70px -40px rgba(18, 26, 46, .6); }
.pr .pr-garantia__captura figcaption { margin-top: 12px; font-size: 13px; color: var(--pr-suave); }

/* /precios/ abre con el mismo mapa que la portada */
.pr .pr-zona--precios { padding-bottom: 32px; }
@media (min-width: 960px) {
	.pr .pr-garantia__captura { max-width: 380px; }
	.pr .pr-zona--precios .pr-zona__entrada { max-width: 500px; }
}
@media (max-width: 639px) { .pr .pr-garantia__captura { max-width: 290px; } }
@media (min-width: 960px) {
	.pr #plataforma .pr-dos { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
	.pr .pr-capturas { max-width: 660px; gap: 18px; }
}
