.quote-box [hidden] { display: none !important; }
.quote-box { min-width: 0; background: var(--bg-color-light); border: 1px solid rgba(212,175,55,.3); border-radius: 8px; padding: 32px; }
.quote-box h3 { font-size: 1.9rem; margin-bottom: 12px; }
.form-eyebrow { color: var(--accent-color); font-size: .68rem; letter-spacing: .13em; margin-bottom: 14px; }
.form-hint { font-size: .82rem; color: #c7d3df; margin: 14px 0; }
.form-group { min-width: 0; border: 0; border-top: 1px solid #36516d; margin: 24px 0 28px; padding: 20px 0 0; }
.form-group legend { padding-right: 12px; font-weight: 600; font-size: .95rem; color: #f0d983; }
.choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; }
.request-choices { grid-template-columns: repeat(2, minmax(0,1fr)); }
.choice { display: flex; align-items: center; gap: 8px; min-height: 50px; padding: 10px; background: #001f3f; border: 1px solid #53708c; border-radius: 5px; cursor: pointer; font-size: .82rem; }
.choice:has(input:checked) { border-color: var(--accent-color); background: #14374c; color: #ffe7a0; }
.choice input { accent-color: var(--accent-color); flex-shrink: 0; width: 17px; height: 17px; }
.field { display: flex; flex-direction: column; gap: 7px; font-size: .86rem; margin-top: 16px; min-width: 0; }
.optional { font-size: .76rem; color: #c7d3df; }
.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.field input, .field textarea, .field select { width: 100%; min-width: 0; border: 1px solid #53708c; border-radius: 4px; padding: 12px; color: #f0f0f0; background: #001f3f; font: inherit; font-size: 16px; line-height: 1.5; color-scheme: dark; }
.field textarea { min-height: 100px; resize: vertical; }
.field input::placeholder, .field textarea::placeholder { color: #aebfd0; opacity: 1; }
.quote-form :focus-visible { outline: 3px solid #f1d36c; outline-offset: 3px; }
.quote-form .btn { width: 100%; white-space: normal; font: inherit; font-weight: 600; }
.quote-form .btn:disabled { opacity: .7; cursor: wait; }
.form-alternative { text-align: center; font-size: .85rem; margin-top: 18px; }
.form-alternative a { color: #f0d983; text-decoration: underline; text-underline-offset: 3px; }
#quote-status { padding: 16px; margin-top: 18px; border-left: 3px solid #f0d983; background: #001f3f; }
#quote-status.is-error { border-color: #ffb4a9; color: #ffd2cb; }
#contacto { scroll-margin-top: 24px; }
@media (max-width: 1000px) { .quote-box .choice-grid { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .quote-box { padding: 22px 16px; } .field-grid, .request-choices { grid-template-columns: 1fr; } .choice-grid:not(.request-choices) { gap: 5px; } .choice { font-size: .75rem; padding: 9px 6px; gap: 5px; } .quote-box h3 { font-size: 1.65rem; } }

#contacto > .container > .quote-box { max-width: 800px; margin: 0 auto 64px; }
.reviews-cta { display: flex; flex-direction: column; align-items: center; gap: 16px; }
.reviews-cta .btn { width: 350px; max-width: 100%; margin-top: 0; }
