/* Portada y páginas con su estilo (precios y funciones). 25-10-2026: segunda vuelta de la portada (más directa y con
   menos texto) y tercera (precios y funciones con el mismo aire). Va después de /web/marco.css, que trae las
   variables, los botones, la cabecera y el pie. Estas páginas no cargan web.css ni bee.css. Tipografía y colores de
   la marca (Geist, tinta #171717, ámbar #ffc400), bordes finos y mucho aire; las pantallas del panel son las
   protagonistas. Medidas pensadas para 1440 px y adaptadas a portátil, tableta y móvil. */

:root { --pt-sombra: 0 12px 32px rgba(23, 23, 23, .16), 0 2px 6px rgba(23, 23, 23, .10); }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 72px; }
body.pt { margin: 0; font-family: var(--pt-letra); font-size: 16px; line-height: 24px; color: var(--pt-tinta); background: #fff; -webkit-font-smoothing: antialiased; }
:where(.pt) :where(h1, h2, h3, p) { margin: 0; }
:where(.pt) img { max-width: 100%; display: block; }
:where(.pt) a { color: inherit; }
.pt .pt-oscuro :is(a, button, summary, [tabindex]):focus-visible, .pt .pt-plan.pop a:focus-visible { outline-color: var(--pt-marca); }
.pt .skip { position: absolute; left: 16px; top: -64px; z-index: 100; padding: 10px 16px; border-radius: 999px; background: var(--pt-marca); color: var(--pt-tinta); font-weight: 500; text-decoration: none; }
.pt .skip:focus { top: 12px; }
.pt-centro { text-align: center; margin-top: 24px; }
@media (prefers-reduced-motion: reduce) { .pt *, .pt *::before, .pt *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }

/* ---------- Héroe ---------- */
.pt-heroe { padding: 72px 0 0; text-align: center; }
.pt-heroe h1 { max-width: 1000px; margin: 0 auto; font-size: 80px; line-height: 84px; font-weight: 600; letter-spacing: -3px; color: var(--pt-tinta); text-wrap: balance; }
.pt-heroe-sub { margin: 24px auto 0; font-size: 20px; line-height: 30px; letter-spacing: -.1px; color: var(--pt-texto); }
.pt-heroe-acciones { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 32px; margin-top: 40px; }
.pt-enlace.suelto { margin-top: 0; }
.pt-mono { margin-top: 20px; font-family: var(--pt-letra-mono); font-size: 13px; line-height: 20px; letter-spacing: 0; color: var(--pt-gris); }
.pt-heroe-foto { position: relative; margin: 56px 0 0; aspect-ratio: 1296 / 580; border-radius: 40px; overflow: hidden; background: #e9e4dc; }
.pt-heroe-foto > img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.75) brightness(1.04); }
.pt-heroe-foto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, .42)); }
.pt-heroe-foto .pt-app { position: absolute; z-index: 1; left: 50%; top: 64px; bottom: 0; transform: translateX(-50%); width: min(900px, calc(100% - 96px)); }

/* ---------- La pantalla del panel: barra lateral oscura y la pantalla de la función ---------- */
.pt-app { display: grid; grid-template-columns: 208px minmax(0, 1fr); background: #fff; border: 1px solid rgba(23, 23, 23, .08); border-bottom: 0; border-radius: 20px 20px 0 0; overflow: hidden; box-shadow: 0 30px 60px -16px rgba(23, 23, 23, .35), 0 10px 24px -10px rgba(23, 23, 23, .14); text-align: left; color: var(--pt-tinta); }
.pt-app-lado { display: flex; flex-direction: column; gap: 2px; padding: 18px 12px; background: var(--pt-oscuro); color: #d4d4d4; font-size: 13.5px; line-height: 20px; }
.pt-app-marca { display: flex; align-items: center; gap: 8px; padding: 0 8px 14px; font-family: var(--pt-letra-marca); font-size: 15px; font-weight: 600; color: #fdfdfd; }
.pt-app-marca img { width: 20px; height: 20px; }
.pt-app-negocio { display: flex; flex-direction: column; padding: 8px; margin-bottom: 6px; color: #a3a3a3; font-size: 12px; }
.pt-app-negocio b { color: #fdfdfd; font-size: 13.5px; font-weight: 600; }
.pt-app-item { display: flex; align-items: center; justify-content: space-between; padding: 8px; border-radius: 8px; font-weight: 500; }
.pt-app-item i { font-style: normal; font-size: 12px; color: #a3a3a3; }
.pt-app-item i.pildora { min-width: 20px; padding: 0 6px; border-radius: 6px; background: #fff; color: var(--pt-tinta); font-weight: 600; text-align: center; }
.pt-app-item.on { background: rgba(255, 255, 255, .08); color: #fff; box-shadow: inset 3px 0 var(--pt-marca); }
.pt-app-main { display: flex; flex-direction: column; gap: 16px; padding: 26px 32px 22px; }
.pt-app-cab { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; padding-bottom: 16px; border-bottom: 1px solid var(--pt-linea); }
.pt-app-cab b { font-size: 22px; line-height: 28px; font-weight: 600; letter-spacing: -.4px; color: var(--pt-tinta); }
.pt-app-cab > span { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--pt-gris); }
.pt-app-frase { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; font-size: 19px; line-height: 26px; font-weight: 500; letter-spacing: -.2px; color: var(--pt-tinta); }
.pt-app-resena p { margin-top: 6px; font-size: 17px; line-height: 26px; color: var(--pt-tinta); }
.pt-app-resena .pt-m-quien { font-size: 13px; }
.pt-app-resena .pt-m-quien b { font-size: 14px; }
.pt-app-propuesta { padding: 14px 16px; border: 1px solid #e8d9a8; border-radius: 14px; background: #fffbeb; }
.pt-app-propuesta .pt-m-etiqueta { color: #735700; font-size: 12.5px; }
.pt-app-propuesta p { margin-top: 4px; font-size: 15.5px; line-height: 24px; color: var(--pt-tinta); }
.pt-app-pie { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.pt-app-pie .pt-m-boton { height: 36px; padding: 0 16px; font-size: 13.5px; border-radius: 999px; }
.pt-app-sig { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 14px; border-top: 1px solid var(--pt-linea); }
.pt-app-sig + .pt-app-sig { margin-top: -4px; }
.pt-app .pt-m-nota { margin-top: auto; color: var(--pt-gris); }
.pt-app .pt-m-caja { padding: 12px 14px; font-size: 14.5px; line-height: 22px; border-radius: 12px; }
.pt-app .pt-m-etiqueta { font-size: 12.5px; }
.pt-app .pt-m-pasos span { font-size: 12.5px; line-height: 16px; }
.pt-app .pt-fila.linea { padding: 12px 0; font-size: 15px; line-height: 20px; }
.pt-app .pt-filas { display: flex; flex-direction: column; margin-top: -4px; }
.pt-app .pt-filas .pt-fila:last-child { border-bottom: 1px solid var(--pt-linea); }
.pt-app .pt-app-texto { font-size: 15px; line-height: 22px; color: var(--pt-texto); }
.pt-app-sig-resena { padding-top: 16px; border-top: 1px solid var(--pt-linea); }

/* ---------- Tres funciones ---------- */
.pt-funciones { padding: 120px 0 0; }
.pt-fun-rejilla { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.pt-fun { position: relative; display: flex; flex-direction: column; border: 1px solid var(--pt-borde-fino); border-radius: 28px; background: #fff; overflow: hidden; transition: border-color .2s; }
.pt-fun:hover { border-color: #cfcfcf; }
.pt-fun:focus-within { outline: 3px solid var(--pt-tinta); outline-offset: 2px; }
.pt-fun-escena { position: relative; height: 344px; padding: 32px 32px 0; background: var(--pt-fondo); overflow: hidden; }
.pt-fun-escena .pt-pantalla { min-height: calc(100% + 2px); border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.pt-fun-texto { flex: 1; padding: 28px 32px 32px; border-top: 1px solid var(--pt-borde-fino); }
.pt-fun-texto h3 { font-size: 26px; line-height: 32px; font-weight: 600; letter-spacing: -.6px; }
.pt-fun-texto h3 a { color: inherit; text-decoration: none; }
.pt-fun-texto h3 a:focus-visible { outline: 0; }
.pt-fun-texto h3 a::after { content: ""; position: absolute; inset: 0; border-radius: 28px; }
.pt-fun-texto p { margin-top: 8px; font-size: 16px; line-height: 24px; color: var(--pt-texto); }

/* Pantallas del panel (maquetas con datos inventados) */
.pt-pantalla { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 20px; background: #fff; border: 1px solid var(--pt-borde-fino); border-radius: 18px; box-shadow: 0 18px 36px -18px rgba(23, 23, 23, .22); text-align: left; color: var(--pt-tinta); }
.pt-pantalla-t { font-size: 15px; line-height: 20px; font-weight: 600; color: var(--pt-tinta); }
.pt-pantalla .pt-fila { width: 100%; }
.pt-pantalla .pt-m-nota { margin-top: auto; padding-top: 4px; color: var(--pt-gris); }
.pt-pantalla.grande { width: min(760px, 100%); margin: 56px auto 0; gap: 14px; padding: 32px 36px; border: 0; border-radius: 24px; box-shadow: none; }
.pt-pantalla.grande .pt-pantalla-t { font-size: 18px; line-height: 24px; }
.pt-pantalla.grande .pt-m-quien { font-size: 14px; }
.pt-pantalla.grande .pt-m-quien b { font-size: 15px; }
.pt-pantalla.grande .pt-estrellas { font-size: 14px; }
.pt-pantalla.grande .pt-m-texto { font-size: 18px; line-height: 27px; }
.pt-pantalla.grande .pt-m-caja { padding: 14px 16px; font-size: 15.5px; line-height: 24px; border-radius: 14px; }
.pt-pantalla.grande .pt-m-etiqueta { font-size: 13px; }
.pt-pantalla.grande .pt-m-chip { min-height: 26px; padding: 3px 10px; font-size: 13px; }
.pt-pantalla.grande .pt-fila.linea { padding: 16px 0; font-size: 16px; line-height: 22px; }
.pt-fila { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 10px 0; border-top: 1px solid var(--pt-linea); }
.pt-fila.linea { flex-direction: row; align-items: center; justify-content: space-between; gap: 8px; font-size: 13.5px; line-height: 18px; color: var(--pt-tinta); }
.pt-fila.linea b { font-weight: 600; font-variant-numeric: tabular-nums; }
.pt-fila.yo { font-weight: 600; }

/* ---------- Bloque oscuro por sectores ---------- */
.pt-oscuro { margin-top: 120px; padding: 64px 0 104px; background: var(--pt-oscuro); color: #fff; }
.pt-pestanas { display: flex; gap: 2px; width: max-content; max-width: 100%; margin: 0 auto; padding: 4px; border-radius: 999px; background: var(--pt-oscuro-2); overflow-x: auto; scrollbar-width: none; }
.pt-pestanas::-webkit-scrollbar { display: none; }
.pt-pestanas [role="tab"] { flex: none; height: 52px; padding: 0 25px; border: 1px solid transparent; border-radius: 16px; background: var(--pt-oscuro-2); color: var(--pt-oscuro-texto); font: 500 16px/24px var(--pt-letra); letter-spacing: .1px; white-space: nowrap; cursor: pointer; transition: border-radius .15s, background .15s, color .15s; }
.pt-pestanas [role="tab"]:first-child { border-radius: 32px 16px 16px 32px; }
.pt-pestanas [role="tab"]:last-child { border-radius: 16px 32px 32px 16px; }
.pt-pestanas [role="tab"]:hover { color: #fff; }
.pt-pestanas [role="tab"][aria-selected="true"] { background: var(--pt-oscuro); color: #fff; border-radius: 32px; }
/* Los cuatro paneles ocupan la misma celda: el bloque mide lo que el más alto y no salta al cambiar de pestaña. */
.pt-paneles { display: grid; }
.pt-panel { grid-area: 1 / 1; text-align: center; }
.pt-panel[hidden] { display: block; visibility: hidden; }
.pt-panel > h3 { max-width: 1000px; margin: 64px auto 0; font-size: 56px; line-height: 60px; font-weight: 600; letter-spacing: -2px; color: #fff; text-wrap: balance; }
.pt-panel > .pt-boton { margin-top: 32px; }

/* ---------- Bloque doble: competencia ---------- */
.pt-doble { padding: 120px 0; }
.pt-doble-in { display: grid; grid-template-columns: 616px minmax(0, 503px); justify-content: space-between; align-items: center; gap: 40px; }
.pt-doble-maqueta { display: flex; flex-direction: column; gap: 6px; padding: 28px 32px 24px; background: #fff; border: 1px solid var(--pt-borde-fino); border-radius: 28px; box-shadow: 0 24px 48px -24px rgba(23, 23, 23, .22); }
.pt-graf-cab { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.pt-graf-cab .pt-pantalla-t { font-size: 18px; line-height: 24px; }
.pt-graf-leyenda { display: flex; flex-wrap: wrap; gap: 6px 20px; font-size: 13px; line-height: 18px; color: var(--pt-gris); }
.pt-graf-leyenda span::before { content: ""; display: inline-block; width: 16px; height: 3px; margin-right: 6px; border-radius: 2px; vertical-align: middle; background: var(--pt-tinta); }
.pt-graf-leyenda .zona::before { background: #b38600; }
.pt-graf { display: block; width: 100%; height: auto; margin: 12px 0 4px; }
.pt-graf-rejilla line { stroke: var(--pt-linea); stroke-width: 1; }
.pt-graf-ejes text { font: 400 11px var(--pt-letra); fill: var(--pt-gris); }
.pt-graf-zona { fill: none; stroke: #b38600; stroke-width: 2; stroke-dasharray: 5 4; }
.pt-graf-area { fill: var(--pt-marca); opacity: .18; }
.pt-graf-tu { fill: none; stroke: var(--pt-tinta); stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
.pt-graf-punto { fill: var(--pt-marca); stroke: var(--pt-tinta); stroke-width: 2; }
.pt-doble-maqueta .pt-m-nota { color: var(--pt-gris); }
.pt-doble-texto h2 { font-size: 56px; line-height: 60px; font-weight: 600; letter-spacing: -2px; }
.pt-doble-texto p { max-width: 460px; margin-top: 20px; font-size: 18px; line-height: 28px; color: var(--pt-texto); }

/* ---------- Tres pasos ---------- */
.pt-pasos { padding: 104px 0; background: var(--pt-fondo); text-align: center; }
.pt-pasos h2 { font-size: 56px; line-height: 60px; font-weight: 600; letter-spacing: -2px; text-wrap: balance; }
.pt-pasos-lista { list-style: none; margin: 72px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--pt-hueco); }
.pt-pasos-lista li { padding: 0 24px; }
.pt-hex { display: flex; align-items: center; justify-content: center; width: 96px; height: 96px; margin: 0 auto; font-size: 40px; line-height: 1; font-weight: 400; color: var(--pt-tinta); font-variant-numeric: tabular-nums; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='50,9 85.5,29.5 85.5,70.5 50,91 14.5,70.5 14.5,29.5' fill='%23FFC400' stroke='%23FFC400' stroke-width='12' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.pt-pasos-lista h3 { margin-top: 24px; font-size: 26px; line-height: 32px; font-weight: 600; letter-spacing: -.5px; }
.pt-pasos-lista p { margin-top: 8px; font-size: 16px; line-height: 24px; color: var(--pt-texto); }
.pt-pasos .pt-boton { margin-top: 64px; }

/* ---------- Planes (portada y /precios) ---------- */
.pt-planes { padding: 120px 0 104px; }
.pt-planes h2, .pt-preguntas h2 { font-size: 56px; line-height: 60px; font-weight: 600; letter-spacing: -2px; text-align: center; }
.pt-planes .pill-note { width: max-content; max-width: 100%; margin: 16px auto 0; padding: 8px 16px; border: 1px solid var(--pt-borde); border-radius: 999px; font-size: 14px; color: var(--pt-tinta); }
.pt-planes-rejilla { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; max-width: 1080px; margin: 64px auto 0; }
.pt-plan { display: flex; flex-direction: column; padding: 32px; border: 1px solid var(--pt-borde-fino); border-radius: 28px; background: #fff; }
.pt-plan h3 { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 30px; font-size: 20px; line-height: 28px; font-weight: 600; }
.pt-plan-marca { display: inline-flex; align-items: center; min-height: 26px; padding: 2px 12px; border-radius: 999px; background: var(--pt-marca); color: var(--pt-tinta); font-size: 13px; line-height: 18px; font-weight: 500; }
.pt-plan-precio { margin-top: 24px; min-height: 56px; display: flex; flex-wrap: wrap; align-items: flex-end; column-gap: 6px; font-size: 48px; line-height: 56px; font-weight: 600; letter-spacing: -1.5px; font-variant-numeric: tabular-nums; }
.pt-plan-precio > span { white-space: nowrap; }
.pt-plan-precio small { font-size: 16px; line-height: 40px; font-weight: 400; letter-spacing: 0; color: var(--pt-texto); }
.pt-plan-precio .pend { font-size: 28px; line-height: 40px; letter-spacing: -.5px; white-space: normal; }
.pt-plan-fichas { margin-top: 8px; font-size: 16px; line-height: 24px; color: var(--pt-texto); }
.pt-plan-anual { margin-top: 4px; font-size: 14px; line-height: 20px; color: var(--pt-texto); }
.pt-plan .pt-boton { margin-top: auto; }
.pt-plan .pt-plan-fichas { margin-bottom: 32px; }
.pt-plan.pop { background: var(--pt-oscuro); border-color: var(--pt-oscuro); color: #fff; }
.pt-plan.pop h3, .pt-plan.pop .pt-plan-precio { color: #fff; }
.pt-plan.pop .pt-plan-fichas, .pt-plan.pop .pt-plan-anual, .pt-plan.pop .pt-plan-precio small { color: var(--pt-oscuro-texto); }
/* A medida: sin cifra de precio, su cifra grande son las fichas, y lleva el fondo gris para no quedar en blanco al lado de Lite y Pro. */
.pt-plan.medida { background: var(--pt-fondo); border-color: var(--pt-fondo); }
.pt-planes-nota { margin-top: 32px; text-align: center; font-size: 16px; line-height: 24px; color: var(--pt-texto); }
.pt-planes-nota .pt-enlace { margin: 0 0 0 8px; }

/* ---------- Preguntas frecuentes ---------- */
.pt-preguntas { padding: 0 0 120px; }
.pt-faq { max-width: 1069px; margin: 56px auto 0; display: flex; flex-direction: column; gap: 16px; }
.pt-faq details { border: 1px solid var(--pt-borde); border-radius: 41px; background: #fff; }
.pt-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 80px; padding: 16px 28px 16px 32px; list-style: none; cursor: pointer; border-radius: 41px; font-size: 18px; line-height: 24px; font-weight: 500; letter-spacing: .1px; color: var(--pt-tinta); }
.pt-faq summary::-webkit-details-marker { display: none; }
.pt-faq summary::after { content: ""; flex: none; width: 24px; height: 24px; background: linear-gradient(var(--pt-tinta), var(--pt-tinta)) center / 14px 2px no-repeat, linear-gradient(var(--pt-tinta), var(--pt-tinta)) center / 2px 14px no-repeat; transition: transform .3s; }
.pt-faq details[open] summary::after { transform: rotate(45deg); }
.pt-faq summary:focus-visible { outline-offset: -3px; }
.pt-faq details p { padding: 0 32px 28px; font-size: 16px; line-height: 24px; letter-spacing: .1px; color: var(--pt-texto); }
.pt-faq details p a { color: var(--pt-tinta); text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Cierre ---------- */
.pt-cierre { padding: 104px 0; background: var(--pt-marca); text-align: center; }
.pt-cierre h2 { margin: 0 auto; font-size: 48px; line-height: 56px; font-weight: 600; letter-spacing: -1.5px; color: var(--pt-tinta); text-wrap: balance; }
.pt-cierre .pt-boton { margin-top: 40px; }

/* Botón fijo del móvil (portada) */
.pt-fija { display: none; }

/* ================= Páginas interiores: precios y funciones ================= */
/* Cabecera de la página: migas, titular corto, una línea y los botones */
.pt-pagina-cab { padding: 56px 0 0; text-align: center; }
.pt .migas { margin-bottom: 20px; font-size: 14px; line-height: 20px; color: var(--pt-gris); }
.pt .migas ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; }
.pt .migas li { display: flex; align-items: center; }
.pt .migas li + li::before { content: "/"; margin: 0 10px; color: var(--pt-gris); }
.pt .migas a { display: inline-flex; align-items: center; min-height: 44px; color: var(--pt-tinta); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.pt .migas [aria-current] { color: var(--pt-gris); }
.pt-pagina-cab h1 { max-width: 980px; margin: 0 auto; font-size: 64px; line-height: 68px; font-weight: 600; letter-spacing: -2.4px; color: var(--pt-tinta); text-wrap: balance; }
.pt-pagina-sub { max-width: 720px; margin: 20px auto 0; font-size: 20px; line-height: 30px; letter-spacing: -.1px; color: var(--pt-texto); text-wrap: balance; }
.pt-junto { white-space: nowrap; }
.pt-pagina-cab .pt-heroe-acciones { margin-top: 32px; }

/* La pantalla del panel, grande, sobre un fondo gris y cortada por abajo como en la portada */
.pt-escenario { margin-top: 56px; padding: 56px 48px 0; border-radius: 40px; background: var(--pt-fondo); overflow: hidden; }
.pt-escenario .pt-app { width: min(960px, 100%); margin: 0 auto; }

/* Bloques breves: una raya arriba, un título corto y una o dos frases */
.pt-bloques-sec { padding: 96px 0 0; }
.pt-bloques { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 48px 32px; }
.pt-bloques.tres { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pt-bloque { position: relative; padding-top: 20px; border-top: 2px solid var(--pt-tinta); }
.pt-bloque h3 { font-size: 22px; line-height: 28px; font-weight: 600; letter-spacing: -.4px; color: var(--pt-tinta); }
.pt-bloque p { margin-top: 10px; font-size: 16px; line-height: 24px; color: var(--pt-texto); }
.pt-bloque p + p { margin-top: 8px; }
.pt-bloque.enlace h3 a { text-decoration: none; }
.pt-bloque.enlace h3 a::after { content: ""; position: absolute; inset: -2px 0 0; }
.pt-bloque.enlace h3 a:focus-visible { outline: 0; }
.pt-bloque.enlace:focus-within { outline: 3px solid var(--pt-tinta); outline-offset: 6px; }
.pt-bloque.enlace:hover h3 a { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 2px; }
.pt-bloque .pt-ver { display: inline-block; margin-top: 12px; font-weight: 500; color: var(--pt-tinta); text-decoration: underline; text-underline-offset: 3px; }

/* Dos listas lado a lado (Funciones) o una lista con su título (Investigar autor) */
.pt-sec { padding: 96px 0 0; }
.pt-sec-t { font-size: 40px; line-height: 44px; font-weight: 600; letter-spacing: -1.4px; color: var(--pt-tinta); text-wrap: balance; }
.pt-sec-t.centro { text-align: center; }
.pt-sec-sub { max-width: 640px; margin-top: 12px; font-size: 18px; line-height: 28px; color: var(--pt-texto); }
.pt-sec-t + .pt-bloques, .pt-sec-sub + .pt-bloques { margin-top: 48px; }
.pt-lista.sin-margen { margin-top: 0; }
.pt-dos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 64px; }
.pt-dos .pt-sec-t { font-size: 32px; line-height: 38px; letter-spacing: -1px; }
.pt-lista { list-style: none; margin: 20px 0 0; padding: 0; }
.pt-lista li { padding: 14px 0; border-top: 1px solid var(--pt-linea); font-size: 16px; line-height: 24px; color: var(--pt-texto); }
.pt-lista li:last-child { border-bottom: 1px solid var(--pt-linea); }
.pt-lista li b { font-weight: 600; color: var(--pt-tinta); }
.pt-lista a { color: var(--pt-tinta); text-decoration: underline; text-underline-offset: 3px; }

/* Aviso que se lee entero (lo que el panel no es y no promete) */
.pt-aviso { max-width: 860px; margin: 0 auto; padding: 28px 32px; border: 1px solid var(--pt-borde); border-radius: 28px; background: #fff; font-size: 17px; line-height: 27px; color: var(--pt-tinta); }
.pt-aviso b { font-weight: 600; }
.pt-aviso p + p { margin-top: 8px; }
.pt-aviso a { text-decoration: underline; text-underline-offset: 3px; }

/* Las otras funciones, en píldoras */
.pt-otras { padding: 96px 0; text-align: center; }
.pt-otras h2 { font-size: 32px; line-height: 38px; font-weight: 600; letter-spacing: -1px; }
.pt .enlaces { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 24px; }
.pt .enlaces a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border: 1px solid var(--pt-borde); border-radius: 999px; background: #fff; font-size: 16px; line-height: 24px; font-weight: 500; color: var(--pt-tinta); text-decoration: none; }
.pt .enlaces a:hover { background: var(--pt-fondo); }
.pt .enlaces a[aria-current] { background: var(--pt-tinta); border-color: var(--pt-tinta); color: #fff; }

/* Precios: los planes, una línea de condiciones, la tabla corta y las preguntas */
.pt-planes.pagina { padding: 48px 0 0; }
.pt-planes.pagina .pt-planes-rejilla { margin-top: 0; }
.pt-planes.pagina .pill-note { margin: 0 auto 24px; }
.pt-condiciones { max-width: 1080px; margin: 28px auto 0; text-align: center; font-size: 16px; line-height: 24px; color: var(--pt-texto); text-wrap: pretty; }
.pt-tabla-caja { max-width: 1080px; margin: 40px auto 0; border: 1px solid var(--pt-borde-fino); border-radius: 28px; overflow: hidden; }
.pt-tabla { width: 100%; border-collapse: collapse; font-size: 16px; line-height: 24px; }
.pt-tabla th, .pt-tabla td { padding: 16px 24px; text-align: left; vertical-align: top; border-top: 1px solid var(--pt-linea); }
.pt-tabla thead th { border-top: 0; background: var(--pt-fondo); font-weight: 600; color: var(--pt-tinta); }
.pt-tabla tbody th { width: 40%; font-weight: 500; color: var(--pt-tinta); }
.pt-tabla td { color: var(--pt-texto); }
.pt-tabla td[colspan] { color: var(--pt-tinta); }
.pt-nota { max-width: 1080px; margin: 16px auto 0; font-size: 14px; line-height: 21px; color: var(--pt-gris); }
.pt-nota a { color: var(--pt-tinta); text-decoration: underline; text-underline-offset: 3px; }
.pt-preguntas.pagina { padding: 96px 0; }
.pt-preguntas.pagina h2 { font-size: 40px; line-height: 44px; letter-spacing: -1.4px; }
.pt-preguntas.pagina .pt-faq { max-width: 900px; margin-top: 40px; gap: 12px; }
.pt-preguntas.pagina .pt-faq summary { min-height: 68px; font-size: 17px; }

/* ================= Portátil y tableta ================= */
@media (max-width: 1399px) {
  .pt-heroe { padding-top: 56px; }
  .pt-heroe h1 { max-width: 920px; font-size: 72px; line-height: 76px; letter-spacing: -2.6px; }
  .pt-heroe-acciones { margin-top: 32px; }
  .pt-pagina-cab h1 { font-size: 56px; line-height: 60px; letter-spacing: -2px; }
}
@media (max-width: 1279px) {
  .pt-doble-in { grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 48px; }
  .pt-doble-maqueta { width: min(616px, 100%); }
  .pt-doble-texto { width: min(616px, 100%); }
  .pt-app { grid-template-columns: 184px minmax(0, 1fr); }
  .pt-bloques { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1099px) {
  .pt-fun-rejilla, .pt-planes-rejilla { grid-template-columns: minmax(0, 1fr); max-width: 560px; margin-inline: auto; }
  .pt-app { grid-template-columns: minmax(0, 1fr); }
  .pt-heroe-foto .pt-app { width: min(640px, calc(100% - 64px)); }
  .pt-app-lado { display: none; }
  .pt-escenario .pt-app { width: min(720px, 100%); }
  .pt-bloques.tres { grid-template-columns: minmax(0, 1fr); max-width: 640px; margin-inline: auto; }
}

/* ================= Móvil y tableta (menú plegado) ================= */
@media (max-width: 959px) {
  .pt-heroe { padding-top: 48px; }
  .pt-heroe h1 { font-size: 48px; line-height: 52px; letter-spacing: -1.8px; }
  .pt-heroe-sub { font-size: 18px; line-height: 27px; }
  .pt-heroe-foto { aspect-ratio: auto; overflow: visible; border-radius: 0; background: none; margin-top: 48px; }
  .pt-heroe-foto::after { display: none; }
  .pt-heroe-foto > img { aspect-ratio: 16 / 10; height: auto; border-radius: 24px; }
  .pt-heroe-foto .pt-app { position: relative; left: auto; top: auto; bottom: auto; transform: none; width: auto; max-width: 560px; margin: -96px auto 0; border-bottom: 1px solid rgba(23, 23, 23, .08); border-radius: 20px; }

  .pt-funciones { padding-top: 96px; }
  .pt-oscuro { margin-top: 96px; padding: 48px 0 80px; }
  .pt-panel > h3 { margin-top: 48px; font-size: 40px; line-height: 46px; letter-spacing: -1.4px; }
  .pt-doble, .pt-planes { padding: 96px 0; }
  .pt-preguntas { padding-bottom: 96px; }
  .pt-pasos { padding: 96px 0; }
  .pt-cierre { padding: 96px 0; }
  .pt-pasos h2, .pt-planes h2, .pt-preguntas h2, .pt-doble-texto h2 { font-size: 44px; line-height: 50px; letter-spacing: -1.6px; }

  .pt-pagina-cab { padding-top: 40px; }
  .pt-pagina-cab h1 { font-size: 44px; line-height: 50px; letter-spacing: -1.6px; }
  .pt-pagina-sub { font-size: 18px; line-height: 27px; }
  .pt-escenario { margin-top: 48px; padding: 32px 24px 0; border-radius: 32px; }
  .pt-bloques-sec, .pt-sec { padding-top: 80px; }
  .pt-sec-t, .pt-preguntas.pagina h2 { font-size: 34px; line-height: 40px; letter-spacing: -1.2px; }
  .pt-dos { grid-template-columns: minmax(0, 1fr); }
  .pt-otras, .pt-preguntas.pagina { padding: 80px 0; }
  .pt-planes.pagina { padding: 40px 0 0; }

  .pt-fija:not([hidden]) { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 55; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: #fff; box-shadow: 0 -2px 14px rgba(23, 23, 23, .14); }
}

@media (max-width: 759px) {
  .pt-heroe { padding-top: 40px; }
  .pt-heroe h1 { font-size: 38px; line-height: 44px; letter-spacing: -1.4px; }
  .pt-heroe-sub { margin-top: 16px; font-size: 17px; line-height: 25px; }
  .pt-heroe-acciones { flex-direction: column; gap: 4px; margin-top: 28px; }
  .pt-boton.grande { width: 100%; }
  .pt-mono { margin-top: 12px; font-size: 12px; line-height: 18px; }
  .pt-heroe-foto { margin-top: 36px; }
  .pt-heroe-foto .pt-app { margin-top: -72px; width: calc(100% - 20px); }
  .pt-app-main { gap: 14px; padding: 20px; }
  .pt-app-cab b { font-size: 19px; }
  .pt-app-frase { font-size: 17px; line-height: 24px; }
  .pt-app-resena p { font-size: 16px; line-height: 24px; }
  .pt-app-propuesta p { font-size: 15px; line-height: 23px; }
  .pt-app-pie .pt-m-chips, .pt-heroe-foto .pt-app-sig { display: none; }
  .pt-app-pie .pt-m-acciones { width: 100%; flex-wrap: nowrap; }
  .pt-app-pie .pt-m-boton { flex: 1; justify-content: center; padding: 0 10px; }
  .pt-app .pt-m-caja { font-size: 14px; line-height: 21px; }
  .pt-app .pt-fila.linea { font-size: 14px; }

  .pt-funciones { padding-top: 72px; }
  .pt-fun-rejilla { gap: 16px; }
  .pt-fun { border-radius: 24px; }
  .pt-fun-escena { height: auto; padding: 20px 20px 0; }
  .pt-fun-escena .pt-pantalla { min-height: 0; }
  .pt-fun-texto { padding: 22px 22px 26px; }
  .pt-fun-texto h3 { font-size: 22px; line-height: 28px; }

  .pt-oscuro { margin-top: 72px; padding: 40px 0 64px; }
  .pt-pestanas { width: 100%; }
  .pt-pestanas [role="tab"] { flex: 1 0 auto; padding: 0 14px; font-size: 15px; }
  .pt-panel > h3 { margin-top: 36px; font-size: 32px; line-height: 38px; letter-spacing: -1px; }
  .pt-pantalla.grande { margin-top: 36px; padding: 20px; border-radius: 20px; }
  .pt-pantalla.grande .pt-m-texto { font-size: 16px; line-height: 24px; }
  .pt-pantalla.grande .pt-m-caja { font-size: 14.5px; line-height: 22px; }
  .pt-pantalla.grande .pt-fila.linea { flex-wrap: wrap; font-size: 15px; }

  .pt-doble, .pt-planes { padding: 72px 0; }
  .pt-doble-in { gap: 32px; }
  .pt-doble-maqueta { padding: 20px 18px 16px; border-radius: 24px; }
  .pt-doble-texto p { font-size: 17px; line-height: 26px; }
  .pt-pasos { padding: 72px 0; }
  .pt-pasos h2, .pt-planes h2, .pt-preguntas h2, .pt-doble-texto h2 { font-size: 34px; line-height: 40px; letter-spacing: -1.2px; }
  .pt-pasos-lista { grid-template-columns: minmax(0, 1fr); gap: 40px; margin-top: 48px; }
  .pt-pasos .pt-boton { margin-top: 48px; }
  .pt-planes-rejilla { margin-top: 40px; gap: 16px; }
  .pt-plan { padding: 26px 24px; border-radius: 24px; }
  .pt-plan .pt-plan-fichas { margin-bottom: 24px; }
  .pt-preguntas { padding-bottom: 72px; }
  .pt-faq { margin-top: 36px; gap: 12px; }
  .pt-faq details, .pt-faq summary { border-radius: 28px; }
  .pt-faq summary { min-height: 64px; padding: 14px 20px 14px 24px; font-size: 17px; }
  .pt-faq details p { padding: 0 24px 22px; }
  .pt-cierre { padding: 72px 0; }
  .pt-cierre h2 { font-size: 32px; line-height: 38px; letter-spacing: -1px; }

  .pt-pagina-cab { padding-top: 24px; }
  .pt .migas { margin-bottom: 12px; }
  .pt-pagina-cab h1 { font-size: 36px; line-height: 42px; letter-spacing: -1.2px; }
  .pt-pagina-sub { margin-top: 16px; font-size: 17px; line-height: 25px; }
  .pt-pagina-cab .pt-heroe-acciones { margin-top: 24px; }
  .pt-escenario { margin-top: 36px; padding: 20px 10px 0; border-radius: 24px; }
  .pt-bloques-sec, .pt-sec { padding-top: 64px; }
  .pt-bloques { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .pt-bloque h3 { font-size: 20px; line-height: 26px; }
  .pt-sec-t, .pt-preguntas.pagina h2 { font-size: 30px; line-height: 36px; letter-spacing: -1px; }
  .pt-dos .pt-sec-t { font-size: 26px; line-height: 32px; }
  .pt-aviso { padding: 22px 20px; border-radius: 22px; font-size: 16px; line-height: 25px; }
  .pt-otras, .pt-preguntas.pagina { padding: 64px 0; }
  .pt-otras h2 { font-size: 26px; line-height: 32px; }
  .pt-planes.pagina { padding: 32px 0 0; }
  .pt-condiciones { margin-top: 20px; font-size: 15px; line-height: 23px; }
  .pt-tabla-caja { margin-top: 28px; border-radius: 20px; }
  .pt-tabla { font-size: 14px; line-height: 20px; }
  .pt-tabla th, .pt-tabla td { padding: 12px 10px; }
  .pt-tabla th:first-child { padding-left: 14px; }
  .pt-tabla tbody th { width: 44%; }
  .pt-app .pt-m-pasos { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 8px; }
  .pt-app .pt-m-dos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .pt-app .pt-m-dos span { padding: 10px 12px; }
  .pt-app .pt-m-dos span:nth-child(3) { display: none; }
  .pt-app .pt-m-dos b { font-size: 22px; line-height: 28px; }
  .pt-app .pt-m-dos b small { display: block; font-size: 12px; line-height: 16px; }
}

/* Zonas táctiles de las piezas de estas páginas */
@media (max-width: 959px), (pointer: coarse) {
  .pt-fun-texto h3 a { display: inline-flex; align-items: center; min-height: 44px; margin: -6px 0; }
  .pt-bloque.enlace h3 a { display: inline-flex; align-items: center; min-height: 44px; margin: -8px 0; }
  .pt-nota a, .pt-lista a { display: inline-block; padding: 12px 0; margin: -12px 0; }
}

/* ================= Piezas de las maquetas del panel ================= */
.pt-estrellas { display: inline-flex; gap: 1px; color: var(--pt-marca); -webkit-text-stroke: .6px #8a6700; font-size: 12px; line-height: 1; letter-spacing: 0; }
.pt-estrellas i { font-style: normal; color: #fff; -webkit-text-stroke: .6px #8a8a8a; }
.pt-m-quien { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 12px; line-height: 16px; color: var(--pt-gris); }
.pt-m-quien b { font-size: 13px; font-weight: 600; color: var(--pt-tinta); }
.pt-m-etiqueta { display: block; font-size: 12px; line-height: 16px; font-weight: 600; color: var(--pt-gris); }
.pt-m-caja { width: 100%; padding: 8px 10px; background: var(--pt-fondo); border: 1px solid var(--pt-linea); border-radius: 10px; font-size: 12.5px; line-height: 18px; color: var(--pt-tinta); }
.pt-m-caja .pt-m-etiqueta { margin-bottom: 2px; }
.pt-m-caja.miel { background: #fffbeb; border-color: #e8d9a8; }
.pt-m-caja.miel .pt-m-etiqueta { color: #735700; }
.pt-m-texto { font-size: 12.5px; line-height: 18px; color: var(--pt-tinta); }
.pt-m-texto b { font-weight: 600; }
.pt-m-acciones { display: flex; flex-wrap: wrap; gap: 6px; }
.pt-m-boton { display: inline-flex; align-items: center; height: 28px; padding: 0 12px; border: 1px solid #d4d4d4; border-radius: 8px; background: #fff; color: var(--pt-tinta); font-size: 12px; font-weight: 500; white-space: nowrap; }
.pt-m-boton.tinta { background: var(--pt-tinta); border-color: var(--pt-tinta); color: #fff; }
.pt-m-boton.marca { background: var(--pt-marca); border-color: var(--pt-marca); color: var(--pt-tinta); }
.pt-m-boton.suave { border-color: transparent; background: none; text-decoration: underline; text-underline-offset: 2px; }
.pt-m-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.pt-m-chip { display: inline-flex; align-items: center; width: fit-content; min-height: 22px; padding: 2px 8px; border: 1px solid var(--pt-linea); border-radius: 6px; background: var(--pt-fondo); color: var(--pt-texto); font-size: 12px; line-height: 16px; font-weight: 500; white-space: nowrap; }
.pt-m-chip.rojo { background: #fdf2f3; border-color: #f3c9cf; color: #b4233c; }
.pt-m-chip.miel { background: #fff6d5; border-color: #e8d9a8; color: #735700; }
.pt-m-chip.verde { background: #f0fdf4; border-color: #c6ecd3; color: #166534; }
.pt-m-chip.tinta { background: var(--pt-tinta); border-color: var(--pt-tinta); color: #fff; }
.pt-m-chip.borde { background: #fff; border-color: #d4d4d4; color: var(--pt-tinta); }
.pt-m-ok { font-size: 12px; line-height: 16px; font-weight: 500; color: #166534; }
.pt-m-pasos { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 4px; width: 100%; }
.pt-m-pasos span { padding-top: 5px; border-top: 3px solid #e3e3e3; font-size: 11.5px; line-height: 15px; color: var(--pt-gris); }
.pt-m-pasos .hecho { border-color: var(--pt-tinta); color: var(--pt-tinta); }
.pt-m-pasos .ahora { border-color: var(--pt-marca); color: var(--pt-tinta); font-weight: 600; }
.pt-m-opciones { display: flex; flex-direction: column; gap: 6px; width: 100%; }
.pt-m-opciones span { padding: 7px 10px; border: 1px solid #d4d4d4; border-radius: 8px; font-size: 12.5px; line-height: 16px; color: var(--pt-tinta); }
.pt-m-opciones .on { background: var(--pt-tinta); border-color: var(--pt-tinta); color: #fff; font-weight: 500; }
.pt-m-cifra { font-size: 28px; line-height: 34px; font-weight: 600; letter-spacing: -.5px; color: var(--pt-tinta); }
.pt-m-dos { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; width: 100%; }
.pt-m-dos span { padding: 12px 14px; border: 1px solid var(--pt-linea); border-radius: 12px; font-size: 13px; line-height: 18px; color: var(--pt-gris); }
.pt-m-dos b { display: block; margin: 2px 0; font-size: 26px; line-height: 32px; font-weight: 600; letter-spacing: -.5px; color: var(--pt-tinta); }
.pt-m-dos b small { font-size: 13px; font-weight: 400; letter-spacing: 0; color: var(--pt-gris); }
.pt-m-nota { display: block; font-size: 12px; line-height: 16px; color: var(--pt-texto); }

/* ================= Cuarta vuelta (25-10-2026): sectores, cómo funciona, contacto, agencias, preguntas, sobre nosotros,
   404 y la calculadora de reseñas, con las mismas piezas que precios y funciones ================= */
.pt-bloques.dos { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 1080px; }
.pt-centro .pt-enlace { margin-top: 0; }
.pt-bloque .pt-ver { position: relative; z-index: 1; }

/* Pantalla del panel sin barra lateral (la de «Tus negocios», que no es de un solo negocio) */
.pt-app.sin-lado { grid-template-columns: minmax(0, 1fr); }

/* Sectores: título encima y, debajo, la lista de funciones y el aviso en dos columnas */
.pt-sec-t + .pt-dos { margin-top: 8px; }
.pt-dos > .pt-aviso { align-self: start; margin: 20px 0 0; }
/* Las píldoras de «Otros sectores» justo después de las preguntas, sin doble aire */
.pt-otras.pegada { padding-top: 0; }
/* Cómo funciona: los bloques del día a día debajo de la pantalla del panel */
.pt-escenario + .pt-bloques { margin-top: 56px; }
/* Agencias: solo Pro y A medida, en dos columnas */
.pt-planes-rejilla.dos { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 720px; }
.pt-sec-t + .pt-planes-rejilla { margin-top: 40px; }
.pt-condiciones .pt-enlace { margin: 0 0 0 8px; }

/* Pasos del alta en /como-funciona: los hexágonos de la portada con el título de las páginas interiores */
.pt-pasos.pagina { margin-top: 96px; padding: 88px 0; }
.pt-pasos.pagina h2 { font-size: 40px; line-height: 44px; letter-spacing: -1.4px; }
.pt-pasos.pagina .pt-pasos-lista { margin-top: 56px; row-gap: 56px; }
.pt-pasos.pagina .pt-hex { width: 80px; height: 80px; font-size: 34px; }
.pt-pasos.pagina h3 { font-size: 22px; line-height: 28px; letter-spacing: -.4px; }

/* Preguntas por grupos, con su título (precios y preguntas frecuentes) */
.pt-faq-grupo { max-width: 900px; margin: 48px auto 0; scroll-margin-top: 120px; }
.pt-faq-grupo + .pt-faq-grupo { margin-top: 56px; }
.pt-faq-grupo:first-child { margin-top: 0; }
.pt-faq-t, .pt-preguntas.pagina .pt-faq-grupo > .pt-faq-t { margin: 0; font-size: 24px; line-height: 30px; font-weight: 600; letter-spacing: -.5px; color: var(--pt-tinta); text-align: left; }
.pt-preguntas.pagina .pt-faq-grupo .pt-faq { margin-top: 16px; }
.pt-temas { margin-top: 32px; }

/* Cajas (contacto, calculadora): borde fino, esquinas grandes y aire */
.pt-caja { display: flex; flex-direction: column; padding: 36px; border: 1px solid var(--pt-borde-fino); border-radius: 28px; background: #fff; text-align: left; }
.pt-caja.gris { background: var(--pt-fondo); border-color: var(--pt-fondo); }
.pt-caja-t { font-size: 32px; line-height: 38px; font-weight: 600; letter-spacing: -1px; color: var(--pt-tinta); }
.pt-caja-t + p { margin-top: 10px; font-size: 16px; line-height: 24px; color: var(--pt-texto); }
.pt-contacto { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 24px; max-width: 1180px; margin: 48px auto 0; }
.pt-correo { display: inline-block; margin-top: 20px; font-size: 26px; line-height: 34px; font-weight: 500; letter-spacing: -.4px; color: var(--pt-tinta); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; overflow-wrap: anywhere; }
.pt-copiar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-top: 16px; }
.pt-copiado { font-size: 15px; line-height: 22px; color: var(--pt-texto); }
.pt-caja-boton { align-self: flex-start; margin-top: 28px; }
/* Última sección antes del cierre amarillo, cuando no es la de píldoras (que ya trae su aire) */
.pt-sec.ultima { padding-bottom: 96px; }
.pt-caja .pt-dato { margin-top: auto; padding-top: 28px; font-size: 16px; line-height: 24px; color: var(--pt-texto); }

/* Formularios: campos de 48 px, casilla de 24 px con 44 px de zona de toque */
:is(.pt-form, .demo-form) { display: flex; flex-direction: column; gap: 16px; margin-top: 24px; }
:is(.pt-form, .demo-form) .dos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pt-campo { display: flex; flex-direction: column; gap: 6px; }
.pt-campo label { font-size: 15px; line-height: 20px; font-weight: 500; color: var(--pt-tinta); }
.pt-campo .opc { font-weight: 400; color: var(--pt-gris); }
.pt-entrada { width: 100%; min-height: 48px; margin: 0; padding: 11px 14px; border: 1px solid #8a8a8a; border-radius: 12px; background: #fff; font: 400 16px/24px var(--pt-letra); color: var(--pt-tinta); }
textarea.pt-entrada { min-height: 104px; resize: vertical; }
.pt-entrada::placeholder { color: #6b6b6b; opacity: 1; }
.pt-entrada:hover { border-color: var(--pt-tinta); }
.pt-entrada:focus-visible { outline: 3px solid var(--pt-tinta); outline-offset: 1px; border-color: var(--pt-tinta); }
.pt-entrada[aria-invalid="true"] { border-color: #b4233c; box-shadow: inset 0 0 0 1px #b4233c; }
.pt-ayuda { font-size: 14px; line-height: 20px; color: var(--pt-gris); }
.pt-casilla { display: flex; align-items: flex-start; gap: 12px; min-height: 44px; padding: 10px 0; font-size: 15px; line-height: 22px; color: var(--pt-texto); cursor: pointer; }
.pt-casilla input { flex: none; width: 24px; height: 24px; margin: -1px 0 0; accent-color: var(--pt-tinta); cursor: pointer; }
.pt-casilla input:focus-visible { outline: 3px solid var(--pt-tinta); outline-offset: 2px; }
.pt-casilla a { color: var(--pt-tinta); text-decoration: underline; text-underline-offset: 3px; }
:is(.pt-form, .demo-form) .pt-boton { align-self: flex-start; }
:is(.pt-form, .demo-form) .pt-boton[disabled] { opacity: .6; cursor: not-allowed; }
.pt-error { font-size: 15px; line-height: 22px; font-weight: 500; color: #b4233c; }
.pt-error:empty { display: none; }
.pt-aviso-ok, .pt-aviso-mal { padding: 14px 16px; border: 1px solid; border-radius: 14px; font-size: 15px; line-height: 22px; }
.pt-aviso-ok { background: #f0fdf4; border-color: #c6ecd3; color: #14532d; }
.pt-aviso-mal { background: #fdf2f3; border-color: #f3c9cf; color: #9f1d33; }
.pt-aviso-ok[hidden] { display: none; }
/* Sin JavaScript, el servidor vuelve a /contacto#demo-recibido o #demo-error: solo se ve el aviso al que apunta el enlace. */
.pt .solo-destino { display: none; margin-top: 16px; }
.pt .solo-destino:target { display: block; }
.pt .trampa { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Calculadora de reseñas: los datos a la izquierda y el resultado, en grande, a la derecha */
.pt-calc { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; max-width: 1080px; margin: 48px auto 0; }
.pt-calc .pt-form { margin-top: 0; }
.pt-calc-res { justify-content: center; background: var(--pt-oscuro); border-color: var(--pt-oscuro); color: #fff; }
.pt-calc-res .pt-calc-etiqueta { font-size: 15px; line-height: 22px; font-weight: 500; color: var(--pt-oscuro-texto); }
.pt-calc-cifra { margin-top: 8px; font-size: 80px; line-height: 84px; font-weight: 600; letter-spacing: -3px; font-variant-numeric: tabular-nums; color: #fff; }
.pt-calc-cifra.texto { font-size: 40px; line-height: 46px; letter-spacing: -1.2px; }
.pt-calc-res .pt-calc-frase { margin-top: 8px; font-size: 20px; line-height: 28px; font-weight: 500; color: #fff; }
.pt-calc-res .pt-calc-extra { margin-top: 12px; font-size: 16px; line-height: 24px; color: var(--pt-oscuro-texto); }
.pt-otras-sub { margin: 12px auto 0; }
.pt-calc-nota { max-width: 1080px; margin: 24px auto 0; font-size: 15px; line-height: 23px; color: var(--pt-texto); text-align: left; }

/* Datos de la empresa (sobre nosotros) */
.pt-sec-sub a { color: var(--pt-tinta); text-decoration: underline; text-underline-offset: 3px; }
.pt-lista.datos li { display: flex; flex-wrap: wrap; gap: 4px 12px; }
.pt-lista.datos li > span:first-child { min-width: 96px; font-weight: 600; color: var(--pt-tinta); }

/* Dos enlaces de texto seguidos (portada: Competencia y la calculadora) */
.pt-enlaces-texto { display: flex; flex-wrap: wrap; gap: 0 28px; }

/* 404 */
.pt-pagina-cab.nf { padding-bottom: 120px; }

@media (max-width: 1099px) {
  .pt-calc, .pt-contacto { grid-template-columns: minmax(0, 1fr); max-width: 640px; }
}
@media (max-width: 959px) {
  .pt-pasos.pagina { margin-top: 80px; padding: 72px 0; }
  .pt-pasos.pagina h2 { font-size: 34px; line-height: 40px; letter-spacing: -1.2px; }
  .pt-sec.ultima { padding-bottom: 80px; }
  .pt-pagina-cab.nf { padding-bottom: 96px; }
}
@media (max-width: 759px) {
  .pt-bloques.dos { grid-template-columns: minmax(0, 1fr); }
  .pt-sec.ultima { padding-bottom: 64px; }
  .pt-planes-rejilla.dos { grid-template-columns: minmax(0, 1fr); max-width: 560px; }
  .pt-pasos.pagina { margin-top: 64px; padding: 56px 0; }
  .pt-pasos.pagina h2 { font-size: 30px; line-height: 36px; letter-spacing: -1px; }
  .pt-pasos.pagina .pt-pasos-lista { margin-top: 40px; row-gap: 36px; }
  .pt-faq-grupo { margin-top: 36px; }
  .pt-faq-grupo + .pt-faq-grupo { margin-top: 44px; }
  .pt-faq-t, .pt-preguntas.pagina .pt-faq-grupo > .pt-faq-t { font-size: 21px; line-height: 27px; letter-spacing: -.3px; }
  .pt-caja { padding: 24px 20px; border-radius: 22px; }
  .pt-caja-t { font-size: 26px; line-height: 32px; }
  .pt-contacto, .pt-calc { margin-top: 32px; gap: 16px; }
  :is(.pt-form, .demo-form) .dos { grid-template-columns: minmax(0, 1fr); }
  :is(.pt-form, .demo-form) .pt-boton { align-self: stretch; }
  .pt-correo { font-size: 21px; line-height: 28px; }
  .pt-calc-cifra { font-size: 64px; line-height: 68px; letter-spacing: -2px; }
  .pt-calc-cifra.texto { font-size: 32px; line-height: 38px; }
  .pt-calc-res .pt-calc-frase { font-size: 18px; line-height: 26px; }
  .pt-pagina-cab.nf { padding-bottom: 72px; }
}
/* Zonas táctiles de estas piezas */
@media (max-width: 959px), (pointer: coarse) {
  .pt-bloque .pt-ver { display: inline-flex; align-items: center; min-height: 44px; margin-top: 4px; }
  .pt-casilla a { display: inline-block; padding: 11px 0; margin: -11px 0; }
  .pt-correo { padding: 8px 0; margin-top: 12px; }
}
