/* Cotizador por pasos: una pregunta por pantalla, sin scroll. Botones siempre abajo. */
#quote-dialog { overflow:hidden; height:min(640px,90dvh); }
#quote-dialog[open] { display:block; }
.quote-shell { min-height:0; height:100%; }
.quote-main { display:flex; flex-direction:column; min-height:0; height:100%; overflow:hidden; }
#quote-form-content { flex:1; min-height:0; display:flex; flex-direction:column; }
#quote-form { flex:1; min-height:0; display:flex; flex-direction:column; }
.quote-steps { flex:1; min-height:0; overflow-y:auto; padding:2px 2px 8px; -webkit-overflow-scrolling:touch; }
.quote-step[hidden] { display:none; }
.quote-main h2#quote-title { font-size:2rem; margin-bottom:8px; }
.quote-main #quote-description { margin-bottom:20px; }
.quote-types { grid-template-columns:repeat(2,1fr); margin-bottom:0; }
.quote-types legend { font-size:.8rem; font-weight:600; margin-bottom:10px; }
.quote-types.quote-chips { margin-top:4px; }
.quote-types.quote-chips span { min-height:46px; font-size:.78rem; }
.quote-field textarea { min-height:132px; resize:none; }
.quote-form-actions { flex-shrink:0; padding-top:14px; border-top:1px solid var(--line); margin-top:8px; }
.quote-form-actions .quote-next, .quote-form-actions #quote-submit { flex:1; }
.quote-form-actions [hidden] { display:none; }
#quote-status { flex-shrink:0; margin:8px 0 0; }
.quote-consent { margin:6px 0 4px; }

@media(max-width:767px) {
  #quote-dialog { width:100%; max-width:100%; height:min(620px,94dvh); margin:auto 0 0; border-radius:20px 20px 0 0; border-bottom:0; }
  .quote-main { padding:22px 20px calc(16px + env(safe-area-inset-bottom)); }
  .quote-progress { margin-block:12px 18px; }
  .quote-main h2#quote-title { font-size:1.65rem; }
  .quote-main #quote-description { font-size:.84rem; margin-bottom:16px; }
  .quote-types { gap:8px; }
  .quote-types span { min-height:52px; }
  .quote-field { margin-bottom:14px; }
  .quote-field textarea { min-height:112px; }
  .quote-form-actions { gap:10px; }
}
@media(max-height:560px) { .quote-main #quote-description { display:none; } .quote-types span { min-height:44px; } }

/* Paso 2 compacto: la idea + plazo caben juntos */
#quote-dialog { height:min(680px,92dvh); }
.quote-field textarea { min-height:100px; }
.quote-types.quote-chips { gap:7px; }
.quote-types.quote-chips span { min-height:40px; padding:7px 11px; font-size:.74rem; line-height:1.25; }
.quote-types.quote-chips legend { margin-bottom:8px; }
@media(max-width:767px) {
  .quote-field textarea { min-height:84px; }
  #quote-message-help { display:none; }
  .quote-types.quote-chips span { min-height:38px; font-size:.7rem; }
}
