/* Shared components: "Request a quote" buttons and the quote form. */

/* Call-to-action box at the end of each page */
.quote-cta {
    margin: 40px 0 0;
    padding: 28px 24px;
    border-radius: 6px;
    background: linear-gradient(135deg, #1a1a2e 0%, #0f3460 100%);
    color: #ffffff;
    text-align: center;
}
.quote-cta h2 { color: #ffffff; font-size: 1.4em; margin: 0 0 8px; border: 0; padding: 0; }
.quote-cta p { margin: 0 0 18px; color: #d8e3ff; }

.btn-quote {
    display: inline-block;
    padding: 12px 28px;
    border: 0;
    border-radius: 4px;
    background-color: #33ffcc;
    color: #1a1a2e;
    font: bold 1.05em Arial, Helvetica, sans-serif;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s;
}
.btn-quote:hover, .btn-quote:focus-visible { background-color: #ffffff; color: #1a1a2e; text-decoration: none; }
.quote-cta .btn-quote { color: #1a1a2e; }

/* Quote form on the contact pages */
.quote-section { margin: 50px 0 10px; scroll-margin-top: 20px; }
.quote-section h2 { color: #1a1a2e; margin-bottom: 10px; border-bottom: 2px solid #33ffcc; padding-bottom: 10px; }
.quote-intro { margin-bottom: 20px; }
.quote-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 24px;
    background: rgba(255, 255, 255, 0.92);
    padding: 24px;
    border: 1px solid #dde3ee;
    border-radius: 6px;
}
.quote-form .full { grid-column: 1 / -1; }
.quote-form label { display: block; font-weight: bold; color: #0f3460; margin-bottom: 6px; }
.quote-form input, .quote-form select, .quote-form textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #b8c2d6;
    border-radius: 4px;
    font: 1em Arial, Helvetica, sans-serif;
    color: #333;
    background: #ffffff;
}
.quote-form textarea { min-height: 150px; resize: vertical; }
.quote-form input:focus, .quote-form select:focus, .quote-form textarea:focus {
    outline: 2px solid #33ffcc;
    outline-offset: 1px;
    border-color: #0f3460;
}
.quote-form .req { color: #c0392b; }
.quote-form .hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.quote-form .privacy { font-size: 0.9em; color: #666; }

.form-message { display: none; padding: 14px 18px; border-radius: 4px; margin-bottom: 20px; font-weight: bold; }
.form-message.show { display: block; }
.form-message.ok { background: #e3fbf3; border: 1px solid #33ccaa; color: #0b5e4a; }
.form-message.err { background: #fdecea; border: 1px solid #e0a39c; color: #8a1f12; }

@media (max-width: 768px) {
    .quote-form { grid-template-columns: 1fr; padding: 18px; }
}
