.profile-page { padding: 42px 0; }
.profile-heading { display: flex; gap: 18px; align-items: center; margin-bottom: 28px; }
.profile-heading h1 { margin: 2px 0; }
.profile-heading p { margin: 0; color: var(--muted); }
.profile-avatar-large { display: grid; flex: 0 0 72px; width: 72px; height: 72px; place-items: center; border-radius: 50%; background: var(--green); color: white; font: 700 30px Georgia, serif; box-shadow: 0 12px 26px #1933262b; }
.profile-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.profile-card { padding: 24px; border: 1px solid var(--line); border-radius: 16px; background: var(--card); }
.profile-card h2 { margin-top: 0; font: 700 23px Georgia, serif; }
.profile-card > p { color: var(--muted); }
.profile-card form { display: grid; gap: 15px; }
.profile-card input[readonly] { background: #ece9e1; color: var(--muted); cursor: not-allowed; }
.field-note { color: var(--muted); font-size: 12px; }
.addresses-page { padding: 42px 0; }
.addresses-heading { display: flex; justify-content: space-between; gap: 20px; align-items: end; margin-bottom: 24px; }
.addresses-heading h1 { margin: 2px 0 5px; }
.addresses-heading p { margin: 0; color: var(--muted); }
.address-new-panel { margin-bottom: 20px; padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: var(--card); }
.address-new-panel h2 { margin-top: 0; font: 700 23px Georgia, serif; }
.address-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.address-card { padding: 20px; border: 1px solid var(--line); border-radius: 15px; background: var(--card); }
.address-card-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.address-label { font-weight: 800; }
.default-badge { display: inline-block; margin-left: 6px; padding: 3px 7px; border-radius: 99px; background: #dcecdf; color: #28533a; font-size: 10px; font-weight: 800; }
.address-card p { margin: 12px 0; }
.address-meta { color: var(--muted); font-size: 13px; }
.address-actions { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--line); }
.address-actions form { margin: 0; }
.address-actions button { margin: 0; }
.edit-address-button { color: var(--green); font-weight: 800; }
.address-edit-panel { margin-top: 14px; padding-top: 4px; }
.address-form { display: grid; gap: 14px; margin-top: 14px; }
.address-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.address-form .span-2 { grid-column: 1 / -1; }
.checkbox-label { display: flex; flex-direction: row; align-items: center; }
.checkbox-label input { width: 18px; height: 18px; }
.danger-button { border-color: #d9aaa2; color: #9a3f31; }
.empty-addresses { grid-column: 1 / -1; padding: 40px; border: 1px dashed var(--line); border-radius: 15px; color: var(--muted); text-align: center; }
@media (max-width: 700px) {
  .profile-page { padding: 26px 0; }
  .profile-heading { align-items: flex-start; }
  .profile-avatar-large { flex-basis: 58px; width: 58px; height: 58px; font-size: 24px; }
  .profile-grid { grid-template-columns: 1fr; }
  .profile-card { padding: 18px; }
  .addresses-page { padding: 26px 0; }
  .addresses-heading { align-items: stretch; flex-direction: column; }
  .address-list { grid-template-columns: 1fr; }
  .address-form-grid { grid-template-columns: 1fr; }
  .address-form .span-2 { grid-column: auto; }
  .address-card-head { flex-direction: column; }
}
