/* Shared ProductCard presentation for explicitly supported component roots. */

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card {
    display: grid;
    grid-row: auto;
    grid-column: auto;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto 1fr auto;
    gap: 0;
    min-width: 0;
    overflow: hidden;
    padding: 0;
    background: var(--turri-storefront-surface);
    border: 1px solid var(--turri-storefront-line);
    border-radius: 0.8rem;
    box-shadow: 0 0.35rem 1rem color-mix(in srgb, var(--turri-overlay-ink) 8%, transparent);
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card:hover {
    border-color: color-mix(in srgb, var(--turri-storefront-primary) 45%, var(--turri-storefront-line));
    box-shadow: 0 0.7rem 1.65rem color-mix(in srgb, var(--turri-overlay-ink) 12%, transparent);
    transform: translateY(-2px);
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__media {
    position: relative;
    display: grid;
    grid-row: auto;
    grid-column: auto;
    place-items: center;
    aspect-ratio: 1;
    min-width: 0;
    overflow: hidden;
    background: var(--turri-storefront-soft);
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__discount-badge {
    position: absolute;
    z-index: 3;
    top: 0.65rem;
    left: 0.65rem;
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.35rem 0.6rem;
    background: var(--turri-storefront-discount-background);
    border: 1px solid color-mix(in srgb, var(--turri-storefront-discount-border) 24%, transparent);
    border-radius: 999px;
    box-shadow: 0 0.25rem 0.8rem color-mix(in srgb, var(--turri-overlay-ink) 16%, transparent);
    color: var(--turri-storefront-discount-foreground);
    font-size: 0.75rem;
    font-weight: 800;
    line-height: 1;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__discount-badge[hidden] {
    display: none;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-favorite-form {
    position: absolute;
    z-index: 3;
    top: 0.65rem;
    right: 0.65rem;
    margin: 0;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-favorite-button {
    position: absolute;
    z-index: 3;
    top: 0.65rem;
    right: 0.65rem;
    display: inline-grid;
    place-items: center;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    margin: 0;
    padding: 0;
    background: color-mix(in srgb, var(--turri-storefront-surface) 94%, transparent);
    border: 1px solid color-mix(in srgb, var(--turri-storefront-favorite-border) 30%, var(--turri-storefront-line));
    border-radius: 999px;
    box-shadow: 0 0.25rem 0.8rem color-mix(in srgb, var(--turri-overlay-ink) 14%, transparent);
    color: var(--turri-storefront-favorite-foreground);
    cursor: pointer;
    text-decoration: none;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-favorite-form .turri-favorite-button {
    position: static;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-favorite-button > svg {
    width: 2rem;
    height: 2rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-favorite-button--active {
    background: var(--turri-storefront-favorite-selected-background);
    border-color: color-mix(in srgb, var(--turri-storefront-favorite-border) 55%, var(--turri-storefront-line));
    color: var(--turri-storefront-favorite-foreground);
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-favorite-button--active > svg {
    fill: currentColor;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-favorite-button:is(:hover, :focus-visible):not(:disabled) {
    border-color: var(--turri-storefront-favorite-border);
    transform: translateY(-1px) scale(1.03);
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-favorite-button__tooltip {
    position: absolute;
    right: 0;
    top: calc(100% + 0.45rem);
    width: max-content;
    max-width: 14rem;
    padding: 0.4rem 0.55rem;
    background: var(--turri-storefront-ink);
    border-radius: 0.35rem;
    color: var(--turri-color-text-inverse);
    font-size: 0.72rem;
    font-weight: 650;
    line-height: 1.2;
    opacity: 0;
    pointer-events: none;
    transform: translateY(0.2rem);
    transition: opacity 140ms ease, transform 140ms ease;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-favorite-button:is(:hover, :focus-visible) .turri-favorite-button__tooltip {
    opacity: 1;
    transform: translateY(0);
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__media > a:not(.turri-favorite-button) {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__image {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    aspect-ratio: 1;
    padding: 0;
    object-fit: cover;
    border-radius: 0;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__body {
    display: flex;
    flex-direction: column;
    grid-row: auto;
    grid-column: auto;
    gap: 0.6rem;
    align-items: flex-start;
    padding: 1.6rem 1.6rem 1.4rem;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__title {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    color: var(--turri-storefront-primary-dark);
    font-size: 2rem;
    font-weight: 750;
    line-height: 1.2;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__title a {
    color: inherit;
    text-decoration: none;
}

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

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__metadata {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem;
    align-items: baseline;
    margin: 0;
    color: var(--turri-storefront-muted);
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.35;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__producer {
    color: inherit;
    font-size: inherit;
    font-weight: 600;
    text-decoration-color: color-mix(in srgb, currentColor 40%, transparent);
    text-underline-offset: 0.16em;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__producer-prefix {
    color: inherit;
    font: inherit;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__fixed-value-groups,
:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__variation-option-groups {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    width: 100%;
    margin: -0.2rem 0 0;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__fixed-value-groups + .turri-product-card__variation-option-groups {
    margin-top: 0;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__variation-option-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: center;
    width: 100%;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__fixed-values,
:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__variation-tags {
    display: flex;
    flex: 1 1 auto;
    flex-wrap: wrap;
    gap: 0.35rem;
    width: auto;
    margin: 0;
    padding: 0;
    list-style: none;
}

.turri-storefront .turri-storefront__filter-chip,
:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__fixed-value,
:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__variation-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    justify-content: center;
    max-width: 100%;
    min-height: 2.4rem;
    margin: 0;
    padding: 0.35rem 0.7rem;
    overflow-wrap: anywhere;
    background: var(--turri-storefront-surface);
    border: 1px solid var(--turri-storefront-line);
    border-radius: 999px;
    color: var(--turri-storefront-muted);
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__variation-tag {
    cursor: pointer;
}

.turri-storefront .turri-storefront__filter-chip:is(:hover, :focus-visible),
:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__variation-tag:is(:hover, :focus-visible) {
    background: var(--turri-storefront-primary-light);
    border-color: var(--turri-storefront-primary);
    color: var(--turri-storefront-primary-dark);
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__variation-tag[aria-pressed="true"] {
    background: var(--turri-storefront-primary-light);
    border-color: var(--turri-storefront-primary-dark);
    box-shadow: inset 0 0 0 1px var(--turri-storefront-primary-dark);
    color: var(--turri-storefront-primary-dark);
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__variation-tag[aria-pressed="true"]::after {
    content: "✓";
    font-weight: 800;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__purchase {
    display: flex;
    flex-direction: column;
    grid-row: auto;
    grid-column: auto;
    gap: 1rem;
    align-self: stretch;
    justify-content: flex-start;
    width: 100%;
    padding: 1.4rem 1.6rem 1.6rem;
    border-block-start: 1px solid color-mix(in srgb, var(--turri-storefront-line) 72%, transparent);
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__price.price {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: baseline;
    min-height: 2.3rem;
    margin: 0;
    padding: 0;
    color: var(--turri-storefront-ink);
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.15;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card .turri-price--card {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.8rem;
    align-items: baseline;
    width: 100%;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card .turri-price--card.turri-price--profile {
    gap: 0.4rem 0.8rem;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card .turri-price--card .turri-price__row {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: baseline;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card .turri-price--card .turri-price__row--public {
    color: var(--turri-storefront-muted);
    font-size: 1.4rem;
    font-weight: 550;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card .turri-price--card .turri-price__row--active {
    font-size: 2rem;
    font-weight: 750;
}

/* Amount typography belongs to the card, independent of price payload wrappers. */
:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card .turri-product-card__price ins {
    color: var(--turri-color-text-primary);
    font-size: inherit;
    font-weight: 850;
    line-height: inherit;
    text-decoration: none;
}
:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card .turri-product-card__price del {
    color: var(--turri-storefront-muted);
    font-size: 1.4rem;
    font-weight: 650;
    line-height: 1.2;
    text-decoration-thickness: 0.08em;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__action,
:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__action form,
:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__action .add-to-cart-button__form-wrapper--variable {
    display: grid;
    gap: 0.55rem;
    width: 100%;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__action :is(a, button, input[type="submit"]) {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    margin: 0;
    border-radius: var(--turri-radius);
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__action :is(a, button, input[type="submit"]) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.65rem 0.9rem;
    background: var(--turri-storefront-action-secondary-background);
    border: 1px solid var(--turri-storefront-action-secondary-border);
    color: var(--turri-storefront-action-secondary-foreground);
    font-size: 1.4rem;
    font-weight: 650;
    line-height: 1;
    text-align: center;
    text-decoration: none;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__action :is(button, input[type="submit"]):disabled,
:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__action .product-card__add-to-cart--disabled {
    background: var(--turri-storefront-disabled-background);
    color: var(--turri-storefront-disabled-foreground);
    cursor: not-allowed;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__action .added_to_cart.wc-forward {
    display: none;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__selected-variation-form[hidden] {
    display: none;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__action .turri-product-card__quick-add-trigger[hidden] {
    display: none;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__action form:not([hidden]) .turri-product-card__selected-add {
    background-color: var(--turri-storefront-primary);
    border-color: var(--turri-storefront-primary);
    color: var(--turri-storefront-inverse);
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__action form:not([hidden]) .turri-product-card__selected-add:is(:hover, :focus-visible) {
    background-color: var(--turri-storefront-primary-dark);
    border-color: var(--turri-storefront-primary-dark);
    color: var(--turri-storefront-inverse);
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__unavailable {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    padding: 0.65rem 0.9rem;
    background: var(--turri-storefront-soft);
    border: 1px solid var(--turri-storefront-line);
    border-radius: var(--turri-radius);
    color: var(--turri-storefront-muted);
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__action :is(a, button, input[type="submit"]):is(:hover, :focus-visible):not(:disabled) {
    background: var(--turri-storefront-primary-light);
    border-color: var(--turri-storefront-primary-dark);
    color: var(--turri-storefront-primary-dark);
}

html.turri-product-quick-add-open,
body.turri-product-quick-add-open {
    overflow: hidden;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add {
    width: min(calc(100% - 2 * var(--space-s)), var(--turri-width-m));
    max-width: var(--turri-width-m);
    max-height: calc(100dvh - 2 * var(--space-s));
    margin: auto;
    padding: 0;
    overflow: hidden;
    background: var(--turri-storefront-surface);
    border: var(--turri-control-border-width) solid var(--turri-storefront-line);
    border-radius: var(--turri-radius);
    box-shadow: var(--turri-shadow-xl);
    color: var(--turri-storefront-ink);
    font-size: var(--text-m);
    line-height: var(--turri-text-line-height);
    overflow-wrap: anywhere;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add::backdrop {
    background: color-mix(in srgb, var(--turri-overlay-modal-ink) 58%, transparent);
    backdrop-filter: blur(2px);
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-surface,
:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-form {
    display: flex;
    flex-direction: column;
    min-height: 0;
    max-height: inherit;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-header {
    display: flex;
    gap: var(--space-s);
    align-items: flex-start;
    justify-content: space-between;
    flex-shrink: 0;
    padding: var(--space-s);
    background: var(--turri-storefront-primary-light);
    border-block-end: var(--turri-control-border-width) solid color-mix(in srgb, var(--turri-storefront-primary) 18%, transparent);
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-header > div {
    display: grid;
    gap: var(--turri-form-field-internal-gap);
    min-width: 0;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-eyebrow,
:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-header h3 {
    margin: 0;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-eyebrow {
    color: var(--turri-storefront-primary-dark);
    font-size: var(--text-m);
    font-weight: 750;
    letter-spacing: normal;
    line-height: var(--turri-label-line-height);
    text-transform: none;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-header h3 {
    color: var(--turri-storefront-primary-dark);
    font-size: var(--text-m);
    line-height: var(--turri-label-line-height);
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-close {
    display: inline-grid;
    place-items: center;
    flex: 0 0 var(--turri-control-min-inline-size);
    width: var(--turri-control-min-inline-size);
    height: var(--turri-control-min-block-size);
    margin: 0;
    padding: 0;
    background: var(--turri-storefront-surface);
    border: var(--turri-control-border-width) solid color-mix(in srgb, var(--turri-storefront-primary) 35%, var(--turri-storefront-line));
    border-radius: var(--turri-radius-pill);
    color: var(--turri-storefront-primary-dark);
    cursor: pointer;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-close:is(:hover, :focus-visible) {
    background: var(--turri-storefront-soft);
    border-color: var(--turri-storefront-primary-dark);
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-close svg {
    width: var(--turri-control-icon-size);
    height: var(--turri-control-icon-size);
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-width: 1.8;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-body {
    display: grid;
    gap: var(--space-s);
    min-height: 0;
    padding: var(--space-s);
    overflow-y: auto;
    overscroll-behavior: contain;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-price {
    display: flex;
    flex-wrap: wrap;
    gap: var(--turri-control-content-gap) var(--space-xs);
    align-items: baseline;
    min-height: calc(var(--text-m) * var(--turri-label-line-height));
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-price .price {
    margin: 0;
    color: var(--turri-storefront-ink);
    font-size: var(--text-m);
    font-weight: 800;
    line-height: var(--turri-label-line-height);
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-discount {
    padding: var(--turri-form-field-internal-gap) var(--turri-control-padding-inline-compact);
    background: var(--turri-storefront-discount-background);
    border-radius: var(--turri-radius-pill);
    color: var(--turri-storefront-discount-foreground);
    font-size: var(--text-m);
    font-weight: 750;
    line-height: var(--turri-label-line-height);
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-discount[hidden] {
    display: none;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-fixed,
:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-status {
    margin: 0;
    color: var(--turri-storefront-muted);
    font-size: var(--text-m);
    line-height: var(--turri-label-line-height);
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-groups {
    display: grid;
    gap: var(--space-s);
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-group {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-group legend {
    margin-block-end: var(--turri-control-content-gap);
    padding: 0;
    color: var(--turri-storefront-ink);
    font-size: var(--text-m);
    font-weight: 750;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--turri-width-xs)), 1fr));
    gap: var(--turri-control-content-gap);
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-option {
    position: relative;
    display: block;
    min-width: 0;
    cursor: pointer;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-option input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-option span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: var(--turri-control-min-block-size);
    padding: var(--turri-control-padding-block) var(--turri-control-padding-inline-compact);
    background: var(--turri-storefront-surface);
    border: var(--turri-control-border-width) solid var(--turri-storefront-line);
    border-radius: var(--turri-radius);
    color: var(--turri-storefront-ink);
    font-size: var(--text-m);
    font-weight: var(--turri-control-label-font-weight);
    line-height: var(--turri-label-line-height);
    text-align: center;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-option input:checked + span {
    background: var(--turri-storefront-primary-light);
    border-color: var(--turri-storefront-primary);
    box-shadow: inset 0 0 0 var(--turri-control-border-width) var(--turri-storefront-primary);
    color: var(--turri-storefront-primary-dark);
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-option input:focus-visible + span {
    outline: var(--turri-focus-width) solid var(--turri-color-focus-ring);
    outline-offset: var(--turri-focus-offset);
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-status {
    min-height: calc(var(--text-m) * var(--turri-text-line-height));
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
    flex-shrink: 0;
    gap: var(--space-xs);
    padding: var(--space-s) var(--space-s) max(var(--space-s), env(safe-area-inset-bottom));
    background: var(--turri-storefront-surface);
    border-block-start: var(--turri-control-border-width) solid var(--turri-storefront-line);
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-details,
:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: var(--turri-control-min-block-size);
    margin: 0;
    padding: var(--turri-control-padding-block) var(--turri-control-padding-inline);
    border-radius: var(--turri-radius);
    font-size: var(--text-m);
    font-weight: 700;
    line-height: var(--turri-label-line-height);
    text-align: center;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-details {
    background: var(--turri-storefront-surface);
    border: var(--turri-control-border-width) solid var(--turri-storefront-line);
    color: var(--turri-storefront-primary-dark);
    text-decoration: none;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-details:is(:hover, :focus-visible) {
    background: var(--turri-storefront-soft);
    border-color: var(--turri-storefront-primary);
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-submit {
    background: var(--turri-storefront-primary);
    border: var(--turri-control-border-width) solid var(--turri-storefront-primary);
    color: var(--turri-storefront-inverse);
    cursor: pointer;
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-submit:is(:hover, :focus-visible):not(:disabled) {
    background: var(--turri-storefront-primary-dark);
    border-color: var(--turri-storefront-primary-dark);
}

:is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-submit:disabled {
    background: var(--turri-storefront-soft);
    border-color: var(--turri-storefront-line);
    color: var(--turri-storefront-muted);
    cursor: not-allowed;
    opacity: 0.7;
}

@media (max-width: 767px) {
    :is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card {
        grid-template-areas:
            "media body"
            "purchase purchase";
        grid-template-columns: minmax(7.75rem, 36%) minmax(0, 1fr);
        grid-template-rows: auto auto;
    }

    :is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__media {
        grid-area: media;
        width: 100%;
        height: auto;
        min-height: 0;
        aspect-ratio: 1;
        align-self: start;
    }

    :is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__body {
        grid-area: body;
        padding: 1.4rem 1.4rem 1rem;
    }

    :is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__purchase {
        grid-area: purchase;
        padding: 1rem 1.4rem 1.4rem;
    }

    :is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__title {
        font-size: 1.8rem;
        line-height: 1.22;
    }

    :is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__metadata {
        font-size: 1.4rem;
    }

    :is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__price.price,
    :is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card .turri-price--card .turri-price__row--active {
        font-size: 1.8rem;
    }
}

@media (max-width: 639px) {
    :is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card .turri-price--profile {
        display: flex;
        flex-wrap: wrap;
        gap: 0.3rem 0.6rem;
        align-items: baseline;
        width: 100%;
    }

    :is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card .turri-price--profile .turri-price__row {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: baseline;
    }

    :is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card .turri-product-card__price del {
        font-size: 1.3rem;
        line-height: 1.2;
    }

    :is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card .turri-product-card__price ins {
        line-height: 1.2;
    }

    :is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add {
        width: 100%;
        max-width: none;
        max-height: calc(100dvh - var(--space-s));
        margin: auto 0 0;
        border-width: var(--turri-control-border-width) 0 0;
        border-radius: var(--turri-radius) var(--turri-radius) 0 0;
    }

    :is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-header,
    :is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-body {
        padding-inline: var(--space-s);
    }

    :is(.turri-storefront, .turri-product-single--v2, .turri-producer-products) .turri-product-card__quick-add-footer {
        padding-inline: var(--space-s);
    }
}
