:root { --aau-color-success: var(--wp--preset--color--success, #067647); --aau-color-on-success: #fff; --aau-modal-backdrop-color: rgb(0 0 0 / .64); --aau-modal-backdrop-blur: 2px; --aau-page-gutter: clamp(1rem, 2.5vw, 2rem); }
:where(*, *::before, *::after) { box-sizing: border-box; }
html { min-height: 100%; scroll-behavior: smooth; background: var(--aau-subfooter-bg, #101828); }
body { min-height: 100vh; min-height: 100dvh; margin: 0; background: var(--aau-color-base, #fff); color: var(--aau-color-contrast, #192a3d); font-family: var(--aau-font-body, Inter, system-ui, sans-serif); text-rendering: optimizeLegibility; }
.wp-site-blocks { display: flex; min-height: 100vh; min-height: 100dvh; flex-direction: column; }
.wp-site-blocks > .wp-block-template-part:last-child { flex: 0 0 auto; margin-block-start: auto; background: var(--aau-subfooter-bg, #101828); }
:where(.site-main) a { text-underline-offset: .16em; }
:where(h1, h2, h3, h4, h5, h6) { font-family: var(--aau-font-heading, Inter, system-ui, sans-serif); text-wrap: balance; }
:where(img, svg, video) { max-width: 100%; height: auto; }
:where([data-aau-cart-focus-return]):focus,
:where(a, button, input, select, textarea):focus-visible { outline: 3px solid var(--aau-color-focus-ring, #192a3d); outline-offset: 3px; box-shadow: 0 0 0 6px var(--aau-color-focus-halo, #fff); }
/* Cart-dialog return focus follows actual pointer/keyboard interaction rather
   than a browser's inherited dialog heuristic. Forced colors retains the ring. */
@media (forced-colors: none) {
	:where([data-aau-cart-focus-return="pointer"]):focus { outline: none; box-shadow: none; }
}
body :where(input:not([type="button"]):not([type="checkbox"]):not([type="color"]):not([type="file"]):not([type="hidden"]):not([type="image"]):not([type="radio"]):not([type="range"]):not([type="reset"]):not([type="submit"]), select, textarea),
.woocommerce :where(input.input-text, input.qty, select, textarea),
.wpcf7 :where(.wpcf7-form-control:not(.wpcf7-acceptance):not(.wpcf7-checkbox):not(.wpcf7-file):not(.wpcf7-radio):not(.wpcf7-submit)) { box-sizing: border-box; width: 100%; max-width: 100%; min-height: 50px; padding: .7rem .85rem; border: 1px solid var(--aau-color-control-border, var(--aau-color-muted)); border-radius: 7px; background: var(--aau-color-base); color: var(--aau-color-contrast); font: inherit; font-size: 1rem; }
body :where(textarea), .wpcf7 textarea.wpcf7-form-control { min-height: 120px; resize: vertical; }
body :where(input[type="checkbox"], input[type="radio"], input[type="range"]) { accent-color: var(--aau-color-accent); }
body :where(input[type="file"]) { max-width: 100%; font: inherit; font-size: 1rem; }
.wpcf7-form-control-wrap { display: block; width: 100%; }
:where(input, textarea)::placeholder { color: var(--aau-color-muted); opacity: 1; }
.aau-container { width: min(calc(100% - (2 * var(--aau-page-gutter))), 1360px); margin-inline: auto; }
.aau-skip-link { position: fixed; z-index: 10000; inset: calc(var(--wp-admin--admin-bar--height, 0px) + .5rem) auto auto .5rem; translate: 0 -200%; padding: .75rem 1rem; background: #fff; color: #000; }
.aau-skip-link:focus { translate: 0; }
/* The template-part host owns sticky positioning and natural layout space, including
   saved WordPress templates. Only the surface moves; neither host changes height. */
:root { --aau-header-top: var(--wp-admin--admin-bar--height, 0px); }
html { scroll-padding-top: calc(var(--aau-header-height, 69px) + var(--aau-header-top) + 1rem); }
.wp-site-blocks > .wp-block-template-part:has(> .aau-header),
.wp-site-blocks > .aau-header { position: sticky; z-index: 1000; top: var(--aau-header-top); flex: 0 0 auto; pointer-events: none; }
/* Oversized headers must let the document scroll focused controls into view. */
.wp-site-blocks > .wp-block-template-part:has(> .aau-header--static),
.wp-site-blocks > .aau-header--static { position: relative; top: auto; }
.aau-header { position: relative; width: 100%; color: var(--aau-header-color, #fff); pointer-events: none; }
/* Cached markup from before the surface wrapper remains visible and clickable. */
.aau-header:not(:has(> .aau-header__surface)) { background: var(--aau-header-bg, #000); pointer-events: auto; }
.aau-header__surface { background: var(--aau-header-bg, #000); transform: translateY(0); transition: transform var(--aau-header-slide-duration, 450ms) ease-in-out; pointer-events: auto; }
.aau-header--hidden .aau-header__surface { transform: translateY(calc(-100% - var(--aau-header-top))); pointer-events: none; }
.aau-header--raised .aau-header__surface { box-shadow: 0 10px 30px rgb(15 23 42 / .12); }
/* Pointer focus and dialogs keep the same slide. Keyboard-visible focus must
   reveal controls immediately, even before the controller runs. */
.aau-header:focus-within .aau-header__surface,
.aau-header:has(dialog[open]) .aau-header__surface { transform: translateY(0); pointer-events: auto; }
.aau-header:has(:focus-visible) .aau-header__surface { transition: none; }
.aau-header > :is(.aau-skip-link, dialog) { pointer-events: auto; }
.aau-header > .aau-skip-link { color: #000; }
/* WordPress's small-screen toolbar scrolls away rather than remaining fixed. */
@media (max-width: 600px) { :root { --aau-header-top: 0px; } }
.aau-header__inner { min-height: 69px; display: flex; align-items: center; gap: 1.5rem; }
.aau-header__brand { flex: 0 1 auto; min-width: 0; overflow-wrap: anywhere; }
.aau-header__brand img { display: block; width: auto; max-height: 48px; }
.aau-desktop-nav { flex: 0 0 auto; margin-inline-start: auto; }
.aau-desktop-nav ul, .aau-footer ul, .aau-mobile-menu ul { list-style: none; margin: 0; padding: 0; }
.aau-desktop-nav > ul { display: flex; width: max-content; align-items: center; gap: clamp(.75rem, 2vw, 1.75rem); }
.aau-header a { color: inherit; text-decoration: none; }
.aau-header__actions { display: flex; flex: 0 0 auto; align-items: center; gap: .5rem; }
.aau-cart-link { position: relative; }
.aau-cart-link__count { position: absolute; top: -3px; inset-inline-end: -5px; display: grid; min-width: 20px; height: 20px; padding: 0 5px; place-items: center; border: 2px solid var(--aau-header-bg, #000); border-radius: 999px; background: #b42318; color: #fff; font-size: 12px; font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums; }
.aau-cart-link__count[hidden] { display: none; }
.aau-icon-button { display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: inherit; text-decoration: none; cursor: pointer; }
.aau-icon-button svg { width: 24px; height: 24px; }
.aau-header__actions .aau-icon-button { border-radius: 50%; transition: background-color 160ms ease, color 160ms ease; }
.aau-header__actions .aau-icon-button:hover { background: color-mix(in srgb, currentColor 12%, transparent); }
.aau-menu-button { display: none; }
/* Keep the desktop menu measurable without occupying space or receiving focus. */
.aau-header--compact .aau-desktop-nav { position: absolute; inset: 0 auto auto 0; width: 0; height: 0; overflow: clip; margin: 0; visibility: hidden; pointer-events: none; }
/* Stable brand sizing in both desktop states prevents menu-fit feedback loops. */
@media (min-width: 861px) {
	.aau-header:has(.aau-desktop-nav) .aau-header__brand { flex-shrink: 0; max-width: calc(100% - var(--aau-header-actions-width, 0px) - 1.5rem); }
}
.aau-header--compact .aau-menu-button { display: inline-grid; }
/* Header search field (header_search_style = field): from 1024px, in a header with a
   desktop navigation that is shown and fits beside the field (header.js adds
   aau-header--search-icon when it does not), a field-looking button opens the search
   dialog in place of the icon button that follows it; headers without a desktop
   navigation keep the icon. Its fixed width lets header.js measure it while hidden. */
.aau-search-field { display: none; box-sizing: border-box; width: 15rem; min-height: 44px; align-items: center; gap: .625rem; padding: 0 .875rem; border: 1px solid color-mix(in srgb, currentColor 32%, transparent); border-radius: 8px; background: color-mix(in srgb, currentColor 6%, transparent); color: inherit; font: inherit; font-size: .9375rem; line-height: 1.2; text-align: start; cursor: pointer; transition: border-color 160ms ease, background-color 160ms ease; }
.aau-search-field svg { width: 18px; height: 18px; flex: none; }
.aau-search-field__label { min-width: 0; overflow: hidden; color: color-mix(in srgb, currentColor 80%, transparent); text-overflow: ellipsis; white-space: nowrap; }
.aau-search-field:hover { border-color: color-mix(in srgb, currentColor 60%, transparent); background: color-mix(in srgb, currentColor 10%, transparent); }
@media (min-width: 1024px) {
	.aau-header:has(.aau-desktop-nav):not(.aau-header--compact, .aau-header--search-icon) .aau-search-field { display: inline-flex; }
	.aau-header:has(.aau-desktop-nav):not(.aau-header--compact, .aau-header--search-icon) .aau-search-field + [data-aau-search-open] { display: none; }
}
.aau-mobile-menu { width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; overflow: auto; padding: 0 max(1rem, calc((100vw - 1360px) / 2)); border: 0; background: var(--aau-header-bg, #000); color: var(--aau-header-color, #fff); opacity: 0; transform: translateY(-1rem); transition: opacity 180ms ease, transform 180ms ease, overlay 180ms allow-discrete, display 180ms allow-discrete; }
.aau-mobile-menu[open] { opacity: 1; transform: none; }
@starting-style { .aau-mobile-menu[open] { opacity: 0; transform: translateY(-1rem); } }
dialog::backdrop { background: var(--aau-modal-backdrop-color); backdrop-filter: blur(var(--aau-modal-backdrop-blur)); -webkit-backdrop-filter: blur(var(--aau-modal-backdrop-blur)); }
.aau-modal-backdrop { background: var(--aau-modal-backdrop-color); backdrop-filter: blur(var(--aau-modal-backdrop-blur)); -webkit-backdrop-filter: blur(var(--aau-modal-backdrop-blur)); }
.aa-checkout-modal-overlay { position: fixed; z-index: 99999; inset: 0; display: flex; align-items: center; justify-content: center; padding: 1rem; background: var(--aau-modal-backdrop-color); backdrop-filter: blur(var(--aau-modal-backdrop-blur)); -webkit-backdrop-filter: blur(var(--aau-modal-backdrop-blur)); }
.aa-checkout-modal-overlay[hidden] { display: none !important; }
.aa-checkout-modal { width: min(100% - 1rem, 520px); max-height: calc(100dvh - 2rem); overflow: auto; padding: clamp(1.25rem, 4vw, 2rem); border: 1px solid var(--aau-color-border); border-radius: 14px; background: var(--aau-color-base); color: var(--aau-color-contrast); box-shadow: 0 24px 80px rgb(0 0 0 / .28); }
.aa-checkout-modal__header { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.5rem; }
.aa-checkout-modal__title { min-width: 0; flex: 1; font-family: var(--aau-font-heading, Inter, system-ui, sans-serif); font-size: clamp(1.25rem, 1.1rem + .55vw, 1.6rem); font-weight: 750; line-height: 1.2; overflow-wrap: anywhere; }
.aa-checkout-modal__x { display: inline-grid; width: 44px; height: 44px; flex: 0 0 44px; place-items: center; appearance: none; padding: 0; border: 1px solid transparent; border-radius: 50%; background: transparent; color: inherit; font: inherit; font-size: 1.75rem; line-height: 1; cursor: pointer; }
.aa-checkout-modal__x:hover { border-color: var(--aau-color-border); background: var(--aau-color-surface); }
.aa-checkout-modal__content > :first-child { margin-top: 0; }
.aa-checkout-modal__content > :last-child { margin-bottom: 0; }
.aa-checkout-modal__actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
html.aa-has-modal { overflow: hidden; }
.aau-mobile-menu__bar { display: flex; min-height: 69px; align-items: center; justify-content: space-between; margin-bottom: 1.5rem; }
.aau-mobile-menu nav > ul { display: grid; gap: .5rem; }
.aau-mobile-menu a { display: block; padding: .75rem; font-size: 1.25rem; }
.aau-search-dialog, .aau-cart-dialog, .aau-confirm-dialog, .aau-size-guide-dialog { width: min(100% - 2rem, 760px); color: var(--aau-color-contrast); }
.aau-cart-dialog, .aau-confirm-dialog, .aau-size-guide-dialog, .aau-search-dialog__panel { padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--aau-color-border); border-radius: 14px; background: var(--aau-color-base); box-shadow: 0 24px 80px rgb(0 0 0 / .28); }
.aau-dialog__header { display: flex; min-width: 0; align-items: center; gap: .75rem; margin: 0 0 1.25rem; }
.aau-dialog__header h2 { min-width: 0; flex: 1; margin: 0; font-size: clamp(1.25rem, 1.1rem + .55vw, 1.6rem); line-height: 1.2; overflow-wrap: anywhere; }
.aau-cart-dialog__status { display: grid; width: 42px; height: 42px; flex: 0 0 42px; place-items: center; border-radius: 50%; background: #067647; color: #fff; font-size: 1.25rem; font-weight: 800; }
.aau-cart-dialog--unconfirmed .aau-cart-dialog__status { background: #8a4b08; }
.aau-cart-dialog__product { display: flex; align-items: center; gap: 1rem; padding: 1rem; border-block: 1px solid var(--aau-color-border); }
.aau-cart-dialog__details { display: grid; gap: .25rem; }
.aau-cart-dialog__meta { margin: 0; color: var(--aau-color-muted); font-size: .925rem; }
.aau-cart-dialog__product img { width: 76px; height: 76px; object-fit: cover; }
.aau-cart-dialog__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-top: 1.5rem; }
.aau-cart-dialog__checkout { grid-column: 1 / -1; }
.aau-cart-dialog__actions :is(a, button) { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; margin: 0; text-align: center; }
.aau-search-dialog { max-height: calc(100dvh - 2rem); margin: calc(var(--wp-admin--admin-bar--height, 0px) + 1rem) auto auto; overflow: auto; padding: 0; border: 0; background: transparent; }
.aau-dialog__close { display: flex; flex: 0 0 auto; margin: 0; }
.aau-dialog__close button { display: inline-grid; width: 44px; height: 44px; place-items: center; padding: 0; border: 1px solid transparent; border-radius: 50%; background: transparent; color: inherit; font: inherit; font-size: 1.5rem; line-height: 1; cursor: pointer; }
.aau-dialog__close button:hover { border-color: var(--aau-color-border); background: var(--aau-color-surface); }
.aau-size-guide-dialog table { width: 100%; border-collapse: collapse; font-size: clamp(.925rem, .88rem + .2vw, 1rem); }
.aau-size-guide-dialog :is(th, td) { padding: .875rem 1rem; border-bottom: 1px solid var(--aau-color-border); text-align: left; vertical-align: top; }
.aau-size-guide-dialog th { background: var(--aau-color-surface); font-weight: 750; }
.aau-size-guide-dialog td small { display: block; margin-top: .25rem; color: var(--aau-color-muted); font-size: .925rem; font-weight: 650; line-height: 1.45; }
.aau-size-guide-dialog tbody tr:last-child :is(th, td) { border-bottom: 0; }
.aau-size-guide-dialog { max-height: calc(100% - 2rem); max-height: calc(100dvh - 2rem); overflow: hidden; }
.aau-size-guide-dialog[open] { display: flex; flex-direction: column; }
.aau-size-guide-dialog > .aau-dialog__header { flex: 0 0 auto; }
.aau-size-guide-dialog .aau-dialog__header h2 { hyphens: auto; }
.aau-size-guide-dialog__content { min-height: 0; overflow: auto; overscroll-behavior: contain; }
.aau-size-guide-dialog__content:focus-visible { outline: 2px solid var(--aau-color-focus-ring, var(--aau-color-contrast)); outline-offset: 3px; }
.aau-size-guide-dialog__content > :first-child { margin-top: 0; }
.aau-size-guide-dialog__content > :last-child { margin-bottom: 0; }
.aa-bracelet-size-chart { position: relative; margin-inline: 0; container-type: inline-size; }
.aa-bracelet-size-chart table { width: 100%; border-collapse: collapse; }
.aa-bracelet-size-chart :is(th, td) { padding: .875rem 1rem; border: 0; border-bottom: 1px solid var(--aau-color-border); text-align: start; vertical-align: top; }
.aa-bracelet-size-chart thead th { background: var(--aau-color-surface); }
.aa-bracelet-size-chart thead th:first-child { white-space: nowrap; }
.aa-bracelet-size-chart tbody th { background: transparent; white-space: nowrap; }
.aa-bracelet-size-chart figcaption { margin-top: .75rem; color: var(--aau-color-muted); overflow-wrap: anywhere; hyphens: auto; }
.aa-bracelet-size-chart__label { display: none; }
@container (max-width: 36rem) {
	.aa-bracelet-size-chart table, .aa-bracelet-size-chart tbody { display: block; }
	/* Keep the column headers available to assistive technology. */
	.aa-bracelet-size-chart thead { position: absolute; display: block; inset: 0 auto auto 0; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
	.aa-bracelet-size-chart thead :is(tr, th) { display: block; }
	.aa-bracelet-size-chart tbody { display: grid; gap: .75rem; }
	.aa-bracelet-size-chart tbody tr { display: block; overflow: hidden; border: 1px solid var(--aau-color-border); border-radius: 8px; }
	.aa-bracelet-size-chart tbody tr > th { display: block; padding: .625rem .75rem; border: 0; background: var(--aau-color-surface); font-weight: 750; }
	.aa-bracelet-size-chart tbody tr > td { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: .75rem; padding: .625rem .75rem; border: 0; }
	.aa-bracelet-size-chart tbody tr > td + td { padding-top: 0; }
	.aa-bracelet-size-chart td > span { min-width: 0; overflow-wrap: normal; }
	.aa-bracelet-size-chart .aa-bracelet-size-chart__label { display: block; color: var(--aau-color-muted); font-size: .875em; hyphens: auto; overflow-wrap: anywhere; }
}
@container (max-width: 18rem) {
	.aa-bracelet-size-chart tbody tr > td { grid-template-columns: minmax(0, 1fr); gap: .25rem; }
}
/* Short screens need one scroll surface so an enlarged title cannot hide the chart. */
@media (max-height: 600px), (max-width: 360px) {
	.aau-size-guide-dialog { width: min(calc(100% - 24px), 760px); max-width: none; max-height: calc(100dvh - 24px); overflow: auto; padding: clamp(12px, 2dvh, 20px); }
	.aau-size-guide-dialog > .aau-dialog__header { display: contents; }
	.aau-size-guide-dialog .aau-dialog__close { position: sticky; z-index: 1; top: 0; order: -1; align-self: flex-end; margin-bottom: -44px; border-radius: 50%; background: var(--aau-color-base); }
	.aau-size-guide-dialog .aau-dialog__header h2 { flex: 0 0 auto; padding-inline-end: calc(44px + .75rem); margin-bottom: 1.25rem; }
	.aau-size-guide-dialog__content { flex: 0 0 auto; overflow: visible; }
}
.aau-search-dialog .search-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem; }
.aau-search-dialog .search-field { min-width: 0; }
.aau-search-dialog .search-submit { min-height: 52px; border: 0; border-radius: 8px; padding-inline: 1.5rem; background: var(--aau-color-accent); color: var(--aau-color-on-accent); font-weight: 700; }
.aau-live-search__control { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .625rem; }
.aau-live-search__control input { min-width: 0; }
.aau-live-search__control button { min-height: 54px; padding: .75rem 1.25rem; border: 0; border-radius: 9px; background: var(--aau-color-accent); color: var(--aau-color-on-accent); font-weight: 700; }
.aau-search-suggestions ul, .aau-search-discovery ul { list-style: none; margin: 0; padding: 0; }
.aau-search-suggestions { margin-top: 1rem; }
.aau-search-suggestions a, .aau-search-discovery a { display: flex; align-items: center; gap: .75rem; padding: .625rem; border-radius: 8px; color: var(--aau-color-contrast); text-decoration: none; }
.aau-search-suggestions a:hover, .aau-search-discovery a:hover { background: var(--aau-color-surface); }
.aau-search-suggestions img, .aau-search-discovery img { flex: 0 0 48px; width: 48px; height: 48px; border-radius: 6px; object-fit: cover; }
.aau-search-suggestions span { display: grid; line-height: 1.3; }
.aau-search-suggestions small { color: var(--aau-color-muted); }
.aau-search-discovery { margin-top: 1.25rem; padding: clamp(1rem, 2vw, 1.5rem); border-radius: 14px; color: #fff; background: rgb(0 0 0 / .35); backdrop-filter: blur(12px); }
.aau-search-discovery > h3 { margin: 0 0 1rem; font-size: 1rem; text-transform: uppercase; letter-spacing: .08em; }
.aau-search-discovery__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.aau-search-discovery h4 { margin: 0 0 .5rem; font-size: 1rem; color: inherit; }
.aau-search-discovery a { color: inherit; }
.aau-search-discovery a:hover { background: rgb(255 255 255 / .14); }
.aau-footer { background: var(--aau-footer-bg, #192a3d); color: var(--aau-footer-color, #fff); }
.aau-footer__grid { display: grid; grid-auto-columns: minmax(0, 1fr); grid-auto-flow: column; gap: clamp(1.5rem, 5vw, 4rem); padding-block: clamp(2.5rem, 6vw, 5rem); }
.aau-footer__column { min-width: 0; overflow-wrap: anywhere; }
.aau-footer__column:nth-child(1) { text-align: left; justify-self: stretch; }
.aau-footer__column:nth-child(2) { text-align: center; justify-self: center; }
.aau-footer__column:nth-child(3) { text-align: right; justify-self: end; }
/* Empty slots render no column, so alignment follows the configured slot. The
   positional rules above remain for cached markup without slot classes. */
.aau-footer__column.aau-footer__column--slot-1 { text-align: left; justify-self: stretch; }
.aau-footer__column.aau-footer__column--slot-2 { text-align: center; justify-self: center; }
.aau-footer__column.aau-footer__column--slot-3 { text-align: right; justify-self: end; }
.aau-footer__column :where(img, svg) { max-width: 100%; }
.aau-footer a { color: inherit; }
.aau-footer .menu a { display: inline-flex; min-height: 44px; align-items: center; padding-block: .45rem; }
.aau-footer .menu li + li { margin-top: .25rem; }
.aau-footer .hf-wmcp-currency-selector { display: grid; width: min(100%, 270px); max-width: 100%; }
.aau-footer .hf-wmcp-currency-selector__label { display: grid; width: 100%; min-width: 0; align-items: center; grid-template-columns: auto minmax(0, 1fr); gap: .5em; }
.aau-footer .hf-wmcp-currency-selector select { width: 100%; min-width: 0; max-width: 100%; }
.aau-footer__column :where(form, input, select, textarea, iframe) { max-width: 100%; }
.aau-footer__column:nth-child(1) .hf-wmcp-currency-selector { margin-inline: 0 auto; }
.aau-footer__commerce-menu { padding-block: 1rem; }
.aau-footer__commerce-menu .menu { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: .25rem 1.5rem; margin: 0; padding: 0; list-style: none; }
.aau-footer__commerce-menu .menu li { margin: 0; }
.aau-subfooter { padding-bottom: env(safe-area-inset-bottom, 0px); background: var(--aau-subfooter-bg, #101828); color: var(--aau-subfooter-color, #fff); }
.aau-subfooter__inner { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 1rem 2rem; min-height: 64px; text-align: center; }
.aau-subfooter ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; }
.site-main { min-height: 50vh; flex: 1 0 auto; padding: clamp(2rem, 5vw, 4rem) var(--aau-page-gutter); }
/* WordPress gives the constrained main group `.has-global-padding`, whose inline
   padding is the (undefined, so zero) root padding. Win by specificity rather than
   by stylesheet order, so the page gutter survives any print order of theme.css
   and WordPress's global styles. */
.site-main.has-global-padding { padding-inline: var(--aau-page-gutter); }
/* Post-content frames must span the main content box so nested full-bleed blocks
   can reach its edges even beyond the normal content width. Keep child defaults
   weak so component widths and WordPress left/right alignments remain in control. */
.site-main > .aau-page-content,
.site-main > .aau-page-content > .wp-block-post-content { width: 100%; max-width: none; }
:where(.site-main > .aau-page-content > .wp-block-post-content > :not(.alignfull)) { max-width: min(100%, var(--wp--style--global--content-size)); }
:where(.site-main > .aau-page-content > .wp-block-post-content > :not(.alignfull, .alignleft, .alignright)) { margin-inline: auto; }
:where(.site-main > .aau-page-content > .wp-block-post-content > .alignwide) { max-width: min(100%, var(--wp--style--global--wide-size)); }
/* Full-bleed blocks fill the content box plus its gutters. 100vw includes an
   automatic desktop scrollbar and can otherwise create horizontal scrolling. */
.site-main > .alignfull,
.site-main > .aau-page-content > .wp-block-post-content > .alignfull { width: auto !important; max-width: none !important; margin-inline: calc(-1 * var(--aau-page-gutter)) !important; }
/* WordPress pads constrained groups (.has-global-padding) with the root padding,
   which this theme does not define globally. Only full-width groups that the rule
   above pulls to the screen edge (page content) need the page gutter back for
   their text; their own full-width children still bleed through WordPress's
   negative margins. Elsewhere (for example in posts) the gutter is already there. */
.site-main > .aau-page-content > .wp-block-post-content > .alignfull.has-global-padding { --wp--style--root--padding-left: var(--aau-page-gutter); --wp--style--root--padding-right: var(--aau-page-gutter); }
.aau-content-hero { position: relative; isolation: isolate; width: 100vw; max-width: none !important; min-height: clamp(260px, 34vw, 520px); margin: calc(-1 * clamp(2rem, 5vw, 4rem)) calc(50% - 50vw) clamp(2.5rem, 6vw, 5rem); display: grid; place-items: center; overflow: hidden; background: linear-gradient(135deg, var(--aau-color-surface), var(--aau-color-base)); border-bottom: 1px solid var(--aau-color-border); }
.aau-content-hero::after { position: absolute; z-index: -1; inset: 0; background: radial-gradient(circle at 15% 10%, color-mix(in srgb, var(--aau-color-accent) 18%, transparent), transparent 48%); content: ""; }
.aau-content-hero__image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.aau-content-hero--image::after { z-index: -1; background: linear-gradient(90deg, rgb(0 0 0 / .72), rgb(0 0 0 / .25)); }
.aau-content-hero__inner { min-width: 0; padding-block: clamp(3rem, 8vw, 7rem); }
.aau-content-hero h1 { max-width: 18ch; margin: 0; font-size: clamp(2.75rem, 1.55rem + 5vw, 6.5rem); letter-spacing: -.055em; line-height: .94; overflow-wrap: anywhere; hyphens: auto; }
.aau-content-hero--image { color: #fff; }
.aau-content-hero__meta, .aau-content-hero__description { max-width: 65ch; margin: 1.25rem 0 0; font-size: 1rem; }
.aau-content-hero__meta { opacity: .8; }

/* Reusable full-bleed venture landing-page composition. */
.aau-venture-hero { position: relative; isolation: isolate; min-height: calc(100svh - 82px); width: 100vw; max-width: none !important; margin: calc(-1 * clamp(2rem, 5vw, 4rem)) calc(50% - 50vw) 0; display: grid; align-items: end; overflow: hidden; padding: clamp(2rem, 5vw, 5rem); color: #fff; background: #000; }
.aau-venture-hero::before, .aau-venture-hero::after { position: absolute; z-index: -1; border: 1px solid rgb(255 255 255 / .2); border-radius: 50%; content: ""; }
.aau-venture-hero::before { width: min(72vw, 980px); aspect-ratio: 1; top: -52%; right: -12%; }
.aau-venture-hero::after { width: min(42vw, 620px); aspect-ratio: 1; top: -20%; right: 3%; }
.aau-venture-hero__inner { width: min(100%, 1500px); margin-inline: auto; }
.aau-venture-hero__title { max-width: 12ch; margin: 0; color: #fff; font-size: clamp(3.5rem, 9.2vw, 9rem); font-weight: 600; letter-spacing: -.065em; line-height: .88; }
.aau-venture-hero__footer { margin-top: clamp(3.5rem, 8vw, 8rem); gap: clamp(2rem, 8vw, 8rem); }
.aau-venture-hero__copy { max-width: 62ch; margin: 0; font-size: clamp(1.05rem, 1.65vw, 1.45rem); line-height: 1.55; }
.aau-venture-hero__button .wp-block-button__link { border: 1px solid #fff; border-radius: 0; color: #fff; background: transparent; padding: 1rem 1.4rem; }
.aau-venture-hero__button .wp-block-button__link:hover { color: #000; background: #fff; }
.aau-venture-intro { padding: clamp(5rem, 10vw, 10rem) clamp(1.5rem, 5vw, 5rem); }
.aau-venture-intro > .wp-block-columns { gap: clamp(3rem, 9vw, 9rem); }
.aau-venture-kicker { margin: 0 0 clamp(1.5rem, 4vw, 3.5rem); font-size: .76rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.aau-venture-intro__title { margin: 0; font-size: clamp(2.6rem, 5.5vw, 5.5rem); font-weight: 600; letter-spacing: -.055em; line-height: .94; }
.aau-venture-intro__copy { font-size: clamp(1.1rem, 1.5vw, 1.35rem); line-height: 1.7; }
.aau-venture-intro__copy a { color: currentColor; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.aau-page-content, .aau-article { font-size: clamp(1.075rem, 1rem + .25vw, 1.2rem); overflow-wrap: anywhere; }
.aau-page-content > *, .aau-article > * { max-width: var(--wp--style--global--content-size); margin-inline: auto; }
.aau-page-content > .alignwide, .aau-article > .alignwide { max-width: var(--wp--style--global--wide-size); }
.aau-page-content .wp-block-post-template > li, .aau-article .wp-block-post-template > li { min-width: 0; overflow-wrap: anywhere; }
.aau-blog-layout:has(> .aau-blog-sidebar) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 320px); align-items: start; gap: clamp(2rem, 5vw, 4rem); }
.aau-blog-sidebar { position: sticky; top: calc(var(--aau-header-top) + var(--aau-header-height, 69px) + 24px); padding: 1.5rem; border-radius: 12px; background: var(--aau-color-surface); }
.aau-sidebar-widget + .aau-sidebar-widget { margin-top: 2rem; }
.aau-sidebar-widget__title { font-size: 1.1rem; }
.aau-post-card { min-width: 0; }
.aau-post-card .wp-block-post-featured-image { overflow: hidden; margin-bottom: 1rem; border-radius: 12px; }
.aau-post-card .wp-block-post-featured-image img { transition: transform 300ms ease; }
.aau-post-card .wp-block-post-featured-image:hover img { transform: scale(1.025); }
.aau-post-card .wp-block-post-date { color: var(--aau-color-muted); font-size: .85rem; text-transform: uppercase; letter-spacing: .06em; }
.aau-post-card .wp-block-post-title { margin: .5rem 0; font-size: clamp(1.25rem, 1.1rem + .55vw, 1.65rem); line-height: 1.2; }
.aau-post-card .wp-block-post-title a { color: var(--aau-color-contrast); text-decoration: none; }
.aau-post-navigation { padding-top: 2rem; border-top: 1px solid var(--aau-color-border); }
.aau-page-hero { position: relative; isolation: isolate; width: 100vw; max-width: none !important; overflow: hidden; margin: calc(-1 * clamp(2rem, 5vw, 4rem)) calc(50% - 50vw) clamp(2.5rem, 6vw, 5rem); padding: clamp(3.5rem, 9vw, 8rem) 0; background: var(--aau-color-surface); border-bottom: 1px solid var(--aau-color-border); }
.aau-page-hero::before { position: absolute; z-index: -1; inset: 0; background: linear-gradient(135deg, color-mix(in srgb, var(--aau-color-accent) 12%, transparent), transparent 62%); content: ""; }
.wp-block-query-pagination { gap: .5rem; margin-top: clamp(2.5rem, 5vw, 4rem); font-size: 1rem; }
.wp-block-query-pagination :is(.page-numbers, .wp-block-query-pagination-previous, .wp-block-query-pagination-next) { display: inline-grid; min-width: 46px; min-height: 46px; place-items: center; padding: .65rem .85rem; border: 1px solid var(--aau-color-border); border-radius: 9px; color: var(--aau-color-contrast); text-decoration: none; font-weight: 650; }
.wp-block-query-pagination .page-numbers.current { border-color: var(--aau-color-control-border, var(--aau-color-contrast)); background: var(--aau-color-accent); color: var(--aau-color-on-accent); }
.wp-block-query-pagination a:hover { border-color: var(--aau-color-contrast); }
.aau-page-hero__inner > :first-child { margin-top: 0; }
.aau-page-hero__inner > :last-child { margin-bottom: 0; }
.aau-page-hero .aa-custom-blocks__product-cat-secondary-image { max-width: min(100%, 840px); margin: 0 auto 1.5rem; }
.aau-page-hero .aa-custom-blocks__product-cat-secondary-image img { display: block; width: 100%; height: auto; max-height: none; border-radius: 14px; object-fit: contain; }
.aau-page-hero h1 { max-width: 15ch; margin-inline: auto; letter-spacing: -.045em; line-height: .98; }
.aau-page-hero .wp-block-term-description { max-width: 62ch; margin-inline: auto; color: var(--aau-color-muted); font-size: clamp(1rem, .9rem + .4vw, 1.25rem); }
/* The controller mounts this surface at the body root, above WP's 99999 toolbar. */
.aau-page-progress { position: fixed; z-index: 100000; top: 0; left: 0; width: 100%; height: 4px; pointer-events: none; background: linear-gradient(90deg, var(--aau-color-accent), color-mix(in srgb, var(--aau-color-accent) 55%, white)); box-shadow: 0 0 12px color-mix(in srgb, var(--aau-color-accent) 60%, transparent); transform: scaleX(.15); transform-origin: left; opacity: 1; transition: transform 250ms ease, opacity 180ms ease 120ms; }
.aau-page-progress.is-complete { transform: scaleX(1); opacity: 0; }
html.aau-navigation-pending { cursor: progress; }
/* Starting feedback has no fade or delay; completion alone fades away. */
.aau-page-progress.is-pending { transform: scaleX(.15); opacity: 1; transition: none; animation: aau-navigation-progress 1.2s ease-out infinite; }
@keyframes aau-navigation-progress { 0% { transform: scaleX(.08); } 65% { transform: scaleX(.72); } 100% { transform: scaleX(.94); } }

.aau-button,
.woocommerce :where(.button, button.button, input.button, a.button),
:where(.wp-element-button, button[type="submit"], input[type="submit"]),
.wpcf7 :where(.wpcf7-submit) { display: inline-flex; min-height: 50px; min-inline-size: 0; max-inline-size: 100%; white-space: normal; overflow-wrap: anywhere; align-items: center; justify-content: center; padding: .75rem 1.25rem; border: 2px solid transparent; border-radius: 8px; font: inherit; font-size: 1rem; font-weight: 750; line-height: 1.2; text-align: center; text-decoration: none; cursor: pointer; transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease; }
.aau-button--primary,
.woocommerce :where(.button, button.button, input.button, a.button),
:where(.wp-element-button, button[type="submit"], input[type="submit"]),
.wpcf7 :where(.wpcf7-submit) { border-color: transparent; background: var(--aau-color-accent); color: var(--aau-color-on-accent); }
/* Touch scrolling must not leave a synthetic hover state on purchase controls. */
@media (hover: hover) and (pointer: fine) {
	.aau-button--primary:hover,
	.woocommerce :where(.button, button.button, input.button, a.button):hover,
	:where(.wp-element-button, button[type="submit"], input[type="submit"]):hover,
	.wpcf7 :where(.wpcf7-submit):hover { filter: brightness(.84); box-shadow: 0 10px 26px color-mix(in srgb, var(--aau-color-accent) 34%, transparent); color: var(--aau-color-on-accent); }
}
.aau-button--secondary { border-color: var(--aau-color-contrast); background: transparent; color: var(--aau-color-contrast); }
@media (hover: hover) and (pointer: fine) {
	.aau-button--secondary:hover { background: var(--aau-color-contrast); color: var(--aau-color-base); }
}
.aau-button--small { min-height: 44px; padding: .6rem 1rem; font-size: .9375rem; }
.aau-text-button { min-height: 44px; padding: .25rem; border: 0; background: transparent; color: var(--aau-color-contrast); font: inherit; font-weight: 700; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; cursor: pointer; }
.aau-text-button:hover { color: var(--aau-color-accent-ink, var(--aau-color-contrast)); text-decoration-thickness: 2px; }
.aau-text-button:active { filter: none; box-shadow: none; }
.aau-button:active, :where(.wp-element-button, .woocommerce .button, button, input[type="submit"]):active { filter: brightness(.76); box-shadow: inset 0 2px 5px rgb(0 0 0 / .24); }
@media (max-width: 1024px) {
	.aau-footer__grid { grid-template-columns: 1fr; grid-auto-flow: row; }
	.aau-footer__column:nth-child(n) { justify-self: stretch; text-align: center; }
	.aau-footer__column:nth-child(1) .hf-wmcp-currency-selector { margin-inline: auto; }
}
@media (max-width: 781px) {
	.aau-venture-hero { min-height: 86svh; }
	.aau-venture-hero__footer { align-items: flex-start !important; }
	.aau-venture-hero__footer .wp-block-buttons { justify-content: flex-start; }
}
@media (max-width: 860px) {
	.aau-desktop-nav { display: none; }
	.aau-menu-button { display: inline-grid; }
	.aau-header__actions { max-width: calc(100% - 3rem); flex-wrap: wrap; justify-content: flex-end; margin-inline-start: auto; }
	.aau-header__inner { gap: .75rem; }
	.aau-blog-layout:has(> .aau-blog-sidebar) { grid-template-columns: 1fr; }
	.aau-blog-sidebar { position: static; }
}
@media (max-width: 520px) { .aau-search-dialog .search-form, .aau-live-search__control, .aau-search-discovery__grid, .aau-cart-dialog__actions { grid-template-columns: 1fr; } }
@supports not (background: color-mix(in srgb, black, white)) { .aau-page-hero::before { background: rgb(15 118 110 / .12); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }

/* Creator-program landing page. Content is provisioned per locale; presentation stays portable. */
.aau-creator-page { padding-top: 0; overflow: hidden; }
.aau-creator-page > .wp-block-post-content { margin: 0; }
.aau-creator-hero { position: relative; isolation: isolate; width: 100vw; min-height: min(820px, calc(100svh - 69px)); margin-inline: calc(50% - 50vw); display: grid; align-items: end; overflow: hidden; padding: clamp(4rem, 10vw, 8rem) var(--aau-page-gutter); color: #fff; background: #080b0f; }
.aau-creator-hero::before { position: absolute; z-index: -2; inset: -25%; background: radial-gradient(circle at 72% 26%, #e25f3f 0 8%, transparent 27%), radial-gradient(circle at 22% 78%, #176f68 0 7%, transparent 30%), conic-gradient(from 210deg at 65% 45%, #080b0f, #242934, #080b0f 45%); content: ""; transform: rotate(-5deg); }
.aau-creator-hero::after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgb(0 0 0 / .72), transparent 72%), repeating-linear-gradient(112deg, transparent 0 70px, rgb(255 255 255 / .055) 71px 72px); content: ""; }
.aau-creator-hero__inner { margin-inline: auto; }
.aau-creator-eyebrow { margin: 0 0 1.25rem; font-size: .78rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.aau-creator-hero h1 { max-width: 9ch; margin: 0; color: inherit; font-size: clamp(4rem, 12vw, 10rem); font-weight: 650; letter-spacing: -.075em; line-height: .82; }
.aau-creator-hero__lead { max-width: 42ch; margin: clamp(1.75rem, 4vw, 3rem) 0 0; font-size: clamp(1.2rem, 2vw, 1.65rem); line-height: 1.45; }
.aau-creator-hero__cta { margin-top: 2rem; }
.aau-creator-hero__cta .wp-block-button__link { border: 1px solid #fff; border-radius: 999px; background: #fff; color: #080b0f; }
.aau-creator-section { margin-inline: auto; padding-block: clamp(4.5rem, 9vw, 8rem); }
.aau-creator-section + .aau-creator-section { border-top: 1px solid var(--aau-color-border); }
.aau-creator-intro { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 6vw, 6rem); }
.aau-creator-intro > * { min-width: 0; overflow-wrap: anywhere; }
.aau-creator-intro h2, .aau-creator-section > h2 { margin-top: 0; font-size: clamp(2.4rem, 5vw, 5rem); letter-spacing: -.055em; line-height: .96; }
.aau-creator-intro p { margin-top: 0; font-size: clamp(1.15rem, 1.6vw, 1.45rem); line-height: 1.65; }
.aau-creator-steps { counter-reset: creator-step; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; overflow: hidden; padding: 1px; background: var(--aau-color-border); }
.aau-creator-step { counter-increment: creator-step; min-width: 0; padding: clamp(1.5rem, 3vw, 2.5rem); background: var(--aau-color-base); }
.aau-creator-step::before { display: block; margin-bottom: 2.5rem; color: var(--aau-color-accent); content: "0" counter(creator-step); font-size: .78rem; font-weight: 800; letter-spacing: .15em; }
.aau-creator-step h3 { margin: 0 0 .75rem; font-size: 1.4rem; }
.aau-creator-step p { margin: 0; color: var(--aau-color-muted); font-size: 1rem; }
.aau-creator-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 7vw, 7rem); }
.aau-creator-card { padding: clamp(1.75rem, 4vw, 3.5rem); border-radius: 22px; background: var(--aau-color-surface); }
.aau-creator-card h2 { margin-top: 0; font-size: clamp(2rem, 3.5vw, 3.5rem); letter-spacing: -.04em; }
.aau-creator-card li + li { margin-top: 1rem; }
.aau-creator-apply { width: 100vw; margin-inline: calc(50% - 50vw); padding: clamp(4.5rem, 9vw, 8rem) var(--aau-page-gutter); color: #fff; background: #11161d; }
.aau-creator-apply__inner { margin-inline: auto; display: grid; grid-template-columns: minmax(0, .8fr) minmax(320px, 1.2fr); gap: clamp(2.5rem, 8vw, 8rem); align-items: start; }
.aau-creator-apply h2 { margin-top: 0; color: inherit; font-size: clamp(3rem, 6vw, 6rem); letter-spacing: -.06em; line-height: .92; }
.aau-creator-apply a { color: inherit; }
.aau-creator-form { padding: clamp(1.25rem, 4vw, 2.5rem); border: 1px solid rgb(255 255 255 / .18); border-radius: 22px; background: rgb(255 255 255 / .07); backdrop-filter: blur(16px); }
.aau-creator-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.aau-creator-form p { margin: 0 0 1rem; }
.aau-creator-form label { display: block; font-size: .9rem; font-weight: 700; }
.aau-creator-form label > .wpcf7-form-control-wrap { margin-top: .45rem; }
.aau-creator-form :where(input, select, textarea) { border-color: rgb(255 255 255 / .25) !important; background: #fff !important; color: #11161d !important; }
.aau-creator-form .wpcf7-acceptance label { display: flex; gap: .7rem; align-items: flex-start; font-weight: 400; line-height: 1.5; }
.aau-creator-form .wpcf7-acceptance input { flex: 0 0 auto; margin-top: .3rem; }
.aau-creator-form .wpcf7-submit { width: 100%; border-radius: 999px; background: #e25f3f; color: #fff; }
.aau-creator-fine-print { color: var(--aau-color-muted); font-size: .9rem; line-height: 1.65; }
@media (max-width: 900px) { .aau-creator-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } .aau-creator-intro, .aau-creator-split, .aau-creator-apply__inner { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .aau-creator-hero h1 { font-size: clamp(3.5rem, 20vw, 6rem); } .aau-creator-steps, .aau-creator-form-grid { grid-template-columns: 1fr; } }
.aau-footer__hosted-after { margin-top: 2.25rem; }
.aau-footer__hosted-after > section { padding: 1.25rem; border-radius: 12px; background: var(--aau-color-surface); color: var(--aau-color-contrast); text-align: center; }
.aau-footer__hosted-after > section h2 { margin: 0 0 1rem; font-size: 1rem; line-height: 1.3; text-align: center; }
.aau-footer__trust-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1rem; margin-top: 1rem; }
.aau-footer__trust-row img { display: block; width: auto; max-width: 88px; max-height: 54px; object-fit: contain; }
.aau-footer__gq { margin-top: 1.5rem; }
.aau-footer__gq img { display: block; width: auto; max-width: 76px; max-height: 46px; margin-inline: auto; }

/* Footer policy action. Keep after shared buttons and mobile column rules:
   the fill stays white in every state, and the owning menu stays right-aligned.
   Pressed feedback uses movement/shadow; focus remains visible while pressed. */
.aau-footer .aau-footer__column--policy-menu { text-align: right; }
.aau-footer__revocation { margin-top: 1rem; text-align: right; }
.aau-footer__revocation-fallback { padding-bottom: 1.5rem; }
.aau-footer .aau-footer__revocation-link { max-width: 100%; min-height: 44px; border: 1px solid #192a3d; background: #fff; color: #192a3d; white-space: normal; overflow-wrap: anywhere; filter: none; }
.aau-footer .aau-footer__revocation-link:hover { background: #fff; color: #192a3d; text-decoration: underline; filter: none; }
.aau-footer .aau-footer__revocation-link:focus-visible { outline: 2px solid #192a3d; outline-offset: 2px; box-shadow: 0 0 0 5px #fff; }
.aau-footer .aau-footer__revocation-link:active { transform: translateY(2px); box-shadow: inset 0 3px 6px rgb(25 42 61 / .32); }
.aau-footer .aau-footer__revocation-link:focus-visible:active { box-shadow: inset 0 3px 6px rgb(25 42 61 / .32), 0 0 0 5px #fff; }
.aau-next-steps { margin-block: 1.5rem; }
.aau-next-steps__links { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; margin: .75rem 0 0; padding: 0; list-style: none; }
.aau-next-steps__links a { font-weight: 650; }

/* Story archives and stories (bedtime story post type). */
.aau-story-layout { display: grid; gap: clamp(1.5rem, 3vw, 2.5rem); }
.aau-story-card .wp-block-post-title { margin-block: .25rem .5rem; font-size: clamp(1.15rem, 1rem + .5vw, 1.4rem); }
.aau-story-card .wp-block-post-title a { color: inherit; }
.aau-story-card .wp-block-post-title a:hover, .aau-story-card .wp-block-post-title a:focus-visible { color: var(--aau-color-accent-ink); }
.aau-story-card .wp-block-post-excerpt { margin-top: .75rem; }
.aau-story-episodes { display: grid; gap: 1.5rem; margin: 0; padding: 0; list-style: none; }
.aau-story-card--episode { gap: 1.5rem; }
.aau-story-card--episode .wp-block-post-featured-image { flex: 0 0 12rem; margin-bottom: 0; }
.aau-story-card__body { flex: 1 1 auto; min-width: 0; }
.aau-story-results__empty { padding: 2rem; border-radius: 12px; background: var(--aau-color-surface); text-align: center; }
.aau-story__content { font-size: clamp(1.15rem, 1.05rem + .35vw, 1.3rem); line-height: 1.8; }
.aau-story__meta { margin-bottom: 2rem; }
.aau-story__terms { gap: .5rem 1.5rem; margin-top: 2.5rem; color: var(--aau-color-muted); }
.aau-story__series { margin-top: 2.5rem; }
.aau-single-story .aabs-related { margin-block: clamp(3rem, 6vw, 5rem); }
@media (max-width: 600px) {
	.aau-story-card--episode { flex-direction: column; }
	.aau-story-card--episode .wp-block-post-featured-image { flex-basis: auto; width: 100%; }
}

/* Shared loading indicator. Plugin and legacy checkout hooks use this component. */
.aau-spinner,
.hf-engage .hf-engage-spinner,
.aa-checkout-spinner {
 display: inline-block;
 inline-size: var(--aau-spinner-size, 1em);
 block-size: var(--aau-spinner-size, 1em);
 flex: 0 0 auto;
 border: 2px solid currentColor;
 border-inline-end-color: transparent;
 border-radius: 50%;
 animation: aau-spin .8s linear infinite;
 vertical-align: middle;
}
.aau-spinner[hidden], .hf-engage-spinner[hidden] { display: none !important; }
@keyframes aau-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
 .aau-spinner, .hf-engage .hf-engage-spinner, .aa-checkout-spinner { animation: none; }
}

/* Core tables (every site). Content_Blocks wraps each table in a scroll region;
   the figure itself must no longer scroll. Cells never inherit the article's
   `overflow-wrap: anywhere`, which split words letter by letter. Everything else
   applies only while table-scroll.js reports a real overflow (`is-overflowing`):
   a modest cell minimum width and a capped sticky first column painted with the
   surrounding surface. Tables that fit render as before. */
.wp-block-table:has(> .aau-table-scroll) { overflow: visible; }
.wp-block-table :is(th, td) { overflow-wrap: normal; word-break: normal; }
.aau-table-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
.aau-table-scroll:focus-visible { outline: 3px solid var(--aau-color-focus-ring, #192a3d); outline-offset: 3px; }
.aau-table-scroll.is-overflowing :is(th, td) { min-width: 7rem; }
.aau-table-scroll.is-overflowing :is(th, td):first-child { position: sticky; z-index: 1; inset-inline-start: 0; max-width: min(40%, 12rem); background-color: var(--aau-table-surface, var(--aau-color-base, #fff)); }
.wp-block-table.is-style-stripes .aau-table-scroll.is-overflowing tbody tr:nth-child(odd) > :first-child { background-color: inherit; }
.aau-table-scroll.is-overflowing table.has-background :is(th, td):first-child { position: static; }
.aau-table-scroll__hint { margin: 0 0 .5rem; color: var(--aau-color-muted); font-size: .875rem; }
.aau-table-scroll__hint[hidden] { display: none; }

/* Gallery captions over cropped images: a scrim of at least 64% black behind
   every caption line keeps white text above 4.5:1 even on white images. */
body .wp-block-gallery.has-nested-images figure.wp-block-image figcaption { padding: 1.75em .75em .75em; background: linear-gradient(0deg, rgb(0 0 0 / .78) 0, rgb(0 0 0 / .64) calc(100% - 1.25em), rgb(0 0 0 / 0) 100%); text-shadow: 0 1px 2px rgb(0 0 0 / .6); }
body .wp-block-gallery:not(.has-nested-images) :is(.blocks-gallery-image, .blocks-gallery-item) figcaption { background: linear-gradient(0deg, rgb(0 0 0 / .78) 0, rgb(0 0 0 / .64) calc(100% - 2.5em), rgb(0 0 0 / 0) 100%); }

/* Nested header navigation (Navigation_Walker, navigation.js): disclosure
   dropdowns in the desktop navigation, accordions in the mobile menu. Flat menus
   render no toggles, so none of this applies to them. */
.aau-nav__toggle { display: inline-grid; min-width: 24px; min-height: 24px; place-items: center; padding: 0; border: 0; border-radius: 4px; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.aau-nav__toggle--label { display: inline-flex; align-items: center; gap: .25rem; text-align: start; }
.aau-nav__chevron { width: 1rem; height: 1rem; flex: 0 0 auto; transition: transform 160ms ease; }
.aau-nav__toggle[aria-expanded="true"] .aau-nav__chevron { transform: rotate(180deg); }
.aau-desktop-nav .menu-item-has-children { position: relative; display: flex; align-items: center; gap: .125rem; }
.aau-desktop-nav .aau-nav__submenu { position: absolute; z-index: 10; top: 100%; inset-inline-start: -.75rem; display: none; width: max-content; min-width: 14rem; max-width: min(22rem, 90vw); padding: .5rem; border: 1px solid color-mix(in srgb, currentColor 18%, transparent); border-radius: 8px; background: var(--aau-header-bg, #000); box-shadow: 0 16px 40px rgb(0 0 0 / .24); }
.aau-desktop-nav [aria-expanded="true"] + .aau-nav__submenu,
.aau-desktop-nav:not([data-aau-nav-ready]) .menu-item-has-children:is(:hover, :focus-within) > .aau-nav__submenu { display: block; }
.aau-desktop-nav .aau-nav__submenu > li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; }
.aau-desktop-nav .aau-nav__submenu a, .aau-desktop-nav .aau-nav__submenu .aau-nav__toggle--label { display: flex; min-height: 40px; flex: 1; align-items: center; padding: .5rem .75rem; border-radius: 6px; }
.aau-desktop-nav .aau-nav__submenu :is(a, .aau-nav__toggle):hover { background: color-mix(in srgb, currentColor 12%, transparent); }
.aau-desktop-nav .aau-nav__submenu .aau-nav__submenu { position: static; flex-basis: 100%; width: auto; min-width: 0; padding: 0 0 0 .75rem; border: 0; box-shadow: none; }
.aau-mobile-menu .menu-item-has-children { display: flex; flex-wrap: wrap; align-items: center; }
.aau-mobile-menu .menu-item-has-children > a { flex: 1; }
.aau-mobile-menu .aau-nav__toggle { min-width: 44px; min-height: 44px; }
.aau-mobile-menu .aau-nav__toggle--label { flex: 1; justify-content: space-between; padding: .75rem; font-size: 1.25rem; }
/* Without navigation.js every submenu is open and its toggles are inert, so all
   links stay reachable; the accordion collapses only once the script is ready. */
.aau-mobile-menu .aau-nav__submenu { display: grid; flex-basis: 100%; gap: .25rem; padding-inline-start: 1rem; }
.aau-mobile-menu nav[data-aau-nav-ready] .aau-nav__submenu { display: none; }
.aau-mobile-menu nav[data-aau-nav-ready] [aria-expanded="true"] + .aau-nav__submenu { display: grid; }
.aau-mobile-menu nav:not([data-aau-nav-ready]) .aau-nav__toggle:not(.aau-nav__toggle--label),
.aau-mobile-menu nav:not([data-aau-nav-ready]) .aau-nav__chevron { display: none; }
.aau-mobile-menu .aau-nav__submenu :is(a, .aau-nav__toggle--label) { font-size: 1.0625rem; }
/* Current section (Navigation::mark_current_section; only nested header menus carry
   these classes): the current page's item (on a post, its topic hub) and its
   ancestor hub and group use the current-section color with an underline
   indicator. --aau-nav-current-color comes from the theme (Settings::nav_current_color():
   the accent mixed with the header text color where that stays readable on the
   header, else the header text color); without it the header text color applies. */
.aau-header .aau-nav__item--current > a,
.aau-header .aau-nav__item--current-ancestor > :is(a, .aau-nav__toggle--label) { color: var(--aau-nav-current-color, var(--aau-header-color, #fff)); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .35em; }
@media (prefers-reduced-motion: reduce) { .aau-nav__chevron { transition: none; } }
