/* =========================================================
   CARAVAN VALUATION - CURRENT PAGE ADDITIONS
   IMPORTANT:
   These rules are APPENDED to the existing file.
   Existing classes/rules above are intentionally preserved.
   ========================================================= */
.main-title {
    font-size: 42px;
    font-weight: 800;
    line-height: 1.25;
}

.sub-title {
    font-size: 22px;
    line-height: 28px;
    font-weight: 500;
    letter-spacing: 0;
    margin-top: 10px;
    margin-bottom: 15px;
}

.disable-tab {
    pointer-events: none;
}

    .disable-tab .form-control, .disable-tab .form-select {
        background-color: #e0e0e0 !important;
    }

    .disable-tab .button {
        border-color: #e0e0e0 !important;
        background-color: #e0e0e0 !important;
        color: #212529;
    }

/* Default arrow - dark */
.accordion-button::after {
    flex-shrink: 0;
    width: 1.25rem;
    height: 1.25rem;
    margin-left: auto;
    content: "";
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-size: 1.25rem;
    transition: transform .2s ease-in-out;
}

/* Active / selected accordion - white arrow */
.accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1-.708 0z'/%3e%3c/svg%3e");
}

.accordion-button:not(.collapsed) {
    background-color: #dc3103;
    border-color: #e4e4e4;
}

.button {
    border: 2px solid #dc3103 !important;
    color: #fff !important;
    background: #dc3103 !important;
    padding: 10px 20px;
}

.button-reverse {
    background-color: transparent !important;
    border-color: #dc3103 !important;
    color: #dc3103 !important;
}

.selectionButton {
    padding: 7px 10px;
}

.bg-theme {
    background-color: #dc3103 !important;
}

.field-validation-error {
    padding: 4px 0;
}

.text-danger {
    color: #000 !important;
    background: #ceb300;
    display: block;
    text-align: center;
    margin-top: 10px;
}

.hdnFieldForValidation {
    position: absolute;
    z-index: -1;
}
/* Bootstrap 5 form select - required by current Razor markup */
.form-select {
    display: block;
    width: 100%;
    padding: 0.375rem 2.25rem 0.375rem 0.75rem;
    -moz-padding-start: calc(0.75rem - 3px);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.form-select:focus {
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.form-label {
    margin-bottom: 0.5rem;
    font-size: 1rem;
    font-weight: 400;
}

/* Bootstrap display utility used by the current page */
.d-none {
    display: none !important;
}

/* Bootstrap spacing utilities used by the current page */
.p-2 {
    padding: 0.5rem !important;
}

.p-3 {
    padding: 1rem !important;
}

.pt-0 {
    padding-top: 0 !important;
}

.pt-2 {
    padding-top: 0.5rem !important;
}

.pt-3 {
    padding-top: 1rem !important;
}

.pt-4 {
    padding-top: 1.5rem !important;
}

/* Bootstrap alert class used by the image-upload waiting message */
.alert-primary {
    color: #084298;
    background-color: #cfe2ff;
    border: 1px solid #b6d4fe;
}

/* Bootstrap success background used by the hidden legacy message area */
.bg-success {
    background-color: #198754 !important;
}

/* Bootstrap collapse state used by the accordion markup */
.collapse:not(.show) {
    display: none;
}

.collapsing {
    height: 0;
    overflow: hidden;
    transition: height 0.35s ease;
}

/* Current page button styling already exists inline.
   Keep these classes here so the page can use them without Bootstrap. */
.caravan-valuation-guide .button {
    border: 2px solid #dc3103 !important;
    color: #fff !important;
    background: #dc3103 !important;
}

.caravan-valuation-guide .button-reverse {
    background-color: transparent !important;
    border-color: #dc3103 !important;
    color: #dc3103 !important;
}

.caravan-valuation-guide .selectionButton {
    padding: 7px 10px;
}

.caravan-valuation-guide .bg-theme {
    background-color: #dc3103 !important;
}

.caravan-valuation-guide .field-validation-error {
    padding: 4px 0;
}

.caravan-valuation-guide .text-danger {
    color: #000 !important;
    background: #ceb300;
    display: block;
    text-align: center;
    margin-top: 10px;
}

.caravan-valuation-guide .hdnFieldForValidation {
    position: absolute;
    z-index: -1;
}

/* Disabled accordion sections */
.caravan-valuation-guide .disable-tab {
    pointer-events: none;
}

    .caravan-valuation-guide .disable-tab .form-control,
    .caravan-valuation-guide .disable-tab .form-select {
        background-color: #e0e0e0 !important;
    }

    .caravan-valuation-guide .disable-tab .button {
        border-color: #e0e0e0 !important;
        background-color: #e0e0e0 !important;
        color: #212529 !important;
    }

/* The current accordion design uses Nationwide red for the
   active section. This is already present in the page <style>,
   but keeping it here makes the lite CSS self-contained. */
.caravan-valuation-guide .accordion-button:not(.collapsed) {
    background-color: #dc3103;
    border-color: #e4e4e4;
}

/* =========================================================
   MOBILE OVERRIDES
   IMPORTANT:
   Existing mobile rules are preserved above.
   These are scoped to the current valuation page only.
   ========================================================= */

@media (max-width: 767px) {

    .caravan-valuation-guide .form-label {
        font-size: 14px;
        margin-bottom: 5px;
    }

    .caravan-valuation-guide .form-select {
        width: 100%;
        min-height: 44px;
        height: 44px;
        font-size: 14px;
    }

    .caravan-valuation-guide .accordion-button {
        width: 100%;
        min-height: 44px;
        padding: 12px 15px;
        font-size: 14px;
    }

    .caravan-valuation-guide .accordion-body {
        padding: 12px 15px;
    }
}

/*
   The old Step 0-8/mobile CSS contains a global max-479px
   .container width reduction. Do not delete that legacy rule;
   override it only inside the current valuation page so the
   current page remains full width on small phones.
*/
@media (max-width: 479px) {

    .caravan-valuation-guide .container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .caravan-valuation-guide .row {
        margin-left: -10px;
        margin-right: -10px;
    }
}

/* =========================================================
   CARAVAN VALUATION - GRID FIX
   Bootstrap row / col-md-3 support
   ========================================================= */

/* Bootstrap-style row */
.caravan-valuation-guide .row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}

    .caravan-valuation-guide .row > * {
        flex-shrink: 0;
        width: 100%;
        max-width: 100%;
        padding-right: calc(var(--bs-gutter-x) * .5);
        padding-left: calc(var(--bs-gutter-x) * .5);
        margin-top: var(--bs-gutter-y);
    }

.caravan-valuation-guide .aligncenter {
    text-align: center;
    margin: 0 auto;
    display: block;
}
/* Bootstrap column base */
.caravan-valuation-guide [class*="col-"] {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
    box-sizing: border-box;
}

/* Desktop / tablet */
@media (min-width: 768px) {

    .caravan-valuation-guide .col-md-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .caravan-valuation-guide .col-md-8 {
        flex: 0 0 66.66666667%;
        max-width: 66.66666667%;
    }

    .caravan-valuation-guide .col-md-7 {
        flex: 0 0 58.33333333%;
        max-width: 58.33333333%;
    }

    .caravan-valuation-guide .col-md-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .caravan-valuation-guide .col-md-5 {
        flex: 0 0 41.66666667%;
        max-width: 41.66666667%;
    }

    .caravan-valuation-guide .col-md-4 {
        flex: 0 0 33.33333333%;
        max-width: 33.33333333%;
    }

    .caravan-valuation-guide .col-md-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .caravan-valuation-guide .col-md-2 {
        flex: 0 0 16.66666667%;
        max-width: 16.66666667%;
    }

    .caravan-valuation-guide .col-md-1 {
        flex: 0 0 8.33333333%;
        max-width: 8.33333333%;
    }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {
    .caravan-valuation-guide .row > [class*="col-"]:has(> .selectionButton) {
        flex: 0 0 50% !important;
        width: 50% !important;
        max-width: 50% !important;
        padding-left: 10px;
        padding-right: 10px;
        margin-bottom: 15px;
    }

    .caravan-valuation-guide .row {
        display: flex;
        flex-wrap: wrap;
        margin-left: -10px;
        margin-right: -10px;
    }

    .caravan-valuation-guide [class*="col-"] {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 10px;
        padding-right: 10px;
    }

    .start-journey .common-btn {
        font-size: 13px;
        line-height: 22px;
    }
}

