/* Structural layout; the theme's standard controls own presentation and states. */
.aa-purchase-bar[hidden], .aa-purchase-bar [hidden] { display: none !important; }
.aa-purchase-bar { container-type: inline-size; box-sizing: border-box; position: fixed; max-height: 50vh; max-height: 50dvh; overflow-y: auto; overscroll-behavior: contain; z-index: 1001; inset-inline: 0; bottom: var(--aa-purchase-keyboard-offset, 0px); padding: .75rem max(1rem, env(safe-area-inset-right)) max(.75rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left)); border-top: 1px solid var(--aau-color-border, #d0d5dd); background: var(--aau-color-base, #fff); color: var(--aau-color-contrast, #101828); box-shadow: 0 -4px 20px rgb(0 0 0 / .08); font-size: .875rem; line-height: 1.4; }
.aa-purchase-bar *, .aa-purchase-bar *::before, .aa-purchase-bar *::after { box-sizing: border-box; }
.aa-purchase-bar__inner { display: grid; grid-template-columns: 4rem minmax(0, 1fr) minmax(0, auto) minmax(0, auto); align-items: center; gap: .5rem 1rem; max-width: var(--wp--style--global--wide-size, 1400px); margin-inline: auto; }
.aa-purchase-bar__inner > * { min-inline-size: 0; }
.aa-purchase-bar__media { position: relative; grid-column: 1; grid-row: 1; align-self: stretch; min-block-size: 48px; }
.aa-purchase-bar .aa-purchase-bar__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; border-radius: 6px; }
.aa-purchase-bar--no-image .aa-purchase-bar__media { display: none; }
.aa-purchase-bar--no-image .aa-purchase-bar__inner { grid-template-columns: 0 minmax(0, 1fr) minmax(0, auto) minmax(0, auto); column-gap: 0; }
.aa-purchase-bar--no-image .aa-purchase-bar__pricing, .aa-purchase-bar--no-image .aa-purchase-bar__actions { margin-inline-start: 1rem; }
.aa-purchase-bar__identity { display: grid; gap: .125rem; grid-column: 2; grid-row: 1; overflow-wrap: anywhere; }
.aa-purchase-bar__identity strong { font-size: 1rem; }
.aa-purchase-bar__identity > [data-purchase-selection] { font-size: .8rem; }
.aa-purchase-bar__mobile-attributes { display: none; }
.aa-purchase-bar__pricing { grid-column: 3; max-width: 25rem; overflow-wrap: anywhere; }
.aa-purchase-bar [data-purchase-price] { font-size: 1.125rem; font-weight: 700; }
.aa-purchase-bar .aau-product-price-note { margin: .125rem 0 0; font-size: .75rem; line-height: 1.4; color: inherit; }
.aa-purchase-bar__actions { grid-column: 4; display: flex; align-items: stretch; justify-content: end; gap: .75rem; }
.aa-purchase-bar__quantity { display: flex; flex: 0 0 3rem; min-inline-size: 0; }
/* Override WooCommerce block-theme label spacing inside this control row. */
.aa-purchase-bar .aa-purchase-bar__quantity { margin: 0; }
.aa-purchase-bar__quantity-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.aa-purchase-bar select { width: 100%; min-inline-size: 0; min-height: 44px; padding: .25rem; font: inherit; font-size: 1rem; }
.aa-purchase-bar .aau-button { min-inline-size: 0; white-space: normal; overflow-wrap: anywhere; }
.aa-purchase-bar-clearance { height: calc(var(--aa-purchase-bar-height, 0px) + 1rem); background: var(--aau-subfooter-bg, #101828); }
html.aa-purchase-bar-active { scroll-padding-bottom: calc(var(--aa-purchase-bar-height, 0px) + 1rem); }
.aa-purchase-price-owned .woocommerce-variation-price, .aa-purchase-price-owned .woocommerce-variation-availability { display: none !important; }
.aa-purchase-selection { font-size: .875rem; margin-block: .75rem; }
.aa-purchase-bar--keyboard { visibility: hidden; pointer-events: none; }
html.aa-purchase-bar-active .aa-toast-container { bottom: calc(var(--aa-purchase-bar-height, 0px) + 1rem); }
@media (max-width: 700px) {
  .aa-purchase-bar { padding: .25rem max(.375rem, env(safe-area-inset-right)) max(.25rem, env(safe-area-inset-bottom)) max(.375rem, env(safe-area-inset-left)); }
  .aa-purchase-bar__inner { --aa-purchase-image-width: 3.5rem; grid-template-columns: var(--aa-purchase-image-width) minmax(0, 1fr) minmax(0, max-content); grid-template-areas: "image title title" "image pricing action"; gap: .125rem .5rem; }
  .aa-purchase-bar__media { grid-area: image; min-block-size: 0; }
  .aa-purchase-bar--no-image .aa-purchase-bar__inner { grid-template-columns: minmax(0, 1fr) minmax(0, max-content); grid-template-areas: "title title" "pricing action"; column-gap: .5rem; }
  .aa-purchase-bar--no-image .aa-purchase-bar__pricing, .aa-purchase-bar--no-image .aa-purchase-bar__actions { margin-inline-start: 0; }
  .aa-purchase-bar__identity > [data-purchase-selection], .aa-purchase-bar__quantity { display: none; }
  .aa-purchase-bar__identity, .aa-purchase-bar__actions { display: contents; }
  .aa-purchase-bar__identity strong { grid-area: title; font-size: .75rem; overflow-wrap: anywhere; }
  .aa-purchase-bar__mobile-attributes { display: inline; }
  .aa-purchase-bar__pricing { grid-area: pricing; max-width: none; }
  .aa-purchase-bar [data-purchase-price] { font-size: 1rem; }
  .aa-purchase-bar .aau-product-price-note { margin: 0; }
  .aa-purchase-bar__actions .aau-button { grid-area: action; align-self: stretch; }
  /* Allow enlarged text to reflow without cutting off identity or tax copy. */
  @container (max-width: 18em) {
    .aa-purchase-bar__inner, .aa-purchase-bar--no-image .aa-purchase-bar__inner { grid-template-columns: minmax(0, 1fr); grid-template-areas: "title" "pricing" "action"; }
    .aa-purchase-bar__media { display: none; }
  }
}
@media print { .aa-purchase-bar, .aa-purchase-bar-clearance { display: none !important; } }

/* Zero specificity: fallback controls never override a host theme's component. */
:where(.aa-purchase-bar select) { min-height: 44px; padding: .25rem; border: 1px solid var(--aau-color-control-border, #667085); border-radius: 7px; background: var(--aau-color-base, #fff); color: inherit; font: inherit; font-size: 1rem; }
:where(.aa-purchase-bar .aau-button) { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: .75rem 1.25rem; border: 2px solid transparent; border-radius: 8px; background: var(--aau-color-accent, #192a3d); color: var(--aau-color-on-accent, #fff); font: inherit; font-size: 1rem; font-weight: 750; line-height: 1.2; text-align: center; cursor: pointer; }
:where(.aa-purchase-bar .aau-button--small) { min-height: 44px; padding: .6rem 1rem; font-size: .9375rem; }
@media (hover: hover) and (pointer: fine) {
  :where(.aa-purchase-bar .aau-button--primary:hover) { filter: brightness(.84); }
}
:where(.aa-purchase-bar .aau-button--secondary) { border-color: var(--aau-color-contrast, #192a3d); background: transparent; color: var(--aau-color-contrast, #192a3d); }
@media (hover: hover) and (pointer: fine) {
  :where(.aa-purchase-bar .aau-button--secondary:hover) { background: var(--aau-color-contrast, #192a3d); color: var(--aau-color-base, #fff); }
}
:where(.aa-purchase-bar .aau-button:disabled) { cursor: not-allowed; opacity: .58; }
.aa-purchase-bar:focus-visible { outline: 3px solid var(--aau-color-focus, #2563eb); outline-offset: -4px; }
