.address-page { min-width: 320px; background: #efefef; color: #eee; }
.address-book { position: relative; width: min(100%, var(--cart-width)); min-height: 100vh; margin: 0 auto; background: #1c1c1e; }
.address-header, .address-form__header { display: grid; height: 54px; grid-template-columns: 54px 1fr 70px; align-items: center; border-bottom: 1px solid #303034; }
.address-header h1, .address-form__header h2 { margin: 0; font-size: 18px; text-align: center; }
.address-header > a, .address-form__header > button:first-child { display: grid; width: 54px; height: 54px; place-items: center; border: 0; background: transparent; cursor: pointer; }
.address-header > a span, .address-form__header > button:first-child span { width: 13px; height: 13px; border-bottom: 2px solid white; border-left: 2px solid white; transform: rotate(45deg); }
.address-add { display: grid; width: 100%; height: 66px; grid-template-columns: 34px 1fr 20px; align-items: center; padding: 0 10px; border: 0; border-bottom: 1px solid #252527; background: transparent; color: #ddd; cursor: pointer; text-align: left; font-size: 17px; }
.address-add__plus { position: relative; width: 20px; height: 20px; }
.address-add__plus::before, .address-add__plus::after { position: absolute; top: 9px; left: 1px; width: 18px; height: 1px; content: ""; background: #aaa; }
.address-add__plus::after { transform: rotate(90deg); }
.address-chevron { width: 9px; height: 9px; border-top: 2px solid #aaa; border-right: 2px solid #aaa; transform: rotate(45deg); }
.address-list { padding: 5px 10px; }
.address-card { position: relative; display: grid; min-height: 172px; grid-template-columns: 1fr 88px; padding: 17px 0; border-bottom: 1px solid #29292b; }
.address-card__select { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; padding: 0; border: 0; background: transparent; color: #aaa; cursor: pointer; text-align: left; line-height: 1.4; }
.address-card__select strong { color: #eee; font-size: 16px; }
.address-card__select span { display: block; max-width: 100%; margin-top: 4px; overflow: hidden; text-overflow: ellipsis; }
.address-card__select small { margin-top: 7px; padding: 2px 6px; border-radius: 2px; background: #4a4a4d; color: #c6c6c8; font-size: 12px; }
.address-card__actions { display: flex; align-items: flex-end; flex-direction: column; gap: 8px; }
.address-card__actions button { padding: 8px 0; border: 0; background: transparent; color: var(--cart-primary); cursor: pointer; font-size: 14px; text-align: right; }
.address-card__make-default:disabled { color: #777; cursor: default; }
.address-empty { padding: 70px 20px; color: #aaa; text-align: center; }
.address-empty h2 { margin: 0; color: #eee; font-size: 18px; }
.address-empty p { margin: 8px 0 20px; }
.address-empty button { height: 42px; padding: 0 17px; border: 0; border-radius: 4px; background: var(--cart-primary); color: white; cursor: pointer; }
.address-form { position: absolute; inset: 0; z-index: 10; min-height: 100vh; background: #1c1c1e; }
.address-form__header { position: sticky; top: 0; z-index: 2; background: #1c1c1e; }
.address-form__header > button { border: 0; background: transparent; color: var(--cart-primary); cursor: pointer; }
.address-form form { padding: 12px 14px 30px; }
.address-form form > label:not(.address-form__default) { display: block; padding: 11px 0; border-bottom: 1px solid #303034; }
.address-form label > span { display: block; margin-bottom: 7px; color: #aaa; font-size: 13px; }
.address-form input, .address-form textarea { width: 100%; padding: 7px 0; border: 0; outline: 0; background: transparent; color: white; font: inherit; resize: vertical; }
.address-form__default { display: flex; align-items: center; justify-content: space-between; padding: 18px 0; }
.address-form__default span { margin: 0 !important; color: #eee !important; font-size: 15px !important; }
.address-form__default input { width: 22px; height: 22px; accent-color: var(--cart-primary); }
.address-form__error { margin: 0 0 14px; color: #ff6684; }
.address-form__delete { width: 100%; height: 44px; margin-top: 18px; border: 1px solid #8e2f42; border-radius: 4px; background: transparent; color: #ff6684; cursor: pointer; }
