body { --ak-a11y-offset: max(16px, env(safe-area-inset-bottom)); }

.ak-a11y-launch {
	position: fixed; z-index: 30; right: max(16px, env(safe-area-inset-right)); bottom: var(--ak-a11y-offset);
	display: grid; place-items: center; width: 54px; height: 54px; padding: 0;
	border: 1px solid #154f92; border-radius: 50%; background: #fff; color: #154f92;
	box-shadow: 0 3px 16px rgb(8 30 53 / .25);
}
.ak-a11y-launch:hover { background: #e9f0fa; }

.ak-a11y-dialog {
	position: fixed; inset: auto max(16px, env(safe-area-inset-right)) calc(var(--ak-a11y-offset) + 66px) auto;
	width: min(352px, calc(100% - 32px));
	max-height: calc(100% - var(--ak-a11y-offset) - 82px); overflow: auto;
	margin: 0; padding: 17px; border: 1px solid var(--ink);
	background: var(--paper); color: var(--ink); box-shadow: 0 12px 32px rgb(8 30 53 / .24);
}
.ak-a11y-dialog::backdrop { background: rgb(8 30 53 / .28); }
.ak-a11y-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 12px; }
.ak-a11y-head h2 { font: 800 clamp(1.45rem, 5.4vw, 1.85rem)/.95 var(--display); text-transform: uppercase; }
.ak-a11y-settings { display: grid; gap: 6px; }
.ak-a11y-settings button {
	display: flex; align-items: center; justify-content: space-between; gap: 8px;
	width: 100%; min-height: 44px; padding: 8px 10px;
	border: 1px solid #7a7f86; background: #fff; color: #141c24;
	font-size: .875rem; font-weight: 700; text-align: left;
}
.ak-a11y-settings button[aria-pressed="true"] { background: var(--blue); color: #fff; border-color: var(--blue); }
.ak-a11y-settings button::after {
	content: ""; width: 15px; height: 15px; flex: 0 0 auto;
	border: 1px solid currentColor; border-radius: 50%;
}
.ak-a11y-settings button[aria-pressed="true"]::after { background: #fff; box-shadow: inset 0 0 0 3px var(--blue); }
.ak-a11y-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin-top: 11px; font-size: .79rem; }
.ak-a11y-actions :is(button, a) { display: inline-flex; align-items: center; min-height: 35px; color: var(--blue); }
.ak-a11y-reset { padding: 0; border: 0; background: transparent; text-decoration: underline; }

.ak-a11y-larger body { zoom: 1.15; }
.ak-a11y-contrast {
	--paper: #fff; --ink: #000; --blue: #003086; --navy: #030b15; --gold: #ffdd66;
}
.ak-a11y-contrast .ak-hero::before,
.ak-a11y-contrast .ak-collection::before { background: rgb(0 0 0 / .66); }
.ak-a11y-contrast .ak-catalog-hero__art::after { background: rgb(0 0 0 / .72); }
.ak-a11y-links a { text-decoration: underline !important; text-underline-offset: .18em; }
html.ak-a11y-motion { scroll-behavior: auto !important; }
.ak-a11y-motion *, .ak-a11y-motion *::before, .ak-a11y-motion *::after {
	animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important;
}

@media (max-width: 700px) {
	.woocommerce-cart, .woocommerce-checkout { --ak-a11y-offset: max(76px, calc(env(safe-area-inset-bottom) + 68px)); }
	.ak-a11y-larger .ak-hero h1 { font-size: clamp(49px, 15.75vw, 100px); }
	.ak-a11y-larger .ak-hero-actions { flex-wrap: wrap; gap: 10px 14px; }
	.ak-a11y-larger .ak-story .ak-button { max-width: 100%; white-space: normal; text-align: center; }
}
@media (max-height: 450px) {
	.ak-a11y-dialog { inset-block: 12px auto; max-height: calc(100% - 24px); }
}
