/* COTIZA RÁPIDA · la hoja «Cotiza en 1 minuto» de las landings (lab/cotiza-rapida.js).
   Tokens propios con prefijo --cq-: la hoja vive igual en las tres páginas sin
   depender de cómo cada una nombra sus colores. */
:root{
  --cq-papel:#F5F5F7; --cq-tarjeta:#FFFFFF; --cq-tinta:#1D1D1F; --cq-suave:#515154; --cq-tenue:#6E6E73;
  --cq-linea:rgba(29,29,31,.10); --cq-marca:#0071E3; --cq-marca-hover:#0077ED; --cq-marca-suave:rgba(0,113,227,.08);
  --cq-alerta:#C4321F; --cq-r:18px; --cq-r-campo:12px;
  --cq-font:'Helvetica Neue',Helvetica,Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  --cq-ease:cubic-bezier(.22,1,.36,1);
}

/* ── Botones en la página ─────────────────────────────────────────────── */
.cq-cta{ display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:50px; padding:0 26px;
  border-radius:999px; background:var(--cq-marca); color:#fff !important; font-family:var(--cq-font); font-size:17px; font-weight:600;
  letter-spacing:-.01em; text-decoration:none !important; cursor:pointer; white-space:nowrap;
  box-shadow:0 10px 24px -12px rgba(0,113,227,.55); transition:background-color .2s, transform .2s var(--cq-ease), box-shadow .2s; }
.cq-cta:hover{ background:var(--cq-marca-hover); transform:translateY(-1px); box-shadow:0 14px 28px -12px rgba(0,113,227,.6); }
.cq-cta:focus-visible{ outline:2px solid var(--cq-marca); outline-offset:3px; }
.cq-cta .cq-ic svg{ width:18px; height:18px; fill:currentColor; stroke:none; }
.cq-hero-bim{ display:flex; justify-content:center; margin:clamp(8px,2vh,20px) 0 clamp(18px,3vh,30px); }
.cq-cierre{ display:flex; justify-content:center; margin:clamp(18px,2.6vh,26px) 0 clamp(8px,1.4vh,14px); }

/* Píldora fija sólo en teléfonos y tabletas angostas (≤820 px). Comparte renglón con la
   burbuja del asistente (44 px a la derecha, ver asistente.css): nunca se enciman. */
.cq-pildora{ position:fixed; left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom,0px)); z-index:850;
  min-height:44px; padding:0 18px; font-size:15px;
  opacity:0; visibility:hidden; transform:translateY(16px); transition:opacity .25s, transform .3s var(--cq-ease), visibility .3s;
  box-shadow:0 14px 30px -10px rgba(0,60,140,.45); }
.cq-pildora .cq-ic svg{ width:16px; height:16px; }
.cq-pildora.cq-con-burbuja{ right:64px; }
.cq-pildora.cq-visible{ opacity:1; visibility:visible; transform:none; }
/* En compu también flota (Samuel 22-oct: «siempre en todas las landings… el icono de rayo de cotizar»):
   compacta, abajo a la izquierda, lejos de la burbuja del asistente (abajo a la derecha). */
@media (min-width:821px){
  .cq-pildora{ left:24px; right:auto; bottom:24px; min-height:48px; padding:0 22px; font-size:15.5px; }
  .cq-pildora.cq-con-burbuja{ right:auto; }
}
.cq-abierta .cq-pildora, .as-abierto .cq-pildora{ opacity:0; visibility:hidden; pointer-events:none; }
/* El final de la página sube por encima del renglón fijo (píldora + burbuja). */
@media (max-width:820px){ html.cq-con-pildora body{ padding-bottom:calc(68px + env(safe-area-inset-bottom,0px)); } }

/* ── La hoja ──────────────────────────────────────────────────────────── */
.cq-abierta, .cq-abierta body{ overflow:hidden; }
.cq-hoja{ padding:0; border:0; margin:auto; width:min(560px, calc(100vw - 32px)); max-height:min(760px, calc(100dvh - 48px));
  border-radius:24px; background:var(--cq-papel); color:var(--cq-tinta); font-family:var(--cq-font); -webkit-font-smoothing:antialiased;
  box-shadow:0 40px 90px -30px rgba(0,0,0,.45); overflow:hidden; }
.cq-hoja[open]{ display:flex; animation:cqSube .38s var(--cq-ease); }
.cq-hoja::backdrop{ background:rgba(20,20,22,.38); -webkit-backdrop-filter:blur(10px) saturate(140%); backdrop-filter:blur(10px) saturate(140%); animation:cqFunde .3s ease; }
.cq-hoja *, .cq-hoja *::before, .cq-hoja *::after{ box-sizing:border-box; }
.cq-marco{ display:flex; flex-direction:column; width:100%; min-height:0; max-height:inherit; }
.cq-cab{ display:grid; grid-template-columns:44px 1fr 44px; align-items:center; gap:8px; padding:12px 12px 8px; flex:none; }
.cq-atras{ grid-column:1; } .cq-cab-centro{ grid-column:2; display:flex; flex-direction:column; align-items:center; gap:1px; min-width:0; text-align:center; }
.cq-eyebrow{ font-size:13px; font-weight:600; color:var(--cq-tinta); letter-spacing:-.005em; }
.cq-paso{ font-size:12px; color:var(--cq-tenue); font-variant-numeric:tabular-nums; }
.cq-atras, .cq-cerrar{ width:44px; height:44px; border-radius:50%; border:0; background:transparent; color:var(--cq-tinta);
  display:grid; place-items:center; cursor:pointer; transition:background-color .15s; padding:0; }
.cq-atras:hover, .cq-cerrar:hover{ background:rgba(29,29,31,.06); }
.cq-atras[hidden]{ display:grid !important; visibility:hidden; } /* conserva su columna aunque la página esconda [hidden] */
.cq-atras .cq-ic svg, .cq-cerrar .cq-ic svg{ width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.cq-cerrar{ grid-column:3; }
.cq-cerrar .cq-ic svg{ width:18px; height:18px; }
.cq-cerrar{ background:rgba(29,29,31,.06); width:32px; height:32px; justify-self:end; margin-right:6px; position:relative; }
.cq-cerrar::after{ content:''; position:absolute; inset:-6px; } /* 44 px de blanco táctil */
.cq-barra{ height:3px; margin:0 20px; border-radius:3px; background:rgba(29,29,31,.08); overflow:hidden; flex:none; }
.cq-barra-llena{ display:block; height:100%; background:var(--cq-marca); border-radius:3px; transform-origin:left; transform:scaleX(0);
  transition:transform .45s var(--cq-ease); }
.cq-cuerpo{ flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:22px 20px 22px; }

.cq-tit{ margin:0; font-size:clamp(24px, 5.6vw, 30px); line-height:1.12; font-weight:700; letter-spacing:-.025em; outline:none; }
.cq-sub{ margin:8px 0 0; font-size:16px; line-height:1.45; color:var(--cq-suave); }
.cq-rot{ margin:22px 0 10px; font-size:13px; font-weight:600; color:var(--cq-tinta); text-transform:none; letter-spacing:0; transition:opacity .2s; }
.cq-rot span{ font-weight:400; color:var(--cq-tenue); }
.cq-rot.cq-apagado{ opacity:.45; }
.cq-oculto{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* Tarjetas de opción */
.cq-opciones{ display:grid; grid-template-columns:1fr; gap:10px; margin-top:22px; }
.cq-opciones-dos{ grid-template-columns:repeat(2, minmax(0,1fr)); }
.cq-op{ display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:56px; padding:14px 16px;
  border:1px solid var(--cq-linea); border-radius:var(--cq-r); background:var(--cq-tarjeta); color:var(--cq-tinta);
  font:inherit; text-align:left; cursor:pointer; box-shadow:0 1px 2px rgba(18,28,45,.04);
  transition:border-color .15s, box-shadow .15s, background-color .15s, transform .12s; -webkit-tap-highlight-color:transparent; }
.cq-op:hover{ border-color:rgba(0,113,227,.45); }
.cq-op:active{ transform:scale(.985); }
.cq-op:focus-visible, .cq-dia:focus-visible, .cq-hora:focus-visible, .cq-primario:focus-visible, .cq-secundario:focus-visible,
.cq-texto:focus-visible, .cq-atras:focus-visible, .cq-cerrar:focus-visible{ outline:2px solid var(--cq-marca); outline-offset:2px; }
.cq-op[aria-pressed="true"]{ border-color:var(--cq-marca); background:var(--cq-marca-suave); box-shadow:0 0 0 1px var(--cq-marca) inset; }
.cq-op-txt{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.cq-op-txt b{ font-size:16px; font-weight:600; letter-spacing:-.01em; line-height:1.25; }
.cq-op-txt small{ font-size:13.5px; line-height:1.35; color:var(--cq-suave); }
.cq-opciones-dos .cq-op{ padding:12px 14px; }
.cq-opciones-dos .cq-op-txt b{ font-size:15px; }
.cq-check{ flex:none; width:24px; height:24px; border-radius:50%; border:1.5px solid rgba(29,29,31,.22); display:grid; place-items:center;
  transition:background-color .15s, border-color .15s; }
.cq-check .cq-ic svg{ width:14px; height:14px; fill:none; stroke:#fff; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; opacity:0; transition:opacity .15s; }
.cq-op[aria-pressed="true"] .cq-check{ background:var(--cq-marca); border-color:var(--cq-marca); }
.cq-op[aria-pressed="true"] .cq-check .cq-ic svg{ opacity:1; }
.cq-check .cq-ic{ display:grid; }

/* Agenda */
.cq-dias{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:8px; }
@media (min-width:520px){ .cq-dias{ grid-template-columns:repeat(7, minmax(0,1fr)); gap:6px; } }
.cq-dia{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; min-height:72px; padding:8px 4px;
  border:1px solid var(--cq-linea); border-radius:16px; background:var(--cq-tarjeta); color:var(--cq-tinta); font:inherit; cursor:pointer;
  transition:border-color .15s, background-color .15s, color .15s; -webkit-tap-highlight-color:transparent; }
.cq-dia small{ font-size:12px; color:var(--cq-tenue); line-height:1.2; }
.cq-dia b{ font-size:21px; font-weight:600; line-height:1.15; font-variant-numeric:tabular-nums; }
.cq-dia:hover, .cq-hora:hover:not(:disabled){ border-color:rgba(0,113,227,.45); }
.cq-dia[aria-pressed="true"]{ background:var(--cq-marca); border-color:var(--cq-marca); color:#fff; }
.cq-dia[aria-pressed="true"] small{ color:rgba(255,255,255,.85); }
.cq-horas{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:8px; }
.cq-hora{ min-height:46px; border:1px solid var(--cq-linea); border-radius:999px; background:var(--cq-tarjeta); color:var(--cq-tinta);
  font:inherit; font-size:15px; font-weight:500; font-variant-numeric:tabular-nums; cursor:pointer; transition:border-color .15s, background-color .15s, color .15s, opacity .2s; }
.cq-hora:disabled{ opacity:.45; cursor:default; }
.cq-hora[aria-pressed="true"]{ background:var(--cq-marca); border-color:var(--cq-marca); color:#fff; }

/* Formulario */
.cq-form{ margin-top:20px; }
.cq-campo{ margin:0 0 14px; }
.cq-campo label{ display:block; margin:0 0 6px; font-size:13px; font-weight:600; color:var(--cq-tinta); }
.cq-campo input, .cq-campo textarea{ width:100%; min-height:50px; padding:12px 14px; font:inherit; font-size:16px; color:var(--cq-tinta);
  background:var(--cq-tarjeta); border:1px solid rgba(29,29,31,.14); border-radius:var(--cq-r-campo); outline:none;
  transition:border-color .15s, box-shadow .15s; -webkit-appearance:none; appearance:none; }
.cq-campo textarea{ min-height:120px; resize:vertical; line-height:1.45; }
.cq-campo input::placeholder, .cq-campo textarea::placeholder{ color:#8E8E93; }
.cq-campo input:focus, .cq-campo textarea:focus{ border-color:var(--cq-marca); box-shadow:0 0 0 4px rgba(0,113,227,.15); }
.cq-campo [aria-invalid="true"]{ border-color:var(--cq-alerta); box-shadow:0 0 0 4px rgba(196,50,31,.10); }
.cq-ayuda{ margin:6px 0 0; font-size:13px; color:var(--cq-tenue); }
.cq-req{ color:var(--cq-alerta); }
.cq-error{ margin:6px 0 0; font-size:13.5px; color:var(--cq-alerta); }
.cq-error[hidden]{ display:none; }
.cq-error a{ color:inherit; font-weight:600; }
.cq-error-envio{ text-align:center; margin-top:12px; }
.cq-legal{ margin:4px 0 0; font-size:12.5px; line-height:1.45; color:var(--cq-tenue); }
.cq-legal a{ color:var(--cq-tenue); text-decoration:underline; }

/* Acciones */
.cq-pie{ margin-top:20px; display:flex; }
.cq-pie-col{ flex-direction:column; gap:6px; align-items:stretch; }
.cq-primario, .cq-secundario{ display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:52px; padding:0 22px;
  border-radius:999px; font:inherit; font-size:17px; font-weight:600; letter-spacing:-.01em; cursor:pointer; text-decoration:none;
  transition:background-color .2s, opacity .2s, transform .12s; }
.cq-primario{ border:0; background:var(--cq-marca); color:#fff; }
.cq-primario:hover:not(:disabled){ background:var(--cq-marca-hover); }
.cq-primario:active:not(:disabled){ transform:scale(.99); }
.cq-primario:disabled{ opacity:.4; cursor:default; }
.cq-secundario{ border:0; background:#fff; color:var(--cq-tinta); box-shadow:0 0 0 1px var(--cq-linea) inset; }
.cq-secundario:hover{ background:#FAFAFC; }
.cq-secundario .cq-ic svg{ width:20px; height:20px; fill:none; stroke:#1FA855; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.cq-secundario .cq-ic{ display:grid; }
.cq-texto{ min-height:44px; border:0; background:none; color:var(--cq-marca); font:inherit; font-size:16px; cursor:pointer; }

/* Listo */
.cq-listo{ text-align:center; padding:18px 4px 6px; }
.cq-listo-ic{ width:64px; height:64px; margin:0 auto 18px; border-radius:50%; background:#1FA855; display:grid; place-items:center;
  animation:cqPop .5s var(--cq-ease); }
.cq-listo-ic .cq-ic svg{ width:30px; height:30px; fill:none; stroke:#fff; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.cq-listo .cq-sub{ max-width:34ch; margin-left:auto; margin-right:auto; }
.cq-listo .cq-pie{ max-width:360px; margin-left:auto; margin-right:auto; margin-top:26px; }

/* Movimiento */
.cq-entra{ animation:cqEntra .32s var(--cq-ease); }
.cq-vuelve{ animation:cqVuelve .32s var(--cq-ease); }
@keyframes cqEntra{ from{ opacity:0; transform:translateX(28px); } to{ opacity:1; transform:none; } }
@keyframes cqVuelve{ from{ opacity:0; transform:translateX(-28px); } to{ opacity:1; transform:none; } }
@keyframes cqSube{ from{ opacity:0; transform:translateY(24px) scale(.985); } to{ opacity:1; transform:none; } }
@keyframes cqFunde{ from{ opacity:0; } to{ opacity:1; } }
@keyframes cqPop{ 0%{ transform:scale(.6); opacity:0; } 60%{ transform:scale(1.06); opacity:1; } 100%{ transform:scale(1); } }

/* Teléfono: hoja a pantalla completa */
@media (max-width:640px){
  .cq-hoja{ width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; margin:0; border-radius:0; }
  .cq-hoja[open]{ animation:cqHoja .4s var(--cq-ease); }
  .cq-cab{ padding-top:calc(10px + env(safe-area-inset-top,0px)); }
  .cq-cuerpo{ padding:20px 16px calc(24px + env(safe-area-inset-bottom,0px)); }
  .cq-cta-cierre{ width:100%; max-width:360px; }
  /* el de la PORTADA con su ancho natural (Samuel 20-oct: estirado a lo ancho se veía desproporcionado); 50 px de alto = toque cómodo */
  .cq-cta-hero{ width:auto; max-width:100%; padding:0 30px; }
  @keyframes cqHoja{ from{ transform:translateY(100%); } to{ transform:none; } }
}
@media (max-width:360px){ .cq-horas{ grid-template-columns:repeat(3, minmax(0,1fr)); } }
/* Muchas opciones en el teléfono: una columna (las etiquetas largas no caben en dos). */
@media (max-width:520px){ .cq-opciones-dos{ grid-template-columns:1fr; gap:8px; } .cq-opciones-dos .cq-op{ min-height:50px; padding:11px 14px; } }

@media (prefers-reduced-motion:reduce){
  .cq-hoja[open], .cq-hoja::backdrop, .cq-entra, .cq-vuelve, .cq-listo-ic{ animation:none; }
  .cq-barra-llena, .cq-pildora, .cq-cta, .cq-op{ transition:none; }
}

/* ── EL CIERRE DE CADA LANDING (19-oct): título, UN botón grande, «Prefiero WhatsApp» y el aviso.
   Igual en las tres páginas. El título baja de tamaño respecto al del pie (76 px era un cartel). */
.footer .cq-cierre-tit, .cierre .cq-cierre-tit{ font-size:clamp(30px, 1.6rem + 2.2vw, 52px); line-height:1.08; letter-spacing:-.03em;
  font-weight:700; max-width:28ch; margin-left:auto; margin-right:auto; text-wrap:balance; }
.cierre.cq-claro{ background:var(--cq-papel); color:var(--cq-tinta); border-top:1px solid var(--cq-linea); padding:clamp(72px,11vh,120px) var(--pad,20px) clamp(56px,8vh,88px); }
.cierre.cq-claro .sec-sub{ color:var(--cq-suave); max-width:46ch; font-size:clamp(16px,1.25vw,18.5px); margin-top:14px; }
.cq-cierre .cq-cta-cierre{ min-height:56px; padding:0 34px; font-size:18px; }
.cq-cierre .cq-cta-cierre .cq-ic svg{ width:19px; height:19px; }
.cq-alterno{ margin:12px auto 0; text-align:center; font-family:var(--cq-font); font-size:15px; color:var(--cq-tenue); }
.cq-alterno a{ display:inline-flex; align-items:center; gap:4px; min-height:44px; color:var(--cq-marca); text-decoration:none; font-weight:500; }
.cq-alterno a:hover{ text-decoration:underline; }
.cq-alterno a:focus-visible{ outline:2px solid var(--cq-marca); outline-offset:2px; border-radius:6px; }
.cq-alterno > span[aria-hidden]{ margin:0 8px; }
.cq-aviso-legal{ max-width:52ch; margin:10px auto 0; font-size:11.5px; line-height:1.5; color:var(--cq-tenue); text-align:center; }
.cq-aviso-legal a{ color:inherit; text-decoration:underline; }
@media (max-width:640px){ .cq-cierre .cq-cta-cierre{ width:100%; max-width:360px; } }

/* ── PIE COMPACTO de las tres landings (19-oct): una fila de enlaces + la línea legal, en claro.
   App y BIM usan su `.footer .legal`; Showrooms usa `.cq-pie-landing` con el mismo aspecto. */
.footer .cq-flinea{ margin-top:clamp(36px,5vh,52px); gap:2px 20px; }
.footer .cq-flinea a{ min-height:44px; display:inline-flex; align-items:center; }
.cq-pie-landing{ background:var(--cq-papel); color:var(--cq-tenue); padding:clamp(8px,2vh,16px) var(--pad,20px) 30px; font-family:var(--cq-font); }
.cq-pie-landing .cq-flinea{ display:flex; flex-wrap:wrap; justify-content:center; gap:2px 20px; }
.cq-pie-landing .cq-flinea a{ display:inline-flex; align-items:center; min-height:44px; padding:0 2px; font-size:.875rem; color:var(--cq-suave); transition:color .18s; }
.cq-pie-landing .cq-flinea a:hover, .cq-pie-landing .cq-flinea a[aria-current]{ color:var(--cq-tinta); }
.cq-legal-linea{ display:flex; justify-content:center; flex-wrap:wrap; gap:8px 18px; margin-top:clamp(14px,2.4vh,24px); padding-top:18px;
  border-top:1px solid var(--cq-linea); font-family:'Fragment Mono',ui-monospace,'SF Mono',Menlo,monospace; font-size:12px; color:var(--cq-tenue); }
.cq-legal-linea a{ color:inherit; text-decoration:underline; text-underline-offset:3px; }
@media (max-width:640px){ .cq-legal-linea{ flex-direction:column; align-items:center; text-align:center; gap:10px; } }

/* 19-oct: dos semanas hábiles (5 por fila) y la hora en 3 rangos de tres horas */
.cq-dias{ grid-template-columns:repeat(5, minmax(0,1fr)) !important; gap:8px !important; }
.cq-dia{ min-height:66px; }
.cq-horas{ grid-template-columns:repeat(3, minmax(0,1fr)) !important; }
.cq-hora{ display:flex; flex-direction:column; align-items:center; gap:2px; padding:12px 6px; min-height:64px; }
.cq-hora b{ font-size:16px; font-weight:600; }
.cq-hora small{ font-size:12.5px; color:var(--cq-tenue); }
.cq-hora[aria-pressed="true"] small{ color:rgba(255,255,255,.85); }

/* 19-oct: calendario de mes completo (sin tope de días) */
.cq-cal{ background:#fff; border-radius:16px; padding:12px; box-shadow:0 0 0 1px rgba(0,0,0,.06); }
.cq-cal-cab{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.cq-cal-cab b{ font-size:16px; font-weight:600; }
.cq-cal-nav{ width:36px; height:36px; border-radius:50%; border:0; background:rgba(118,118,128,.12); font-size:20px; line-height:1; cursor:pointer; color:inherit; }
.cq-cal-nav:disabled{ opacity:.3; cursor:default; }
.cq-cal-sem, .cq-cal-rej{ display:grid; grid-template-columns:repeat(7, minmax(0,1fr)); gap:4px; text-align:center; }
.cq-cal-sem span{ font-size:12px; color:var(--cq-tenue); padding:4px 0; }
.cq-cal-dia{ height:40px; border-radius:12px; border:0; background:transparent; font-size:16px; font-variant-numeric:tabular-nums; cursor:pointer; color:inherit; font-family:inherit; }
.cq-cal-dia:hover:not(:disabled){ background:rgba(0,113,227,.08); }
.cq-cal-dia:disabled{ color:rgba(60,60,67,.3); cursor:default; }
.cq-cal-dia[aria-pressed="true"]{ background:var(--cq-marca); color:#fff; font-weight:600; }
