.grid-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 20px;
}

.form-field {
    display: flex;
    flex-direction: column;
}

.send-details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(5, max-content); 
    gap: 20px;
    border-right: solid 3px;
    padding-right: 20px;
}

.send-header {
    grid-column: 1 / 3;
    margin-bottom: -15px;
}

.image-field {
    grid-column: 1 / 3;
    margin-bottom: -15px;
}

.image-area {
    border: solid 1px;
    height: 150px;
}

.image-area img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.image-area img:not([src]) {
    display: none;
}

.browse-btn {
    width: 30%;
    margin-left: -15px;
}

.rec-details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(5, max-content); 
    gap: 20px;
}

.rec-header {
    grid-column: 1 / 3;
    margin-bottom: -15px;
}

.message-box{
    height: 100%;
}

.message-area {
    grid-column: 1 / 3;
}

.notify-rec-area  {
    grid-column: 1 / 3;
}

.pay-details {
    grid-column: 1 / 3;
    justify-content: center;
    padding-left: 25%;
    padding-right: 25%;
    border-top: solid 3px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: repeat(5, max-content); 
    gap: 20px;
}

.pay-header {
    grid-column: 1 / 4;
    margin-bottom: -15px;
}

.card-number-area {
    grid-column: 2 / 4;
}

.terms-area {
    grid-column: 1 / 4;
}

.submit-btn {
    grid-column: 2 / 3;
}

.invalid {
    border: 2px solid #d93025;
    background-color: #fdecea;
}

.error-message {
    display: block;
    color: #d93025;
    font-size: 0.85rem;
    min-height: 1.1em; 
}