﻿.move-page {
    background: #ffffff;
    padding: 22px 0 70px;
    font-family: 'Poppins', sans-serif;
}

.move-container {
    width: min(92%, 1480px);
    margin: 0 auto;
}

.checkout-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-bottom: 46px;
}

.step {
    color: #0b1f4d;
    font-size: 1rem;
    font-weight: 700;
    padding-bottom: 17px;
    border-bottom: 4px solid #e5eaf1;
}

    .step.active {
        color: #f97316;
        border-bottom-color: #f97316;
    }

.move-heading {
    margin-bottom: 30px;
}

    .move-heading h1 {
        color: #0b1f4d;
        font-size: clamp(2.2rem, 4vw, 3.1rem);
        font-weight: 700;
        letter-spacing: -0.04em;
        margin-bottom: 10px;
    }

    .move-heading p {
        color: #53647f;
        font-size: 1.05rem;
        margin: 0;
    }

.validation-summary {
    margin-bottom: 20px;
}

.move-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 430px;
    gap: 44px;
    align-items: start;
}

.move-main {
    display: grid;
    gap: 22px;
}

.form-card,
.estimate-card {
    background: #ffffff;
    border: 1px solid #dfe5ee;
    border-radius: 14px;
    box-shadow: 0 8px 26px rgba(15, 23, 42, 0.04);
}

.form-card {
    padding: 0 26px 26px;
}

.card-header {
    min-height: 76px;
    display: flex;
    align-items: center;
}

    .card-header h2 {
        color: #0b1f4d;
        font-size: 1.4rem;
        font-weight: 700;
        margin: 0;
    }

.card-divider {
    height: 1px;
    background: #e7ecf3;
    margin-bottom: 24px;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.form-group {
    margin-bottom: 22px;
}

    .form-group label {
        display: block;
        color: #0b1f4d;
        font-size: 0.95rem;
        font-weight: 600;
        margin-bottom: 8px;
    }

.form-control {
    width: 100%;
    min-height: 52px;
    border: 1px solid #d7dde8;
    border-radius: 10px;
    color: #0b1f4d;
    font-size: 1rem;
    font-weight: 500;
    padding: 12px 15px;
    background: #ffffff;
}

    .form-control::placeholder {
        color: #94a3b8;
    }

    .form-control:focus {
        border-color: #1265e8;
        box-shadow: 0 0 0 0.2rem rgba(18, 101, 232, 0.12);
    }

.checkbox-card {
    display: flex !important;
    align-items: center;
    gap: 12px;
    min-height: 52px;
    border: 1px solid #d7dde8;
    border-radius: 10px;
    padding: 12px 15px;
    cursor: pointer;
    margin: 0;
}

    .checkbox-card input {
        width: 18px;
        height: 18px;
    }

    .checkbox-card span {
        color: #0b1f4d;
        font-size: 0.98rem;
        font-weight: 600;
    }

.estimate-card {
    position: sticky;
    top: 95px;
    padding: 30px 28px;
}

.estimate-header {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 26px;
}

    .estimate-header h3 {
        color: #0b1f4d;
        font-size: 1.45rem;
        font-weight: 700;
        margin: 0;
    }

.price-icon {
    width: 46px;
    height: 46px;
    min-width: 46px;
    border-radius: 10px;
    background: #fff3e6;
    position: relative;
}

    .price-icon::before,
    .price-icon::after {
        content: "";
        position: absolute;
        box-sizing: border-box;
    }

    .price-icon::before {
        left: 13px;
        top: 13px;
        width: 20px;
        height: 20px;
        border: 3px solid #f97316;
        border-radius: 4px;
        transform: rotate(-45deg);
    }

    .price-icon::after {
        left: 24px;
        top: 13px;
        width: 5px;
        height: 5px;
        background: #f97316;
        border-radius: 50%;
    }

.estimate-list {
    display: grid;
    gap: 22px;
}

.estimate-row {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    color: #0b1f4d;
    font-size: 1rem;
}

    .estimate-row span {
        color: #334155;
        font-weight: 400;
    }

    .estimate-row strong {
        color: #0b1f4d;
        font-weight: 600;
        white-space: nowrap;
    }

.estimate-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #e7ecf3;
    margin-top: 26px;
    padding-top: 22px;
}

    .estimate-total span {
        color: #0b1f4d;
        font-weight: 700;
        font-size: 1.05rem;
    }

    .estimate-total strong {
        color: #0b1f4d;
        font-size: 1.45rem;
        font-weight: 700;
    }

.estimate-notice {
    display: flex;
    gap: 14px;
    background: #fff7e6;
    border: 1px solid #f8d08c;
    border-radius: 10px;
    padding: 16px;
    margin: 28px 0;
}

.notice-symbol {
    color: #f97316;
    border: 2px solid #f97316;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    min-width: 20px;
    font-size: 0.8rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.estimate-notice p {
    margin: 0;
    color: #334155;
    font-size: 0.92rem;
    line-height: 1.55;
}

.continue-button {
    width: 100%;
    min-height: 58px;
    border: none;
    border-radius: 8px;
    background: #f97316;
    color: #ffffff;
    font-size: 1.05rem;
    font-weight: 700;
    transition: 0.2s ease;
}

    .continue-button:hover {
        background: #ea580c;
    }

@media (max-width: 1100px) {
    .move-layout {
        grid-template-columns: 1fr;
    }

    .estimate-card {
        position: static;
    }
}

@media (max-width: 700px) {
    .checkout-steps {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .move-layout {
        gap: 24px;
    }

    .form-card {
        padding: 0 18px 22px;
    }

    .form-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }
}
