#modalEndereco .modal-dialog {
    max-width: 540px;
}

#modalEndereco .pedenoo-address-modal {
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    overflow: hidden;
    color: #2c3e50;
    max-height: calc(100dvh - 2rem);
    display: flex;
    flex-direction: column;
}

.pedenoo-address-modal #partialform {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.pedenoo-address-modal .modal-header {
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 1.25rem;
    border-bottom: 2px solid #f7654b;
}

.pedenoo-address-modal .modal-title {
    color: #2c3e50;
    font-size: 1.2rem;
    font-weight: 600;
}

.pedenoo-address-modal .modal-header .close {
    margin: 0 0 0 auto;
    padding: 0.25rem;
    color: #34495e;
    opacity: 0.7;
}

.pedenoo-address-modal .modal-body {
    padding: 1rem 1.25rem;
    overflow-y: auto;
}

.pedenoo-address-modal .address-modal-fields {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 0.75rem 1rem;
}

.pedenoo-address-modal .address-modal-fields > .form-group {
    min-width: 0;
}

.pedenoo-address-modal .form-group {
    margin-bottom: 0;
}

.pedenoo-address-modal .form-group label {
    display: block;
    margin-bottom: 0.35rem;
    color: #2c3e50;
    font-size: 0.9rem;
    font-weight: 500;
}

.pedenoo-address-modal .form-control {
    height: 42px;
    margin-bottom: 0;
    padding: 0.5rem 0.75rem;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    background-color: #fff;
    font-size: 1rem;
}

.address-modal-alias,
.address-modal-cep,
.address-modal-neighborhood,
.address-modal-reference,
.address-modal-complement,
.address-modal-region { grid-column: span 6; }

.address-modal-number,
.address-modal-uf { grid-column: span 3; }

.address-modal-street,
.address-modal-city { grid-column: span 9; }

.address-modal-full { grid-column: span 12; }

.pedenoo-address-modal .form-control:focus {
    border-color: #f7654b;
    box-shadow: 0 0 0 3px rgba(247, 101, 75, 0.15);
    outline: none;
}

.pedenoo-address-modal input.form-control:-webkit-autofill,
.pedenoo-address-modal input.form-control:-webkit-autofill:hover {
    -webkit-box-shadow: 0 0 0 1000px #fff inset;
    -webkit-text-fill-color: #2c3e50;
}

.pedenoo-address-modal input.form-control:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px #fff inset, 0 0 0 3px rgba(247, 101, 75, 0.15);
    -webkit-text-fill-color: #2c3e50;
}

.pedenoo-address-modal .modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 0.8rem 1.25rem;
    border-top: 1px solid #e0e0e0;
}

.pedenoo-address-modal .modal-footer .btn {
    min-width: 140px;
    height: 42px;
    margin: 0;
    border-radius: 8px;
    font-weight: 600;
}

.pedenoo-address-modal .address-modal-cancel {
    border: 1px solid #d3d6d8;
    background: #fff;
    color: #34495e;
}

.pedenoo-address-modal .address-modal-cancel:hover {
    background: #f2f4f5;
    color: #34495e;
}

.pedenoo-address-modal .address-modal-save {
    border: 1px solid #f7654b;
    background: #f7654b;
    color: #fff;
}

.pedenoo-address-modal .address-modal-save:hover {
    border-color: #e85940;
    background: #e85940;
    color: #fff;
}

.pedenoo-address-modal .btn:focus-visible,
.pedenoo-address-modal .close:focus-visible {
    outline: 3px solid #f7654b;
    outline-offset: 2px;
}

@media (max-width: 575px) {
    #modalEndereco .modal-dialog {
        margin: 0.5rem;
    }

    .pedenoo-address-modal .modal-header,
    .pedenoo-address-modal .modal-footer {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .pedenoo-address-modal .modal-header {
        flex-wrap: wrap;
    }

    .pedenoo-address-modal .modal-header .close {
        order: 2;
    }

    .pedenoo-address-modal .modal-body {
        padding: 0.85rem 1rem;
    }

    .pedenoo-address-modal .address-modal-fields {
        gap: 0.7rem 0.75rem;
    }

    .address-modal-alias,
    .address-modal-street,
    .address-modal-neighborhood,
    .address-modal-reference,
    .address-modal-complement,
    .address-modal-region { grid-column: span 12; }

    .address-modal-cep,
    .address-modal-number { grid-column: span 6; }

    .address-modal-uf { grid-column: span 5; }
    .address-modal-city { grid-column: span 7; }

    .pedenoo-address-modal .modal-footer {
        gap: 0.5rem;
    }

    .pedenoo-address-modal .modal-footer .btn {
        flex: 1;
        min-width: 0;
    }
}
