/* ==========================================
   SELL PHONE PAGE
========================================== */

.sell-phone-page {
    width: 100%;

    padding:
        75px
        0
        90px;

    background: #f5f6f9;
}


.sell-phone-container {
    width: min(
        1440px,
        calc(100% - 100px)
    );

    margin: 0 auto;
}


/* ==========================================
   HERO
========================================== */

.sell-phone-hero {
    width: 100%;

    min-height: 205px;

    display: flex;

    flex-direction: column;

    align-items: center;
    justify-content: center;

    padding: 35px;

    border-radius: 24px;

    background:
        linear-gradient(
            120deg,
            #090909,
            #202020
        );

    color: #ffffff;

    text-align: center;
}


.sell-phone-hero h1 {
    margin: 0;

    font-size: 46px;

    line-height: 1.1;

    font-weight: 800;
}


.sell-phone-hero p {
    margin-top: 20px;

    color: #e0e0e0;

    font-size: 15px;

    line-height: 1.5;
}


/* ==========================================
   MESSAGE
========================================== */

.sell-success-message,
.sell-error-message {
    margin-top: 25px;

    padding: 15px 20px;

    display: flex;

    align-items: center;

    gap: 10px;

    border-radius: 12px;

    font-size: 14px;

    font-weight: 600;
}


.sell-success-message {
    background: #e9f9ef;

    color: #16823d;
}


.sell-error-message {
    background: #fff0f0;

    color: #d83b3b;
}


/* ==========================================
   FORM
========================================== */

.sell-phone-form {
    width: 100%;

    margin-top: 35px;
}


/* ==========================================
   FORM CARD
========================================== */

.sell-form-card {
    width: 100%;

    margin-bottom: 28px;

    padding: 35px;

    border-radius: 23px;

    background: #ffffff;

    box-shadow:
        0 8px 30px
        rgba(30, 41, 59, 0.045);
}


.sell-form-card h2 {
    margin:
        0
        0
        30px;

    color: #111111;

    font-size: 28px;

    line-height: 1.2;

    font-weight: 800;
}


/* ==========================================
   NORMAL FIELDS
========================================== */

.phone-details-grid {
    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );

    gap: 22px;
}


.sell-form-group {
    width: 100%;
}


.sell-form-group label {
    display: block;

    margin-bottom: 10px;

    color: #222222;

    font-size: 13px;

    font-weight: 600;
}


.sell-form-group input,
.sell-form-group select,
.sell-form-group textarea {
    width: 100%;

    border:
        1px solid
        #dfe2e7;

    outline: none;

    border-radius: 12px;

    background: #ffffff;

    color: #222222;

    font-family: inherit;

    font-size: 13px;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}


.sell-form-group input,
.sell-form-group select {
    height: 53px;

    padding:
        0
        16px;
}


.sell-form-group textarea {
    min-height: 100px;

    padding: 15px 16px;

    resize: vertical;
}


.sell-form-group input:focus,
.sell-form-group select:focus,
.sell-form-group textarea:focus {
    border-color: #9fb1ca;

    box-shadow:
        0 0 0 3px
        rgba(37, 99, 235, 0.06);
}


.sell-form-group input::placeholder,
.sell-form-group textarea::placeholder {
    color: #a1a6ae;
}


/* ==========================================
   CONDITION
========================================== */

.condition-grid {
    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );

    gap: 22px;
}


.condition-option {
    position: relative;

    min-height: 100px;

    padding: 25px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    gap: 15px;

    border:
        1px solid
        #e1e4e8;

    border-radius: 16px;

    cursor: pointer;

    transition:
        0.2s ease;
}


.condition-option:hover {
    border-color: #afb7c3;
}


.condition-option input {
    position: absolute;

    opacity: 0;

    pointer-events: none;
}


.custom-radio {
    width: 13px;
    height: 13px;

    display: block;

    border:
        1.5px solid
        #89929d;

    border-radius: 50%;
}


.condition-option strong {
    color: #111111;

    font-size: 16px;

    font-weight: 800;
}


/* selected */

.condition-option:has(input:checked) {
    border-color: #111111;

    background: #fafafa;
}


.condition-option input:checked
+
.custom-radio {
    border:
        4px solid
        #111111;
}


/* ==========================================
   CHECKBOXES
========================================== */

.checkbox-grid {
    display: grid;

    gap: 15px;
}


.damage-grid {
    grid-template-columns:
        repeat(
            5,
            minmax(0, 1fr)
        );
}


.accessory-grid {
    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );
}


.checkbox-option {
    min-height: 55px;

    padding:
        12px
        18px;

    display: flex;

    align-items: center;

    gap: 12px;

    border:
        1px solid
        #e4e6ea;

    border-radius: 12px;

    background: #ffffff;

    color: #3b4148;

    font-size: 12px;

    cursor: pointer;

    transition:
        0.2s ease;
}


.checkbox-option:hover {
    border-color: #b9bec6;
}


.checkbox-option input {
    width: 13px;
    height: 13px;

    accent-color: #111111;
}


.checkbox-option:has(input:checked) {
    border-color: #111111;

    background: #fafafa;
}


/* ==========================================
   EXTRA INFO
========================================== */

.extra-info-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap: 24px;
}


.extra-note-group {
    margin-top: 25px;
}


/* ==========================================
   CUSTOMER DETAILS
========================================== */

.customer-details-grid {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: 24px;
}


.address-group {
    margin-top: 25px;
}


.address-group textarea {
    min-height: 95px;
}


/* ==========================================
   SUBMIT
========================================== */

.submit-sell-request {
    width: 100%;

    height: 62px;

    margin-top: 2px;

    border: none;

    border-radius: 15px;

    background: #111111;

    color: #ffffff;

    font-family: inherit;

    font-size: 15px;

    font-weight: 800;

    cursor: pointer;

    transition:
        background 0.25s ease,
        transform 0.2s ease;
}


.submit-sell-request:hover {
    background: #252525;
}


.submit-sell-request:active {
    transform: scale(0.995);
}


/* ==========================================
   LAPTOP
========================================== */

@media (max-width: 1200px) {

    .sell-phone-container {
        width:
            calc(100% - 60px);
    }


    .phone-details-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }


    .damage-grid {
        grid-template-columns:
            repeat(
                3,
                minmax(0, 1fr)
            );
    }

}


/* ==========================================
   TABLET
========================================== */

@media (max-width: 850px) {

    .sell-phone-page {
        padding:
            45px
            0
            65px;
    }


    .sell-phone-container {
        width:
            calc(100% - 34px);
    }


    .sell-phone-hero {
        min-height: 180px;

        border-radius: 20px;
    }


    .sell-phone-hero h1 {
        font-size: 36px;
    }


    .condition-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }


    .damage-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }


    .accessory-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }


    .customer-details-grid {
        grid-template-columns: 1fr;
    }

}


/* ==========================================
   MOBILE
========================================== */

@media (max-width: 600px) {

    .sell-phone-page {
        padding:
            20px
            0
            45px;
    }


    .sell-phone-container {
        width:
            calc(100% - 22px);
    }


    .sell-phone-hero {
        min-height: 155px;

        padding: 25px 18px;

        border-radius: 17px;
    }


    .sell-phone-hero h1 {
        font-size: 28px;
    }


    .sell-phone-hero p {
        margin-top: 13px;

        font-size: 12px;
    }


    .sell-phone-form {
        margin-top: 20px;
    }


    .sell-form-card {
        margin-bottom: 17px;

        padding: 22px 17px;

        border-radius: 17px;
    }


    .sell-form-card h2 {
        margin-bottom: 22px;

        font-size: 21px;
    }


    .phone-details-grid,
    .condition-grid,
    .damage-grid,
    .accessory-grid,
    .extra-info-grid,
    .customer-details-grid {
        grid-template-columns: 1fr;
    }


    .condition-option {
        min-height: 80px;

        padding: 19px;
    }


    .checkbox-option {
        min-height: 50px;
    }


    .sell-form-group input,
    .sell-form-group select {
        height: 50px;
    }


    .submit-sell-request {
        height: 55px;

        border-radius: 12px;

        font-size: 14px;
    }

}