
/*
 * Soke Instant Quote - Compact Center
 * The JS adds .soke-compact-quote to the existing quote form wrapper.
 * No form fields are replaced.
 */
.soke-compact-quote {
    width: min(100% - 28px, 820px) !important;
    max-width: 820px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 18px 22px 20px !important;
    box-sizing: border-box !important;
}

.soke-compact-quote h1,
.soke-compact-quote h2,
.soke-compact-quote h3,
.soke-compact-quote .title,
.soke-compact-quote .widget-title {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    line-height: 1.15 !important;
}

.soke-compact-quote form {
    margin: 0 auto !important;
    max-width: 100% !important;
}

.soke-compact-quote .wpcf7-form,
.soke-compact-quote .wpcf7 {
    width: 100% !important;
    max-width: 100% !important;
}

.soke-compact-quote input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]),
.soke-compact-quote select,
.soke-compact-quote textarea {
    min-height: 44px !important;
    height: 44px !important;
    padding-top: 9px !important;
    padding-bottom: 9px !important;
    margin-bottom: 8px !important;
    box-sizing: border-box !important;
}

.soke-compact-quote textarea {
    height: auto !important;
    min-height: 80px !important;
}

.soke-compact-quote label {
    margin-bottom: 4px !important;
}

.soke-compact-quote p {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
}

.soke-compact-quote input[type="submit"],
.soke-compact-quote button[type="submit"],
.soke-compact-quote .wpcf7-submit {
    min-height: 40px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    margin-top: 5px !important;
}

/* Compact common grid/row spacing without changing field order. */
.soke-compact-quote .row {
    margin-left: -7px !important;
    margin-right: -7px !important;
}
.soke-compact-quote .row > [class*="col-"] {
    padding-left: 7px !important;
    padding-right: 7px !important;
}

/* Keep the two-step indicators close to the heading. */
.soke-compact-quote .steps,
.soke-compact-quote .step,
.soke-compact-quote [class*="step"] {
    margin-top: 5px !important;
    margin-bottom: 10px !important;
}

/* Center the wrapper's parent when theme uses flex/columns. */
.soke-quote-parent-center {
    display: flex !important;
    justify-content: center !important;
}
.soke-quote-parent-center > .soke-compact-quote {
    flex: 0 1 820px !important;
}

/* Desktop: make the form visually tighter. */
@media (min-width: 769px) {
    .soke-compact-quote {
        width: min(82vw, 820px) !important;
    }
}

/* Tablet / phone: preserve usability and avoid horizontal overflow. */
@media (max-width: 768px) {
    .soke-compact-quote {
        width: calc(100% - 20px) !important;
        max-width: 620px !important;
        padding: 16px !important;
    }
}

@media (max-width: 480px) {
    .soke-compact-quote {
        width: calc(100% - 12px) !important;
        padding: 13px !important;
    }
}
