/* qr-resenas.css — estilos de la herramienta «QR y enlace de reseñas de Google» (qr-resenas-google).
   Mismos tokens que estilo.css (--brand, --line, --ink, --soft, --display, --texto…). Solo se carga en esa página. */

/* En esta página, el botón verde de las cajas de la guía lleva texto blanco (la regla «.prosa a» lo pisaba). */
.prosa .cta-linea a.btn-p{color:#fff;text-decoration:none}

.qr{background:var(--blanco);border:1.5px solid var(--line);border-radius:22px;padding:clamp(18px,3vw,30px);margin-top:8px}
.prosa .qr>*+*{margin-top:18px}
.qr h3,.qr h4{font-family:var(--display)}
.qr h3{font-size:1.25rem;line-height:1.25;margin-top:26px}
.qr h4{font-size:1.05rem;line-height:1.3}
.qr .qr-aviso{font-size:15px;color:var(--soft)}
.qr fieldset{border:0;padding:0;min-inline-size:0}
.qr legend{font:700 1.05rem/1.3 var(--display);margin-bottom:10px;padding:0}

/* elegir entrada */
.qr-modos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.qr-modo{position:relative;display:block}
.qr-modo input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.qr-modo span{display:flex;align-items:center;min-height:56px;padding:12px 16px;border:1.5px solid var(--line);border-radius:14px;background:#fff;font-weight:600;line-height:1.25;font-size:16px}
.qr-modo input:checked+span{border-color:var(--brand);background:var(--brand-l);color:var(--brand-d);box-shadow:inset 0 0 0 1px var(--brand)}
.qr-modo input:focus-visible+span{outline:3px solid var(--oc);outline-offset:3px}

/* campos */
.qr label,.qr .qr-etiqueta{display:block;font-weight:600;font-size:16px;margin-bottom:6px}
.qr .qr-ayuda{font-size:14.5px;color:var(--soft);margin-top:6px}
.qr input[type=text],.qr input[type=url],.qr textarea{font:inherit;font-size:16px;width:100%;min-height:50px;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}
.qr input[type=text]:focus,.qr input[type=url]:focus,.qr textarea:focus{outline:3px solid var(--oc);outline-offset:2px;border-color:var(--brand)}
.qr input[aria-invalid=true]{border-color:#B3261E;box-shadow:0 0 0 1px #B3261E}
.qr input[readonly]{background:var(--bg);text-overflow:ellipsis}
.qr-error{padding:12px 14px;border-radius:12px;background:#FDECEA;border:1.5px solid #E7A39D;color:#7A1812;font-weight:600;font-size:16px}
.qr-error[hidden],.qr [hidden]{display:none!important}

.qr details{border:1.5px solid var(--line);border-radius:14px;padding:12px 16px;background:var(--bg)}
.qr details summary{cursor:pointer;font-weight:600;min-height:28px}
.qr details ol{margin-top:10px;padding-left:1.3em}
.qr details a{color:var(--brand-d);font-weight:600}

/* botones: grandes y con foco visible */
.qr .btn{min-height:50px;padding:13px 22px;font-size:16px;text-align:center}
.qr a.btn{font-weight:600;text-decoration:none}
.qr a.btn-s{color:var(--ink)}
.qr a.btn-s:hover{color:#fff}
.qr a.btn-p{color:#fff}
.qr-botones{display:flex;flex-wrap:wrap;gap:10px}

/* resultado */
.qr-resultado{margin-top:26px;padding-top:6px;border-top:1.5px solid var(--line)}
.qr-fila{display:grid;gap:10px}
.qr-qr-caja{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}
.qr-qr{width:min(100%,260px);flex:0 0 auto;padding:10px;background:#fff;border:1.5px solid var(--line);border-radius:14px}
.qr-qr svg{display:block;width:100%;height:auto}
.qr-qr-lado{flex:1 1 220px;display:grid;gap:10px;align-content:start}

/* tarjeta */
.qr-tarjeta-zona{display:flex;flex-wrap:wrap;gap:22px;align-items:flex-start}
.qr-previa{flex:0 0 auto;max-width:100%;overflow:hidden;padding:2px}
.qr-tarjeta-ajustes{flex:1 1 240px;display:grid;gap:12px;align-content:start}
.qr-tarjeta{font-size:14px;width:20em;max-width:100%;aspect-ratio:105/148;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7em;padding:1.6em 1.4em;text-align:center;background:#fff;color:#000;border:1.5px dashed #6C7F77;border-radius:.5em;font-family:var(--texto);break-inside:avoid}
.qr-tarjeta p{margin:0!important;color:#000!important}
.qr-tarjeta .qr-t-texto{font:800 1.6em/1.15 var(--display);overflow-wrap:anywhere}
.qr-tarjeta .qr-t-qr{width:11em;max-width:100%}
.qr-tarjeta .qr-t-qr svg{display:block;width:100%;height:auto}
.qr-tarjeta .qr-t-pie{font-size:.95em;font-weight:500}
.qr-tarjeta .qr-t-nombre{font:700 1.15em/1.2 var(--display);margin-top:.3em!important;overflow-wrap:anywhere}

/* mensajes */
.qr-mensajes{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}
.qr-msg{display:flex;flex-direction:column;gap:10px;padding:16px;border:1.5px solid var(--line);border-radius:16px;background:var(--bg)}
.qr-msg .qr-msg-texto{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15.5px;line-height:1.5;flex:1;margin:0!important}
.qr-msg .btn{width:100%}
.qr-estado{min-height:1.4em;font-weight:600;color:var(--brand-d);font-size:15.5px}

.qr-impresion-oculta,#qr-impresion{display:none}

@media (max-width:980px){
  .qr-mensajes{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .qr-modos{grid-template-columns:minmax(0,1fr)}
  .qr .qr-botones .btn,.qr form>.btn{width:100%}
  .qr-qr{width:min(100%,300px);margin-inline:auto}
  .qr-tarjeta-zona{justify-content:center}
}

/* impresión: solo la tarjeta, a tamaño A6 (105 × 148 mm), centrada en la hoja */
@media print{
  body.qr-imprimiendo{background:#fff!important}
  body.qr-imprimiendo>*:not(#qr-impresion){display:none!important}
  body.qr-imprimiendo #qr-impresion{display:flex!important;justify-content:center;padding-top:12mm}
  body.qr-imprimiendo #qr-impresion .qr-tarjeta{font-size:5.25mm;width:105mm;height:148mm;max-width:none;aspect-ratio:auto;border:.3mm dashed #888;border-radius:0}
  body.qr-imprimiendo #qr-impresion .qr-tarjeta .qr-t-qr{width:58mm}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
.prosa>h2:first-child{margin-top:0}
.qr form{display:grid;gap:20px}
.qr form>*{margin-top:0!important}
.qr form .qr-ayuda{margin-top:6px!important}
.qr .qr-botones+.qr-ayuda,.qr-fila>*{margin-top:0}
.qr-resultado h3{margin-top:30px}
.qr-resultado>*+*{margin-top:14px}
.qr-resultado .qr-fila>*+*{margin-top:0}
