/* ==========================================================================
   Given Style — site-wide quote popup
   Styles partials/quote-modal.blade.php. The form inside is the same partial
   the homepage uses, so the rules here re-dress the Bootstrap controls for a
   light card rather than the dark band it normally sits in.
   ========================================================================== */

.gs-quote-modal .modal-content {
    border: 0;
    border-radius: var(--gs-r-md, 18px);
    box-shadow: var(--gs-shadow-lg, 0 30px 70px rgba(10, 23, 69, .18));
    overflow: hidden;
}

.gs-quote-modal .modal-header {
    align-items: flex-start;
    gap: 16px;
    padding: 28px 32px 20px;
    border-bottom: 1px solid var(--gs-line, #E3E6EE);
    background: var(--gs-cream, #FBF8F3);
}

.gs-quote-modal .pg-eyebrow {
    display: block;
    margin-bottom: 6px;
    color: var(--gs-rust, #B66119);
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.gs-quote-modal .modal-title {
    margin: 0;
    color: var(--gs-navy, #132C74);
    font-family: 'Playfair Display', serif;
    font-size: 30px;
    line-height: 1.2;
}

.gs-quote-modal__lede {
    margin: 8px 0 0;
    max-width: 46ch;
    color: var(--gs-slate, #5B6478);
    font-size: 15px;
}

.gs-quote-modal .modal-body {
    padding: 26px 32px 32px;
}

/* --- Fields ------------------------------------------------------------- */

.gs-quote-modal .form-group {
    margin-bottom: 16px;
}

.gs-quote-modal .form-control,
.gs-quote-modal .form-select {
    padding: 13px 16px;
    border: 1px solid var(--gs-line, #E3E6EE);
    border-radius: var(--gs-r-sm, 10px);
    background-color: #fff;
    color: var(--gs-ink, #14181F);
    font-size: 15px;
}

.gs-quote-modal .form-control::placeholder {
    color: #98A0B3;
}

.gs-quote-modal .form-control:focus,
.gs-quote-modal .form-select:focus {
    border-color: var(--gs-navy, #132C74);
    box-shadow: 0 0 0 3px rgba(19, 44, 116, .12);
}

.gs-quote-modal .field-error {
    display: block;
    margin-top: 6px;
    color: #C0392B;
    font-size: 13px;
}

.gs-quote-modal .form-note--err {
    margin-bottom: 18px;
    padding: 12px 16px;
    border: 1px solid rgba(192, 57, 43, .25);
    border-radius: var(--gs-r-sm, 10px);
    background: rgba(192, 57, 43, .07);
    color: #A5342A;
    font-size: 14.5px;
}

/* --- Artwork drop zone -------------------------------------------------- */

.gs-quote-modal .file-upload label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    margin: 0;
    padding: 20px 16px;
    border: 1px dashed var(--gs-line, #E3E6EE);
    border-radius: var(--gs-r-sm, 10px);
    background: var(--gs-cream, #FBF8F3);
    color: var(--gs-slate, #5B6478);
    font-size: 14.5px;
    cursor: pointer;
    transition: border-color .2s ease, background .2s ease;
}

.gs-quote-modal .file-upload label:hover {
    border-color: var(--gs-rust, #B66119);
    background: #fff;
}

.gs-quote-modal .file-upload strong {
    color: var(--gs-navy, #132C74);
}

/* --- Submit ------------------------------------------------------------- */

.gs-quote-modal .btn-submit {
    width: 100%;
    margin-top: 6px;
    padding: 15px 25px;
    border: 1px solid var(--gs-rust, #B66119);
    border-radius: 50px;
    background-color: var(--gs-rust, #B66119);
    color: #fff;
    font-size: 16px;
    font-weight: 600;
}

.gs-quote-modal .btn-submit:hover {
    background-color: var(--gs-navy, #132C74);
    border-color: var(--gs-navy, #132C74);
    color: #fff;
}

.gs-quote-modal .btn-submit:disabled {
    opacity: .7;
}

/* Tawk.to floats bottom-right at z-index 1000000; the dialog has to clear it. */
.gs-quote-modal {
    z-index: 1000001;
}

.modal-backdrop {
    z-index: 1000000;
}

@media (max-width: 575.98px) {
    .gs-quote-modal .modal-header { padding: 22px 20px 16px; }
    .gs-quote-modal .modal-body { padding: 20px 20px 26px; }
    .gs-quote-modal .modal-title { font-size: 24px; }
}
