
.gqssl-wrap {
    width: 100%;
    max-width: 960px;
    margin: 40px auto;
    padding: 48px;
    box-sizing: border-box;
    color: #fff;
    background: linear-gradient(135deg, rgba(5,22,39,.98), rgba(10,49,79,.97));
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 14px;
    box-shadow: 0 18px 55px rgba(0,0,0,.30);
    font-family: Arial, Helvetica, sans-serif;
}

.gqssl-heading { text-align:center; margin-bottom:28px; }
.gqssl-heading h2,
.gqssl-success h2 {
    margin:0 0 13px;
    color:#fff;
    font-size:36px;
    line-height:1.3;
}
.gqssl-heading p,
.gqssl-success p {
    max-width:760px;
    margin:0 auto;
    color:#dce6ee;
    font-size:16px;
    line-height:1.7;
}

.gqssl-progress {
    height:7px;
    margin:25px 0 12px;
    overflow:hidden;
    background:rgba(255,255,255,.15);
    border-radius:20px;
}
.gqssl-progress span {
    display:block;
    width:50%;
    height:100%;
    background:#d4af37;
    transition:width .3s ease;
}
.gqssl-step-caption {
    margin-bottom:30px;
    color:#d4af37;
    font-size:13px;
    font-weight:700;
    text-align:center;
    text-transform:uppercase;
    letter-spacing:.7px;
}
.gqssl-step { display:none; }
.gqssl-step.is-active { display:block; animation:gqsslFade .3s ease; }
@keyframes gqsslFade {
    from { opacity:0; transform:translateY(8px); }
    to { opacity:1; transform:translateY(0); }
}
.gqssl-grid,
.gqssl-options {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px;
}
.gqssl-options { gap:12px; }
.gqssl-field { margin-bottom:22px; }
.gqssl-field label {
    display:block;
    margin-bottom:9px;
    color:#fff;
    font-size:15px;
    font-weight:600;
}
.gqssl-field label span { color:#d4af37; }

.gqssl-field input[type="text"],
.gqssl-field input[type="email"],
.gqssl-field input[type="tel"],
.gqssl-field input[type="file"],
.gqssl-field textarea {
    width:100%;
    box-sizing:border-box;
    padding:14px 15px;
    color:#fff;
    background:rgba(1,14,27,.78);
    border:1px solid rgba(255,255,255,.58);
    border-radius:7px;
    outline:none;
    font:inherit;
}
.gqssl-field textarea { min-height:155px; resize:vertical; }
.gqssl-field input::placeholder,
.gqssl-field textarea::placeholder { color:#aebac5; }
.gqssl-field input:focus,
.gqssl-field textarea:focus {
    border-color:#d4af37;
    box-shadow:0 0 0 3px rgba(212,175,55,.16);
}
.gqssl-section { margin-bottom:34px; }
.gqssl-section h3 { margin:0 0 8px; color:#fff; font-size:22px; }
.gqssl-section h3 small { color:#cbd5df; font-size:14px; font-weight:400; }
.gqssl-section > p,
.gqssl-file-note { color:#c8d3dd; font-size:13px; line-height:1.5; }

.gqssl-option {
    display:flex;
    align-items:center;
    gap:11px;
    min-height:50px;
    padding:11px 14px;
    box-sizing:border-box;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.18);
    border-radius:7px;
    cursor:pointer;
    transition:.2s ease;
}
.gqssl-option:hover {
    background:rgba(212,175,55,.09);
    border-color:#d4af37;
}
.gqssl-option input {
    width:18px;
    height:18px;
    margin:0;
    accent-color:#d4af37;
}
.gqssl-option span { color:#fff; font-size:14px; }

.gqssl-actions {
    display:flex;
    justify-content:space-between;
    gap:15px;
    margin-top:28px;
}
.gqssl-actions-end { justify-content:flex-end; }
.gqssl-btn {
    min-width:155px;
    padding:14px 26px;
    border-radius:6px;
    font:700 15px Arial,Helvetica,sans-serif;
    cursor:pointer;
    transition:.25s ease;
}
.gqssl-btn-primary {
    color:#071828;
    background:#d4af37;
    border:2px solid #d4af37;
}
.gqssl-btn-primary:hover { background:#e6c555; border-color:#e6c555; transform:translateY(-1px); }
.gqssl-btn-primary:disabled { opacity:.65; cursor:not-allowed; }
.gqssl-btn-secondary {
    color:#fff;
    background:transparent;
    border:2px solid rgba(255,255,255,.65);
}
.gqssl-btn-secondary:hover { background:rgba(255,255,255,.08); border-color:#fff; }

.gqssl-honeypot {
    position:absolute!important;
    left:-9999px!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
    opacity:0!important;
}
.gqssl-form-message {
    display:none;
    margin-top:20px;
    padding:14px 16px;
    border-radius:7px;
    line-height:1.5;
}
.gqssl-form-message.is-error {
    display:block;
    background:rgba(170,25,25,.25);
    border:1px solid rgba(255,120,120,.6);
}
.gqssl-success {
    padding:38px 15px;
    text-align:center;
}
.gqssl-success-icon {
    display:flex;
    align-items:center;
    justify-content:center;
    width:74px;
    height:74px;
    margin:0 auto 22px;
    color:#071828;
    background:#d4af37;
    border-radius:50%;
    font-size:39px;
    font-weight:700;
}

@media (max-width:767px) {
    .gqssl-wrap { margin:20px auto; padding:30px 19px; border-radius:10px; }
    .gqssl-heading h2, .gqssl-success h2 { font-size:28px; }
    .gqssl-heading p, .gqssl-success p { font-size:15px; }
    .gqssl-grid, .gqssl-options { grid-template-columns:1fr; }
    .gqssl-actions { flex-direction:column-reverse; }
    .gqssl-btn { width:100%; }
}


.gqssl-contact-details {
    margin-top: 18px !important;
}

.gqssl-contact-details a {
    color: #d4af37;
    text-decoration: none;
    font-weight: 700;
}

.gqssl-contact-details a:hover {
    text-decoration: underline;
}


/* Reliable document uploader */
.gqssl-upload-box {
    padding: 16px;
    background: rgba(1,14,27,.48);
    border: 1px dashed rgba(255,255,255,.42);
    border-radius: 8px;
}

.gqssl-upload-box input[type="file"] {
    margin: 0;
}

.gqssl-upload-help {
    margin-top: 9px;
    color: #c8d3dd;
    font-size: 13px;
    line-height: 1.5;
}

.gqssl-upload-summary {
    margin-top: 16px;
    padding: 14px;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 8px;
}

.gqssl-upload-summary-row,
.gqssl-upload-status-row,
.gqssl-upload-item-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.gqssl-upload-summary-row {
    margin-bottom: 10px;
    color: #fff;
    font-size: 14px;
}

.gqssl-upload-list {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}

.gqssl-upload-item {
    padding: 14px;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 8px;
}

.gqssl-upload-file-info {
    min-width: 0;
}

.gqssl-upload-file-info strong {
    display: block;
    overflow: hidden;
    color: #fff;
    font-size: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gqssl-upload-file-info small {
    display: block;
    margin-top: 4px;
    color: #aebac5;
}

.gqssl-upload-remove {
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    padding: 0;
    color: #fff;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 50%;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}

.gqssl-upload-remove:hover {
    color: #071828;
    background: #d4af37;
    border-color: #d4af37;
}

.gqssl-upload-status-row {
    margin-top: 11px;
    color: #c8d3dd;
    font-size: 12px;
}

.gqssl-upload-progress {
    height: 8px;
    margin-top: 7px;
    overflow: hidden;
    background: rgba(255,255,255,.12);
    border-radius: 20px;
}

.gqssl-upload-progress span {
    display: block;
    width: 0;
    height: 100%;
    background: #d4af37;
    border-radius: inherit;
    transition: width .15s linear;
}

.gqssl-upload-item.is-success {
    border-color: rgba(95,210,140,.55);
}

.gqssl-upload-item.is-success .gqssl-upload-status {
    color: #8fe1ad;
}

.gqssl-upload-item.is-error {
    border-color: rgba(255,120,120,.65);
}

.gqssl-upload-item.is-error .gqssl-upload-status,
.gqssl-upload-item.is-error .gqssl-upload-percent {
    color: #ff9d9d;
}

.gqssl-upload-item.is-error .gqssl-upload-progress span {
    background: #dc6666;
}


/* Version 1.1.3: one-page form and country-code phone field */
.gqssl-contact-section,
.gqssl-one-page-details {
    display: block !important;
}

.gqssl-contact-section {
    margin-bottom: 22px;
}

.gqssl-progress,
.gqssl-step-caption {
    display: none !important;
}

.gqssl-actions-end {
    justify-content: flex-end;
}

.gqssl-phone-row {
    display: grid;
    grid-template-columns: minmax(190px, .8fr) minmax(220px, 1.2fr);
    gap: 12px;
}

.gqssl-field select {
    width: 100%;
    min-height: 50px;
    padding: 12px 14px;
    color: #ffffff;
    background: rgba(1,14,27,.72);
    border: 1px solid rgba(255,255,255,.48);
    border-radius: 7px;
    font: inherit;
    outline: none;
}

.gqssl-field select:focus {
    border-color: #d4af37;
    box-shadow: 0 0 0 3px rgba(212,175,55,.15);
}

.gqssl-field select option {
    color: #111111;
    background: #ffffff;
}

@media (max-width: 767px) {
    .gqssl-phone-row {
        grid-template-columns: 1fr;
    }

    .gqssl-actions-end .gqssl-btn {
        width: 100%;
    }
}


/* Version 1.1.4: side-by-side editable Project Type and Required Service */
.gqssl-choice-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    align-items: start;
}

.gqssl-choice-column {
    margin: 0;
}

.gqssl-choice-column .gqssl-options {
    grid-template-columns: 1fr;
}

@media (max-width: 767px) {
    .gqssl-choice-columns {
        grid-template-columns: 1fr;
    }
}
