.ac-account-menu-open { overflow: hidden; }
.ac-account-menu {
	position: fixed;
	top: 0;
	right: 0;
	left: auto;
	width: 44vw;
	max-width: 848px;
	height: 100dvh;
	max-height: 100dvh;
	margin: 0;
	padding: 128px 48px 40px;
	border: 0;
	background: #fff;
	color: #111;
	font-family: inherit;
	box-sizing: border-box;
	overflow-y: auto;
}
.ac-account-menu[open] { display: flex; flex-direction: column; gap: 40px; }
.ac-account-menu::backdrop { background: rgba(0, 0, 0, .5); }
.ac-account-menu [hidden] { display: none !important; }
.ac-account-menu button, .ac-account-menu a { color: inherit; font: inherit; cursor: pointer; }
.ac-account-menu a { text-decoration: none; }
.ac-account-menu h2 { margin: 0 0 20px; font-size: 18px; font-weight: 600; }
.ac-account-menu p { margin: 4px 0 0; font-size: 14px; overflow-wrap: anywhere; }
.ac-account-menu button:focus-visible, .ac-account-menu a:focus-visible { outline: 2px solid #111; outline-offset: 4px; }
.ac-account-menu .ac-account-menu-close { position: absolute; top: 24px; right: 24px; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: #f5f5f5; font-size: 28px; }
.ac-account-menu-profile { display: flex; align-items: center; gap: 16px; padding-bottom: 24px; border-bottom: 1px solid #f3f4f6; }
.ac-account-menu-profile > div { min-width: 0; }
.ac-account-menu-profile strong { font-size: 20px; overflow-wrap: anywhere; }
.ac-account-avatar { display: flex; flex: 0 0 56px; width: 56px; height: 56px; align-items: center; justify-content: center; border-radius: 50%; background: #f3f4f6; font-size: 22px; }
.ac-account-menu-nav a { display: block; padding: 8px 0; font-size: 16px; }
.ac-account-menu-nav a:hover { text-decoration: underline; }
.ac-account-menu-order { margin-top: auto; }
.ac-account-menu-order-card { display: flex; gap: 16px; align-items: center; padding: 16px; border: 1px solid #e5e7eb; }
.ac-account-menu-order-card img { width: 80px; height: 80px; object-fit: cover; border-radius: 8px; }
.ac-account-menu-order-card > div { min-width: 0; }
.ac-account-menu-order-card strong { display: block; font-size: 16px; overflow-wrap: anywhere; }
.ac-account-menu-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding-top: 24px; border-top: 1px solid #e5e7eb; }
.ac-account-menu-footer p { font-size: 12px; }
.ac-account-menu-order[hidden] + .ac-account-menu-footer { margin-top: auto; }
.ac-account-menu-footer form { margin: 0; }
.ac-account-menu-footer button { width: 180px; max-width: 100%; border: 1px solid #111; border-radius: 24px; padding: 10px 16px; background: transparent; }
@media (max-width: 1023px) {
	.ac-account-menu { width: 100%; max-width: 600px; padding: 96px 24px 32px; }
}
@media (max-height: 800px) {
	.ac-account-menu { padding-top: 80px; }
	.ac-account-menu[open] { gap: 24px; }
}
