.address-manual-mode .address-lookup,
.address-manual-mode .google-address-search,
.address-manual-mode [data-address-integration-setting],
.address-manual-mode .admin-order-courier-whatsapp,
.address-manual-mode .share-customer-address,
.address-manual-mode .share-delivery-address { display: none !important; }

.address-lookup {
    display: grid;
    gap: .45rem;
    margin: 1rem 0;
    padding: 1rem;
    border: 1px solid var(--duoo-border, #dee2e6);
    border-radius: 12px;
    background: var(--duoo-bg-subtle, #f8f9fa);
    color: var(--duoo-text-main, #333);
}
.address-lookup strong { font-size: 1rem; }
.address-lookup p { margin: 0 0 .25rem; font-size: .875rem; line-height: 1.4; }
.address-lookup label { margin-top: .35rem; font-size: .875rem; font-weight: 600; }
.address-lookup input:not([type="radio"]), .address-lookup select {
    width: 100%; min-width: 0; min-height: 44px; padding: .6rem;
    border: 1px solid var(--duoo-border, #dee2e6); border-radius: 8px; box-sizing: border-box;
    background: var(--duoo-surface, #fff); color: var(--duoo-text-main, #333);
}
.address-lookup button {
    min-height: 44px; padding: .5rem .9rem; border: 0; border-radius: 8px;
    background: var(--duoo-primary-dark, #140000); color: var(--duoo-surface, #fff); font-weight: 600; cursor: pointer;
}
.address-lookup button:focus-visible, .address-lookup summary:focus-visible,
.address-lookup input:focus-visible, .address-lookup select:focus-visible { outline: 3px solid var(--duoo-primary-accent, #ffa45c); outline-offset: 2px; }
.address-lookup-mode-picker { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; margin: 0; padding: 0; border: 0; }
.address-lookup-mode-option { display: flex; align-items: flex-start; gap: .55rem; min-width: 0; margin: 0 !important; cursor: pointer; }
.address-lookup-mode-option > input { flex: 0 0 auto; width: 18px !important; min-height: 18px !important; height: 18px; margin: .8rem 0 0 .75rem !important; accent-color: var(--duoo-primary-dark, #140000); }
.address-lookup-mode-option > span { display: grid; gap: .2rem; align-content: center; flex: 1 1 auto; min-height: 68px; padding: .55rem .65rem .55rem 0; border: 1px solid var(--duoo-border, #dee2e6); border-radius: 10px; background: var(--duoo-surface, #fff); }
.address-lookup-mode-option > span strong { font-size: .9rem; line-height: 1.2; }
.address-lookup-mode-option > span small { color: var(--duoo-text-muted, #6c757d); font-size: .75rem; line-height: 1.3; }
.address-lookup-mode-option > input:checked + span { border-color: var(--duoo-primary-accent, #ffa45c); background: var(--duoo-primary-accent-alpha-10, rgba(255,164,92,.1)); box-shadow: inset 0 0 0 1px var(--duoo-primary-accent, #ffa45c); }
.address-lookup-mode-option:focus-within > span { outline: 3px solid var(--duoo-primary-accent, #ffa45c); outline-offset: 2px; }
.address-lookup-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; }
.address-lookup summary { padding: .65rem 0; font-weight: 600; cursor: pointer; }
.address-lookup-details { display: grid; gap: .4rem; }
.address-lookup > small { min-height: 1.25rem; line-height: 1.4; color: var(--duoo-text-muted, #6c757d); }
.google-address-search { display: grid; gap: .35rem; margin: .55rem 0; }
.google-address-search > label { margin: 0; font-size: .875rem; font-weight: 600; }
.google-address-search > small { min-height: 1.2rem; color: var(--duoo-text-muted, #6c757d); font-size: .78rem; line-height: 1.4; }
.google-address-autocomplete-host { min-width: 0; }
.google-address-autocomplete { display: block; width: 100%; min-height: 44px; }
.customer-address-share { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; margin-top: .4rem; }
.customer-address-share select, .customer-address-share button { min-height: 44px; max-width: 100%; }
.customer-address-share button { cursor: pointer; }

/* O cadastro e a edicao do Shop precisam caber na altura util do aparelho. */
#edit-profile-modal,
#customer-info-modal {
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    padding: max(12px, env(safe-area-inset-top, 0px)) max(12px, env(safe-area-inset-right, 0px)) max(12px, env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px));
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}
#edit-profile-modal .modal-content,
#customer-info-modal .modal-content {
    display: flex;
    flex-direction: column;
    flex: 0 1 auto;
    width: min(100%, 500px);
    min-height: 0;
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - max(24px, env(safe-area-inset-top, 0px) + env(safe-area-inset-bottom, 0px)));
    overflow: hidden;
}
#edit-profile-modal .modal-content > h2,
#edit-profile-modal .modal-content > p,
#customer-info-modal .modal-content > h2,
#customer-info-modal .modal-content > p { flex-shrink: 0; }
#edit-profile-modal .modal-content > form,
#customer-info-modal .modal-content > form {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding-right: .4rem;
}
#edit-profile-modal .modal-actions,
#customer-info-modal .modal-actions {
    position: sticky;
    bottom: 0;
    flex: 0 0 auto;
    z-index: 1;
    margin-top: 1rem;
    padding: .75rem 0 max(.75rem, env(safe-area-inset-bottom));
    border-top: 1px solid var(--duoo-border, #dee2e6);
    background: var(--color-white, #fff);
}
@media (max-width: 600px) {
    #edit-profile-modal,
    #customer-info-modal { align-items: flex-start; }
    #edit-profile-modal .modal-content,
    #customer-info-modal .modal-content {
        width: 100%;
        margin-block: auto;
        border-radius: 14px;
    }
    #edit-profile-modal .modal-content > h2,
    #customer-info-modal .modal-content > h2 { margin-top: 12px; }
}
@media (max-width: 380px) {
    .address-lookup-mode-picker { grid-template-columns: 1fr; }
    .address-lookup-row { grid-template-columns: 1fr; }
    .address-lookup button { width: 100%; }
}
