/** Polar Performance public foundation. Load after typography and route legacy styles. */

:where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page, .polar-commerce) {
    min-inline-size: 0;
    min-block-size: 100dvb;
    margin: 0;
    color: var(--aw-color-public-text);
    background: var(--aw-color-public-canvas);
    font-family: var(--aw-font-body);
    font-size: var(--aw-type-body-size);
    font-weight: var(--aw-type-body-weight);
    line-height: var(--aw-type-body-line);
    overflow-x: clip;
}

:where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page, .polar-commerce),
:where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page, .polar-commerce) *,
:where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page, .polar-commerce) *::before,
:where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page, .polar-commerce) *::after {
    box-sizing: border-box;
}

:where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page, .polar-commerce) :where(h1, h2, h3, h4, p) {
    margin-block-start: 0;
}

:where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page, .polar-commerce) :where(h1, h2, h3, h4, p, a, span) {
    overflow-wrap: anywhere;
}

:where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page, .polar-commerce) :where(a, button, input, select, summary) {
    min-block-size: var(--aw-tap-min);
}

:where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page, .polar-commerce) :where(a, button, input, select, summary, [tabindex]):focus-visible {
    outline: var(--aw-border-strong) solid var(--aw-color-public-info);
    outline-offset: var(--aw-space-1);
}

:where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page, .polar-commerce) :where(button, input, select) {
    font-family: var(--aw-font-body);
}

:where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page, .polar-commerce) :where(.container, .aw-public-shell__container) {
    inline-size: min(100%, var(--aw-content-public-max));
    margin-inline: auto;
    padding-inline: var(--aw-space-4);
}

:where(.shop-skip-link, .shop-product-skip-link, .shop-cart-skip-link, .checkout-skip-link, .public-landing .skip-link) {
    position: fixed;
    inset-block-start: var(--aw-space-3);
    inset-inline-start: var(--aw-space-3);
    z-index: 3000;
    padding: var(--aw-space-3) var(--aw-space-4);
    border-radius: var(--aw-radius-md);
    color: var(--aw-color-action-on-primary);
    background: var(--aw-color-public-action);
    font-size: var(--aw-type-control-size);
    font-weight: var(--aw-type-control-weight);
    line-height: var(--aw-type-control-line);
    text-decoration: none;
    transform: translateY(calc(-100% - var(--aw-space-5)));
    transition: transform var(--aw-motion-fast) var(--aw-easing-standard);
}

:where(.shop-skip-link, .shop-product-skip-link, .shop-cart-skip-link, .checkout-skip-link, .public-landing .skip-link):focus-visible {
    transform: translateY(0);
}

/* Shared public footer */
:where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page) .site-footer,
.aw-public-shell__footer {
    border-block-start: var(--aw-border-thin) solid var(--aw-color-public-border);
    color: var(--aw-color-public-text-muted);
    background: var(--aw-color-public-surface);
}

:where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page) .site-footer {
    padding-block-start: var(--aw-space-8);
}

:where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page) :where(.footer-flex, .footer-right, .footer-bottom-flex) {
    display: flex;
    flex-wrap: wrap;
    gap: var(--aw-space-6);
}

:where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page) .footer-flex {
    justify-content: space-between;
    padding-block-end: var(--aw-space-8);
}

:where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page) .footer-right {
    gap: var(--aw-space-8);
}

:where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page) .footer-col h4,
:where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page) .footer-col h3,
:where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page) .footer-col h2 {
    color: var(--aw-color-public-accent);
    font-size: var(--aw-type-label-size);
    font-weight: var(--aw-type-label-weight);
    line-height: var(--aw-type-label-line);
}

:where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page) .footer-col a {
    display: flex;
    align-items: center;
    color: var(--aw-color-public-text-muted);
    text-decoration: none;
}

:where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page) .footer-col a:hover {
    color: var(--aw-color-public-text);
}

:where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page) .site-footer .logo-text span {
    color: var(--aw-color-public-accent);
}

:where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page) .footer-bottom {
    padding-block: var(--aw-space-5);
    border-block-start: var(--aw-border-thin) solid var(--aw-color-public-border);
    color: var(--aw-color-public-text-muted);
    background: var(--aw-color-public-canvas);
    font-size: var(--aw-type-supporting-size);
    font-weight: var(--aw-type-supporting-weight);
    line-height: var(--aw-type-supporting-line);
}

/* Marketing landing */
.public-landing .hero {
    position: relative;
    display: grid;
    min-block-size: min(calc(var(--aw-space-10) * 8), 88dvb);
    place-items: center start;
    overflow: hidden;
}

.public-landing .public-background-image {
    position: absolute;
    inset: 0;
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
}

.public-landing .hero::before {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(to right, var(--aw-color-public-canvas), var(--aw-color-public-scrim));
    content: '';
}

.public-landing .hero > .container {
    position: relative;
    z-index: 2;
}

.public-landing .scanline {
    display: none;
}

.public-landing .hero-content {
    max-inline-size: var(--aw-content-measure);
    padding-block: var(--aw-space-9);
}

.public-landing .status-link {
    display: inline-flex;
    margin-block-end: var(--aw-space-6);
    text-decoration: none;
}

.public-landing .status-indicator,
.public-landing .tags span,
.sessions-card__badge,
.product-badge,
.stock-status {
    display: inline-flex;
    align-items: center;
    gap: var(--aw-space-2);
    border-radius: var(--aw-radius-pill);
    font-size: var(--aw-type-label-size);
    font-weight: var(--aw-type-label-weight);
    line-height: var(--aw-type-label-line);
}

.public-landing .status-indicator {
    padding: var(--aw-space-2) var(--aw-space-4);
    border: var(--aw-border-thin) solid var(--aw-color-public-info);
    color: var(--aw-color-public-info);
    background: var(--aw-color-public-surface);
}

.public-landing .dot {
    inline-size: var(--aw-space-2);
    block-size: var(--aw-space-2);
    border-radius: var(--aw-radius-pill);
    background: var(--aw-color-public-info);
}

.public-landing .hero h1 {
    max-inline-size: 12ch;
    margin-block-end: var(--aw-space-5);
    color: var(--aw-color-public-text);
    font-family: var(--aw-font-display);
    font-size: var(--aw-type-display-size);
    font-weight: var(--aw-type-display-weight);
    line-height: var(--aw-type-display-line);
}

.public-landing .highlight,
.public-landing .eyebrow,
.public-landing .coach-role {
    color: var(--aw-color-public-accent);
}

.public-landing .hero-content > p {
    max-inline-size: var(--aw-content-measure);
    margin-block-end: var(--aw-space-6);
    color: var(--aw-color-public-text-muted);
    font-size: var(--aw-type-lead-size);
    font-weight: var(--aw-type-lead-weight);
    line-height: var(--aw-type-lead-line);
}

.public-landing .hero-actions,
.public-landing .closing-cta__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--aw-space-3);
}

.public-landing :where(.btn-primary, .btn-secondary),
:where(.shop-page, .shop-cart-page) .btn-primary,
.sessions-action,
.checkout-btn,
.place-order-btn,
.add-to-cart-large,
.buy-now-btn,
.terminal-link-button {
    display: inline-flex;
    min-block-size: var(--aw-tap-min);
    align-items: center;
    justify-content: center;
    gap: var(--aw-space-2);
    padding: var(--aw-space-3) var(--aw-space-5);
    border: var(--aw-border-thin) solid transparent;
    border-radius: var(--aw-radius-md);
    color: var(--aw-color-action-on-primary);
    background: var(--aw-color-public-action);
    font-size: var(--aw-type-control-size);
    font-weight: var(--aw-type-control-weight);
    line-height: var(--aw-type-control-line);
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background var(--aw-motion-fast) var(--aw-easing-standard), transform var(--aw-motion-fast) var(--aw-easing-standard);
}

.public-landing :where(.btn-primary, .btn-secondary):hover,
:where(.shop-page, .shop-cart-page) .btn-primary:hover,
.sessions-action:hover,
.checkout-btn:hover,
.place-order-btn:hover:not(:disabled),
.add-to-cart-large:hover:not(:disabled),
.terminal-link-button:hover {
    background: var(--aw-color-public-action-hover);
    transform: translateY(calc(var(--aw-space-1) * -1));
}

.public-landing .btn-secondary,
.buy-now-btn {
    border-color: var(--aw-color-public-border-strong);
    color: var(--aw-color-public-text);
    background: var(--aw-color-public-surface);
}

.public-landing :where(.games-section, .who-section, .specs-section, .closing-cta) {
    padding-block: var(--aw-space-9);
}

.public-landing :where(.games-section, .who-section) {
    color: var(--aw-color-text);
    background: var(--aw-color-canvas);
}

.public-landing .who-section {
    background: var(--aw-color-surface);
}

.public-landing .specs-section,
.public-landing .closing-cta {
    color: var(--aw-color-public-text);
    background: var(--aw-color-public-surface);
}

.public-landing .section-header {
    max-inline-size: var(--aw-content-measure);
    margin-inline: auto;
    margin-block-end: var(--aw-space-7);
    text-align: center;
}

.public-landing :where(.section-header h2, .who-copy h2, .specs-content h2, .closing-cta h2) {
    margin-block-end: var(--aw-space-3);
    font-family: var(--aw-font-display);
    font-size: var(--aw-type-page-title-size);
    font-weight: var(--aw-type-page-title-weight);
    line-height: var(--aw-type-page-title-line);
}

.public-landing :where(.section-header p, .card-body p, .who-copy p, .coach-card-body > p:last-child) {
    color: var(--aw-color-text-muted);
}

.public-landing :where(.programs-grid, .coach-grid) {
    display: grid;
    gap: var(--aw-space-5);
}

.public-landing .programs-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.public-landing .coach-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.public-landing :where(.game-card, .coach-card, .panel-card) {
    min-inline-size: 0;
    overflow: hidden;
    border: var(--aw-border-thin) solid var(--aw-color-border);
    border-radius: var(--aw-radius-card);
    background: var(--aw-color-surface-raised);
    box-shadow: var(--aw-shadow-raised);
}

.public-landing :where(.card-img, .coach-image, .who-image) {
    display: block;
    inline-size: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: var(--aw-color-canvas);
}

.public-landing .coach-image {
    aspect-ratio: 4 / 5;
}

.public-landing :where(.card-body, .coach-card-body, .panel-card) {
    padding: var(--aw-space-5);
}

.public-landing :where(.card-body h3, .coach-card-body h3, .panel-card h3) {
    margin-block-end: var(--aw-space-3);
    font-size: var(--aw-type-card-title-size);
    font-weight: var(--aw-type-card-title-weight);
    line-height: var(--aw-type-card-title-line);
}

.public-landing .tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--aw-space-2);
    margin-block-end: var(--aw-space-3);
}

.public-landing .tags span {
    padding: var(--aw-space-1) var(--aw-space-2);
    color: var(--aw-color-info);
    background: var(--aw-color-surface);
}

.public-landing .library-footer {
    margin-block-start: var(--aw-space-7);
    text-align: center;
}

.public-landing .library-footer a {
    display: inline-flex;
    min-block-size: var(--aw-tap-min);
    align-items: center;
    gap: var(--aw-space-2);
    color: var(--aw-color-action-primary);
    font-size: var(--aw-type-control-size);
    font-weight: var(--aw-type-control-weight);
    line-height: var(--aw-type-control-line);
}

.public-landing :where(.who-intro, .specs-grid) {
    display: grid;
    grid-template-columns: 5fr 7fr;
    align-items: center;
    gap: var(--aw-space-7);
}

.public-landing .eyebrow,
.public-landing .coach-role {
    display: block;
    margin-block-end: var(--aw-space-2);
    font-size: var(--aw-type-eyebrow-size);
    font-weight: var(--aw-type-eyebrow-weight);
    line-height: var(--aw-type-eyebrow-line);
    letter-spacing: var(--aw-type-eyebrow-tracking);
    text-transform: var(--aw-type-eyebrow-transform);
}

.public-landing .coach-section-heading {
    margin-block-start: var(--aw-space-8);
}

.public-landing .spec-table {
    border-block-start: var(--aw-border-thin) solid var(--aw-color-public-border);
}

.public-landing .spec-row {
    display: flex;
    justify-content: space-between;
    gap: var(--aw-space-4);
    padding-block: var(--aw-space-4);
    border-block-end: var(--aw-border-thin) solid var(--aw-color-public-border);
    font-variant-numeric: tabular-nums;
}

.public-landing .spec-label,
.public-landing .panel-card p,
.public-landing .closing-cta p {
    color: var(--aw-color-public-text-muted);
}

.public-landing .spec-value {
    font-size: var(--aw-type-data-size);
    font-weight: var(--aw-type-data-weight);
    line-height: var(--aw-type-data-line);
    text-align: end;
}

.public-landing .panel-card {
    border-color: var(--aw-color-public-border);
    color: var(--aw-color-public-text);
    background: var(--aw-color-public-surface-secondary);
    box-shadow: none;
    text-align: center;
}

.public-landing .panel-card i {
    margin-block-end: var(--aw-space-4);
    color: var(--aw-color-public-info);
    font-size: var(--aw-type-display-size);
}

.public-landing .closing-cta__panel {
    display: grid;
    gap: var(--aw-space-5);
    padding: var(--aw-space-7);
    border: var(--aw-border-thin) solid var(--aw-color-public-border);
    border-radius: var(--aw-radius-lg);
    background: var(--aw-color-public-surface-secondary);
}

/* Session discovery fallback */
.sessions-public .sessions-main {
    padding-block: var(--aw-space-8);
}

.sessions-public .sessions-hero {
    max-inline-size: var(--aw-content-measure);
    margin-inline: auto;
    margin-block-end: var(--aw-space-7);
    text-align: center;
}

.sessions-public .sessions-hero h1,
:where(.shop-page .shop-title, .shop-product-page .product-details-content h1, .shop-cart-page .cart-title, .shop-checkout-page .checkout-title) {
    font-family: var(--aw-font-display);
    font-size: var(--aw-type-page-title-size);
    font-weight: var(--aw-type-page-title-weight);
    line-height: var(--aw-type-page-title-line);
}

.sessions-public .sessions-hero p,
.sessions-empty {
    color: var(--aw-color-public-text-muted);
    font-size: var(--aw-type-lead-size);
    font-weight: var(--aw-type-lead-weight);
    line-height: var(--aw-type-lead-line);
}

.sessions-section {
    margin-block-start: var(--aw-space-7);
}

.sessions-section__title {
    display: flex;
    align-items: center;
    gap: var(--aw-space-2);
    margin-block-end: var(--aw-space-4);
    font-size: var(--aw-type-section-title-size);
    font-weight: var(--aw-type-section-title-weight);
    line-height: var(--aw-type-section-title-line);
}

.sessions-section__title i {
    color: var(--aw-color-public-info);
}

.sessions-grid,
.sessions-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--aw-card-min)), 1fr));
    gap: var(--aw-space-4);
}

.sessions-list {
    grid-template-columns: minmax(0, 1fr);
}

.sessions-card,
.session-row,
.sessions-confirmation,
.sessions-registration-error,
.calendar-detail,
.sessions-empty {
    padding: var(--aw-space-5);
    border: var(--aw-border-thin) solid var(--aw-color-public-border);
    border-radius: var(--aw-radius-card);
    background: var(--aw-color-public-surface);
}

.sessions-card h3,
.session-row h3 {
    font-size: var(--aw-type-card-title-size);
    font-weight: var(--aw-type-card-title-weight);
    line-height: var(--aw-type-card-title-line);
}

.sessions-card__price {
    color: var(--aw-color-public-accent);
    font-size: var(--aw-type-pane-metric-size);
    font-weight: var(--aw-type-pane-metric-weight);
    line-height: var(--aw-type-pane-metric-line);
    font-variant-numeric: tabular-nums;
}

.sessions-card__meta {
    display: grid;
    gap: var(--aw-space-2);
    margin-block: var(--aw-space-4);
    color: var(--aw-color-public-text-muted);
    font-size: var(--aw-type-supporting-size);
    font-weight: var(--aw-type-supporting-weight);
    line-height: var(--aw-type-supporting-line);
}

.sessions-card__badge {
    padding: var(--aw-space-1) var(--aw-space-3);
    color: var(--aw-color-public-warning);
    background: var(--aw-color-public-surface-secondary);
}

.sessions-action--waitlist {
    border-color: var(--aw-color-public-warning);
    color: var(--aw-color-public-warning);
    background: var(--aw-color-public-surface);
}

.sessions-tabs {
    display: flex;
    justify-content: center;
    gap: var(--aw-space-2);
    margin-block-end: var(--aw-space-6);
}

.sessions-tab {
    display: inline-flex;
    align-items: center;
    padding-inline: var(--aw-space-4);
    border: var(--aw-border-thin) solid var(--aw-color-public-border);
    border-radius: var(--aw-radius-md);
    color: var(--aw-color-public-text-muted);
    text-decoration: none;
}

.sessions-tab[aria-current='page'] {
    border-color: var(--aw-color-public-accent);
    color: var(--aw-color-public-text);
    background: var(--aw-color-public-surface-secondary);
}

.session-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--aw-space-5);
}

.session-row__date {
    min-inline-size: calc(var(--aw-space-8) + var(--aw-space-2));
    padding: var(--aw-space-3);
    border-radius: var(--aw-radius-md);
    color: var(--aw-color-public-info);
    background: var(--aw-color-public-surface-secondary);
    text-align: center;
}

.session-row__date strong {
    display: block;
    font-size: var(--aw-type-section-title-size);
    font-weight: var(--aw-type-section-title-weight);
    line-height: var(--aw-type-section-title-line);
}

.calendar-controls,
.calendar-detail__session,
.sessions-confirmation__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--aw-space-4);
}

.calendar-controls {
    margin-block-end: var(--aw-space-4);
}

.calendar-control,
.calendar-day {
    min-inline-size: var(--aw-tap-min);
    border: var(--aw-border-thin) solid var(--aw-color-public-border);
    border-radius: var(--aw-radius-md);
    color: var(--aw-color-public-text);
    background: var(--aw-color-public-surface);
}

.calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: var(--aw-space-1);
}

.calendar-heading,
.calendar-day {
    min-block-size: var(--aw-tap-min);
    padding: var(--aw-space-2);
    text-align: center;
}

.calendar-day[data-has-sessions='true'] {
    border-color: var(--aw-color-public-info);
    background: var(--aw-color-public-surface-secondary);
    cursor: pointer;
}

.calendar-detail,
.sessions-confirmation,
.sessions-registration-error {
    max-inline-size: var(--aw-focused-max);
    margin-inline: auto;
    margin-block-end: var(--aw-space-5);
}

.sessions-registration-error {
    border-color: var(--aw-color-public-danger);
    color: var(--aw-color-public-danger);
}

/* Commerce catalog */
:where(.shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page) :where(.shop-container, .product-container, .cart-container, .checkout-container) {
    padding-block: var(--aw-space-7);
}

.shop-page .shop-container {
    display: grid;
    grid-template-columns: calc(var(--aw-space-10) * 2.5) minmax(0, 1fr);
    gap: var(--aw-space-7);
}

.shop-page .shop-sidebar {
    min-inline-size: 0;
}

.shop-page .category-list,
:where(.shop-cart-page, .shop-checkout-page) :where(.cart-items, .cart-summary, .checkout-form-section, .order-summary),
.shop-product-page .product-details-content {
    border: var(--aw-border-thin) solid var(--aw-color-public-border);
    border-radius: var(--aw-radius-card);
    background: var(--aw-color-public-surface);
}

.shop-page .category-list {
    padding: var(--aw-space-5);
}

.shop-page .category-list h2 {
    margin-block-end: var(--aw-space-4);
    font-size: var(--aw-type-card-title-size);
    font-weight: var(--aw-type-card-title-weight);
    line-height: var(--aw-type-card-title-line);
}

.shop-page .category-item + .category-item {
    margin-block-start: var(--aw-space-1);
}

.shop-page :where(.category-link, .subcategory-link) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--aw-space-2);
    padding: var(--aw-space-2) var(--aw-space-3);
    border-radius: var(--aw-radius-md);
    color: var(--aw-color-public-text-muted);
    text-decoration: none;
}

.shop-page :where(.category-link, .subcategory-link):hover,
.shop-page :where(.category-link, .subcategory-link)[aria-current='page'] {
    color: var(--aw-color-public-text);
    background: var(--aw-color-public-surface-secondary);
}

.shop-page .subcategory-list {
    display: grid;
    gap: var(--aw-space-1);
    margin-inline-start: var(--aw-space-4);
    padding-inline-start: var(--aw-space-2);
    border-inline-start: var(--aw-border-thin) solid var(--aw-color-public-border);
}

.shop-page .shop-header {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    justify-content: space-between;
    gap: var(--aw-space-5);
    margin-block-end: var(--aw-space-6);
}

.shop-page .shop-heading-copy p {
    max-inline-size: var(--aw-content-measure);
    margin-block-end: 0;
    color: var(--aw-color-public-text-muted);
}

.shop-page .shop-eyebrow {
    margin-block-end: var(--aw-space-2);
    color: var(--aw-color-public-info);
    font-size: var(--aw-type-eyebrow-size);
    font-weight: var(--aw-type-eyebrow-weight);
    line-height: var(--aw-type-eyebrow-line);
    letter-spacing: var(--aw-type-eyebrow-tracking);
    text-transform: var(--aw-type-eyebrow-transform);
}

.shop-page .shop-filters {
    display: flex;
    flex-wrap: wrap;
    gap: var(--aw-space-3);
}

.shop-page .search-box {
    position: relative;
}

.shop-page :where(.search-box input, .sort-select),
.shop-checkout-page .form-group :where(input, select) {
    inline-size: 100%;
    min-block-size: var(--aw-control-md);
    padding-inline: var(--aw-space-3);
    border: var(--aw-border-thin) solid var(--aw-color-public-border-strong);
    border-radius: var(--aw-radius-md);
    color: var(--aw-color-public-text);
    background: var(--aw-color-public-surface);
    font-size: var(--aw-type-control-size);
    font-weight: var(--aw-type-body-weight);
    line-height: var(--aw-type-control-line);
}

.shop-page .search-box input {
    inline-size: calc(var(--aw-space-10) * 2.5);
    padding-inline-end: var(--aw-space-7);
}

.shop-page .search-box button {
    position: absolute;
    inset-block: 0;
    inset-inline-end: 0;
    min-inline-size: var(--aw-tap-min);
    border: 0;
    color: var(--aw-color-public-text-muted);
    background: var(--aw-color-public-surface);
}

.shop-page .products-grid,
.shop-product-page .related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--aw-space-5);
}

.shop-page .product-card,
.shop-product-page .related-card {
    display: flex;
    min-inline-size: 0;
    block-size: 100%;
    flex-direction: column;
    overflow: hidden;
    border: var(--aw-border-thin) solid var(--aw-color-public-border);
    border-radius: var(--aw-radius-card);
    color: var(--aw-color-public-text);
    background: var(--aw-color-public-surface);
    text-decoration: none;
    transition: border-color var(--aw-motion-fast) var(--aw-easing-standard), transform var(--aw-motion-fast) var(--aw-easing-standard);
}

.shop-page .product-card:hover,
.shop-product-page .related-card:hover {
    border-color: var(--aw-color-public-accent);
    transform: translateY(calc(var(--aw-space-1) * -1));
}

.shop-page :where(.product-image, .product-placeholder),
.shop-product-page :where(.related-image, .related-placeholder) {
    position: relative;
    display: grid;
    inline-size: 100%;
    aspect-ratio: 1;
    place-items: center;
    overflow: hidden;
    background: var(--aw-color-public-surface-secondary);
}

.shop-page .product-image img,
.shop-product-page .related-image img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
}

.shop-page .product-placeholder i,
.shop-product-page :where(.main-image-placeholder, .related-placeholder) i,
.shop-cart-page .cart-item-placeholder i,
.shop-checkout-page .order-item-placeholder i {
    color: var(--aw-color-public-text-muted);
    font-size: var(--aw-type-display-size);
}

.shop-page .product-badge {
    position: absolute;
    inset-block-start: var(--aw-space-3);
    inset-inline-start: var(--aw-space-3);
    padding: var(--aw-space-1) var(--aw-space-3);
    color: var(--aw-color-public-danger);
    background: var(--aw-color-public-surface);
}

.shop-page .product-info {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: var(--aw-space-5);
}

.shop-page .product-category,
.shop-product-page .product-category-link {
    margin-block-end: var(--aw-space-2);
    color: var(--aw-color-public-info);
    font-size: var(--aw-type-label-size);
    font-weight: var(--aw-type-label-weight);
    line-height: var(--aw-type-label-line);
}

.shop-page .product-name,
.shop-product-page .related-name,
.shop-cart-page .cart-item-name {
    color: var(--aw-color-public-text);
    font-size: var(--aw-type-card-title-size);
    font-weight: var(--aw-type-card-title-weight);
    line-height: var(--aw-type-card-title-line);
    text-decoration: none;
}

:where(.shop-page .product-price, .shop-product-page .product-price-large, .shop-product-page .related-price, .shop-cart-page .cart-item-price) {
    color: var(--aw-color-public-accent);
    font-size: var(--aw-type-data-size);
    font-weight: var(--aw-type-data-weight);
    line-height: var(--aw-type-data-line);
    font-variant-numeric: tabular-nums;
}

.shop-page .product-price {
    margin-block: var(--aw-space-3);
}

.shop-page .product-sizes {
    display: flex;
    flex-wrap: wrap;
    gap: var(--aw-space-2);
    margin-block-end: var(--aw-space-4);
}

.shop-page .size-tag {
    padding: var(--aw-space-1) var(--aw-space-2);
    border-radius: var(--aw-radius-sm);
    color: var(--aw-color-public-text-muted);
    background: var(--aw-color-public-surface-secondary);
    font-size: var(--aw-type-supporting-size);
    font-weight: var(--aw-type-supporting-weight);
    line-height: var(--aw-type-supporting-line);
}

.shop-page .add-to-cart-btn {
    display: inline-flex;
    min-block-size: var(--aw-tap-min);
    align-items: center;
    justify-content: center;
    gap: var(--aw-space-2);
    margin-block-start: auto;
    padding-inline: var(--aw-space-4);
    border-radius: var(--aw-radius-md);
    color: var(--aw-color-action-on-primary);
    background: var(--aw-color-public-action);
    font-size: var(--aw-type-control-size);
    font-weight: var(--aw-type-control-weight);
    line-height: var(--aw-type-control-line);
    text-decoration: none;
}

.shop-page .empty-state,
.shop-cart-page .empty-cart {
    display: grid;
    max-inline-size: var(--aw-focused-max);
    place-items: center;
    gap: var(--aw-space-3);
    margin-inline: auto;
    padding: var(--aw-space-8) var(--aw-space-5);
    border: var(--aw-border-thin) solid var(--aw-color-public-border);
    border-radius: var(--aw-radius-card);
    color: var(--aw-color-public-text-muted);
    background: var(--aw-color-public-surface);
    text-align: center;
}

.shop-page .pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--aw-space-2);
    margin-block-start: var(--aw-space-7);
}

.shop-page .page-link {
    display: inline-flex;
    min-inline-size: var(--aw-tap-min);
    align-items: center;
    justify-content: center;
    border: var(--aw-border-thin) solid var(--aw-color-public-border);
    border-radius: var(--aw-radius-md);
    color: var(--aw-color-public-text);
    background: var(--aw-color-public-surface);
    text-decoration: none;
}

.shop-page .page-link[aria-current='page'] {
    border-color: var(--aw-color-public-accent);
    background: var(--aw-color-public-surface-secondary);
}

:where(.shop-page, .shop-product-page) .cart-icon {
    position: fixed;
    inset-inline-end: var(--aw-space-5);
    inset-block-end: var(--aw-space-5);
    z-index: 100;
    display: grid;
    inline-size: var(--aw-control-lg);
    block-size: var(--aw-control-lg);
    place-items: center;
    border-radius: var(--aw-radius-pill);
    color: var(--aw-color-action-on-primary);
    background: var(--aw-color-public-action);
    box-shadow: var(--aw-shadow-public-card);
    text-decoration: none;
}

:where(.shop-page, .shop-product-page) .cart-badge,
.aw-marketing-header__cart-count {
    border-radius: var(--aw-radius-pill);
    color: var(--aw-color-action-on-primary);
    background: var(--aw-color-public-action);
}

/* Product detail */
.shop-product-page .breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: var(--aw-space-2);
    margin-block-end: var(--aw-space-6);
    color: var(--aw-color-public-text-muted);
    font-size: var(--aw-type-supporting-size);
    font-weight: var(--aw-type-supporting-weight);
    line-height: var(--aw-type-supporting-line);
}

.shop-product-page .breadcrumb a {
    color: var(--aw-color-public-text-muted);
}

.shop-product-page .product-detail {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--aw-space-7);
}

.shop-product-page .product-gallery {
    min-inline-size: 0;
}

.shop-product-page .main-image {
    display: grid;
    inline-size: 100%;
    aspect-ratio: 1;
    place-items: center;
    overflow: hidden;
    border: var(--aw-border-thin) solid var(--aw-color-public-border);
    border-radius: var(--aw-radius-card);
    background: var(--aw-color-public-surface-secondary);
}

.shop-product-page .main-image img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
}

.shop-product-page .thumbnail-gallery,
.shop-product-page .size-options {
    display: flex;
    flex-wrap: wrap;
    gap: var(--aw-space-2);
    margin-block-start: var(--aw-space-3);
}

.shop-product-page .thumbnail {
    inline-size: calc(var(--aw-space-8) + var(--aw-space-4));
    block-size: calc(var(--aw-space-8) + var(--aw-space-4));
    padding: 0;
    overflow: hidden;
    border: var(--aw-border-strong) solid var(--aw-color-public-border);
    border-radius: var(--aw-radius-md);
    background: var(--aw-color-public-surface);
}

.shop-product-page .thumbnail[aria-pressed='true'] {
    border-color: var(--aw-color-public-info);
}

.shop-product-page .thumbnail img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
}

.shop-product-page .product-details-content {
    min-inline-size: 0;
    align-self: start;
    padding: var(--aw-space-6);
}

.shop-product-page .product-price-large {
    margin-block-end: var(--aw-space-4);
    font-size: var(--aw-type-pane-metric-size);
    font-weight: var(--aw-type-pane-metric-weight);
    line-height: var(--aw-type-pane-metric-line);
}

.shop-product-page .stock-status {
    padding: var(--aw-space-2) var(--aw-space-3);
    margin-block-end: var(--aw-space-5);
    background: var(--aw-color-public-surface-secondary);
}

.shop-product-page .stock-status.in-stock {
    color: var(--aw-color-public-success);
}

.shop-product-page .stock-status.out-of-stock {
    color: var(--aw-color-public-danger);
}

.shop-product-page .product-description {
    max-inline-size: var(--aw-content-measure);
    margin-block-end: var(--aw-space-6);
    color: var(--aw-color-public-text-muted);
}

.shop-product-page :where(.size-selector, .quantity-selector) {
    margin-block-end: var(--aw-space-5);
}

.shop-product-page :where(.selector-label, .quantity-selector label) {
    display: block;
    margin-block-end: var(--aw-space-2);
    font-size: var(--aw-type-label-size);
    font-weight: var(--aw-type-label-weight);
    line-height: var(--aw-type-label-line);
}

.shop-product-page .size-option {
    padding: var(--aw-space-3) var(--aw-space-4);
    border: var(--aw-border-strong) solid var(--aw-color-public-border);
    border-radius: var(--aw-radius-md);
    color: var(--aw-color-public-text);
    background: var(--aw-color-public-surface);
    font-size: var(--aw-type-control-size);
    font-weight: var(--aw-type-control-weight);
    line-height: var(--aw-type-control-line);
}

.shop-product-page .size-option[aria-pressed='true'] {
    border-color: var(--aw-color-public-info);
    background: var(--aw-color-public-surface-secondary);
}

.shop-product-page .size-option:disabled,
:where(.shop-product-page, .shop-checkout-page) button:disabled {
    opacity: var(--aw-opacity-disabled);
    cursor: not-allowed;
}

.shop-product-page .size-stock {
    display: block;
    color: var(--aw-color-public-text-muted);
    font-size: var(--aw-type-supporting-size);
    font-weight: var(--aw-type-supporting-weight);
    line-height: var(--aw-type-supporting-line);
}

.shop-product-page .quantity-input,
.shop-cart-page .quantity-control {
    display: flex;
    inline-size: fit-content;
}

.shop-product-page :where(.quantity-btn, .quantity-value),
.shop-cart-page :where(.qty-btn, .qty-input) {
    inline-size: var(--aw-tap-min);
    block-size: var(--aw-tap-min);
    border: var(--aw-border-thin) solid var(--aw-color-public-border-strong);
    color: var(--aw-color-public-text);
    background: var(--aw-color-public-surface);
    text-align: center;
}

.shop-product-page .quantity-value,
.shop-cart-page .qty-input {
    inline-size: var(--aw-control-lg);
    border-inline: 0;
    font-size: var(--aw-type-data-size);
    font-weight: var(--aw-type-data-weight);
    line-height: var(--aw-type-data-line);
}

.shop-product-page :where(.add-to-cart-large, .buy-now-btn) {
    inline-size: 100%;
    margin-block-start: var(--aw-space-3);
}

.shop-product-page .product-meta,
.shop-product-page .related-section {
    margin-block-start: var(--aw-space-7);
    padding-block-start: var(--aw-space-5);
    border-block-start: var(--aw-border-thin) solid var(--aw-color-public-border);
}

.shop-product-page .meta-item {
    display: flex;
    gap: var(--aw-space-2);
    color: var(--aw-color-public-text-muted);
}

.shop-product-page .related-info {
    padding: var(--aw-space-4);
}

.shop-product-page .cart-notification {
    position: fixed;
    inset-block-start: calc(var(--aw-space-9) + var(--aw-space-4));
    inset-inline-end: var(--aw-space-5);
    z-index: 1000;
    display: flex;
    align-items: center;
    gap: var(--aw-space-2);
    max-inline-size: calc(100% - var(--aw-space-8));
    padding: var(--aw-space-3) var(--aw-space-4);
    border: var(--aw-border-thin) solid var(--aw-color-public-success);
    border-radius: var(--aw-radius-md);
    color: var(--aw-color-public-success);
    background: var(--aw-color-public-surface);
    box-shadow: var(--aw-shadow-public-card);
}

/* Cart and checkout */
:where(.shop-cart-page, .shop-checkout-page) :where(.cart-title, .checkout-title) {
    margin-block-end: var(--aw-space-6);
}

.shop-cart-page .cart-layout,
.shop-checkout-page .checkout-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(calc(var(--aw-space-10) * 3), 34%);
    gap: var(--aw-space-7);
}

.shop-cart-page .cart-items {
    overflow: hidden;
}

.shop-cart-page .cart-item {
    display: grid;
    grid-template-columns: calc(var(--aw-space-10) + var(--aw-space-6)) minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--aw-space-5);
    padding: var(--aw-space-5);
    border-block-end: var(--aw-border-thin) solid var(--aw-color-public-border);
}

.shop-cart-page .cart-item:last-child {
    border-block-end: 0;
}

.shop-cart-page .cart-item-image {
    display: grid;
    aspect-ratio: 1;
    place-items: center;
    overflow: hidden;
    border-radius: var(--aw-radius-md);
    background: var(--aw-color-public-surface-secondary);
}

.shop-cart-page .cart-item-image img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
}

.shop-cart-page .cart-item-details,
.shop-cart-page .cart-item-actions {
    display: flex;
    min-inline-size: 0;
    flex-direction: column;
    gap: var(--aw-space-2);
}

.shop-cart-page .cart-item-size,
.shop-cart-page .summary-label,
.shop-checkout-page :where(.summary-label, .order-item-meta, .secure-notice) {
    color: var(--aw-color-public-text-muted);
}

.shop-cart-page .remove-btn {
    min-block-size: var(--aw-tap-min);
    border: 0;
    color: var(--aw-color-public-danger);
    background: var(--aw-color-public-surface);
}

:where(.shop-cart-page, .shop-checkout-page) :where(.cart-summary, .order-summary) {
    position: sticky;
    inset-block-start: calc(var(--aw-space-9) + var(--aw-space-4));
    align-self: start;
    padding: var(--aw-space-5);
}

:where(.shop-cart-page, .shop-checkout-page) .summary-title {
    padding-block-end: var(--aw-space-3);
    margin-block-end: var(--aw-space-4);
    border-block-end: var(--aw-border-thin) solid var(--aw-color-public-border);
    font-size: var(--aw-type-card-title-size);
    font-weight: var(--aw-type-card-title-weight);
    line-height: var(--aw-type-card-title-line);
}

:where(.shop-cart-page, .shop-checkout-page) .summary-row {
    display: flex;
    justify-content: space-between;
    gap: var(--aw-space-3);
    margin-block-end: var(--aw-space-3);
    font-variant-numeric: tabular-nums;
}

:where(.shop-cart-page, .shop-checkout-page) .summary-row.total {
    padding-block-start: var(--aw-space-4);
    margin-block-start: var(--aw-space-4);
    border-block-start: var(--aw-border-thin) solid var(--aw-color-public-border);
    color: var(--aw-color-public-accent);
    font-size: var(--aw-type-data-size);
    font-weight: var(--aw-type-data-weight);
    line-height: var(--aw-type-data-line);
}

.shop-cart-page .checkout-btn {
    inline-size: 100%;
    margin-block-start: var(--aw-space-5);
}

.shop-cart-page .continue-shopping,
.shop-checkout-page .back-to-cart {
    display: inline-flex;
    align-items: center;
    gap: var(--aw-space-2);
    color: var(--aw-color-public-text-muted);
    text-decoration: none;
}

.shop-checkout-page .back-to-cart {
    margin-block-end: var(--aw-space-4);
}

.shop-checkout-page .login-prompt {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--aw-space-3);
    padding: var(--aw-space-4);
    margin-block-end: var(--aw-space-5);
    border: var(--aw-border-thin) solid var(--aw-color-public-info);
    border-radius: var(--aw-radius-md);
    background: var(--aw-color-public-surface-secondary);
}

.shop-checkout-page .login-prompt p {
    margin: 0;
}

.shop-checkout-page .login-prompt a {
    color: var(--aw-color-public-info);
}

.shop-checkout-page .checkout-form-section {
    padding: var(--aw-space-5);
    margin-block-end: var(--aw-space-5);
}

.shop-checkout-page .section-title {
    display: flex;
    align-items: center;
    gap: var(--aw-space-2);
    margin-block-end: var(--aw-space-5);
    font-size: var(--aw-type-section-title-size);
    font-weight: var(--aw-type-section-title-weight);
    line-height: var(--aw-type-section-title-line);
}

.shop-checkout-page .section-title i {
    color: var(--aw-color-public-info);
}

.shop-checkout-page .form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--aw-space-4);
}

.shop-checkout-page .form-group {
    min-inline-size: 0;
    margin-block-end: var(--aw-space-4);
}

.shop-checkout-page .form-group label {
    display: block;
    margin-block-end: var(--aw-space-2);
    font-size: var(--aw-type-label-size);
    font-weight: var(--aw-type-label-weight);
    line-height: var(--aw-type-label-line);
}

.shop-checkout-page .required,
.shop-checkout-page .error-message {
    color: var(--aw-color-public-danger);
}

.shop-checkout-page .form-group :where(input, select):focus {
    border-color: var(--aw-color-public-info);
    box-shadow: var(--aw-shadow-focus);
}

.shop-checkout-page .checkbox-group {
    display: flex;
    align-items: center;
    gap: var(--aw-space-2);
    margin-block-end: var(--aw-space-4);
}

.shop-checkout-page .checkbox-group input {
    inline-size: var(--aw-space-5);
    block-size: var(--aw-space-5);
    accent-color: var(--aw-color-public-action);
}

.shop-checkout-page .order-item {
    display: grid;
    grid-template-columns: var(--aw-control-lg) minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--aw-space-3);
    padding-block: var(--aw-space-3);
    border-block-end: var(--aw-border-thin) solid var(--aw-color-public-border);
}

.shop-checkout-page .order-item-image {
    display: grid;
    aspect-ratio: 1;
    place-items: center;
    overflow: hidden;
    border-radius: var(--aw-radius-md);
    background: var(--aw-color-public-surface-secondary);
}

.shop-checkout-page .order-item-image img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
}

.shop-checkout-page .order-item-price {
    color: var(--aw-color-public-accent);
    font-size: var(--aw-type-data-size);
    font-weight: var(--aw-type-data-weight);
    line-height: var(--aw-type-data-line);
}

.shop-checkout-page .place-order-btn {
    inline-size: 100%;
    margin-block-start: var(--aw-space-5);
}

.shop-checkout-page .secure-notice {
    margin-block-start: var(--aw-space-3);
    text-align: center;
}

/* Order success */
.polar-commerce.terminal-page--with-header {
    display: grid;
    grid-template-rows: auto 1fr;
    place-items: stretch;
    padding: 0;
}

.polar-commerce .terminal-card {
    inline-size: min(calc(100% - var(--aw-space-8)), var(--aw-focused-max));
    place-self: center;
    margin-block: var(--aw-space-7);
    padding: var(--aw-space-6);
    border: var(--aw-border-thin) solid var(--aw-color-public-border);
    border-radius: var(--aw-radius-card);
    color: var(--aw-color-public-text);
    background: var(--aw-color-public-surface);
    box-shadow: var(--aw-shadow-public-dialog);
}

.polar-commerce .terminal-card--center {
    text-align: center;
}

.polar-commerce .terminal-heading {
    font-family: var(--aw-font-display);
    font-size: var(--aw-type-page-title-size);
    font-weight: var(--aw-type-page-title-weight);
    line-height: var(--aw-type-page-title-line);
}

.polar-commerce .terminal-copy,
.polar-commerce .order-summary__meta {
    color: var(--aw-color-public-text-muted);
}

.polar-commerce .terminal-icon {
    margin-block-end: var(--aw-space-4);
    color: var(--aw-color-public-info);
    font-size: var(--aw-type-display-size);
}

.polar-commerce .terminal-icon--success {
    color: var(--aw-color-public-success);
}

.polar-commerce .terminal-icon--danger {
    color: var(--aw-color-public-danger);
}

.polar-commerce :where(.order-summary__header, .order-summary__row) {
    display: flex;
    justify-content: space-between;
    gap: var(--aw-space-4);
    padding-block: var(--aw-space-3);
    border-block-end: var(--aw-border-thin) solid var(--aw-color-public-border);
    text-align: start;
    font-variant-numeric: tabular-nums;
}

.polar-commerce .terminal-details {
    padding: var(--aw-space-4);
    border-radius: var(--aw-radius-md);
    background: var(--aw-color-public-surface-secondary);
}

.polar-commerce .terminal-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--aw-space-3);
    margin-block-start: var(--aw-space-5);
}

@media (width >= 48rem) {
    :where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page, .polar-commerce) :where(.container, .aw-public-shell__container) {
        padding-inline: var(--aw-space-6);
    }
}

@media (width <= 64rem) {
    .shop-page .products-grid,
    .shop-product-page .related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .shop-page .shop-container,
    .shop-product-page .product-detail,
    .shop-cart-page .cart-layout,
    .shop-checkout-page .checkout-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .shop-page .category-list {
        display: flex;
        flex-wrap: wrap;
        gap: var(--aw-space-2);
    }

    .shop-page .category-list h2 {
        inline-size: 100%;
    }

    :where(.shop-cart-page, .shop-checkout-page) :where(.cart-summary, .order-summary) {
        position: static;
    }
}

@media (width <= 48rem) {
    .public-landing .hero {
        min-block-size: calc(var(--aw-space-10) * 6);
        align-items: end;
    }

    .public-landing :where(.who-intro, .specs-grid),
    .public-landing .coach-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .public-landing .hero-actions,
    .public-landing .closing-cta__actions,
    .sessions-confirmation__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .public-landing :where(.btn-primary, .btn-secondary),
    .sessions-confirmation__actions > * {
        inline-size: 100%;
    }

    .session-row,
    .shop-cart-page .cart-item {
        grid-template-columns: minmax(0, 1fr);
    }

    .session-row__date {
        justify-self: start;
    }

    .shop-cart-page .cart-item-image {
        inline-size: calc(var(--aw-space-10) * 2);
    }

    .shop-checkout-page .form-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .calendar-detail__session {
        align-items: stretch;
        flex-direction: column;
    }
}

@media (width <= 40rem) {
    .public-landing .programs-grid,
    .shop-page .products-grid,
    .shop-product-page .related-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .shop-page :where(.shop-filters, .search-box, .search-box input, .sort-select) {
        inline-size: 100%;
    }

    .shop-checkout-page .order-item {
        grid-template-columns: var(--aw-control-lg) minmax(0, 1fr);
    }

    .shop-checkout-page .order-item-price {
        grid-column: 2;
    }

    :where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page) :where(.footer-flex, .footer-right, .footer-bottom-flex) {
        align-items: center;
        flex-direction: column;
        text-align: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    :where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page, .polar-commerce) *,
    :where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page, .polar-commerce) *::before,
    :where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page, .polar-commerce) *::after {
        scroll-behavior: auto;
        animation: none;
        transition: none;
    }

    :where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page, .polar-commerce) :where(a, button):hover {
        transform: none;
    }
}

@media (forced-colors: active) {
    :where(.public-landing, .sessions-public, .shop-page, .shop-product-page, .shop-cart-page, .shop-checkout-page, .polar-commerce) :where(a, button, input, select, summary, [tabindex]):focus-visible {
        outline-color: var(--aw-color-forced-focus);
    }
}
