/* HAUSPO · demo DM-1: reserva por turnos en la web y panel del dueño. Mismo lenguaje que HAUSPO: papel, tinta, brasa,
   Anton en mayúsculas para los títulos, Archivo para el texto, rayas finas, cajas rectas y el bloque negro del ticket.
   Móvil primero (el dueño lo mira en el móvil). Hover solo con ratón; al pulsar, scale(.97). */
label { -webkit-tap-highlight-color: transparent; }
:root { --raya: #8d8d86; --raya-2: #d3d3cc; --sal: cubic-bezier(.23, 1, .32, 1); }

/* ---------- banda de muestra ---------- */
.banda-demo { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 0; padding: 9px 12px; background: var(--brasa); color: var(--papel); font-size: 12px; font-weight: 600; line-height: 1.35; }
.banda-demo strong { font-weight: 800; text-transform: uppercase; letter-spacing: .02em; }
.banda-demo a, .banda-demo .rv-enlace { display: inline-block; color: var(--papel); font-weight: 800; text-transform: uppercase; text-decoration: underline; text-underline-offset: .18em; padding: 12px 0; min-height: 44px; }
.banda-demo { padding-top: 2px; padding-bottom: 2px; }
.banda-demo :focus-visible { outline-color: var(--papel); }

/* ---------- botones y enlaces comunes ---------- */
.rv-enlace { background: none; border: 0; padding: 10px 0; min-height: 44px; font: 700 13px/1.2 "Archivo", Arial, sans-serif; color: inherit; text-decoration: underline; text-underline-offset: .18em; cursor: pointer; text-align: left; }
.pildora, .rv-chips [role=radio], .rv-pm, .pn-completo, .pn-barra, .cerrar { transition: transform .14s var(--sal), background-color .2s ease, color .2s ease; }
.pildora:active, .rv-chips [role=radio]:active, .rv-pm:active, .rv-op:active, .pn-completo:active, .pn-barra:active, .rv-enlace:active, .cerrar:active { transform: scale(.97); }
.pildora { border: 0; cursor: pointer; font-family: "Archivo", Arial, sans-serif; gap: .6em; }
.pildora[disabled] { opacity: .45; cursor: default; }
.rv-ej { display: inline-block; padding: 1px 6px; background: var(--brasa); color: var(--papel); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .02em; }

/* ---------- RESERVA EN LA WEB ---------- */
.rv-form { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.reserva.rv > * { min-width: 0; }
.rv-grupo { border: 0; margin: 0; padding: 0; min-width: 0; }
.rv-grupo legend, .rv-dos label, .rv-consent { text-transform: uppercase; font-size: 12px; font-weight: 800; padding: 0; margin-bottom: 8px; }
.rv-chips { display: flex; gap: 6px; }
.rv-dias, .pn-dias, #tel-dias { overflow-x: auto; scroll-snap-type: x proximity; padding-bottom: 4px; scrollbar-width: thin; }
.rv-chips [role=radio] { flex: none; scroll-snap-align: start; min-width: 48px; min-height: 48px; padding: 0 12px; border: 1px solid var(--raya); border-radius: 0; background: #fff; color: var(--tinta); font: 700 15px/1 "Archivo", Arial, sans-serif; cursor: pointer; font-variant-numeric: tabular-nums; }
.rv-chips [role=radio][aria-checked=true] { background: var(--tinta); border-color: var(--tinta); color: var(--papel); }
.rv-chips [role=radio][disabled] { background: #e3e4dd; color: var(--suave); border-style: dashed; cursor: default; }
.rv-chips [role=radio]:focus-visible { outline: 2px solid var(--brasa); outline-offset: 2px; }
.rv-dias [role=radio], .pn-dias [role=radio], #tel-dias [role=radio] { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-width: 62px; padding: 8px 8px; }
.cd-arriba { font-size: 11px; font-weight: 800; text-transform: uppercase; white-space: nowrap; }
.cd-num { font: 400 24px/1 "Anton", Impact, sans-serif; }
.cd-abajo { font-size: 11px; font-weight: 700; opacity: .75; }
.rv-turnos { display: flex; flex-direction: column; gap: 10px; }
.rv-turno { display: flex; flex-direction: column; gap: 8px; padding-top: 10px; border-top: 1px solid var(--raya-2); min-width: 0; }
.rv-turno:first-child { border-top: 0; padding-top: 0; }
.rv-turno-n { font: 400 20px/1 "Anton", Impact, sans-serif; text-transform: uppercase; }
.rv-turno-n small { display: inline-block; margin-left: 8px; font: 700 11px/1 "Archivo", Arial, sans-serif; color: var(--suave); }
.rv-horas { flex-wrap: wrap; }
.rv-horas [role=radio] { padding: 0 10px; min-width: 64px; }
.rv-nota { font-weight: 600; color: var(--suave); padding-top: 4px; }
.rv-turno.lleno .rv-nota { color: var(--tinta); }
.rv-turno.lleno .rv-nota strong { display: inline-block; margin-right: 6px; padding: 3px 7px; background: var(--tinta); color: var(--papel); text-transform: uppercase; }
.rv-paso { display: flex; align-items: center; gap: 4px; }
.rv-pm { width: 48px; height: 48px; border: 1px solid var(--raya); background: #fff; color: var(--tinta); font: 700 22px/1 "Archivo", Arial, sans-serif; cursor: pointer; }
.rv-paso output { min-width: 56px; text-align: center; font: 400 34px/1 "Anton", Impact, sans-serif; display: inline-block; }
.rv-ayuda { margin-top: 8px; font-weight: 500; color: var(--suave); }
.rv-dos { display: grid; grid-template-columns: 1fr; gap: 14px; }
.rv-dos label { display: grid; gap: 8px; margin: 0; }
.rv-form input[type=text], .rv-form input[type=tel], .pn-dlg input[type=text], .pn-dlg input[type=tel] { font: 600 16px/1.2 "Archivo", Arial, sans-serif; color: var(--tinta); background: #fff; border: 1px solid var(--raya); border-radius: 0; padding: 12px; min-height: 48px; width: 100%; }
.rv-form input:focus-visible, .pn-dlg input:focus-visible { outline: 2px solid var(--tinta); outline-offset: 1px; }
.rv-opciones { display: flex; flex-wrap: wrap; gap: 6px; }
.rv-form .rv-op, .pn-dlg .rv-op { position: relative; gap: 0; margin: 0; text-transform: none; font-size: inherit; display: inline-flex; cursor: pointer; }
.rv-form .rv-op, .pn-dlg .rv-op { align-items: center; gap: 10px; min-height: 48px; padding: 0 14px 0 12px; border: 1px solid var(--raya); background: #fff; font-weight: 700; text-transform: uppercase; font-size: 12px; transition: transform .14s var(--sal), background-color .2s ease, color .2s ease; }
.rv-form .rv-op input, .pn-dlg .rv-op input { -webkit-appearance: none; appearance: none; position: static; flex: none; width: 18px; height: 18px; min-height: 0; margin: 0; padding: 0; border: 1.5px solid var(--tinta); border-radius: 0; background: #fff; cursor: pointer; }
.rv-op input[type=radio] { border-radius: 50% !important; }
.rv-op input:checked { background: var(--papel); border-color: var(--papel); box-shadow: inset 0 0 0 3px var(--tinta); }
.rv-op:has(input:checked) { background: var(--tinta) !important; border-color: var(--tinta); color: var(--papel); }
.rv-op input:focus-visible { outline: 2px solid var(--brasa); outline-offset: 3px; }
.rv-form .rv-consent { display: flex; gap: 10px; align-items: flex-start; text-transform: none; font-weight: 700; font-size: 13px; cursor: pointer; margin: 0; }
.rv-form .rv-consent input { width: 22px; height: 22px; min-height: 0; padding: 0; margin: 0; flex: none; accent-color: var(--tinta); }
.rv-consent small { display: block; margin-top: 3px; font-weight: 500; color: var(--suave); font-size: 12px; }
.rv-error { min-height: 1.3em; color: #8a2b1d; font-weight: 700; }
.rv .res-botones .boton-carta { margin-top: 0; }

/* el ticket negro: resumen en vivo y «así le llega al restaurante» */
.rv-ticket { justify-content: flex-start; }
.rv-vivo dd { overflow: hidden; }
.rv-vivo dd, .rv-vivo dt { display: block; }
.rv-chat { display: flex; flex-direction: column; gap: 12px; }
.rv-chat[hidden], .rv-burbuja[hidden], .rv-hecho[hidden], .rv-escribiendo[hidden] { display: none; }
.rv-escribiendo { align-self: flex-start; display: inline-flex; align-items: center; gap: 10px; padding: 10px 14px; background: var(--papel); color: var(--suave); border-radius: 14px 14px 14px 4px; font-weight: 600; font-style: normal; }
.rv-puntos { display: inline-flex; gap: 4px; }
.rv-puntos i { width: 6px; height: 6px; border-radius: 50%; background: var(--suave); animation: rv-punto 1s infinite ease-in-out; }
.rv-puntos i:nth-child(2) { animation-delay: .15s; } .rv-puntos i:nth-child(3) { animation-delay: .3s; }
@keyframes rv-punto { 0%, 60%, 100% { transform: translateY(0); opacity: .45; } 30% { transform: translateY(-4px); opacity: 1; } }
.rv-burbuja { position: relative; align-self: flex-start; max-width: 100%; padding: 12px 14px 22px; background: var(--papel); color: var(--tinta); border-radius: 14px 14px 14px 4px; font-weight: 600; line-height: 1.45; overflow-wrap: anywhere; }
.rv-burbuja strong { text-transform: uppercase; font-weight: 800; }
.rv-hora-msg { position: absolute; right: 10px; bottom: 5px; font-size: 11px; color: var(--suave); font-weight: 600; }
.rv-hecho { display: flex; flex-direction: column; gap: 6px; }
.rv-llego { font: 400 22px/1.1 "Anton", Impact, sans-serif; text-transform: uppercase; }
.rv-hecho p { font-weight: 500; }
.rv-hecho-botones { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; margin-top: 8px; }
.rv-ticket .pildora { background: var(--papel); color: var(--tinta); }
.rv-ticket .pildora:focus-visible, .rv-ticket .rv-enlace:focus-visible { outline-color: var(--papel); }
.rv-ticket .t-pie { margin-top: auto; }
@media (min-width: 761px) {
  .rv .res-form { padding: 2.2vw; gap: 1.6vw; }
  .rv-dos { grid-template-columns: 1fr 1fr; }
  .rv-dias { flex-wrap: wrap; overflow: visible; }
  .rv-ticket { position: sticky; top: 16px; align-self: start; min-height: 520px; }
  .rv-turno { display: grid; grid-template-columns: 110px 1fr; gap: 10px; align-items: start; }
  .rv-turno-n { padding-top: 6px; }
  .rv-turno-n small { display: block; margin: 5px 0 0; }
}
@media (hover: hover) and (pointer: fine) {
  .rv-chips [role=radio]:not([disabled]):not([aria-checked=true]):hover, .rv-pm:hover, .rv-op:hover { background: #e3e4dd; }
  .rv-ticket .pildora:hover { background: #fff; }
  .rv-enlace:hover { text-decoration-thickness: 2px; }
}
@media (prefers-reduced-motion: reduce) { .rv-puntos i { animation: none; opacity: 1; } }

/* ================= PANEL ================= */
.pn { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
.pn-cab { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 12px 10px; }
.pn-cab .logo { width: 78px; min-width: 0; }
.pn-nav { display: flex; align-items: center; gap: 14px; }
.pn-nav a { font-size: 12px; font-weight: 800; text-transform: uppercase; padding: 15px 0; }
.pn-nav a[aria-current] { text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 2px; }
.pn-web { margin-left: 4px; }
.pn-main { padding: 16px 12px 24px; max-width: 1180px; margin: 0 auto; }
.pn-cabeza { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; }
.pn h1 { font: 400 clamp(40px, 11vw, 96px)/.95 "Anton", Impact, sans-serif; text-transform: uppercase; }
.pn-nueva { display: none; }
.pn-dias { margin-top: 18px; }
.pn-dias [role=radio] { min-width: 64px; }
.pn-dia { margin-top: 18px; font: 400 clamp(22px, 6vw, 40px)/1.05 "Anton", Impact, sans-serif; text-transform: uppercase; overflow: hidden; }
.pn-turnos { margin-top: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.pn-turno { display: flex; flex-direction: column; gap: 8px; padding: 12px; border: 1px solid var(--raya); background: #f7f7f3; }
.pn-turno h3 { font: 400 22px/1 "Anton", Impact, sans-serif; text-transform: uppercase; }
.pn-turno h3 small, .pn-lista h3 small { display: block; margin-top: 5px; font: 700 11px/1 "Archivo", Arial, sans-serif; color: var(--suave); }
.pn-cifra { display: flex; align-items: flex-end; gap: 8px; }
.pn-num { font: 400 54px/.9 "Anton", Impact, sans-serif; font-variant-numeric: tabular-nums; }
.pn-de { font-size: 11px; font-weight: 800; text-transform: uppercase; color: var(--suave); padding-bottom: 3px; }
.pn-cap { height: 6px; background: var(--raya-2); overflow: hidden; }
.pn-cap i { display: block; height: 100%; background: var(--brasa); transform-origin: 0 50%; }
.pn-t-meta { font-size: 12px; font-weight: 600; color: var(--suave); }
.pn-pend { color: var(--brasa); font-weight: 800; }
.pn-completo { margin-top: auto; display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 6px 0; border: 0; border-top: 1px solid var(--raya-2); background: none; color: var(--tinta); font: 800 12px/1.2 "Archivo", Arial, sans-serif; text-transform: uppercase; text-align: left; cursor: pointer; }
.pn-interruptor { position: relative; flex: none; width: 38px; height: 22px; border-radius: 11px; background: #bdbdb5; }
.pn-interruptor::after { content: ""; position: absolute; left: 3px; top: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: transform .25s var(--sal); }
.pn-completo[aria-pressed=true] .pn-interruptor { background: var(--papel); }
.pn-completo[aria-pressed=true] .pn-interruptor::after { transform: translateX(16px); background: var(--brasa); }
.pn-turno.lleno { background: var(--tinta); color: var(--papel); border-color: var(--tinta); }
.pn-turno.lleno .pn-de, .pn-turno.lleno .pn-t-meta, .pn-turno.lleno h3 small { color: #c9c9c1; }
.pn-turno.lleno .pn-cap { background: #3a3a36; }
.pn-turno.lleno .pn-completo { color: var(--papel); border-top-color: #3a3a36; }
.pn-turno.lleno :focus-visible { outline-color: var(--papel); }
.pn-lleno-txt { font-size: 12px; font-weight: 600; line-height: 1.4; }
.pn-lleno-txt strong { display: block; font: 400 18px/1.1 "Anton", Impact, sans-serif; text-transform: uppercase; color: var(--papel); }
.pn-lleno-txt a { display: inline-block; padding: 6px 0; text-decoration: underline; text-underline-offset: .18em; font-weight: 800; text-transform: uppercase; }
.pn-turno.sin { background: transparent; border-style: dashed; }
.pn-sec { margin-top: 44px; }
.pn-sec .cab-sec h2 { font-size: clamp(30px, 9vw, 60px); }
.pn-sec .derecha { max-width: 46ch; }
.pn-cuenta { display: inline-block; min-width: .9em; margin-left: .15em; padding: 0 .18em; background: var(--brasa); color: var(--papel); text-align: center; }
.pn-cuenta:empty { display: none; }
.pn-pet li, .pn-lista li { border-bottom: 1px solid var(--raya-2); }
.pn-p { padding: 14px 0; display: flex; flex-direction: column; gap: 5px; }
.pn-p-cuando { display: flex; justify-content: space-between; gap: 12px; font: 400 22px/1.05 "Anton", Impact, sans-serif; text-transform: uppercase; }
.pn-p-cuando span { font-variant-numeric: tabular-nums; }
.pn-p-quien { font-weight: 800; text-transform: uppercase; }
.pn-p-meta { font-size: 12px; font-weight: 500; color: var(--suave); }
.pn-p-acc { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 18px; margin-top: 6px; }
.pn-p-acc .pildora { height: 46px; padding: 0 22px; font-size: 13px; }
.pn-vacio { padding: 16px 0; color: var(--suave); font-weight: 600; }
.pn-listas { display: grid; grid-template-columns: 1fr; gap: 22px; margin-top: 14px; }
.pn-lista h3 { font: 400 24px/1 "Anton", Impact, sans-serif; text-transform: uppercase; padding-bottom: 8px; border-bottom: 1px solid var(--raya); }
.pn-r { display: grid; grid-template-columns: 52px 1fr auto; gap: 10px; align-items: center; padding: 8px 0; }
.pn-r-h { font-weight: 800; font-variant-numeric: tabular-nums; }
.pn-r-q { font-weight: 800; text-transform: uppercase; }
.pn-r-q small { display: block; margin-top: 2px; font-size: 11px; font-weight: 500; text-transform: none; color: var(--suave); }
.pn-r.prop .pn-r-q { color: var(--suave); }
.pn-r-x { font-size: 12px; color: var(--suave); }
.pn-resumen { margin-top: 14px; max-width: 560px; background: #fff; border: 1px solid var(--raya); padding: 16px; font-weight: 500; line-height: 1.45; }
.pn-resumen header { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding-bottom: 10px; margin-bottom: 12px; border-bottom: 1px solid var(--raya-2); }
.pn-resumen header strong { text-transform: uppercase; font-weight: 800; }
.pn-resumen ul { margin: 10px 0 0; }
.pn-resumen li { padding: 6px 0; border-bottom: 1px solid var(--raya-2); font-weight: 700; }
.pn-resumen-pie { margin-top: 12px; font-size: 14px; color: var(--tinta); }
.pn-wa-nota { margin-top: 26px; font-size: 12px; font-weight: 500; color: var(--suave); max-width: 70ch; }
.pn-barra { position: fixed; left: 0; right: 0; bottom: 0; z-index: 25; display: flex; align-items: center; justify-content: center; min-height: 58px; padding: 0 16px env(safe-area-inset-bottom); border: 0; background: var(--tinta); color: var(--papel); font: 800 14px/1 "Archivo", Arial, sans-serif; text-transform: uppercase; cursor: pointer; }
.pn-barra:focus-visible { outline: 2px solid var(--brasa); outline-offset: -4px; }
.pn-aviso { position: fixed; left: 12px; right: 12px; bottom: calc(70px + env(safe-area-inset-bottom)); z-index: 26; margin: 0; padding: 12px 14px; background: var(--brasa); color: var(--papel); font-weight: 700; display: none; }
.pn-aviso.on { display: block; }

/* diálogos */
.pn-dlg { width: min(620px, 100vw); max-width: 100vw; max-height: 100dvh; margin: auto auto 0; padding: 0; border: 0; background: var(--papel); color: var(--tinta); overflow: auto; overscroll-behavior: contain; }
.pn-dlg::backdrop { background: rgba(18, 18, 18, .62); }
.pn-dlg form { display: flex; flex-direction: column; gap: 16px; padding: 0 16px 20px; }
.pn-dlg-cab { position: sticky; top: 0; z-index: 2; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 0 12px; background: var(--papel); border-bottom: 1px solid var(--raya); }
.pn-dlg h2 { font: 400 clamp(26px, 7vw, 40px)/1 "Anton", Impact, sans-serif; text-transform: uppercase; }
.pn-dlg .cerrar { flex: none; }
.pn-dlg-botones { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; }
.pn-dlg-botones .pildora { height: 48px; padding: 0 22px; font-size: 13px; }
.pn-resp-que { font-weight: 800; text-transform: uppercase; }
.pn-resp-et { font-size: 12px; font-weight: 800; text-transform: uppercase; }
.pn-resp-msg { background: #fff; border: 1px solid var(--raya-2); padding-bottom: 12px; margin-top: -8px; }
#resp-horas[hidden] { display: none; }

@media (min-width: 761px) {
  .pn { padding-bottom: 0; }
  .pn-cab { padding: 1.6vw 2.15vw 0; }
  .pn-cab .logo { width: 8.6vw; min-width: 84px; }
  .pn-main { padding: 28px 24px 48px; }
  .pn-nueva { display: inline-flex; height: 52px; padding: 0 26px; font-size: 14px; flex: none; }
  .pn-barra { display: none; }
  .pn-dias { flex-wrap: wrap; overflow: visible; }
  .pn-turno { padding: 20px; }
  .pn-turno h3 { font-size: 30px; }
  .pn-num { font-size: 80px; }
  .pn-turnos { gap: 12px; }
  .pn-listas { grid-template-columns: 1fr 1fr; gap: 32px; }
  .pn-p { display: grid; grid-template-columns: 1fr auto; column-gap: 24px; align-items: center; }
  .pn-p-cuando { justify-content: flex-start; }
  .pn-p-acc { grid-column: 2; grid-row: 1 / 4; justify-content: flex-end; margin-top: 0; }
  .pn-aviso { left: auto; right: 24px; bottom: 24px; max-width: 460px; }
  .pn-dlg { margin: auto; max-height: 92vh; }
  .pn-dlg form { padding: 0 28px 28px; }
}
@media (max-width: 360px) { .pn-turnos { grid-template-columns: 1fr; } }
@media (hover: hover) and (pointer: fine) {
  .pn-completo:hover .pn-interruptor { background: #a9a9a1; }
  .pn-turno.lleno .pn-completo:hover .pn-interruptor { background: #fff; }
  .pn-barra:hover { background: #3a3a36; }
}
@media (prefers-reduced-motion: reduce) { .pn-interruptor::after, .pildora, .rv-chips [role=radio] { transition: none; } }

/* la barra «Pedir mesa» del móvil no tapa la propia reserva */
@media (max-width: 760px) { .pie .barra-movil.on.oculta { transform: translateY(110%); visibility: hidden; transition: transform .3s cubic-bezier(.23, 1, .32, 1), visibility 0s linear .3s; } }
.pn-turno.lleno .pn-pend { color: #f0b9a6; }
.pn-sec .derecha { text-transform: none; font-size: 14px; }
.res-ticket { align-self: start; position: sticky; top: 24px; }
.rv-dos .rv-pista { display: block; text-transform: none; font-size: 12px; font-weight: 500; color: var(--suave); }

/* Auditoría técnica 27/10: zona táctil de 44 px en el móvil sin cambiar cómo se ve (el relleno va en borde transparente o con margen negativo)
   y el foco no queda tapado por las barras fijas de abajo. */
@media (max-width: 760px) {
  html { scroll-padding-bottom: 96px; }
  .saltar { min-height: 44px; display: inline-flex; align-items: center; }
  .cab .logo { padding: 4px 0; margin: -4px 0; }
  .pn-cab .logo { padding: 5px 0; margin: -5px 0; }
  .menu-boton { padding: 16px 6px; margin-block: -2px; min-width: 44px; }
  .cab .pildora { height: 44px; border-block: 4px solid transparent; background-clip: padding-box; margin-block: -4px; }
  .datos .pildora, .rv-hecho .pildora { height: 44px; border-block: 6px solid transparent; background-clip: padding-box; margin-block: -6px; }
  .datos p a, .pie-fila a, .pie-muestra a { padding: 14px 3px; margin: -8px -3px; }
  .al-boton, .al-quitar { min-height: 44px; }
  .creditos li a { padding-block: 14px; margin-block: -10px; }
  .creditos summary { padding-block: 14px; margin-block: -6px; }
  .pn-nav a { padding: 15px 9px; margin-inline: -9px; }
  .rv-enlace { min-width: 44px; }
}

/* 27/10 · RESUMEN Y BORRADOR: nota libre en la web, «Respuesta preparada» en cada petición y resumen de las 8:00 con su línea «Ojo» */
.rv-nota-libre { display: flex; flex-direction: column; gap: 6px; margin-top: 12px; font-weight: 700; text-transform: uppercase; font-size: 12px; }
.rv-nota-libre textarea { font: 600 16px/1.35 "Archivo", Arial, sans-serif; color: var(--tinta); background: #fff; border: 1px solid var(--raya); border-radius: 0; padding: 12px; min-height: 64px; width: 100%; resize: vertical; text-transform: none; }
.rv-nota-libre textarea:focus-visible { outline: 2px solid var(--tinta); outline-offset: 1px; }
.pn-prep { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; max-width: 62ch; }
.pn-prep-nota { font-weight: 600; }
.pn-prep-nota span, .pn-prep-et { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; color: var(--suave); }
.pn-prep-nota span { margin-right: 4px; }
.pn-prep-et span:not(.rv-ej) { color: var(--tinta); }
.pn-prep-marcas { display: flex; flex-wrap: wrap; gap: 6px; }
.pn-prep-marcas li { border: 1px solid var(--raya); background: #fff; padding: 5px 8px; font-size: 12px; font-weight: 700; }
.pn-prep-marcas li.llamar { border-color: var(--brasa); background: var(--brasa); color: var(--papel); }
.pn-prep-msg { background: #fff; border: 1px solid var(--raya-2); padding-bottom: 12px; font-weight: 500; }
.pn-resumen-ojo { margin-top: 10px; padding: 10px 12px; border-left: 4px solid var(--brasa); background: #f7f7f3; font-weight: 800; }
.pn-resumen-sub { margin-top: 14px; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
@media (min-width: 761px) { .pn-p .pn-prep { grid-column: 1; } }
