.turri-storefront-host {
    width: 100%;
    max-width: none;
}

.turri-producer-directory-host {
    width: 100%;
    max-width: none;
}

.turri-storefront {
    --turri-storefront-primary: var(--turri-color-action-primary-background);
    --turri-storefront-primary-dark: var(--turri-color-action-primary-hover);
    --turri-storefront-primary-light: var(--turri-color-surface-selected);
    --turri-storefront-ink: var(--turri-color-text-primary);
    --turri-storefront-muted: var(--turri-color-text-secondary);
    --turri-storefront-line: var(--turri-color-border-default);
    --turri-storefront-soft: var(--turri-color-surface-subtle);
    --turri-storefront-surface: var(--turri-color-surface-default);
    --turri-storefront-inverse: var(--turri-color-text-inverse);
    --turri-storefront-action-secondary-background: var(--turri-color-action-secondary-background);
    --turri-storefront-action-secondary-foreground: var(--turri-color-action-secondary-foreground);
    --turri-storefront-action-secondary-border: var(--turri-color-action-secondary-border);
    --turri-storefront-disabled-background: var(--turri-color-action-primary-disabled-background);
    --turri-storefront-disabled-foreground: var(--turri-color-action-primary-disabled-foreground);
    --turri-storefront-focus: var(--turri-color-focus-ring);
    --turri-storefront-discount-background: var(--turri-color-commerce-discount-background);
    --turri-storefront-discount-foreground: var(--turri-color-commerce-discount-foreground);
    --turri-storefront-discount-border: var(--turri-color-commerce-discount-border);
    --turri-storefront-favorite-foreground: var(--turri-color-action-favorite-foreground);
    --turri-storefront-favorite-border: var(--turri-color-action-favorite-border);
    --turri-storefront-favorite-selected-background: var(--turri-color-action-favorite-selected-background);
    --turri-storefront-confirmed-background: var(--turri-color-status-confirmed-background);
    --turri-storefront-confirmed-foreground: var(--turri-color-status-confirmed-foreground);
    --turri-storefront-error-background: var(--turri-color-status-error-background);
    --turri-storefront-error-foreground: var(--turri-color-status-error-foreground);
    background:
        radial-gradient(circle at 92% 3%, var(--turri-color-surface-warm), transparent 24rem),
        var(--turri-storefront-surface);
    color: var(--turri-storefront-ink);
    padding-block: clamp(2rem, 4vw, 4.5rem);
}

.turri-storefront,
.turri-storefront * {
    box-sizing: border-box;
}

.turri-storefront__inner {
    display: grid;
    gap: clamp(1.5rem, 3vw, 3rem);
    width: min(calc(100% - 2rem), var(--content-width, 85rem));
    min-width: 0;
    margin-inline: auto;
}

.turri-storefront__header {
    width: 100%;
}

.turri-storefront__header {
    display: grid;
    gap: var(--turri-space-m);
}

.turri-storefront__hero {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(18rem, 0.85fr);
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: center;
    overflow: hidden;
    padding: clamp(1.5rem, 4vw, 3.5rem);
    background: var(--turri-storefront-primary-light);
    border: 1px solid color-mix(in srgb, var(--turri-storefront-primary) 18%, transparent);
    border-radius: calc(var(--turri-radius) * 2);
}

.turri-storefront__intro {
    max-width: 64rem;
}

.turri-storefront__eyebrow,
.turri-storefront__business-kicker,
.turri-producer-directory__eyebrow,
.turri-quick-order__badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 2rem;
    padding-inline: 0.75rem;
    border-radius: 999px;
    background: var(--turri-storefront-surface);
    color: var(--turri-storefront-primary-dark);
    font-size: 0.78em;
    font-weight: 750;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

.turri-storefront__title {
    max-width: 16ch;
    margin-block: 0.55rem 0;
    color: var(--turri-storefront-primary-dark);
    font-size: clamp(2.3rem, 5.5vw, 5.2rem);
    line-height: 0.98;
    text-wrap: balance;
}

.turri-storefront__lede {
    max-width: 58ch;
    margin-block: 1rem 0;
    color: var(--turri-storefront-muted);
    font-size: clamp(1rem, 1.4vw, 1.2rem);
    line-height: 1.65;
}

.turri-storefront__producer-link {
    display: inline-flex;
    gap: 0.45rem;
    align-items: center;
    width: fit-content;
    min-height: 44px;
    margin-block-start: 0.65rem;
    color: var(--turri-storefront-primary-dark);
    font-weight: 750;
    line-height: 1.25;
    text-decoration-color: color-mix(in srgb, currentColor 45%, transparent);
    text-decoration-thickness: 0.1em;
    text-underline-offset: 0.22em;
}

.turri-storefront__producer-link > svg {
    flex: 0 0 auto;
    width: 1.2rem;
    height: 1.2rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    transition: transform 160ms ease;
}

.turri-storefront__producer-link:is(:hover, :focus-visible) > svg {
    transform: translateX(0.2rem);
}

.turri-storefront__business-cta {
    display: grid;
    gap: 0.8rem;
    align-content: start;
    padding: clamp(1.25rem, 3vw, 2rem);
    background: var(--turri-storefront-surface);
    border: 1px solid color-mix(in srgb, var(--turri-surface-business-border) 70%, var(--turri-storefront-line));
    border-radius: var(--turri-radius);
    box-shadow: var(--turri-shadow-m);
}

.turri-storefront__business-cta h2,
.turri-storefront__business-cta p,
.turri-quick-order__heading h2,
.turri-quick-order__heading p {
    margin: 0;
}

.turri-storefront__business-cta h2 {
    color: var(--turri-storefront-ink);
    font-size: clamp(1.35rem, 2vw, 1.8rem);
    line-height: 1.15;
}

.turri-storefront__business-cta p {
    color: var(--turri-storefront-muted);
    line-height: 1.55;
}

.turri-storefront__business-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-block-start: 0.35rem;
}

.turri-storefront__button {
    display: inline-flex;
    gap: var(--turri-control-content-gap);
    align-items: center;
    justify-content: center;
    min-width: var(--turri-control-min-inline-size);
    min-height: var(--turri-control-min-block-size);
    padding: 0.7rem var(--turri-control-padding-inline);
    border: var(--turri-control-border-width) solid transparent;
    border-radius: var(--turri-control-radius);
    font-size: var(--turri-control-label-font-size);
    font-weight: var(--turri-control-label-font-weight);
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition:
        background-color var(--turri-control-motion-duration) ease,
        border-color var(--turri-control-motion-duration) ease,
        color var(--turri-control-motion-duration) ease,
        box-shadow var(--turri-control-motion-duration) ease;
}

.turri-storefront__button--compact {
    padding-inline: var(--turri-control-padding-inline-compact);
}

.turri-storefront__button--primary {
    background: var(--turri-storefront-primary);
    border-color: var(--turri-storefront-primary);
    color: var(--turri-storefront-inverse);
}

.turri-storefront__button--text {
    border-color: var(--turri-storefront-line);
    color: var(--turri-storefront-primary-dark);
}

.turri-storefront__button--secondary {
    background: var(--turri-storefront-action-secondary-background);
    border-color: var(--turri-storefront-action-secondary-border);
    color: var(--turri-storefront-action-secondary-foreground);
}

.turri-storefront__button--secondary-tonal {
    background: var(--turri-color-surface-selected);
    border-color: var(--turri-color-border-default);
    color: var(--turri-color-action-secondary-foreground);
}

.turri-storefront__button--tertiary-outline {
    background: var(--turri-color-action-secondary-background);
    border-color: var(--turri-color-border-default);
    color: var(--turri-color-action-secondary-foreground);
}

.turri-storefront__button--quiet {
    background: var(--turri-color-action-secondary-background);
    border-color: transparent;
    color: var(--turri-color-action-secondary-foreground);
}

.turri-storefront__button--primary:is(:hover, :focus-visible):not(:disabled) {
    background: var(--turri-storefront-primary-dark);
    border-color: var(--turri-storefront-primary-dark);
    color: var(--turri-storefront-inverse);
}

.turri-storefront__button--text:is(:hover, :focus-visible) {
    background: var(--turri-storefront-primary-light);
}

.turri-storefront__button--secondary:is(:hover, :focus-visible) {
    background: var(--turri-storefront-primary-light);
    border-color: var(--turri-storefront-primary-dark);
    color: var(--turri-storefront-primary-dark);
}

.turri-storefront__button--secondary-tonal:is(:hover, :focus-visible) {
    background: color-mix(in srgb, var(--turri-color-action-secondary-foreground) 14%, var(--turri-color-surface-default));
    border-color: var(--turri-color-action-secondary-border);
    color: var(--turri-storefront-primary-dark);
}

.turri-storefront__button--tertiary-outline:is(:hover, :focus-visible) {
    background: var(--turri-color-surface-selected);
    border-color: var(--turri-color-action-secondary-border);
    color: var(--turri-storefront-primary-dark);
}

.turri-storefront__button--quiet:is(:hover, :focus-visible) {
    background: var(--turri-color-surface-selected);
    color: var(--turri-storefront-primary-dark);
}

.turri-storefront__button:is(:disabled, [aria-disabled="true"]) {
    background: var(--turri-color-action-primary-disabled-background);
    border-color: var(--turri-color-action-primary-disabled-background);
    color: var(--turri-color-action-primary-disabled-foreground);
    cursor: not-allowed;
}

.turri-storefront__button[aria-busy="true"] {
    cursor: progress;
}

.turri-storefront :is(a, button, input, select):focus-visible {
    outline: 3px solid var(--turri-storefront-focus);
    outline-offset: 3px;
}

.turri-storefront__workspace {
    display: grid;
    min-width: 0;
    overflow: hidden;
    background: var(--turri-storefront-surface);
    border: 1px solid var(--turri-storefront-line);
    border-radius: calc(var(--turri-radius) * 2);
    box-shadow: 0 0.75rem 2.25rem color-mix(in srgb, var(--turri-overlay-ink) 8%, transparent);
}

.turri-storefront__toolbar {
    display: grid;
    min-width: 0;
    background: var(--turri-storefront-surface);
    border-block-end: 1px solid var(--turri-storefront-line);
}

.turri-storefront__toolbar-main {
    display: flex;
    gap: var(--turri-space-s);
    align-items: center;
    justify-content: space-between;
    min-width: 0;
    padding: clamp(0.85rem, 2vw, 1.15rem) clamp(1rem, 2.5vw, 1.5rem);
}

.turri-storefront__toolbar-copy {
    min-width: 0;
    display: grid;
    gap: 0.2rem;
}

.turri-storefront__toolbar-label {
    color: var(--turri-storefront-ink);
    font-size: 1.02em;
    font-weight: 750;
}

.turri-storefront__view-status {
    color: var(--turri-storefront-muted);
    font-size: 0.88em;
}

.turri-storefront__profile-status {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 1.75rem;
    margin-block-start: 0.2rem;
    padding-inline: 0.65rem;
    background: var(--turri-storefront-primary-light);
    border: 1px solid color-mix(in srgb, var(--turri-storefront-primary) 35%, var(--turri-storefront-line));
    border-radius: 999px;
    color: var(--turri-storefront-primary-dark);
    font-size: 0.76em;
    font-weight: 750;
}

.turri-storefront__content-switch {
    display: inline-grid;
    grid-template-columns: repeat(2, 48px);
    flex: 0 0 auto;
    gap: 0.25rem;
    width: max-content;
    padding: 0.25rem;
    background: var(--turri-storefront-primary-light);
    border: 1px solid color-mix(in srgb, var(--turri-storefront-primary) 28%, var(--turri-storefront-line));
    border-radius: calc(var(--turri-radius) * 1.4);
}

.turri-storefront__content-link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    min-width: 48px;
    height: 48px;
    min-height: 48px;
    padding: 0;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--turri-radius);
    color: var(--turri-storefront-primary-dark);
    text-decoration: none;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.turri-storefront__content-link > svg {
    flex: 0 0 auto;
    width: 1.45rem;
    height: 1.45rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.9;
}

.turri-storefront .turri-storefront__content-link--current {
    background: var(--turri-storefront-primary-dark);
    border-color: var(--turri-storefront-primary-dark);
    color: var(--turri-color-text-inverse) !important;
    box-shadow: 0 0.35rem 0.9rem color-mix(in srgb, var(--turri-color-action-primary-hover) 24%, transparent);
}

.turri-storefront .turri-storefront__content-link--current > svg {
    color: var(--turri-color-text-inverse) !important;
    opacity: 1;
}

.turri-storefront__content-link:not(.turri-storefront__content-link--current):is(:hover, :focus-visible) {
    background: var(--turri-storefront-surface);
    border-color: var(--turri-storefront-primary);
    color: var(--turri-storefront-primary);
}

.turri-storefront__content-controls {
    display: flex;
    flex: 0 0 auto;
    margin-inline-start: auto;
    gap: 0.5rem;
    align-items: center;
    min-width: 0;
}

.turri-storefront__product-controls {
    display: flex;
    align-items: center;
    min-width: 0;
}

.turri-storefront__control-label {
    flex: 0 0 auto;
    color: var(--turri-storefront-muted);
    font-size: 0.8em;
    font-weight: 750;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.turri-storefront__view-switch {
    display: inline-grid;
    grid-template-columns: repeat(2, 44px);
    flex: 0 0 auto;
    gap: 0.25rem;
    width: max-content;
    padding: 0.25rem;
    background: var(--turri-storefront-soft);
    border: 1px solid color-mix(in srgb, var(--turri-storefront-line) 88%, transparent);
    border-radius: 999px;
}

.turri-storefront__view-link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 999px;
    color: var(--turri-storefront-primary-dark);
    text-decoration: none;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.turri-storefront__producer-summary {
    display: flex;
    gap: 0.65rem;
    align-items: center;
    min-height: 62px;
    padding: 0.65rem clamp(1rem, 2.5vw, 1.5rem);
    background: color-mix(in srgb, var(--turri-storefront-soft) 42%, var(--turri-storefront-surface));
    color: var(--turri-storefront-muted);
    font-size: 0.9em;
}

.turri-storefront__view-link > svg {
    flex: 0 0 auto;
    width: 1.3rem;
    height: 1.3rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.turri-storefront__content-tooltip,
.turri-storefront__view-tooltip {
    position: absolute;
    z-index: 8;
    bottom: calc(100% + 0.55rem);
    left: 50%;
    width: max-content;
    max-width: 12rem;
    padding: 0.38rem 0.58rem;
    background: var(--turri-storefront-ink);
    border: 1px solid color-mix(in srgb, var(--turri-color-text-inverse) 18%, transparent);
    border-radius: 0.35rem;
    box-shadow: 0 0.35rem 0.9rem color-mix(in srgb, var(--turri-overlay-ink) 18%, transparent);
    color: var(--turri-color-text-inverse) !important;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.2;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 0.25rem);
    transition: opacity 140ms ease, transform 140ms ease, visibility 140ms ease;
    visibility: hidden;
    white-space: nowrap;
}

.turri-storefront__content-tooltip::after,
.turri-storefront__view-tooltip::after {
    position: absolute;
    top: 100%;
    left: 50%;
    border: 0.32rem solid transparent;
    border-top-color: var(--turri-storefront-ink);
    content: "";
    transform: translateX(-50%);
}

.turri-storefront__content-link:is(:hover, :focus) .turri-storefront__content-tooltip,
.turri-storefront__view-link:is(:hover, :focus) .turri-storefront__view-tooltip {
    opacity: 1;
    transform: translate(-50%, 0);
    visibility: visible;
}

.turri-storefront__content-link:last-child .turri-storefront__content-tooltip,
.turri-storefront__view-link:last-child .turri-storefront__view-tooltip {
    right: 0;
    left: auto;
    transform: translateY(0.25rem);
}

.turri-storefront__content-link:last-child .turri-storefront__content-tooltip::after,
.turri-storefront__view-link:last-child .turri-storefront__view-tooltip::after {
    right: 0.9rem;
    left: auto;
    transform: none;
}

.turri-storefront__content-link:last-child:is(:hover, :focus) .turri-storefront__content-tooltip,
.turri-storefront__view-link:last-child:is(:hover, :focus) .turri-storefront__view-tooltip {
    transform: translateY(0);
}

.turri-storefront__workspace:has(.turri-storefront__view-link:is(:hover, :focus)),
.turri-storefront__workspace:has(.turri-storefront__control-menu[open]) {
    overflow: visible;
}

.turri-storefront .turri-storefront__view-link--current {
    background: var(--turri-storefront-primary-light);
    border-color: color-mix(in srgb, var(--turri-storefront-primary) 42%, var(--turri-storefront-line));
    color: var(--turri-storefront-primary-dark) !important;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--turri-storefront-primary) 10%, transparent);
}

.turri-storefront .turri-storefront__view-link--current > svg {
    color: var(--turri-storefront-primary-dark) !important;
}

.turri-storefront__view-link:not(.turri-storefront__view-link--current):is(:hover, :focus-visible) {
    background: var(--turri-storefront-surface);
    border-color: var(--turri-storefront-primary);
    color: var(--turri-storefront-primary);
}

.turri-storefront__filter-region {
    display: block;
    flex: 0 0 auto;
    min-width: 0;
}

.turri-storefront__filter-row,
.turri-storefront__filter-actions {
    display: flex;
    gap: 0.65rem;
    align-items: center;
}

.turri-storefront__filter-row {
    justify-content: space-between;
    min-width: 0;
}

.turri-storefront__filter-actions {
    flex-wrap: wrap;
}

.turri-storefront__control-menu {
    position: relative;
}

.turri-storefront__control-menu > summary {
    list-style: none;
}

.turri-storefront__control-menu > summary::-webkit-details-marker {
    display: none;
}

.turri-storefront__control {
    display: inline-flex;
    gap: 0.5rem;
    align-items: center;
    justify-content: center;
    min-width: 7rem;
    min-height: 44px;
    padding: 0.55rem 0.85rem;
    background: var(--turri-storefront-surface);
    border: 1px solid var(--turri-storefront-line);
    border-radius: var(--turri-radius);
    color: var(--turri-storefront-primary-dark);
    cursor: pointer;
    font-size: 0.92em;
    font-weight: 750;
    line-height: 1.2;
    user-select: none;
}

.turri-storefront__control--icon {
    position: relative;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0;
    border-radius: 999px;
}

.turri-storefront__control-badge {
    position: absolute;
    top: -0.35rem;
    right: -0.35rem;
    display: inline-grid;
    place-items: center;
    min-width: 1.25rem;
    height: 1.25rem;
    padding-inline: 0.25rem;
    background: var(--turri-storefront-primary-dark);
    border: 2px solid var(--turri-storefront-surface);
    border-radius: 999px;
    color: var(--turri-color-text-inverse);
    font-size: 0.68rem;
    font-weight: 800;
    line-height: 1;
}

.turri-storefront__filter-tooltip {
    position: absolute;
    z-index: 8;
    right: 0;
    bottom: calc(100% + 0.55rem);
    width: max-content;
    padding: 0.38rem 0.58rem;
    background: var(--turri-storefront-ink);
    border-radius: 0.35rem;
    color: var(--turri-color-text-inverse);
    font-size: 0.78rem;
    font-weight: 700;
    opacity: 0;
    pointer-events: none;
    transform: translateY(0.25rem);
    transition: opacity 140ms ease, transform 140ms ease, visibility 140ms ease;
    visibility: hidden;
    white-space: nowrap;
}

.turri-storefront__filter-tooltip::after {
    position: absolute;
    top: 100%;
    right: 0.9rem;
    border: 0.32rem solid transparent;
    border-top-color: var(--turri-storefront-ink);
    content: "";
}

.turri-storefront__control--icon:is(:hover, :focus) .turri-storefront__filter-tooltip {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

.turri-storefront__control > svg,
.turri-storefront__option-check {
    width: 1.2rem;
    height: 1.2rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.turri-storefront__control-menu[open] > .turri-storefront__control,
.turri-storefront__control:is(:hover, :focus-visible) {
    background: var(--turri-storefront-primary-light);
    border-color: var(--turri-storefront-primary);
    color: var(--turri-storefront-primary);
}

.turri-storefront__control--disabled {
    cursor: not-allowed;
    opacity: 0.58;
}

.turri-storefront__result-count {
    flex: 0 0 auto;
    color: var(--turri-storefront-muted);
    font-size: 0.9em;
    font-weight: 700;
}

.turri-storefront__control-panel {
    position: absolute;
    z-index: 20;
    top: calc(100% + 0.5rem);
    right: 0;
    display: grid;
    gap: 0.75rem;
    width: min(28rem, calc(100vw - 2rem));
    max-height: min(38rem, 76vh);
    overflow: auto;
    padding: 1rem;
    background: var(--turri-storefront-surface);
    border: 1px solid var(--turri-storefront-line);
    border-radius: calc(var(--turri-radius) * 1.4);
    box-shadow: 0 1rem 2.5rem color-mix(in srgb, var(--turri-overlay-ink) 18%, transparent);
    overscroll-behavior: contain;
}

.turri-storefront__control-panel--order {
    width: min(20rem, calc(100vw - 2rem));
}

.turri-storefront__control-panel-heading {
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
}

.turri-storefront__control-panel-heading > div {
    display: grid;
    gap: 0.15rem;
}

.turri-storefront__control-panel-heading span,
.turri-storefront__control-help {
    color: var(--turri-storefront-muted);
    font-size: 0.8em;
}

.turri-storefront__control-panel-heading strong {
    color: var(--turri-storefront-ink);
    font-size: 1.08em;
}

.turri-storefront__panel-close {
    display: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    background: var(--turri-storefront-soft);
    border: 1px solid var(--turri-storefront-line);
    border-radius: 999px;
    color: var(--turri-storefront-primary-dark);
    cursor: pointer;
    font-size: 1.6rem;
    line-height: 1;
}

.turri-storefront__panel-close svg {
    display: block;
    width: 24px;
    height: 24px;
    fill: none;
    pointer-events: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

html.turri-storefront-filter-open,
body.turri-storefront-filter-open {
    overflow: hidden;
    overscroll-behavior: none;
}

.turri-storefront[data-storefront-enhanced="true"] .turri-storefront__workspace:has(.turri-storefront__control-menu[open]) {
    overflow: visible;
}

.turri-storefront[data-storefront-enhanced="true"] .turri-storefront__control-menu[open]::before {
    position: fixed;
    z-index: 10000;
    inset: 0;
    background: color-mix(in srgb, var(--turri-overlay-ink) 48%, transparent);
    content: "";
    animation: turri-storefront-backdrop-enter 180ms ease-out both;
}

.turri-storefront[data-storefront-enhanced="true"] .turri-storefront__control-panel {
    --turri-storefront-drawer-gutter: clamp(1.6rem, 4vw, 2.4rem);
    --turri-storefront-drawer-header-height: 7.2rem;

    position: fixed;
    z-index: 10001;
    inset: 0 0 0 auto;
    display: flex;
    flex-direction: column;
    gap: 0;
    width: min(calc(100vw - 2rem), 42rem);
    height: 100dvh;
    max-height: none;
    overflow: hidden;
    padding: 0;
    background: var(--turri-storefront-surface);
    border: 0;
    border-inline-start: 1px solid var(--turri-storefront-line);
    border-radius: 0;
    box-shadow: -0.4rem 0 2rem color-mix(in srgb, var(--turri-shadow-ink) 18%, transparent);
    overscroll-behavior: contain;
    animation: turri-storefront-drawer-enter 180ms ease-out both;
}

.turri-storefront[data-storefront-enhanced="true"] .turri-storefront__control-panel-heading {
    flex: 0 0 auto;
    min-height: calc(var(--turri-storefront-drawer-header-height) + env(safe-area-inset-top, 0px));
    padding: env(safe-area-inset-top, 0px) max(var(--turri-storefront-drawer-gutter), env(safe-area-inset-right, 0px)) 0 var(--turri-storefront-drawer-gutter);
    background: var(--turri-surface-chrome-default);
    border-block-end: 1px solid var(--turri-color-text-secondary);
}

.turri-storefront[data-storefront-enhanced="true"] .turri-storefront__control-panel-heading span {
    color: var(--turri-color-surface-subtle);
}

.turri-storefront[data-storefront-enhanced="true"] .turri-storefront__control-panel-heading strong {
    color: var(--turri-color-text-inverse);
}

.turri-storefront[data-storefront-enhanced="true"] .turri-storefront__panel-close {
    display: inline-flex;
    flex: 0 0 44px;
    background: transparent;
    border-color: transparent;
    color: var(--turri-color-surface-subtle);
}

.turri-storefront[data-storefront-enhanced="true"] .turri-storefront__panel-close:is(:hover, :focus-visible) {
    background: color-mix(in srgb, var(--turri-color-text-inverse) 12%, transparent);
    border-color: color-mix(in srgb, var(--turri-color-text-inverse) 24%, transparent);
    color: var(--turri-color-text-inverse);
}

.turri-storefront[data-storefront-enhanced="true"] .turri-storefront__panel-close:focus-visible {
    box-shadow: inset 0 -3px 0 var(--turri-color-text-inverse);
    outline: 0;
}

.turri-storefront[data-storefront-enhanced="true"] .turri-storefront__control-help {
    flex: 0 0 auto;
    padding: 1.25rem var(--turri-storefront-drawer-gutter) 0;
}

.turri-storefront[data-storefront-enhanced="true"] .turri-storefront__filter-form {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 1.25rem var(--turri-storefront-drawer-gutter) max(var(--turri-storefront-drawer-gutter), env(safe-area-inset-bottom, 0px));
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

.turri-storefront[data-storefront-enhanced="true"] .turri-storefront__filter-form-actions {
    bottom: calc(-1 * max(var(--turri-storefront-drawer-gutter), env(safe-area-inset-bottom, 0px)));
    margin: 0 calc(-1 * var(--turri-storefront-drawer-gutter)) calc(-1 * max(var(--turri-storefront-drawer-gutter), env(safe-area-inset-bottom, 0px)));
    padding: 1rem max(var(--turri-storefront-drawer-gutter), env(safe-area-inset-right, 0px)) max(1rem, env(safe-area-inset-bottom, 0px)) var(--turri-storefront-drawer-gutter);
}

@keyframes turri-storefront-drawer-enter {
    from {
        transform: translateX(100%);
    }
}

@keyframes turri-storefront-backdrop-enter {
    from {
        opacity: 0;
    }
}

.turri-storefront__control-help {
    margin: 0;
    line-height: 1.45;
}

.turri-storefront__filter-form {
    display: grid;
    align-content: start;
    gap: 1rem;
}

.turri-storefront__filter-section {
    display: grid;
    align-content: start;
    gap: 0.55rem;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.turri-storefront__filter-section[hidden] {
    display: none !important;
}

.turri-storefront__filter-section > legend {
    width: 100%;
    margin-block-end: 0.55rem;
    padding: 0;
    color: var(--turri-storefront-ink);
    font-size: 0.82em;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.turri-storefront__config-options {
    display: grid;
    align-content: start;
    gap: 0.35rem;
}

.turri-storefront__config-option {
    position: relative;
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    gap: 0.65rem;
    align-items: center;
    min-height: 48px;
    padding: 0.35rem 0.5rem;
    border: 1px solid var(--turri-storefront-line);
    border-radius: var(--turri-radius);
    color: var(--turri-storefront-ink);
    cursor: pointer;
}

.turri-storefront__config-option > input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.turri-storefront__config-options--producers {
    gap: 0;
    border: 1px solid var(--turri-storefront-line);
    border-radius: var(--turri-radius);
}

.turri-storefront__config-option--producer {
    grid-template-columns: 20px minmax(0, 1fr) auto;
    min-height: 34px;
    padding-block: 2px;
    border: 0;
    border-radius: 0;
}

.turri-storefront__config-option--producer > span {
    font-size: var(--text-m);
}

.turri-storefront__config-option--producer:first-child {
    border-start-start-radius: var(--turri-radius);
    border-start-end-radius: var(--turri-radius);
}

.turri-storefront__config-option--producer:last-child {
    border-end-start-radius: var(--turri-radius);
    border-end-end-radius: var(--turri-radius);
}

.turri-storefront__config-option--producer > input[type="checkbox"] {
    position: static;
    width: 20px;
    height: 20px;
    margin: 0;
    opacity: 1;
    accent-color: var(--turri-storefront-primary);
}

.turri-storefront__config-option--favorite {
    grid-template-columns: 20px 24px minmax(0, 1fr);
}

.turri-storefront__config-option--favorite > input[type="checkbox"] {
    position: static;
    width: 20px;
    height: 20px;
    margin: 0;
    opacity: 1;
    accent-color: var(--turri-storefront-primary);
}

.turri-storefront__favorite-filter-icon {
    width: 1.35rem;
    height: 1.35rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.turri-storefront__config-option--favorite:has(input:checked) .turri-storefront__favorite-filter-icon {
    fill: currentColor;
}

.turri-storefront__config-option--disabled {
    cursor: not-allowed;
    opacity: 0.62;
}

.turri-storefront__filter-login {
    width: fit-content;
    color: var(--turri-storefront-primary-dark);
    font-size: 0.84em;
    font-weight: 700;
    text-underline-offset: 0.18em;
}

.turri-storefront__config-option:has(input:checked) {
    background: var(--turri-storefront-primary-light);
    border-color: var(--turri-storefront-primary);
    color: var(--turri-storefront-primary-dark);
}

.turri-storefront__config-option:has(input:focus-visible) {
    outline: 3px solid var(--turri-storefront-primary);
    outline-offset: 2px;
}

.turri-storefront__config-option:is(:hover, :focus-within) {
    border-color: var(--turri-storefront-primary);
}

.turri-storefront__order-select {
    width: 100%;
    min-height: 44px;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--turri-storefront-line);
    border-radius: var(--turri-radius);
    background-color: var(--turri-storefront-soft);
    color: var(--turri-storefront-ink);
    font-family: inherit;
    font-size: var(--text-m);
}

.turri-storefront__config-option > small {
    display: inline-grid;
    place-items: center;
    min-width: 1.8rem;
    min-height: 1.8rem;
    padding-inline: 0.35rem;
    background: var(--turri-storefront-soft);
    border-radius: 999px;
    color: var(--turri-storefront-muted);
    font-size: 0.76em;
}

.turri-storefront__filter-form-actions {
    position: sticky;
    bottom: -1rem;
    display: flex;
    gap: 0.75rem;
    align-items: center;
    justify-content: space-between;
    margin: 0 -1rem -1rem;
    padding: 0.85rem 1rem;
    background: var(--turri-storefront-surface);
    border-block-start: 1px solid var(--turri-storefront-line);
}

.turri-storefront[data-storefront-enhanced="true"] .turri-storefront__apply-filters {
    display: none;
}

.turri-storefront__apply-filters {
    min-height: 44px;
    padding: 0.65rem 1rem;
    background: var(--turri-storefront-primary);
    border: 1px solid var(--turri-storefront-primary);
    border-radius: var(--turri-radius);
    color: var(--turri-color-text-inverse);
    cursor: pointer;
    font-weight: 800;
}

.turri-storefront__apply-filters:is(:hover, :focus-visible) {
    background: var(--turri-storefront-primary-dark);
    border-color: var(--turri-storefront-primary-dark);
}

.turri-storefront__option-list {
    display: grid;
    gap: 0.25rem;
}

.turri-storefront__option {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    gap: 0.65rem;
    align-items: center;
    min-height: 48px;
    padding: 0.35rem 0.5rem;
    border: 1px solid transparent;
    border-radius: var(--turri-radius);
    color: var(--turri-storefront-ink);
    text-decoration: none;
}

.turri-storefront__option--order {
    grid-template-columns: minmax(0, 1fr) auto;
    padding-inline: 0.75rem;
}

.turri-storefront__option small {
    display: inline-grid;
    place-items: center;
    min-width: 1.8rem;
    min-height: 1.8rem;
    padding-inline: 0.35rem;
    background: var(--turri-storefront-soft);
    border-radius: 999px;
    color: var(--turri-storefront-muted);
    font-size: 0.76em;
}

.turri-storefront__option[aria-current="page"] {
    background: var(--turri-storefront-primary-light);
    border-color: color-mix(in srgb, var(--turri-storefront-primary) 45%, var(--turri-storefront-line));
    color: var(--turri-storefront-primary-dark);
    font-weight: 750;
}

.turri-storefront__option:is(:hover, :focus-visible) {
    background: var(--turri-storefront-soft);
    border-color: var(--turri-storefront-primary);
}

.turri-storefront__filter-controls {
    display: grid;
    grid-template-rows: 0fr;
    min-width: 0;
    opacity: 0;
    visibility: hidden;
    background: var(--turri-storefront-soft);
    transition: grid-template-rows 220ms ease, opacity 220ms ease, visibility 220ms;
}

.turri-storefront__filter-controls:has(.turri-storefront__filter-chip) {
    grid-template-rows: 1fr;
    opacity: 1;
    visibility: visible;
}

.turri-storefront__filter-controls-inner {
    min-height: 0;
    min-width: 0;
    overflow: hidden;
}

.turri-storefront__filter-controls .turri-storefront__filter-summary:not(:empty) {
    padding: 0.65rem clamp(1rem, 2.5vw, 1.5rem);
    border-block-start: 1px solid var(--turri-storefront-line);
    animation: turri-filter-summary-slide 220ms ease;
}

@keyframes turri-filter-summary-slide {
    from { transform: translateY(-0.5rem); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .turri-storefront__filter-controls {
        transition: none;
    }
    .turri-storefront__filter-controls .turri-storefront__filter-summary:not(:empty) {
        animation: none;
    }
}

.turri-storefront__filter-summary {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.turri-storefront__filter-summary:empty {
    display: none;
}

.turri-storefront__filter-summary .turri-storefront__active-filters {
    flex: 1 1 auto;
    flex-direction: row;
    min-width: 0;
}

.turri-storefront__filter-summary .turri-storefront__clear-filters {
    align-self: center;
    white-space: nowrap;
}

.turri-storefront__active-filters {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    min-width: 0;
}

.turri-storefront__active-filter-list {
    display: flex;
    flex: 1 1 auto;
    gap: 0.4rem;
    min-width: 0;
    overflow-x: auto;
    padding: 0.2rem 0.1rem;
    scrollbar-width: thin;
}

.turri-storefront__filter-chip {
    flex: 0 0 auto;
}

.turri-storefront__filter-chip:is(:hover, :focus-visible),
.turri-storefront__clear-filters:is(:hover, :focus-visible) {
    border-color: var(--turri-storefront-primary);
    color: var(--turri-storefront-primary);
}

.turri-storefront__clear-filters {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    height: 45px;
    min-height: 45px;
    padding: 0.65rem 0.25rem;
    color: var(--turri-storefront-primary-dark);
    font-size: 0.82em;
    font-weight: 750;
    text-underline-offset: 0.2em;
}

.turri-storefront__view-surface {
    min-width: 0;
    padding: clamp(0.9rem, 2.25vw, 1.5rem);
    background: color-mix(in srgb, var(--turri-storefront-soft) 58%, var(--turri-storefront-surface));
    container-type: inline-size;
    transition: opacity 160ms ease;
}

.turri-storefront__workspace[data-storefront-loading="true"] .turri-storefront__view-surface {
    opacity: 0.62;
    pointer-events: none;
}

.turri-storefront__workspace[data-storefront-loading="true"] .turri-storefront__view-status {
    display: inline-flex;
    width: fit-content;
    padding: 0.25rem 0.55rem;
    background: var(--turri-storefront-surface);
    border: 1px solid var(--turri-storefront-line);
    border-radius: 999px;
    color: var(--turri-storefront-primary-dark);
    font-weight: 700;
}

.turri-storefront__view-surface > :first-child {
    margin-block-start: 0;
}

.turri-storefront__view-surface > :last-child {
    margin-block-end: 0;
}

.turri-storefront .turri-storefront__catalog {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: none;
    gap: var(--grid-gap, 1.5rem);
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.turri-storefront__builder-notice {
    margin: 0;
    padding: 0.75rem 1rem;
    background: var(--turri-storefront-soft);
    border: 1px dashed var(--turri-storefront-line);
    border-radius: var(--turri-radius);
    color: var(--turri-storefront-muted);
}

.turri-producer-directory {
    display: grid;
    gap: clamp(1.25rem, 3vw, 2.25rem);
}

.turri-producer-directory__heading {
    display: flex;
    gap: 1.25rem;
    align-items: flex-start;
    justify-content: space-between;
}

.turri-producer-directory__heading > div {
    display: grid;
    gap: 0.7rem;
    max-width: 64rem;
}

.turri-producer-directory__heading h2,
.turri-producer-directory__heading p,
.turri-producer-directory__empty h3,
.turri-producer-directory__empty p {
    margin: 0;
}

.turri-producer-directory__heading h2 {
    color: var(--turri-storefront-primary-dark);
    font-size: clamp(1.8rem, 4vw, 3.25rem);
    line-height: 1.05;
    text-wrap: balance;
}

.turri-producer-directory__heading p {
    max-width: 72ch;
    color: var(--turri-storefront-muted);
    line-height: 1.65;
}

.turri-producer-directory__count {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    min-width: 6.5rem;
    padding: 0.8rem 1rem;
    background: var(--turri-storefront-primary-light);
    border: 1px solid color-mix(in srgb, var(--turri-storefront-primary) 22%, var(--turri-storefront-line));
    border-radius: var(--turri-radius);
    color: var(--turri-storefront-muted);
    font-size: 0.78em;
    line-height: 1.2;
}

.turri-producer-directory__count strong {
    color: var(--turri-storefront-primary-dark);
    font-size: 1.65rem;
}

.turri-producer-directory__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--grid-gap, 1.5rem);
    margin: 0;
    padding: 0;
    list-style: none;
}

.turri-producer-directory__empty {
    display: grid;
    gap: 0.45rem;
    padding: clamp(1.25rem, 3vw, 2rem);
    background: var(--turri-storefront-surface);
    border: 1px dashed var(--turri-storefront-line);
    border-radius: var(--turri-radius);
    color: var(--turri-storefront-muted);
}

.turri-producer-directory__empty h3 {
    color: var(--turri-storefront-primary-dark);
}

.turri-producer-card {
    min-width: 0;
}

.turri-producer-card__article {
    display: grid;
    grid-template-rows: auto 1fr auto;
    height: 100%;
    min-width: 0;
    overflow: hidden;
    background: var(--turri-storefront-surface);
    border: 1px solid var(--turri-storefront-line);
    border-radius: var(--turri-radius);
    box-shadow: var(--turri-shadow-m);
}

.turri-producer-card__media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--turri-storefront-soft);
}

.turri-producer-card__product-count {
    position: absolute;
    right: 0.75rem;
    bottom: 0.75rem;
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.35rem 0.65rem;
    background: color-mix(in srgb, var(--turri-storefront-primary) 92%, transparent);
    border: 1px solid color-mix(in srgb, var(--turri-storefront-inverse) 40%, transparent);
    border-radius: 999px;
    color: var(--turri-storefront-inverse);
    font-size: 0.76em;
    font-weight: 750;
    line-height: 1;
    box-shadow: 0 0.25rem 0.8rem color-mix(in srgb, var(--turri-overlay-ink) 18%, transparent);
}

.turri-producer-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 220ms ease;
}

.turri-producer-card__article:hover .turri-producer-card__image {
    transform: scale(1.025);
}

.turri-producer-card__body {
    display: grid;
    gap: 0.75rem;
    align-content: start;
    padding: 1.15rem 1.15rem 0.9rem;
}

.turri-producer-card__title,
.turri-producer-card__description {
    margin: 0;
}

.turri-producer-card__title {
    color: var(--turri-storefront-primary-dark);
    font-size: clamp(1.2rem, 2vw, 1.55rem);
    line-height: 1.2;
}

.turri-producer-card__title a {
    display: inline-flex;
    align-items: center;
    min-width: 44px;
    min-height: 44px;
    color: inherit;
    text-decoration: none;
}

.turri-producer-card__title a:is(:hover, :focus-visible) {
    text-decoration: underline;
    text-decoration-thickness: 0.1em;
    text-underline-offset: 0.18em;
}

.turri-producer-card__terms {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.turri-producer-card__terms a {
    display: inline-flex;
    align-items: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0.3rem 0.55rem;
    background: var(--turri-storefront-primary-light);
    border-radius: 999px;
    color: var(--turri-storefront-primary-dark);
    font-size: 0.78em;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
}

.turri-producer-card__terms a:is(:hover, :focus-visible) {
    background: var(--turri-storefront-primary);
    color: var(--turri-storefront-inverse);
}

.turri-producer-card__description {
    color: var(--turri-storefront-muted);
    line-height: 1.6;
}

.turri-producer-card__footer {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.6rem;
    padding: 0.9rem 1.15rem 1.15rem;
}

.turri-producer-card__footer .turri-storefront__button {
    width: 100%;
}

.turri-producer-card__footer--profile-only {
    grid-template-columns: minmax(0, 1fr);
}

.turri-producer-directory-page .turri-producer-directory__heading h2 {
    max-width: 22ch;
}

.turri-quick-order {
    --turri-quick-space-1: 4px;
    --turri-quick-space-2: 8px;
    --turri-quick-space-3: 12px;
    --turri-quick-space-4: 16px;
    --turri-quick-space-5: 24px;
    --turri-quick-order-primary-value-font-size: 1.6rem;
    --turri-quick-order-reference-price-font-size: var(--turri-text-s);
    --turri-quick-order-variation-trigger-inline-size: 19rem;

    display: grid;
    gap: var(--turri-quick-space-4);
    width: 100%;
    color: var(--turri-color-text-primary);
    container-type: inline-size;
}

.turri-storefront__workspace:has(.turri-quick-order) {
    overflow: clip;
}

.turri-quick-order__heading {
    display: block;
}

.turri-quick-order__heading h2 {
    color: var(--turri-color-text-primary);
    font-size: 2.8rem;
    line-height: 1.2;
}

.turri-quick-order__notice,
.turri-quick-order__cart-status,
.turri-quick-order__notices > :is(.woocommerce-message, .woocommerce-error, .woocommerce-info) {
    margin: 0;
    padding: var(--turri-quick-space-2) var(--turri-quick-space-3);
    background: var(--turri-color-surface-selected);
    border: 1px solid var(--turri-color-action-secondary-border);
    border-inline-start-width: 3px;
    border-radius: var(--turri-radius);
    color: var(--turri-color-text-primary);
    line-height: 1.4;
}

.turri-quick-order__cart-status {
    margin: 0 0 var(--turri-quick-space-3);
    background: var(--turri-color-status-error-background);
    border-color: var(--turri-color-status-error-foreground);
    color: var(--turri-color-status-error-foreground);
}

.turri-quick-order__cart-status a {
    color: currentcolor;
    font-weight: 750;
}

.turri-quick-order__notices {
    display: grid;
    gap: var(--turri-quick-space-2);
    outline: 0;
}

.turri-quick-order__notices > .woocommerce-error {
    background: var(--turri-color-status-error-background);
    border-color: var(--turri-color-status-error-foreground);
    color: var(--turri-color-status-error-foreground);
}

.turri-quick-order__form fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.turri-quick-order__table-wrap {
    overflow-x: auto;
    background: var(--turri-color-surface-default);
    border: 1px solid var(--turri-color-border-default);
    border-radius: var(--turri-radius) var(--turri-radius) 0 0;
}

.turri-quick-order__table {
    width: 100%;
    min-width: 900px;
    border-spacing: 0;
    border-collapse: separate;
    table-layout: fixed;
}

.turri-quick-order__table th,
.turri-quick-order__table td {
    padding: 14px var(--turri-quick-space-4);
    border-block-end: 1px solid var(--turri-color-border-default);
    color: var(--turri-color-text-primary);
    text-align: start;
    vertical-align: top;
}

.turri-quick-order__table tbody :is(
    .turri-quick-order__price,
    .turri-quick-order__quantity,
    .turri-quick-order__subtotal
) {
    vertical-align: middle;
}

.turri-quick-order__table thead th {
    background: var(--turri-color-surface-selected);
    color: var(--turri-color-text-primary);
    font-size: 1.3rem;
    font-weight: 750;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.turri-quick-order__column--product {
    width: 44%;
}

.turri-quick-order__column--price {
    width: 19%;
}

.turri-quick-order__column--quantity {
    width: 24%;
}

.turri-quick-order__column--subtotal {
    width: 13%;
}

.turri-quick-order__product {
    font-weight: 400;
}

.turri-quick-order__product-identity {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: var(--turri-quick-space-3);
    align-items: start;
    min-width: 0;
}

.turri-quick-order__image-link {
    display: grid;
    place-items: center;
    width: 56px;
    aspect-ratio: 1;
    overflow: hidden;
    background: var(--turri-color-surface-subtle);
    border-radius: calc(var(--turri-radius) * 0.75);
}

.turri-quick-order__image {
    width: 100%;
    height: 100%;
    padding: var(--turri-quick-space-1);
    object-fit: contain;
}

.turri-quick-order__product-copy {
    display: grid;
    gap: var(--turri-quick-space-1);
    min-width: 0;
}

.turri-quick-order__product-name {
    color: var(--turri-color-text-primary);
    font-size: var(--turri-quick-order-primary-value-font-size);
    font-weight: 750;
    line-height: 1.25;
    text-decoration: none;
    overflow-wrap: break-word;
}

.turri-quick-order__product-name:is(:hover, :focus-visible) {
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

.turri-quick-order__producer {
    color: var(--turri-color-text-secondary);
    font-size: 1.3rem;
}

.turri-quick-order__availability {
    display: inline-flex;
    width: fit-content;
    margin-block-start: var(--turri-quick-space-1);
    padding: var(--turri-quick-space-1) var(--turri-quick-space-2);
    background: var(--turri-color-status-error-background);
    border-radius: 999px;
    color: var(--turri-color-status-error-foreground);
    font-size: 0.74em;
    font-weight: 700;
}

.turri-quick-order__variation-fallback select {
    width: 100%;
    min-height: 44px;
    margin: 0;
    background: var(--turri-color-surface-default);
    border: 1px solid var(--turri-color-border-default);
    border-radius: var(--turri-radius);
    color: var(--turri-color-text-primary);
    font-size: 1.4rem;
}

.turri-quick-order__variation-fallback select {
    padding-inline: var(--turri-quick-space-3) 2rem;
}

.turri-quick-order [hidden] {
    display: none !important;
}

.turri-quick-order__variation-editor {
    display: grid;
    gap: var(--turri-quick-space-2);
}

.turri-quick-order__variation-summary,
.turri-quick-order__variation-summary-items {
    display: flex;
    flex-wrap: wrap;
    gap: var(--turri-quick-space-2);
    align-items: center;
}

.turri-quick-order__product-presentations {
    width: fit-content;
    max-width: 100%;
    margin-block-start: var(--turri-quick-space-1);
}

.turri-quick-order__variation-summary {
    min-height: 24px;
    color: var(--turri-color-text-secondary);
    font-size: 1.2rem;
    line-height: 1.35;
}

.turri-quick-order__presentation-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    justify-content: center;
    max-width: 100%;
    min-height: 24px;
    margin: 0;
    padding: 0.35rem 0.7rem;
    background: var(--turri-color-surface-default);
    border: 1px solid var(--turri-color-border-default);
    border-radius: 999px;
    color: var(--turri-color-text-secondary);
    font: inherit;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
}

.turri-quick-order__variation-summary-group,
.turri-quick-order__variation-line-attributes {
    display: inline-flex;
    flex-wrap: wrap;
    gap: var(--turri-quick-space-1);
    align-items: center;
    min-width: 0;
}

.turri-quick-order__variation-trigger {
    justify-self: center;
    width: min(100%, var(--turri-quick-order-variation-trigger-inline-size));
    max-width: 100%;
    height: var(--turri-control-min-block-size);
    min-height: var(--turri-control-min-block-size);
    white-space: nowrap;
}

.turri-quick-order__quantity-control {
    display: grid;
    gap: var(--turri-quick-space-2);
    align-items: center;
    justify-items: center;
    width: 100%;
}

.turri-quick-order__external-cart-lines {
    display: grid;
    gap: var(--turri-quick-space-1);
    justify-items: center;
    margin-block-start: var(--turri-quick-space-2);
    color: var(--turri-color-text-secondary);
    font-size: var(--turri-text-s);
    line-height: 1.35;
    text-align: center;
}

.turri-quick-order__external-cart-lines a {
    display: inline-flex;
    align-items: center;
    min-height: var(--turri-control-min-block-size);
    color: var(--turri-color-action-secondary-foreground);
    font-weight: 650;
}

.turri-quick-order__selected-variations {
    display: grid;
    gap: var(--turri-quick-space-1);
    width: 100%;
}

.turri-quick-order__selected-variation {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: var(--turri-quick-space-1);
    align-items: center;
    min-width: 0;
    color: var(--turri-color-text-primary);
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.2;
    text-align: start;
}

.turri-quick-order__selected-variation-quantity {
    display: inline-flex;
    gap: 0.2rem;
    align-items: baseline;
    justify-content: end;
    min-width: 2.6rem;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.turri-quick-order__selected-variation-values {
    display: inline-flex;
    flex-wrap: wrap;
    gap: var(--turri-quick-space-1);
    align-items: center;
    min-width: 0;
}

.turri-quick-order__quantity-unavailable {
    color: var(--turri-color-text-secondary);
    font-size: 1.3rem;
    font-weight: 650;
}

html.turri-quick-order-variation-open,
body.turri-quick-order-variation-open {
    overflow: hidden;
}

.turri-quick-order__variation-dialog {
    width: min(calc(100% - 32px), 608px);
    max-width: 608px;
    max-height: min(720px, calc(100dvh - 32px));
    margin: auto;
    padding: 0;
    overflow: hidden;
    background: var(--turri-color-surface-default);
    border: 1px solid var(--turri-color-border-default);
    border-radius: calc(var(--turri-radius) * 2);
    color: var(--turri-color-text-primary);
    box-shadow: 0 24px 64px color-mix(in srgb, var(--turri-color-text-primary) 24%, transparent);
}

.turri-quick-order__variation-dialog::backdrop {
    background: color-mix(in srgb, var(--turri-color-text-primary) 62%, transparent);
}

.turri-quick-order__variation-dialog-surface {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    max-height: min(718px, calc(100dvh - 34px));
}

.turri-quick-order__variation-dialog-header {
    display: flex;
    gap: var(--turri-quick-space-3);
    align-items: start;
    justify-content: space-between;
    padding: var(--turri-quick-space-4) 20px;
    border-block-end: 1px solid var(--turri-color-border-default);
}

.turri-quick-order__variation-dialog-eyebrow {
    color: var(--turri-color-text-secondary);
    font-size: 1.2rem;
    font-weight: 750;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.turri-quick-order__variation-dialog-header h3 {
    margin: var(--turri-quick-space-1) 0 0;
    color: var(--turri-color-text-primary);
    font-size: 2rem;
    line-height: 1.25;
}

.turri-quick-order__variation-dialog-close {
    display: grid;
    flex: 0 0 44px;
    place-items: center;
    width: 44px;
    height: 44px;
    margin: calc(var(--turri-quick-space-2) * -1);
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 999px;
    color: var(--turri-color-action-secondary-foreground);
    font-size: 2.6rem;
    line-height: 1;
}

.turri-quick-order__variation-dialog-close:is(:hover, :focus-visible) {
    background: var(--turri-color-surface-selected);
}

.turri-quick-order__variation-dialog-body {
    min-height: 0;
    padding: var(--turri-quick-space-4) 20px;
    overflow-y: auto;
}

.turri-quick-order__variation-dialog-intro {
    margin: 0 0 var(--turri-quick-space-3);
    color: var(--turri-color-text-secondary);
}

.turri-quick-order__variation-lines {
    display: grid;
    border-block-start: 1px solid var(--turri-color-border-default);
}

.turri-quick-order__variation-line {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(132px, 152px);
    gap: var(--turri-quick-space-4);
    align-items: center;
    min-width: 0;
    padding-block: var(--turri-quick-space-3);
    border-block-end: 1px solid var(--turri-color-border-default);
}

.turri-quick-order__variation-line-copy {
    display: grid;
    gap: var(--turri-quick-space-1);
    min-width: 0;
}

.turri-quick-order__variation-line-attributes {
    width: fit-content;
    max-width: 100%;
}

.turri-quick-order__variation-line-price,
.turri-quick-order__variation-line-price .price {
    margin: 0;
    color: var(--turri-color-text-secondary);
    font-size: var(--turri-quick-order-primary-value-font-size);
    font-variant-numeric: tabular-nums;
    line-height: 1.25;
    white-space: nowrap;
}

.turri-quick-order__variation-line-status {
    color: var(--turri-color-text-secondary);
    font-size: var(--turri-text-s);
    line-height: 1.35;
}

.turri-quick-order__variation-line input {
    width: 100%;
    min-width: 44px;
    min-height: 44px;
    margin: 0;
    padding: 0;
    background: var(--turri-color-surface-default);
    border: 0;
    border-inline: 1px solid var(--turri-color-border-default);
    border-radius: 0;
    color: var(--turri-color-text-primary);
    font: inherit;
    text-align: center;
    appearance: textfield;
}

.turri-quick-order__variation-line input::-webkit-inner-spin-button,
.turri-quick-order__variation-line input::-webkit-outer-spin-button {
    margin: 0;
    appearance: none;
}

.turri-quick-order__variation-dialog-footer {
    display: grid;
    grid-template-columns: minmax(92px, 1fr) minmax(112px, 1fr) auto;
    gap: var(--turri-quick-space-3);
    align-items: center;
    padding: var(--turri-quick-space-4) 20px;
    background: var(--turri-color-surface-subtle);
    border-block-start: 1px solid var(--turri-color-border-default);
}

.turri-quick-order__variation-dialog-footer > span {
    display: grid;
    gap: var(--turri-quick-space-1);
}

.turri-quick-order__variation-dialog-footer strong {
    font-variant-numeric: tabular-nums;
}

.turri-quick-order__stepper {
    display: inline-grid;
    box-sizing: border-box;
    grid-template-columns: var(--turri-control-min-inline-size) minmax(var(--turri-control-min-inline-size), 1fr) var(--turri-control-min-inline-size);
    width: 100%;
    max-width: 152px;
    min-height: var(--turri-control-min-block-size);
    overflow: hidden;
    border: 0;
    border-radius: var(--turri-control-radius);
    box-shadow: inset 0 0 0 var(--turri-control-border-width) var(--turri-color-border-default);
    transition:
        border-color var(--turri-control-motion-duration) ease,
        box-shadow var(--turri-control-motion-duration) ease;
}

.turri-quick-order__stepper-button,
.turri-quick-order__quantity input {
    min-width: var(--turri-control-min-inline-size);
    min-height: var(--turri-control-min-block-size);
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    color: var(--turri-color-text-primary);
    font: inherit;
    text-align: center;
}

.turri-quick-order__stepper-button {
    display: grid;
    place-items: center;
    background: var(--turri-color-surface-selected);
    color: var(--turri-color-action-secondary-foreground);
    font-size: 18px;
    font-weight: 800;
    transition:
        background-color var(--turri-control-motion-duration) ease,
        color var(--turri-control-motion-duration) ease;
}

.turri-quick-order__stepper-button:not(:disabled):is(:hover, :focus-visible) {
    background: color-mix(in srgb, var(--turri-color-action-secondary-foreground) 14%, var(--turri-color-surface-default));
    color: var(--turri-color-action-primary-hover);
}

.turri-quick-order__quantity input {
    width: 100%;
    background: var(--turri-color-surface-default);
    border-inline: 1px solid var(--turri-color-border-default);
    font-size: var(--turri-control-label-font-size);
    font-weight: var(--turri-control-label-font-weight);
    line-height: 1.2;
    appearance: textfield;
}

.turri-quick-order__stepper:has(:focus-visible) {
    outline: 3px solid var(--turri-color-focus-ring);
    outline-offset: 3px;
}

.turri-quick-order__stepper :is(button, input):focus-visible {
    outline: 0;
    box-shadow: inset 0 0 0 2px var(--turri-color-focus-ring);
}

.turri-quick-order__quantity input::-webkit-inner-spin-button,
.turri-quick-order__quantity input::-webkit-outer-spin-button {
    margin: 0;
    appearance: none;
}

.turri-quick-order__price,
.turri-quick-order__quantity,
.turri-quick-order__subtotal {
    font-weight: 750;
    font-variant-numeric: tabular-nums;
}

.turri-quick-order__price-value,
.turri-quick-order__price .price {
    margin: 0;
}

.turri-quick-order__price-value,
.turri-quick-order__subtotal {
    font-size: var(--turri-quick-order-primary-value-font-size);
    line-height: 1.25;
    white-space: nowrap;
}

.turri-quick-order :is(.turri-quick-order__price-value, .turri-quick-order__variation-line-price) .turri-price {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: baseline;
    width: max-content;
    min-width: 0;
    font-size: inherit;
    white-space: nowrap;
}

.turri-quick-order :is(.turri-quick-order__price-value, .turri-quick-order__variation-line-price) :is(.turri-price--profile, .turri-price--single:has(> del)) {
    display: inline-grid;
    gap: 2px;
    justify-items: end;
}

.turri-quick-order :is(.turri-quick-order__price-value, .turri-quick-order__variation-line-price) :is(.turri-price__row, ins, del, .amount) {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: baseline;
    font-size: inherit;
    line-height: inherit;
    white-space: nowrap;
}

.turri-quick-order :is(.turri-quick-order__price-value, .turri-quick-order__variation-line-price) .turri-price__row--active {
    grid-row: 1;
}

.turri-quick-order :is(.turri-quick-order__price-value, .turri-quick-order__variation-line-price) .turri-price__row--public {
    grid-row: 2;
    color: var(--turri-color-text-secondary);
    font-size: var(--turri-quick-order-reference-price-font-size);
    font-weight: 600;
}

.turri-quick-order :is(.turri-quick-order__price-value, .turri-quick-order__variation-line-price) .turri-price--single:has(> del) > ins {
    grid-row: 1;
    text-decoration: none;
}

.turri-quick-order :is(.turri-quick-order__price-value, .turri-quick-order__variation-line-price) .turri-price--single:has(> del) > del {
    grid-row: 2;
    color: var(--turri-color-text-secondary);
    font-size: var(--turri-quick-order-reference-price-font-size);
    font-weight: 600;
}

.turri-quick-order :is(.turri-quick-order__price-value, .turri-quick-order__variation-line-price) .turri-price--single:has(> del) > [aria-hidden="true"]:not(del):not(ins) {
    display: none;
}

.turri-quick-order__summary-total,
.turri-quick-order__variation-dialog-footer [data-quick-order-picker-total] {
    white-space: nowrap;
}

.turri-quick-order__table .turri-quick-order__quantity,
.turri-quick-order__table thead th:nth-child(3) {
    text-align: center;
}

.turri-quick-order__table .turri-quick-order__price,
.turri-quick-order__table .turri-quick-order__subtotal,
.turri-quick-order__table thead th:nth-child(2),
.turri-quick-order__table thead th:nth-child(4) {
    text-align: end;
}

.turri-quick-order__product-row:is(:hover, :focus-within) > * {
    background: var(--turri-color-surface-subtle);
}

.turri-quick-order__product-row[data-changed="true"] > * {
    border-block-end-color: var(--turri-color-action-secondary-border);
}

.turri-quick-order__summary {
    position: sticky;
    z-index: 6;
    bottom: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(128px, auto) minmax(160px, auto);
    gap: var(--turri-quick-space-3);
    align-items: center;
    padding: var(--turri-quick-space-4);
    background: var(--turri-color-surface-subtle);
    border: 1px solid var(--turri-color-border-default);
    border-block-start: 0;
    border-radius: 0 0 var(--turri-radius) var(--turri-radius);
    box-shadow: 0 -8px 24px color-mix(in srgb, var(--turri-color-text-primary) 12%, transparent);
}

.turri-quick-order__summary-label {
    color: var(--turri-color-text-secondary);
    font-size: 0.82em;
    font-weight: 650;
}

.turri-quick-order__summary-count,
.turri-quick-order__summary-amount {
    display: grid;
    gap: var(--turri-quick-space-1);
}

.turri-quick-order__summary-value,
.turri-quick-order__summary-total {
    color: var(--turri-color-text-primary);
    font-size: 1.2em;
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
}

.turri-quick-order :disabled {
    cursor: not-allowed;
}

.turri-quick-order select:disabled,
.turri-quick-order input:disabled {
    background: var(--turri-color-action-primary-disabled-background);
    color: var(--turri-color-action-primary-disabled-foreground);
    opacity: 1;
}

.turri-quick-order__stepper-button:disabled {
    background: var(--turri-color-action-primary-disabled-background);
    color: var(--turri-color-action-primary-disabled-foreground);
    opacity: 1;
}

.turri-quick-order__form[aria-busy="true"] {
    cursor: progress;
}

@media (max-width: 1099px) {
    .turri-storefront__hero {
        grid-template-columns: minmax(0, 1.2fr) minmax(17rem, 0.8fr);
    }

    .turri-storefront .turri-storefront__catalog {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .turri-producer-directory__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .turri-storefront__hero {
        grid-template-columns: minmax(0, 1fr);
    }

    .turri-storefront .turri-storefront__catalog {
        grid-template-columns: minmax(0, 1fr);
        gap: 1rem;
    }

    .turri-storefront__toolbar-main {
        align-items: center;
    }

    .turri-storefront__filter-summary {
        flex: 1 1 auto;
    }

    .turri-storefront__toolbar-copy {
        min-width: 0;
    }

    .turri-storefront__view-status {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .turri-storefront__content-switch {
        flex-basis: auto;
        align-self: center;
        width: max-content;
    }

    .turri-storefront__product-controls {
        align-items: center;
        flex-direction: row;
    }

    .turri-storefront__view-switch {
        flex-basis: auto;
        width: max-content;
    }

}

@media (max-width: 639px) {
    .turri-storefront {
        padding-block: 1.5rem 2.5rem;
    }

    .turri-storefront__hero {
        padding: 1.25rem;
    }

    .turri-storefront__title {
        font-size: clamp(2.15rem, 12vw, 3.4rem);
    }

    .turri-storefront__business-actions,
    .turri-storefront__business-actions .turri-storefront__button {
        width: 100%;
    }

    .turri-storefront__toolbar-main,
    .turri-storefront__filter-controls .turri-storefront__filter-summary:not(:empty) {
        padding: 0.75rem;
    }

    .turri-storefront__filter-row {
        align-items: center;
    }

    .turri-storefront__filter-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        flex: 1 1 auto;
    }

    .turri-storefront__control--icon {
        width: 44px;
    }

    .turri-storefront__result-count {
        font-size: 0.82em;
    }

    .turri-storefront__active-filters {
        align-items: stretch;
        flex-direction: column;
        gap: 0.25rem;
    }

    .turri-storefront__clear-filters {
        align-self: flex-start;
    }

    .turri-storefront__view-surface {
        padding: 0.75rem;
    }

    .turri-storefront .turri-storefront__catalog {
        grid-template-columns: minmax(0, 1fr);
        gap: 1rem;
    }

    .turri-producer-directory__heading {
        align-items: stretch;
        flex-direction: column;
    }

    .turri-producer-directory__count {
        grid-auto-flow: column;
        justify-content: start;
        width: fit-content;
        min-width: 0;
        gap: 0.4rem;
    }

    .turri-producer-directory__count strong {
        font-size: 1.2rem;
    }

    .turri-producer-directory__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 1rem;
    }

    .turri-producer-card__footer {
        grid-template-columns: minmax(0, 1fr);
    }

    .turri-quick-order__variation-dialog {
        width: 100%;
        max-width: none;
        max-height: calc(100dvh - 8px);
        margin: auto 0 0;
        border-width: 1px 0 0;
        border-radius: 1rem 1rem 0 0;
    }

    .turri-quick-order__variation-dialog-surface {
        max-height: calc(100dvh - 8px);
    }

    .turri-quick-order__variation-dialog-header,
    .turri-quick-order__variation-dialog-body,
    .turri-quick-order__variation-dialog-footer {
        padding-inline: var(--turri-quick-space-4);
    }

    .turri-quick-order__variation-line {
        gap: var(--turri-quick-space-3);
    }

    .turri-quick-order__variation-dialog-footer {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding-block-end: calc(var(--turri-quick-space-4) + env(safe-area-inset-bottom));
    }

    .turri-quick-order__variation-dialog-footer .turri-storefront__button {
        grid-column: 1 / -1;
        width: 100%;
    }

}

@container (max-width: 899px) {
    .turri-quick-order {
        gap: var(--turri-quick-space-3);
    }

    .turri-quick-order__heading h2 {
        font-size: 2.2rem;
    }

    .turri-quick-order__table-wrap {
        overflow: visible;
        background: transparent;
        border: 0;
        border-radius: 0;
    }

    .turri-quick-order__table {
        display: block;
        min-width: 0;
    }

    .turri-quick-order__table colgroup {
        display: none;
    }

    .turri-quick-order__table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .turri-quick-order__table tbody,
    .turri-quick-order__product-row {
        display: grid;
    }

    .turri-quick-order__table tbody {
        gap: var(--turri-quick-space-2);
    }

    .turri-quick-order__product-row {
        grid-template-areas:
            "product product"
            "price price"
            "quantity subtotal";
        grid-template-columns: minmax(152px, 1fr) minmax(88px, auto);
        overflow: hidden;
        background: var(--turri-color-surface-default);
        border: 1px solid var(--turri-color-border-default);
        border-radius: var(--turri-radius);
        box-shadow: none;
    }

    .turri-quick-order__table th,
    .turri-quick-order__table td {
        display: grid;
        gap: var(--turri-quick-space-1);
        width: auto;
        padding: var(--turri-quick-space-2) var(--turri-quick-space-3);
        border: 0;
        text-align: start;
    }

    .turri-quick-order__table td::before {
        color: var(--turri-color-text-secondary);
        content: attr(data-label);
        font-size: 1.2rem;
        font-weight: 650;
        letter-spacing: 0;
        line-height: 1.25;
        text-transform: none;
    }

    .turri-quick-order__table th.turri-quick-order__product {
        grid-area: product;
        width: 100%;
        min-width: 0;
        padding-block: var(--turri-quick-space-3);
        background: var(--turri-color-surface-default);
    }

    .turri-quick-order__product-identity {
        grid-template-columns: 56px minmax(0, 1fr);
    }

    .turri-quick-order__variation-editor {
        width: 100%;
    }

    .turri-quick-order__quantity-control {
        justify-items: start;
    }

    .turri-quick-order__external-cart-lines {
        justify-items: start;
        text-align: start;
    }

    .turri-quick-order__variation-trigger {
        justify-self: start;
    }

    .turri-quick-order__variation-fallback label,
    .turri-quick-order__variation-fallback select {
        width: 100%;
    }

    .turri-quick-order__variation-fallback select,
    .turri-quick-order__quantity input {
        font-size: 16px;
    }

    .turri-quick-order__table .turri-quick-order__price {
        display: flex;
        grid-area: price;
        flex-wrap: wrap;
        gap: var(--turri-quick-space-2);
        align-items: baseline;
        padding-block: 0 var(--turri-quick-space-2);
        font-size: 1.6rem;
        text-align: start;
    }

    .turri-quick-order__price::before {
        flex: 0 0 auto;
    }

    .turri-quick-order__price-value {
        min-width: 0;
    }

    .turri-quick-order__quantity,
    .turri-quick-order__subtotal {
        background: var(--turri-color-surface-subtle);
        border-block-start: 1px solid var(--turri-color-border-default);
    }

    .turri-quick-order__quantity {
        grid-area: quantity;
    }

    .turri-quick-order__table .turri-quick-order__quantity {
        text-align: start;
    }

    .turri-quick-order :is(.turri-quick-order__price-value, .turri-quick-order__variation-line-price) .turri-price {
        justify-items: start;
    }

    .turri-quick-order__table .turri-quick-order__subtotal {
        grid-area: subtotal;
        justify-items: end;
        text-align: end;
    }

    .turri-quick-order__stepper {
        max-width: 152px;
    }

    .turri-quick-order__summary {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: var(--turri-quick-space-2);
        margin-block-start: var(--turri-quick-space-2);
        padding: var(--turri-quick-space-2) var(--turri-quick-space-3);
        padding-block-end: max(var(--turri-quick-space-2), env(safe-area-inset-bottom));
        border: 1px solid var(--turri-color-border-default);
        border-radius: var(--turri-radius);
    }

    .turri-quick-order__summary-count {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .turri-quick-order__summary .turri-storefront__button {
        grid-column: auto;
        width: auto;
    }
}

@media (max-width: 359px) {
    html:has(body[class*="turri-storefront-view--"]),
    body[class*="turri-storefront-view--"] {
        max-width: 100%;
        overflow-x: clip;
    }

    .turri-quick-order__summary {
        margin-block-start: var(--turri-quick-space-1);
        padding: 0 var(--turri-quick-space-2);
        padding-block-end: env(safe-area-inset-bottom, 0px);
        border-block-end: 0;
    }

    .turri-quick-order__product-row {
        grid-template-areas:
            "product"
            "price"
            "quantity"
            "subtotal";
        grid-template-columns: minmax(0, 1fr);
    }

    .turri-quick-order__presentation-pill {
        white-space: normal;
    }

    .turri-quick-order__form[data-quick-order-enhanced="true"]
        .turri-quick-order__product-row[data-has-quantity="true"]
        .turri-quick-order__quantity-control--variable {
        grid-template-columns: minmax(0, 1fr);
    }

    .turri-quick-order__table .turri-quick-order__subtotal {
        justify-items: start;
        text-align: start;
    }

    .turri-quick-order__variation-dialog-header,
    .turri-quick-order__variation-dialog-body,
    .turri-quick-order__variation-dialog-footer {
        padding-inline: var(--turri-quick-space-3);
    }

    .turri-quick-order__variation-line {
        grid-template-columns: minmax(0, 1fr) 132px;
        gap: var(--turri-quick-space-2);
    }
}

@media (prefers-reduced-motion: reduce) {
    .turri-storefront *,
    .turri-storefront *::before,
    .turri-storefront *::after {
        animation-duration: 0.01ms;
        scroll-behavior: auto;
        transition-duration: 0.01ms;
    }
}
