/* -------------------------------------------------------------------------
 * AS Plus Restaurant — customer address book
 *
 * The account's «آدرس‌ها» screen: the list of saved addresses, the form that writes one, and the map
 * that puts it on the ground. It also carries the destination picker at checkout and the panel that
 * repeats the destination on the order, because those three views are the same sentence written three
 * ways — only the book's own form pulls Leaflet in, so an order page never pays for a map library.
 *
 * The layout follows the account shell in woo.css (same surfaces, same gold for the active thing), and
 * holds the two rules every address screen has to hold: an address is read as a sentence, so its text
 * never shares a narrow column with anything else, and a location is either present or honestly marked
 * as missing — a card that looks finished when the pin is absent is how a courier loses an evening.
 * ---------------------------------------------------------------------- */

.asplus-addr-book {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.asplus-addr-lead {
	margin: 0;
	max-width: 68ch;
	color: var(--asplus-muted, #a79f95);
	line-height: 1.9;
}

.asplus-addr-off {
	margin: 0;
	padding: 14px 16px;
	background: var(--asplus-surface-2, #1f1e1c);
	border: 1px dashed var(--asplus-border, rgba(245, 242, 238, 0.12));
	border-radius: 14px;
	color: var(--asplus-muted, #a79f95);
}

/* ----------------------------------------------------------------- notices */

.asplus-addr-notice {
	margin: 0;
	padding: 14px 16px;
	border-radius: 14px;
	border: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.12));
	font-weight: 600;
	line-height: 1.8;
}

.asplus-addr-notice.is-success {
	background: rgba(58, 148, 89, 0.12);
	border-color: rgba(58, 148, 89, 0.42);
	color: #7fd39a;
}

.asplus-addr-notice.is-error {
	background: rgba(229, 72, 77, 0.12);
	border-color: rgba(229, 72, 77, 0.44);
	color: #ff9ba0;
}

/* ---------------------------------------------------------------------- bar */

.asplus-addr-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-block-start: 4px;
	border-block-start: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.12));
}

.asplus-addr-bar-title,
.asplus-addr-form-title {
	margin: 0;
	font-family: var(--asplus-font-heading, inherit);
	font-size: 1.06rem;
	font-weight: 800;
}

.asplus-addr-full {
	margin: 0;
	color: var(--asplus-muted, #a79f95);
	font-size: 0.9rem;
}

/* --------------------------------------------------------------------- cards */

.asplus-addr-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.asplus-addr {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 16px 18px;
	background: var(--asplus-surface-2, #1f1e1c);
	border: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.12));
	border-inline-start: 3px solid var(--asplus-muted, #a79f95);
	border-radius: 16px;
}

/* The edge colour is about the pin, and the gold ring is about being the default: an address can be
 * both, and neither mark should have to win over the other. */
.asplus-addr.is-default {
	box-shadow: inset 0 0 0 1px rgba(216, 174, 106, 0.26);
}

/* A card without a pin is marked as such on its edge: the difference between the two is the difference
 * between a courier who drives to the door and one who searches a street name. */
.asplus-addr.is-geo {
	border-inline-start-color: #3a9459;
}

.asplus-addr.is-geo-missing {
	border-inline-start-color: #e5484d;
}

.asplus-addr-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.asplus-addr-icon {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	background: rgba(216, 174, 106, 0.14);
	border-radius: 10px;
	color: var(--asplus-accent, #d8ae6a);
}

.asplus-addr-icon .asplus-icon {
	width: 18px;
	height: 18px;
}

.asplus-addr-label {
	font-size: 1.04rem;
	font-weight: 800;
}

.asplus-addr-tag {
	padding: 3px 9px;
	background: var(--asplus-accent, #d8ae6a);
	border-radius: 999px;
	color: #201607;
	font-size: 0.76rem;
	font-weight: 700;
}

.asplus-addr-geo {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-inline-start: auto;
	color: var(--asplus-muted, #a79f95);
	font-size: 0.8rem;
	font-weight: 600;
}

.asplus-addr-geo em {
	font-style: normal;
	opacity: 0.75;
}

.asplus-addr-geo.is-set {
	color: #7fd39a;
}

.asplus-addr-geo.is-missing {
	color: #ff9ba0;
}

.asplus-addr-who {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 0;
	font-size: 0.92rem;
}

.asplus-addr-who strong {
	font-weight: 700;
}

.asplus-addr-who a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--asplus-accent, #d8ae6a);
	text-decoration: none;
	direction: ltr;
}

.asplus-addr-who a .asplus-icon {
	width: 16px;
	height: 16px;
}

/* The address is the thing a person came to read, so it is the loudest text on the card. */
.asplus-addr-text {
	margin: 0;
	font-style: normal;
	font-size: 1rem;
	line-height: 1.9;
	color: var(--asplus-text, #f5f2ee);
	overflow-wrap: anywhere;
}

.asplus-addr-guide {
	display: block;
	color: var(--asplus-muted, #a79f95);
	font-size: 0.88rem;
}

.asplus-addr-postal {
	margin: 0;
	color: var(--asplus-muted, #a79f95);
	font-family: var(--asplus-font-body, inherit);
	font-size: 0.86rem;
	direction: ltr;
	text-align: start;
}

.asplus-addr-warn {
	margin: 0;
	padding: 10px 12px;
	background: rgba(229, 72, 77, 0.10);
	border-radius: 12px;
	color: #ff9ba0;
	font-size: 0.86rem;
	line-height: 1.8;
}

.asplus-addr-foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-block-start: 2px;
	padding-block-start: 10px;
	border-block-start: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.12));
}

.asplus-addr-action {
	display: inline-flex;
	margin: 0;
}

/* ------------------------------------------------------------------- buttons */

.asplus-addr-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 42px;
	padding: 0 14px;
	background: transparent;
	border: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.16));
	border-radius: 12px;
	color: var(--asplus-text, #f5f2ee);
	font: inherit;
	font-size: 0.9rem;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease, transform 0.15s ease;
}

.asplus-addr-btn .asplus-icon {
	width: 17px;
	height: 17px;
	flex: none;
}

.asplus-addr-btn:hover {
	background: var(--asplus-overlay, rgba(245, 242, 238, 0.04));
	border-color: var(--asplus-accent, #d8ae6a);
}

.asplus-addr-btn:active {
	transform: translateY(1px);
}

.asplus-addr-btn--primary {
	background: linear-gradient(180deg, var(--asplus-primary, #d5302c), var(--asplus-primary-dark, #a11f1c));
	border-color: transparent;
	color: #fff;
}

.asplus-addr-btn--primary:hover {
	background: linear-gradient(180deg, var(--asplus-primary-dark, #a11f1c), var(--asplus-primary, #d5302c));
	border-color: transparent;
}

.asplus-addr-btn--delete {
	color: #ff9ba0;
	border-color: rgba(229, 72, 77, 0.34);
}

.asplus-addr-btn--delete:hover {
	background: rgba(229, 72, 77, 0.12);
	border-color: #e5484d;
}

.asplus-addr-btn--default:hover {
	border-color: var(--asplus-accent, #d8ae6a);
	color: var(--asplus-accent, #d8ae6a);
}

.asplus-addr-btn[disabled] {
	opacity: 0.6;
	cursor: not-allowed;
}

.asplus-addr-btn:focus-visible,
.asplus-addr-form input:focus-visible,
.asplus-addr-form select:focus-visible,
.asplus-addr-form textarea:focus-visible,
.leaflet-container:focus-visible {
	outline: 2px solid var(--asplus-accent, #d8ae6a);
	outline-offset: 2px;
}

/* ---------------------------------------------------------------------- form */

.asplus-addr-card--form {
	padding: 18px;
	background: var(--asplus-surface, #161615);
	border: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.12));
	border-radius: 18px;
}

.asplus-addr-form-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-block-end: 14px;
}

.asplus-addr-back {
	color: var(--asplus-muted, #a79f95);
	font-size: 0.88rem;
	font-weight: 600;
	text-decoration: none;
}

.asplus-addr-back:hover {
	color: var(--asplus-accent, #d8ae6a);
}

.asplus-addr-form {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0;
}

.asplus-addr-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 16px;
}

.asplus-addr-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

.asplus-addr-field--wide {
	grid-column: 1 / -1;
}

.asplus-addr-field-label {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--asplus-muted, #a79f95);
	font-size: 0.85rem;
	font-weight: 700;
}

.asplus-addr-field-label i {
	padding: 1px 7px;
	background: rgba(216, 174, 106, 0.14);
	border-radius: 999px;
	color: var(--asplus-accent, #d8ae6a);
	font-size: 0.68rem;
	font-style: normal;
	font-weight: 700;
}

.asplus-addr-field input,
.asplus-addr-field select,
.asplus-addr-field textarea {
	width: 100%;
	min-height: 46px;
	padding: 11px 13px;
	background: var(--asplus-surface-2, #1f1e1c);
	border: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.16));
	border-radius: 12px;
	color: var(--asplus-text, #f5f2ee);
	font: inherit;
	font-size: 0.98rem;
	line-height: 1.7;
}

.asplus-addr-field textarea {
	resize: vertical;
}

.asplus-addr-field input::placeholder,
.asplus-addr-field textarea::placeholder {
	color: var(--asplus-muted, #a79f95);
	opacity: 0.6;
}

.asplus-addr-hint {
	color: var(--asplus-muted, #a79f95);
	font-size: 0.78rem;
	line-height: 1.7;
}

.asplus-addr-form-foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
}

.asplus-addr-foot-hint {
	margin: 0;
	color: var(--asplus-muted, #a79f95);
	font-size: 0.82rem;
}

/* ---------------------------------------------------------------- location */

.asplus-addr-geo-box {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 16px;
	background: var(--asplus-surface-2, #1f1e1c);
	border: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.12));
	border-radius: 16px;
}

.asplus-addr-geo-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.asplus-addr-geo-title {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--asplus-accent, #d8ae6a);
	font-weight: 800;
}

.asplus-addr-geo-title .asplus-icon {
	width: 18px;
	height: 18px;
}

/* What the map wrote last is the answer to «did my pin land?», so it is given where the eyes go first. */
.asplus-addr-geo-status {
	flex: 1 1 220px;
	min-width: 0;
	color: var(--asplus-muted, #a79f95);
	font-size: 0.85rem;
	line-height: 1.8;
}

.asplus-addr-map {
	position: relative;
	height: 320px;
	background: var(--asplus-surface, #161615);
	border: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.16));
	border-radius: 14px;
	overflow: hidden;
}

.asplus-addr-map .leaflet-container {
	height: 100%;
	background: var(--asplus-surface, #161615);
	font: inherit;
}

/* Leaflet's own chrome is light by default; the panel it sits in is not. The tiles stay as they are —
 * a map a courier reads has to look like every other map — but the controls stop shouting. */
.asplus-addr-map .leaflet-control-attribution {
	background: rgba(22, 22, 21, 0.78);
	color: var(--asplus-muted, #a79f95);
	font-size: 0.7rem;
}

.asplus-addr-map .leaflet-control-attribution a {
	color: var(--asplus-accent, #d8ae6a);
}

.asplus-addr-map .leaflet-bar a {
	background: var(--asplus-surface, #161615);
	border-color: var(--asplus-border, rgba(245, 242, 238, 0.16));
	color: var(--asplus-text, #f5f2ee);
}

.asplus-addr-map .leaflet-bar a:hover {
	background: var(--asplus-surface-2, #1f1e1c);
}

.asplus-addr-map noscript p {
	margin: 0;
	padding: 14px;
	color: var(--asplus-muted, #a79f95);
	font-size: 0.86rem;
}

.asplus-addr-geo-tools {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.asplus-addr-geo-help {
	color: var(--asplus-muted, #a79f95);
	font-size: 0.82rem;
}

.asplus-addr-clear {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-inline-start: auto;
	color: var(--asplus-muted, #a79f95);
	font-size: 0.84rem;
	font-weight: 600;
	cursor: pointer;
}

.asplus-addr-clear input {
	width: 18px;
	height: 18px;
	accent-color: var(--asplus-primary, #d5302c);
}

.asplus-addr-geo-alt {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	padding-block-start: 4px;
}

.asplus-addr-default {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--asplus-text, #f5f2ee);
	font-size: 0.92rem;
	font-weight: 600;
	cursor: pointer;
}

.asplus-addr-default input {
	width: 20px;
	height: 20px;
	accent-color: var(--asplus-accent, #d8ae6a);
}

/* -------------------------------------------------------- the checkout picker */

/* «به کجا بفرستیم؟» sits above WooCommerce's billing fields, so it has to read as the first question of
 * the page rather than as a box of account settings that wandered in. Each card is a radio: the whole
 * surface is the control, and the only thing inside it that is not part of the tick is the map link, which
 * the markup deliberately keeps outside the label. */
.asplus-pick {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0 0 22px;
	padding: 18px;
	background: var(--asplus-surface-2, #1f1e1c);
	border: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.12));
	border-radius: 18px;
}

.asplus-pick-title {
	margin: 0;
	font-family: var(--asplus-font-heading, inherit);
	font-size: 1.12rem;
	font-weight: 800;
}

.asplus-pick-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.asplus-pick-item {
	position: relative;
}

.asplus-pick-card {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 13px 14px;
	background: var(--asplus-surface, #171614);
	border: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.12));
	border-inline-start: 3px solid var(--asplus-muted, #a79f95);
	border-radius: 14px;
	cursor: pointer;
	transition: border-color 0.16s ease, background 0.16s ease, box-shadow 0.16s ease;
}

.asplus-pick-card:hover {
	border-color: rgba(216, 174, 106, 0.42);
}

/* Same edge grammar as the book: green when the courier gets a point, red when they get a street name. */
.asplus-pick-item.is-geo > .asplus-pick-card {
	border-inline-start-color: #3a9459;
}

.asplus-pick-item.is-geo-missing > .asplus-pick-card {
	border-inline-start-color: #e5484d;
}

/* The tick is the loudest thing on the page, because everything below it is that address's answer. */
.asplus-pick-item.is-checked > .asplus-pick-card,
.asplus-pick-card--typed.is-checked {
	background: rgba(216, 174, 106, 0.10);
	border-color: var(--asplus-accent, #d8ae6a);
	box-shadow: 0 0 0 1px rgba(216, 174, 106, 0.34);
}

.asplus-pick-radio {
	flex: none;
	width: 20px;
	height: 20px;
	margin: 4px 0 0;
	accent-color: var(--asplus-accent, #d8ae6a);
}

.asplus-pick-icon {
	display: grid;
	place-items: center;
	flex: none;
	width: 30px;
	height: 30px;
	background: rgba(216, 174, 106, 0.14);
	border-radius: 10px;
	color: var(--asplus-accent, #d8ae6a);
}

.asplus-pick-icon .asplus-icon {
	width: 18px;
	height: 18px;
}

.asplus-pick-body {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.asplus-pick-label {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	font-size: 1rem;
	font-weight: 800;
}

.asplus-pick-tag {
	padding: 2px 8px;
	background: var(--asplus-accent, #d8ae6a);
	border-radius: 999px;
	color: #201607;
	font-size: 0.72rem;
	font-weight: 700;
	font-style: normal;
}

/* An address is a sentence, so it is allowed to take as many lines as it needs and never be cut off. */
.asplus-pick-addr {
	font-size: 0.94rem;
	line-height: 1.85;
	color: var(--asplus-text, #f5f2ee);
	overflow-wrap: anywhere;
}

.asplus-pick-who {
	color: var(--asplus-muted, #a79f95);
	font-size: 0.86rem;
}

.asplus-pick-who bdi {
	display: inline-block;
	margin-inline-start: 8px;
	direction: ltr;
	unicode-bidi: isolate;
}

.asplus-pick-geo {
	font-size: 0.8rem;
	font-weight: 600;
}

.asplus-pick-geo.is-set {
	color: #7fd39a;
}

.asplus-pick-geo.is-missing {
	color: #ff9ba0;
}

.asplus-pick-map {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 8px 0 0 4px;
	padding: 7px 12px;
	background: transparent;
	border: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.12));
	border-radius: 999px;
	color: var(--asplus-accent, #d8ae6a);
	font-size: 0.84rem;
	font-weight: 700;
	text-decoration: none;
}

.asplus-pick-map .asplus-icon {
	width: 15px;
	height: 15px;
}

.asplus-pick-map:hover {
	border-color: rgba(216, 174, 106, 0.5);
}

.asplus-pick-card--typed {
	border-inline-start-color: var(--asplus-accent, #d8ae6a);
	background: transparent;
}

.asplus-pick-empty,
.asplus-pick-note,
.asplus-pick-lockin {
	margin: 0;
	padding: 11px 13px;
	border-radius: 12px;
	color: var(--asplus-muted, #a79f95);
	font-size: 0.88rem;
	line-height: 1.85;
	background: var(--asplus-surface, #171614);
	border: 1px dashed var(--asplus-border, rgba(245, 242, 238, 0.12));
}

.asplus-pick-note.is-must {
	background: rgba(216, 174, 106, 0.10);
	border-style: solid;
	border-color: rgba(216, 174, 106, 0.36);
	color: #f0dcae;
}

.asplus-pick-lockin {
	margin: 14px 0 0;
	border: none;
	background: transparent;
	padding: 0;
}

.asplus-pick-foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding-block-start: 4px;
	border-block-start: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.12));
	font-size: 0.84rem;
}

.asplus-pick-foot a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--asplus-accent, #d8ae6a);
	font-weight: 700;
	text-decoration: none;
}

.asplus-pick-foot .asplus-icon {
	width: 16px;
	height: 16px;
}

.asplus-pick-foot em {
	color: var(--asplus-muted, #a79f95);
	font-style: normal;
}

/* ------------------------------------------------ billing fields the book answers for */

/* Dimmed, not hidden: the customer still reads what is written there, they simply cannot write past the
 * address they ticked. With no script the boxes stay open and Core still overwrites them, so what is
 * stored always matches what was picked. */
.woocommerce .form-row.is-booked {
	background: rgba(216, 174, 106, 0.06);
	border-radius: 12px;
}

.woocommerce .form-row.is-booked input,
.woocommerce .form-row.is-booked textarea {
	color: var(--asplus-muted, #cfc7bd);
	background: var(--asplus-surface, #171614);
	border-style: dashed;
	cursor: default;
}

.woocommerce .form-row.is-booked select {
	color: var(--asplus-muted, #cfc7bd);
	cursor: default;
}

.woocommerce .form-row.is-booked label::after {
	content: " — از آدرس انتخابی";
	color: var(--asplus-accent, #d8ae6a);
	font-size: 0.76rem;
	font-weight: 700;
}

/* -------------------------------------------------- where an order was going */

.asplus-dest {
	display: flex;
	flex-direction: column;
	gap: 7px;
	margin: 18px 0;
	padding: 16px 18px;
	background: var(--asplus-surface-2, #1f1e1c);
	border: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.12));
	border-inline-start: 3px solid #3a9459;
	border-radius: 16px;
	max-width: 68ch;
}

.asplus-dest-title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-family: var(--asplus-font-heading, inherit);
	font-size: 1rem;
	font-weight: 800;
}

.asplus-dest-title .asplus-icon {
	width: 18px;
	height: 18px;
	color: var(--asplus-accent, #d8ae6a);
}

.asplus-dest-where {
	margin: 0;
	font-size: 1rem;
	line-height: 1.9;
	overflow-wrap: anywhere;
}

.asplus-dest-where strong {
	display: inline-block;
	margin-inline-end: 8px;
	padding: 2px 9px;
	background: rgba(216, 174, 106, 0.16);
	border-radius: 999px;
	color: var(--asplus-accent, #d8ae6a);
	font-size: 0.82rem;
	vertical-align: 2px;
}

.asplus-dest-who {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 0;
	font-size: 0.9rem;
	color: var(--asplus-muted, #a79f95);
}

.asplus-dest-who a {
	color: var(--asplus-accent, #d8ae6a);
	direction: ltr;
	text-decoration: none;
}

.asplus-dest-guide {
	margin: 0;
	color: var(--asplus-muted, #a79f95);
	font-size: 0.88rem;
	line-height: 1.8;
}

.asplus-dest-geo {
	margin: 0;
	font-size: 0.84rem;
	font-weight: 600;
}

.asplus-dest-geo.is-set {
	color: #7fd39a;
}

.asplus-dest-geo.is-missing {
	color: #ff9ba0;
}

.asplus-dest-foot {
	margin: 0;
}

.asplus-dest-map {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 12px;
	border: 1px solid var(--asplus-border, rgba(245, 242, 238, 0.12));
	border-radius: 999px;
	color: var(--asplus-accent, #d8ae6a);
	font-size: 0.84rem;
	font-weight: 700;
	text-decoration: none;
}

.asplus-dest-map .asplus-icon {
	width: 15px;
	height: 15px;
}

.asplus-dest-note {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	color: var(--asplus-muted, #a79f95);
	font-size: 0.8rem;
}

.asplus-dest-note .is-gone {
	padding: 6px 10px;
	background: rgba(229, 72, 77, 0.10);
	border-radius: 10px;
	color: #ff9ba0;
	font-style: normal;
}

/* ------------------------------------------------------------------ mobile */

@media (max-width: 720px) {
	.asplus-addr-grid,
	.asplus-addr-geo-alt {
		grid-template-columns: minmax(0, 1fr);
	}

	.asplus-addr-card--form,
	.asplus-addr {
		padding: 14px;
	}

	/* The status line moves under the title rather than squeezing the button row. */
	.asplus-addr-geo-status {
		flex-basis: 100%;
	}

	.asplus-addr-map {
		height: 260px;
	}

	.asplus-addr-geo {
		margin-inline-start: 0;
		flex-basis: 100%;
	}

	.asplus-addr-clear {
		margin-inline-start: 0;
	}

	/* At checkout the cards are the whole question, so they get the full width and the padding of the
	 * panel around them goes to the address itself. */
	.asplus-pick {
		padding: 14px;
		border-radius: 16px;
	}

	.asplus-pick-icon {
		display: none;
	}

	.asplus-dest {
		padding: 14px;
	}
}

@media (max-width: 420px) {
	.asplus-addr-foot {
		gap: 6px;
	}

	.asplus-addr-foot .asplus-addr-btn {
		flex: 1 1 46%;
		padding: 0 10px;
		font-size: 0.85rem;
	}

	.asplus-addr-map {
		height: 220px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.asplus-addr-btn {
		transition: none;
	}
}
