/* Commerce Studio X storefront — structural compatibility layer.
 * The active theme owns typography, palette, buttons, fields and card styling.
 */
.qasf-section-shell,
.qasf-section-shell *,
.qasf-page,
.qasf-page * {
    box-sizing: border-box;
}

.qasf-section-shell,
.qasf-section,
.qasf-container,
.qasf-page {
    width: 100%;
    max-width: 100%;
}

.qasf-section {
    margin-block: var(--global-md-spacing, 2rem);
}

.qasf-section-heading {
    margin-block-end: var(--global-md-spacing, 1.5rem);
}

.qasf-section-heading h2,
.qasf-section-heading p,
.qasf-page-header h1,
.qasf-page-header p {
    margin-block-start: 0;
}

.qasf-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr));
    gap: var(--global-md-spacing, 1.5rem);
}

.qasf-actions,
.qasf-section-action,
.qasf-city-prompt,
.qasf-current-city,
.qasf-selected-city {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--global-sm-spacing, 0.75rem);
}

.qasf-section-action {
    justify-content: center;
    margin-block-start: var(--global-md-spacing, 1.5rem);
}

.qasf-button,
.qasf-card-button {
    text-align: center;
}

.qasf-city-prompt,
.qasf-current-city,
.qasf-empty-products,
.qasf-admin-hint {
    padding: var(--global-sm-spacing, 1rem);
    margin-block-end: var(--global-md-spacing, 1.5rem);
    background: color-mix(in srgb, currentColor 5%, transparent);
}

.qasf-empty-products {
    display: grid;
    place-items: center;
    min-height: 10rem;
    text-align: center;
}

.qasf-product-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
}

.qasf-product-card__media {
    position: relative;
    display: block;
    aspect-ratio: 1;
    overflow: hidden;
}

.qasf-product-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.qasf-product-card__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: var(--global-xs-spacing, 0.5rem);
    min-width: 0;
    padding-block: var(--global-sm-spacing, 1rem);
}

.qasf-product-card h3,
.qasf-product-card__excerpt {
    margin-block: 0;
}

.qasf-product-card__price {
    margin-block-start: auto;
}

.qasf-product-card__rating {
    display: flex;
    align-items: center;
    gap: 0.4em;
}

.qasf-card-button {
    width: 100%;
    margin-block-start: auto;
}

.qasf-product-card--fit-cover .qasf-product-card__media img {
    object-fit: cover;
}

.qasf-product-card--compact .qasf-product-card__media {
    aspect-ratio: 4 / 3;
}

.qasf-product-card--compact .qasf-product-card__body {
    gap: 0.35rem;
    padding: 0.75rem;
}

.qasf-product-card--horizontal {
    flex-direction: row;
    align-items: stretch;
}

.qasf-product-card--horizontal .qasf-product-card__media {
    flex: 0 0 42%;
    width: 42%;
    aspect-ratio: auto;
    min-height: 12rem;
}

.qasf-product-card--horizontal .qasf-product-card__body {
    flex: 1 1 auto;
    padding: var(--global-sm-spacing, 1rem);
}

.qasf-product-card--image_focus .qasf-product-card__media {
    aspect-ratio: 4 / 3;
}

.qasf-sale-badge {
    position: absolute;
    z-index: 2;
    inset-block-start: 0.75rem;
    inset-inline-start: 0.75rem;
    padding: 0.3em 0.55em;
    color: var(--global-palette9, var(--wp--preset--color--base, Canvas));
    background: var(--global-palette1, var(--wp--preset--color--primary, LinkText));
}

.qasf-term-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0;
    padding: var(--global-sm-spacing, 1rem);
    text-align: center;
    text-decoration: none;
}

.qasf-term-card__media {
    display: grid;
    place-items: center;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.qasf-term-card__media img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}

.qasf-term-card__content {
    display: grid;
    gap: 0.35em;
    min-width: 0;
}

.qasf-term-card__description {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.qasf-term-fallback {
    display: grid;
    place-items: center;
    aspect-ratio: 1;
    min-width: 3em;
    background: color-mix(in srgb, currentColor 8%, transparent);
}

.qasf-feature-card {
    display: flex;
    align-items: flex-start;
    gap: var(--global-sm-spacing, 1rem);
    min-width: 0;
}

.qasf-feature-icon {
    flex: 0 0 auto;
}

.qasf-feature-card h3,
.qasf-feature-card p {
    margin-block-start: 0;
}

.qasf-cta__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--global-md-spacing, 1.5rem);
    padding: var(--global-lg-spacing, 2rem);
    background: color-mix(in srgb, currentColor 5%, transparent);
}

.qasf-cta h2,
.qasf-cta p {
    margin-block-start: 0;
}

.qasf-html-section img {
    max-width: 100%;
    height: auto;
}

/* Reusable Storefront collections: geometry only, palette remains inherited. */
.qasf-empty-state {
    display: grid;
    place-items: center;
    min-height: 8rem;
    padding: var(--global-md-spacing, 1.5rem);
    border: 1px dashed color-mix(in srgb, currentColor 25%, transparent);
    text-align: center;
    background: color-mix(in srgb, currentColor 4%, transparent);
}

.qasf-collection,
.qasf-collection-shell,
.qasf-collection-viewport,
.qasf-collection-track {
    width: 100%;
    max-width: 100%;
}

.qasf-collection--grid {
    display: grid;
    grid-template-columns: repeat(var(--qasf-columns-desktop, 4), minmax(0, 1fr));
    gap: var(--qasf-collection-gap, 1rem);
}

.qasf-collection-shell {
    --qasf-collection-gap: 1rem;
    --qasf-slide-basis: calc(33.333333% - 0.666667rem);
    position: relative;
}

.qasf-cols-d-1 { --qasf-slide-basis: 100%; }
.qasf-cols-d-2 { --qasf-slide-basis: calc(50% - 0.5rem); }
.qasf-cols-d-3 { --qasf-slide-basis: calc(33.333333% - 0.666667rem); }
.qasf-cols-d-4 { --qasf-slide-basis: calc(25% - 0.75rem); }
.qasf-cols-d-5 { --qasf-slide-basis: calc(20% - 0.8rem); }
.qasf-cols-d-6 { --qasf-slide-basis: calc(16.666667% - 0.833333rem); }
.qasf-cols-d-7 { --qasf-slide-basis: calc(14.285714% - 0.857143rem); }
.qasf-cols-d-8 { --qasf-slide-basis: calc(12.5% - 0.875rem); }

.qasf-collection-viewport {
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.qasf-collection-viewport::-webkit-scrollbar {
    display: none;
}

.qasf-collection-viewport:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}

.qasf-collection-track {
    display: flex;
    align-items: stretch;
    gap: var(--qasf-collection-gap);
    min-width: 100%;
}

.qasf-collection-shell--slider .qasf-collection-viewport {
    scroll-snap-type: x mandatory;
}

.qasf-collection-shell--slider .qasf-collection-track > * {
    flex: 0 0 var(--qasf-slide-basis);
    scroll-snap-align: start;
}

.qasf-collection-shell--ticker .qasf-collection-track {
    width: max-content;
}

.qasf-collection-shell--ticker .qasf-collection-track > * {
    flex: 0 0 var(--qasf-card-width, 20rem);
    width: var(--qasf-card-width, 20rem);
}

.qasf-collection-controls {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-block-end: 0.75rem;
}

.qasf-collection-arrow {
    display: grid;
    place-items: center;
    width: 2.65rem;
    height: 2.65rem;
    padding: 0;
    border: 1px solid color-mix(in srgb, currentColor 25%, transparent);
    border-radius: 999px;
    color: inherit;
    background: var(--global-palette9, Canvas);
    cursor: pointer;
}

.qasf-collection-arrow:hover,
.qasf-collection-arrow:focus-visible {
    color: var(--global-palette9, Canvas);
    background: var(--global-palette1, currentColor);
}

.qasf-collection-status {
    margin-block-start: 0.75rem;
    text-align: center;
    opacity: 0.7;
}

/* Fixed category/brand card templates. */
.qasf-term-card__media {
    height: var(--qasf-term-media-height, 10.625rem);
    aspect-ratio: auto;
}

.qasf-term-card--fit-contain .qasf-term-card__media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.qasf-term-card--fit-cover .qasf-term-card__media img {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: cover;
}

.qasf-term-card--cover {
    position: relative;
    align-items: stretch;
    padding: 0;
    overflow: hidden;
    text-align: start;
}

.qasf-term-card--cover .qasf-term-card__content {
    width: 100%;
    padding: var(--global-sm-spacing, 1rem);
}

.qasf-term-card--horizontal {
    flex-direction: row;
    align-items: center;
    gap: var(--global-sm-spacing, 1rem);
    text-align: start;
}

.qasf-term-card--horizontal .qasf-term-card__media {
    flex: 0 0 min(38%, 8rem);
    width: min(38%, 8rem);
    height: 7rem;
}

.qasf-term-card--horizontal .qasf-term-card__content {
    flex: 1 1 auto;
}

.qasf-term-card--compact {
    flex-direction: row;
    align-items: center;
    gap: 0.75rem;
    min-height: 5rem;
    padding: 0.75rem;
    text-align: start;
}

.qasf-term-card--compact .qasf-term-card__media {
    flex: 0 0 3.75rem;
    width: 3.75rem;
    height: 3.75rem;
}

/* Storefront-owned review cards, themed through inherited tokens. */
.qasf-review-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-width: 0;
    min-height: var(--qasf-card-min-height, 13.75rem);
    padding: var(--global-md-spacing, 1.25rem);
    border: 1px solid color-mix(in srgb, currentColor 16%, transparent);
    border-radius: var(--theme-border-radius, 1rem);
    color: inherit;
    background: var(--global-palette9, Canvas);
    box-shadow: 0 0.5rem 1.75rem color-mix(in srgb, currentColor 8%, transparent);
    overflow: hidden;
}

.qasf-review-card__head {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.qasf-review-card__avatar-wrap,
.qasf-review-card__avatar,
.qasf-review-card__initial {
    flex: 0 0 3.25rem;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 50%;
}

.qasf-review-card__avatar-wrap {
    display: grid;
    place-items: center;
    overflow: hidden;
}

.qasf-review-card__avatar {
    display: block;
    object-fit: cover;
}

.qasf-review-card__initial {
    display: grid;
    place-items: center;
    color: var(--global-palette9, Canvas);
    background: var(--global-palette1, currentColor);
    font-weight: 800;
}

.qasf-review-card__identity {
    display: grid;
    flex: 1 1 auto;
    min-width: 0;
}

.qasf-review-card__identity strong,
.qasf-review-card__identity small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.qasf-review-card__verified {
    flex: 0 0 auto;
    padding: 0.3em 0.6em;
    border-radius: 999px;
    color: var(--global-palette1, currentColor);
    background: color-mix(in srgb, var(--global-palette1, currentColor) 10%, transparent);
    font-size: 0.75em;
    font-weight: 700;
}

.qasf-review-card__text {
    flex: 1 1 auto;
    margin: 0;
    padding: 0;
    border: 0;
    color: inherit;
    line-height: 1.85;
}

.qasf-review-card__ratings {
    display: grid;
    gap: 0.45rem;
    margin-block-start: auto;
    padding-block-start: 0.75rem;
    border-block-start: 1px solid color-mix(in srgb, currentColor 12%, transparent);
}

.qasf-review-rating {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.qasf-review-rating > span:first-child,
.qasf-review-card time {
    font-size: 0.8em;
    opacity: 0.72;
}

.qasf-review-stars {
    color: var(--qasf-rating-color, #e6a500);
    letter-spacing: 0.08em;
    white-space: nowrap;
}

.qasf-review-card__product {
    overflow: hidden;
    color: inherit;
    font-size: 0.82em;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.qasf-review-card--compact {
    min-height: min(var(--qasf-card-min-height, 13.75rem), 13.75rem);
    gap: 0.65rem;
    padding: 1rem;
}

.qasf-review-card--compact .qasf-review-card__text {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.qasf-review-card--quote::before {
    content: "“";
    position: absolute;
    inset-block-start: -1.5rem;
    inset-inline-end: 0.65rem;
    font-family: Georgia, serif;
    font-size: 7rem;
    line-height: 1;
    opacity: 0.08;
    pointer-events: none;
}

.qasf-review-card--rating_focus .qasf-review-stars {
    font-size: 1.12em;
}

.qasf-review-card--rating_focus .qasf-review-card__ratings {
    padding: 0.85rem;
    border: 0;
    border-radius: 0.75rem;
    background: color-mix(in srgb, currentColor 5%, transparent);
}

/* Hero slider. Only layout and viewport safety live here. */
.qasf-hero-slider,
.qasf-hero-shell,
.qasf-hero-slider__viewport {
    width: 100%;
    max-width: 100%;
}

.qasf-hero-slider__viewport {
    position: relative;
    overflow: hidden;
}

.qasf-hero-slider__track {
    position: relative;
    min-height: clamp(22rem, 48vw, 38rem);
}

.qasf-hero-slide {
    position: absolute;
    inset: 0;
    visibility: hidden;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s ease, visibility 0.35s ease;
}

.qasf-hero-slide.is-active {
    z-index: 2;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.qasf-hero-slide__inner {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(14rem, 0.9fr);
    align-items: center;
    gap: var(--global-lg-spacing, 2rem);
    min-height: clamp(22rem, 48vw, 38rem);
    padding: var(--global-lg-spacing, 2rem);
}

.qasf-hero-slide__content {
    min-width: 0;
    padding: var(--global-sm-spacing, 1rem);
}

.qasf-hero-slide--background .qasf-hero-slide__inner,
.qasf-hero-slide--minimal .qasf-hero-slide__inner,
.qasf-hero-slide--position-center .qasf-hero-slide__inner {
    grid-template-columns: minmax(0, 1fr);
}

.qasf-hero-slide--background .qasf-hero-slide__content {
    width: min(42rem, 100%);
    color: var(--global-palette3, var(--wp--preset--color--contrast, CanvasText));
    background: color-mix(in srgb, var(--global-palette9, Canvas) 88%, transparent);
}

.qasf-hero-slide--position-left .qasf-hero-slide__content {
    grid-column: 2;
}

.qasf-hero-slide--position-left .qasf-hero-slide__media {
    grid-column: 1;
    grid-row: 1;
}

.qasf-hero-slide--align-center .qasf-hero-slide__content {
    margin-inline: auto;
    text-align: center;
}

.qasf-hero-slide--align-center .qasf-actions {
    justify-content: center;
}

.qasf-hero-slide--align-left .qasf-hero-slide__content {
    text-align: left;
}

.qasf-hero-slide--vertical-start .qasf-hero-slide__inner {
    align-items: start;
}

.qasf-hero-slide--vertical-end .qasf-hero-slide__inner {
    align-items: end;
}

.qasf-hero-slide h1,
.qasf-hero-slide h2,
.qasf-hero-slide p {
    margin-block-start: 0;
}

.qasf-eyebrow {
    display: inline-block;
    margin-block-end: var(--global-xs-spacing, 0.5rem);
}

.qasf-hero-slide__media {
    display: grid;
    place-items: center;
    min-width: 0;
}

.qasf-hero-slide__media img {
    display: block;
    width: 100%;
    max-height: 28rem;
    object-fit: contain;
}

.qasf-hero-slide__background,
.qasf-hero-slide__overlay {
    position: absolute;
    inset: 0;
}

.qasf-hero-slide__background {
    z-index: 0;
}

.qasf-hero-slide__background img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.qasf-hero-slide__overlay {
    z-index: 1;
    background: color-mix(in srgb, currentColor 20%, transparent);
}

.qasf-slider-arrow {
    position: absolute;
    z-index: 5;
    inset-block-start: 50%;
    transform: translateY(-50%);
}

.qasf-slider-arrow--prev {
    inset-inline-start: 1rem;
}

.qasf-slider-arrow--next {
    inset-inline-end: 1rem;
}

.qasf-slider-dots {
    position: absolute;
    z-index: 6;
    inset-inline-start: 50%;
    inset-block-end: 1rem;
    display: flex;
    gap: 0.5rem;
    transform: translateX(-50%);
}

.qasf-slider-dot {
    width: 0.65rem;
    height: 0.65rem;
    padding: 0;
    border: 0;
    opacity: 0.45;
    background: currentColor;
}

.qasf-slider-dot.is-active {
    opacity: 1;
}

.qasf-hide-desktop {
    display: none !important;
}

@media (max-width: 62rem) and (min-width: 43.125rem) {
    .qasf-hide-desktop {
        display: block !important;
    }

    .qasf-hide-tablet {
        display: none !important;
    }
}

@media (max-width: 43.125rem) {
    .qasf-hide-desktop {
        display: block !important;
    }

    .qasf-hide-mobile,
    .qasf-hero-slide--show-desktop {
        display: none !important;
    }

    .qasf-hero-slider__track,
    .qasf-hero-slide__inner {
        min-height: clamp(24rem, 115vw, 36rem);
    }

    .qasf-hero-slide__inner {
        grid-template-columns: minmax(0, 1fr);
        align-content: center;
        gap: var(--global-sm-spacing, 1rem);
        padding: var(--global-md-spacing, 1.5rem);
    }

    .qasf-hero-slide__content {
        order: 2;
    }

    .qasf-hero-slide__media {
        order: 1;
        max-height: 14rem;
    }

    .qasf-hero-slide__media img {
        max-height: 14rem;
    }

    .qasf-hero-slide--position-left .qasf-hero-slide__content,
    .qasf-hero-slide--position-left .qasf-hero-slide__media {
        grid-column: auto;
        grid-row: auto;
    }

    .qasf-hero-slide--mobile-align-center .qasf-hero-slide__content {
        text-align: center;
    }

    .qasf-hero-slide--mobile-align-left .qasf-hero-slide__content {
        text-align: left;
    }

    .qasf-cta__inner,
    .qasf-city-prompt,
    .qasf-current-city {
        align-items: stretch;
        flex-direction: column;
    }

    .qasf-actions .button,
    .qasf-cta .button {
        width: 100%;
    }
}

/* 3.3.0 — Hero Studio: six templates, direct-on-image copy and full-width breakout. */
.qasf-section-shell--hero {
    position: relative;
    z-index: 2;
    margin: 0;
}

.qasf-section-shell--hero-full {
    width: 100vw;
    max-width: 100vw;
    margin-inline: calc(50% - 50vw);
}

.qasf-section-shell--hero-overlap {
    margin-block-end: calc(-1 * var(--qasf-hero-overlap, 0px));
}

.qasf-section-shell--hero-overlap + .qasf-section-shell {
    position: relative;
    z-index: 7;
}

.qasf-hero-slider[hidden] {
    display: none !important;
}

.qasf-hero-slider {
    --qasf-hero-max-width: 1600px;
    --qasf-hero-gap: 24px;
    --qasf-hero-height-d: 680px;
    --qasf-hero-height-t: 570px;
    --qasf-hero-height-m: 620px;
    --qasf-hero-radius: 28px;
    position: relative;
    width: 100%;
    max-width: none;
    margin: 0;
    isolation: isolate;
}

.qasf-hero-shell {
    position: relative;
    width: 100%;
    max-width: var(--qasf-hero-max-width);
    margin-inline: auto;
    padding-inline: var(--qasf-hero-gap);
}

.qasf-hero--width-contained .qasf-hero-shell {
    max-width: min(var(--qasf-hero-max-width), var(--global-content-width, 1280px));
}

.qasf-hero--width-full .qasf-hero-shell {
    max-width: none;
    padding-inline: 0;
}

.qasf-hero-slider__viewport {
    position: relative;
    width: 100%;
    height: var(--qasf-hero-height-d);
    overflow: hidden;
    border-radius: var(--qasf-hero-radius);
    background: #07111f;
    box-shadow: 0 26px 80px rgba(7,17,31,.16);
}

.qasf-hero--width-full .qasf-hero-slider__viewport {
    border-radius: 0;
}

.qasf-hero-slider__track {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 0;
}

.qasf-hero-slide {
    position: absolute;
    inset: 0;
    visibility: hidden;
    overflow: hidden;
    opacity: 0;
    color: var(--qasf-title-color, #fff);
    background: linear-gradient(var(--qasf-gradient-angle,135deg),var(--qasf-bg-1,#07111f),var(--qasf-bg-2,#1268e8) 55%,var(--qasf-bg-3,#23a6d5));
    pointer-events: none;
    transition: opacity .5s ease, visibility .5s ease;
}

.qasf-hero-slide--gradient-radial {
    background: radial-gradient(circle at 72% 34%,var(--qasf-bg-3,#23a6d5),var(--qasf-bg-2,#1268e8) 42%,var(--qasf-bg-1,#07111f) 100%);
}

.qasf-hero-slide.is-active {
    z-index: 2;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.qasf-hero-slide__background,
.qasf-hero-slide__overlay {
    position: absolute;
    inset: 0;
}

.qasf-hero-slide__background {
    z-index: 0;
}

.qasf-hero-slide__background img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--qasf-focus-x,50%) var(--qasf-focus-y,50%);
}

.qasf-hero-slide__overlay {
    z-index: 1;
    background: color-mix(in srgb,var(--qasf-overlay-color,#07111f) var(--qasf-overlay-opacity,42%),transparent);
    pointer-events: none;
}

.qasf-hero-slide__inner {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: repeat(12,minmax(0,1fr));
    align-items: center;
    gap: clamp(16px,3vw,52px);
    width: min(100%,var(--qasf-hero-max-width));
    min-height: 100%;
    margin-inline: auto;
    padding: clamp(34px,6vw,92px);
}

.qasf-hero-slide__content {
    z-index: 3;
    grid-column: 7 / -1;
    width: min(100%,var(--qasf-content-width,720px));
    min-width: 0;
    margin: 0;
    padding: 0;
    color: var(--qasf-title-color,#fff);
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: var(--qasf-title-font,inherit);
}

.qasf-hero-slide--position-left .qasf-hero-slide__content {
    grid-column: 1 / 7;
}

.qasf-hero-slide--position-center .qasf-hero-slide__content {
    grid-column: 3 / 11;
    margin-inline: auto;
}

.qasf-hero-slide--vertical-start .qasf-hero-slide__inner { align-items: start; }
.qasf-hero-slide--vertical-end .qasf-hero-slide__inner { align-items: end; }

.qasf-hero-slide h1,
.qasf-hero-slide h2 {
    max-width: 100%;
    margin: 0;
    color: var(--qasf-title-color,#fff);
    font-family: var(--qasf-title-font,inherit);
    font-size: var(--qasf-title-d,68px);
    font-weight: var(--qasf-title-weight,800);
    line-height: var(--qasf-title-line,1.12);
    letter-spacing: var(--qasf-title-spacing,-1px);
    text-wrap: balance;
}

.qasf-hero-slide p {
    max-width: 58ch;
    margin: 18px 0 0;
    color: var(--qasf-subtitle-color,#e8f1ff);
    font-family: inherit;
    font-size: var(--qasf-subtitle-d,20px);
    line-height: 1.75;
    text-wrap: pretty;
}

.qasf-hero-slide .qasf-eyebrow {
    display: inline-flex;
    align-items: center;
    margin: 0 0 15px;
    padding: 6px 12px;
    border: 1px solid color-mix(in srgb,currentColor 26%,transparent);
    border-radius: 999px;
    color: inherit;
    background: color-mix(in srgb,currentColor 9%,transparent);
    font-size: 12px;
    font-weight: 900;
    backdrop-filter: blur(10px);
}

.qasf-hero-slide .qasf-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 11px;
    margin-block-start: 26px;
}

.qasf-hero-slide .qasf-hero-button--primary.button,
.qasf-hero-slide .qasf-hero-button--secondary.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    margin: 0;
    padding: 12px 24px;
    border: 1px solid transparent;
    border-radius: 13px;
    box-shadow: none;
    font-family: inherit;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.2;
    text-decoration: none;
    transition: transform .18s ease,box-shadow .18s ease;
}

.qasf-hero-slide .qasf-hero-button--primary.button {
    color: var(--qasf-button-color,#fff);
    background: var(--qasf-button-bg,#1268e8);
}

.qasf-hero-slide .qasf-hero-button--secondary.button {
    color: var(--qasf-button-2-color,#10233e);
    background: var(--qasf-button-2-bg,#fff);
}

.qasf-hero-slide .qasf-actions .button:hover {
    box-shadow: 0 12px 30px color-mix(in srgb,var(--qasf-button-bg,#1268e8) 24%,transparent);
    transform: translateY(-2px);
}

.qasf-hero-slide--align-center .qasf-hero-slide__content { text-align: center; }
.qasf-hero-slide--align-center .qasf-actions { justify-content: center; }
.qasf-hero-slide--align-center p { margin-inline: auto; }
.qasf-hero-slide--align-left .qasf-hero-slide__content { text-align: left; }

/* Split and product templates. */
.qasf-hero-slide--split .qasf-hero-slide__inner,
.qasf-hero-slide--product .qasf-hero-slide__inner {
    grid-template-columns: minmax(0,var(--qasf-split-text,48%)) minmax(0,1fr);
}

.qasf-hero-slide--split .qasf-hero-slide__content,
.qasf-hero-slide--product .qasf-hero-slide__content {
    grid-column: 1;
}

.qasf-hero-slide--split .qasf-hero-slide__media,
.qasf-hero-slide--product .qasf-hero-slide__media {
    grid-column: 2;
}

.qasf-hero-slide--split.qasf-hero-slide--reverse .qasf-hero-slide__content,
.qasf-hero-slide--product.qasf-hero-slide--reverse .qasf-hero-slide__content { grid-column: 2; }
.qasf-hero-slide--split.qasf-hero-slide--reverse .qasf-hero-slide__media,
.qasf-hero-slide--product.qasf-hero-slide--reverse .qasf-hero-slide__media { grid-column: 1; grid-row: 1; }

.qasf-hero-slide__media {
    z-index: 3;
    display: grid;
    place-items: end center;
    align-self: stretch;
    min-width: 0;
    max-height: none;
}

.qasf-hero-slide__media img {
    display: block;
    width: min(var(--qasf-foreground-width,46%),100%);
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center bottom;
    filter: drop-shadow(0 24px 30px rgba(7,17,31,.22));
}

.qasf-hero-slide--split .qasf-hero-slide__media img,
.qasf-hero-slide--product .qasf-hero-slide__media img {
    width: min(100%,760px);
}

.qasf-hero-slide--product .qasf-hero-slide__media img {
    transform: scale(1.05);
}

/* Typography, organic, neon and cinematic templates. */
.qasf-hero-slide--typography .qasf-hero-slide__content { width: min(100%,950px); }
.qasf-hero-slide--typography h1,
.qasf-hero-slide--typography h2 { max-width: 15ch; }
.qasf-hero-slide--typography.qasf-hero-slide--align-center :is(h1,h2) { margin-inline: auto; }

.qasf-hero-slide--cinematic .qasf-hero-slide__content,
.qasf-hero-slide--organic .qasf-hero-slide__content,
.qasf-hero-slide--neon .qasf-hero-slide__content,
.qasf-hero-slide--typography .qasf-hero-slide__content { text-shadow: 0 2px 22px rgba(7,17,31,.16); }

.qasf-hero-slide--glow::after {
    position: absolute;
    z-index: 1;
    inset: 8% 45% 10% 5%;
    border-radius: 50%;
    content: "";
    background: var(--qasf-bg-3,#23a6d5);
    opacity: calc(var(--qasf-glow-strength,38) / 100);
    filter: blur(70px);
    pointer-events: none;
}

.qasf-hero-shapes {
    position: absolute;
    z-index: 2;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.qasf-hero-slide--shape-front .qasf-hero-shapes { z-index: 5; }
.qasf-hero-shapes i,
.qasf-hero-shapes b,
.qasf-hero-shapes em {
    position: absolute;
    display: block;
    border: 2px solid color-mix(in srgb,var(--qasf-shape-color,#7cd8ff) 62%,transparent);
    border-radius: 50%;
}
.qasf-hero-shapes i { width: calc(310px * var(--qasf-shape-size,1)); height: calc(310px * var(--qasf-shape-size,1)); inset: -110px auto auto -80px; background: color-mix(in srgb,var(--qasf-shape-color,#7cd8ff) 16%,transparent); }
.qasf-hero-shapes b { width: calc(190px * var(--qasf-shape-size,1)); height: calc(190px * var(--qasf-shape-size,1)); inset: auto 5% -70px auto; }
.qasf-hero-shapes em { width: 110px; height: 110px; inset: 18% 44% auto auto; border-radius: 32px; transform: rotate(28deg); }
.qasf-hero-shapes img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; opacity: .72; }

.qasf-hero-dismiss {
    position: absolute;
    z-index: 20;
    inset-block-start: 18px;
    inset-inline-end: calc(var(--qasf-hero-gap) + 18px);
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 50%;
    color: #fff;
    background: rgba(7,17,31,.32);
    box-shadow: 0 6px 20px rgba(7,17,31,.16);
    font: 700 24px/1 sans-serif;
    cursor: pointer;
    backdrop-filter: blur(12px);
}
.qasf-hero--width-full .qasf-hero-dismiss { inset-inline-end: 18px; }

.qasf-hero-slider .qasf-slider-arrow {
    position: absolute;
    z-index: 12;
    inset-block-start: 50%;
    display: grid;
    place-items: center;
    width: 46px;
    min-width: 46px;
    height: 46px;
    min-height: 46px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.3);
    border-radius: 50%;
    color: #fff;
    background: rgba(7,17,31,.28);
    box-shadow: none;
    font-size: 28px;
    transform: translateY(-50%);
    backdrop-filter: blur(10px);
}
.qasf-hero-slider .qasf-slider-arrow--prev { inset-inline-start: 18px; }
.qasf-hero-slider .qasf-slider-arrow--next { inset-inline-end: 18px; }

.qasf-hero-slider .qasf-slider-dots {
    position: absolute;
    z-index: 13;
    inset-inline-start: 50%;
    inset-block-end: 20px;
    display: flex;
    gap: 7px;
    padding: 7px 9px;
    border-radius: 999px;
    background: rgba(7,17,31,.22);
    transform: translateX(-50%);
    backdrop-filter: blur(10px);
}
.qasf-hero-slider .qasf-slider-dot { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px; background: #fff; opacity: .46; transition: width .2s,opacity .2s; }
.qasf-hero-slider .qasf-slider-dot.is-active { width: 24px; opacity: 1; }

@media (max-width: 62rem) and (min-width: 43.126rem) {
    .qasf-hero-slider__viewport { height: var(--qasf-hero-height-t); }
    .qasf-hero-slide__inner { padding: clamp(34px,5vw,64px); }
    .qasf-hero-slide h1,
    .qasf-hero-slide h2 { font-size: var(--qasf-title-t,52px); }
    .qasf-hero-slide p { font-size: var(--qasf-subtitle-t,18px); }
    .qasf-hero-slide--split .qasf-hero-slide__inner,
    .qasf-hero-slide--product .qasf-hero-slide__inner { grid-template-columns: minmax(0,58%) minmax(0,42%); }
    .qasf-hero-slide__media img { transform: scale(.88); transform-origin: bottom center; }
    .qasf-hero-shapes { transform: scale(.7); transform-origin: center; }
}

@media (max-width: 43.125rem) {
    .qasf-section-shell--hero-overlap { margin-block-end: calc(-1 * min(var(--qasf-hero-overlap,0px),48px)); }
    .qasf-hero-shell { padding-inline: min(var(--qasf-hero-gap),12px); }
    .qasf-hero--width-full .qasf-hero-shell { padding-inline: 0; }
    .qasf-hero-slider__viewport { height: var(--qasf-hero-height-m); min-height: 0; border-radius: min(var(--qasf-hero-radius),24px); }
    .qasf-hero--width-full .qasf-hero-slider__viewport { border-radius: 0; }
    .qasf-hero-slider__track { min-height: 0; }
    .qasf-hero-slide__background img { object-position: var(--qasf-focus-mobile-x,50%) var(--qasf-focus-mobile-y,50%); }
    .qasf-hero-slide__overlay { background: color-mix(in srgb,var(--qasf-overlay-color,#07111f) var(--qasf-overlay-mobile,60%),transparent); }
    .qasf-hero-slide__inner,
    .qasf-hero-slide--split .qasf-hero-slide__inner,
    .qasf-hero-slide--product .qasf-hero-slide__inner {
        grid-template-columns: minmax(0,1fr);
        grid-template-rows: minmax(0,1fr) auto;
        align-content: center;
        gap: 14px;
        min-height: 100%;
        padding: 58px 22px 52px;
    }
    .qasf-hero-slide__content,
    .qasf-hero-slide--position-left .qasf-hero-slide__content,
    .qasf-hero-slide--position-center .qasf-hero-slide__content,
    .qasf-hero-slide--split .qasf-hero-slide__content,
    .qasf-hero-slide--product .qasf-hero-slide__content,
    .qasf-hero-slide--split.qasf-hero-slide--reverse .qasf-hero-slide__content,
    .qasf-hero-slide--product.qasf-hero-slide--reverse .qasf-hero-slide__content {
        grid-column: 1;
        grid-row: 2;
        width: 100%;
        max-width: 100%;
        order: initial;
    }
    .qasf-hero-slide__media,
    .qasf-hero-slide--split .qasf-hero-slide__media,
    .qasf-hero-slide--product .qasf-hero-slide__media,
    .qasf-hero-slide--split.qasf-hero-slide--reverse .qasf-hero-slide__media,
    .qasf-hero-slide--product.qasf-hero-slide--reverse .qasf-hero-slide__media {
        grid-column: 1;
        grid-row: 1;
        min-height: 0;
        max-height: 44vh;
    }
    .qasf-hero-slide--mobile-text-first .qasf-hero-slide__content { grid-row: 1; align-self: end; }
    .qasf-hero-slide--mobile-text-first .qasf-hero-slide__media { grid-row: 2; }
    .qasf-hero-slide__media img,
    .qasf-hero-slide--split .qasf-hero-slide__media img,
    .qasf-hero-slide--product .qasf-hero-slide__media img { width: min(78%,420px); height: 100%; max-height: 42vh; transform: none; }
    .qasf-hero-slide h1,
    .qasf-hero-slide h2 { font-size: var(--qasf-title-m,38px); overflow-wrap: normal; word-break: normal; }
    .qasf-hero-slide p { display: -webkit-box; overflow: hidden; margin-block-start: 12px; font-size: var(--qasf-subtitle-m,16px); line-height: 1.65; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
    .qasf-hero-slide .qasf-eyebrow { margin-block-end: 10px; padding: 4px 9px; }
    .qasf-hero-slide .qasf-actions { gap: 8px; margin-block-start: 18px; }
    .qasf-hero-slide .qasf-hero-button--primary.button,
    .qasf-hero-slide .qasf-hero-button--secondary.button { flex: 1 1 9rem; width: auto; min-height: 47px; padding: 10px 14px; }
    .qasf-hero-slide--cinematic .qasf-hero-slide__inner,
    .qasf-hero-slide--typography .qasf-hero-slide__inner,
    .qasf-hero-slide--organic .qasf-hero-slide__inner,
    .qasf-hero-slide--neon .qasf-hero-slide__inner { grid-template-rows: 1fr; }
    .qasf-hero-slide--cinematic .qasf-hero-slide__content,
    .qasf-hero-slide--typography .qasf-hero-slide__content,
    .qasf-hero-slide--organic .qasf-hero-slide__content,
    .qasf-hero-slide--neon .qasf-hero-slide__content { grid-row: 1; align-self: center; }
    .qasf-hero-slide--shape-hide-mobile .qasf-hero-shapes { display: none; }
    .qasf-hero-slide--glow::after { inset: 15% 10%; filter: blur(48px); opacity: .6; }
    .qasf-hero-dismiss { inset-block-start: 13px; inset-inline-end: calc(min(var(--qasf-hero-gap),12px) + 13px); width: 38px; height: 38px; }
    .qasf-hero--width-full .qasf-hero-dismiss { inset-inline-end: 13px; }
    .qasf-hero-slider .qasf-slider-arrow { display: none; }
    .qasf-hero-slider .qasf-slider-dots { inset-block-end: 12px; }
}

@media (prefers-reduced-motion: reduce) {
    .qasf-hero-slide,
    .qasf-hero-slide .button,
    .qasf-slider-dot { transition: none !important; }
}

@media (min-width: 43.126rem) {
    .qasf-hero-slide--show-mobile {
        display: none !important;
    }
}

@media (max-width: 62rem) and (min-width: 43.125rem) {
    .qasf-collection--grid {
        grid-template-columns: repeat(var(--qasf-columns-tablet, 2), minmax(0, 1fr));
    }
    .qasf-cols-t-1 { --qasf-slide-basis: 100%; }
    .qasf-cols-t-2 { --qasf-slide-basis: calc(50% - 0.5rem); }
    .qasf-cols-t-3 { --qasf-slide-basis: calc(33.333333% - 0.666667rem); }
    .qasf-cols-t-4 { --qasf-slide-basis: calc(25% - 0.75rem); }
    .qasf-cols-t-5 { --qasf-slide-basis: calc(20% - 0.8rem); }
    .qasf-cols-t-6 { --qasf-slide-basis: calc(16.666667% - 0.833333rem); }
}

@media (max-width: 43.125rem) {
    .qasf-collection--grid {
        grid-template-columns: repeat(var(--qasf-columns-mobile, 1), minmax(0, 1fr));
    }
    .qasf-cols-m-1 { --qasf-slide-basis: 100%; }
    .qasf-cols-m-2 { --qasf-slide-basis: calc(50% - 0.5rem); }
    .qasf-cols-m-3 { --qasf-slide-basis: calc(33.333333% - 0.666667rem); }
    .qasf-review-card {
        min-height: auto;
    }
    .qasf-review-rating {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.2rem;
    }
    .qasf-term-card--horizontal {
        align-items: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .qasf-collection-viewport {
        scroll-behavior: auto !important;
    }
}

/* Storefront Design Studio 3.4.1.
 * The whole section layer is opt-in. Sections upgraded from 3.3.0 keep their
 * original markup and spacing until "تفعيل تخصيص تصميم هذا القسم" is enabled.
 */
.qasf-section-shell--design-active:not(.qasf-section-shell--hero) {
    margin-block: var(--qasf-section-mt, 28px) var(--qasf-section-mb, 28px);
    overflow: visible;
}
.qasf-section-shell--design-active:not(.qasf-section-shell--hero) > .qasf-section {
    margin-block: 0 !important;
}
.qasf-section-shell--design-active:not(.qasf-section-shell--hero) > .qasf-section > .qasf-container {
    box-sizing: border-box;
    border-radius: var(--qasf-section-radius, 24px);
    padding: var(--qasf-section-pad-d, 36px);
    transition: border-color var(--qasf-effect-duration, 260ms) ease, box-shadow var(--qasf-effect-duration, 260ms) ease;
}
.qasf-section-shell--design-active.qasf-section-shell--frame-none > .qasf-section > .qasf-container {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
}
.qasf-section-shell--design-active.qasf-section-shell--frame-line > .qasf-section > .qasf-container {
    border: var(--qasf-section-border-width, 1px) solid var(--qasf-section-border, #d9e5f2) !important;
    background: transparent !important;
    box-shadow: none !important;
}
.qasf-section-shell--design-active.qasf-section-shell--frame-card > .qasf-section > .qasf-container {
    border: var(--qasf-section-border-width, 1px) solid var(--qasf-section-border, #d9e5f2) !important;
    background: var(--qasf-section-bg, #fff) !important;
    box-shadow: 0 20px 55px rgba(13, 49, 86, 0.08);
}
.qasf-section-shell--design-active .qasf-section-heading {
    margin-block-end: var(--qasf-heading-gap, 24px);
    max-inline-size: none;
    text-align: inherit;
}
.qasf-section-shell--design-active.qasf-section-shell--align-right .qasf-section-heading { text-align: right !important; }
.qasf-section-shell--design-active.qasf-section-shell--align-center .qasf-section-heading { text-align: center !important; }
.qasf-section-shell--design-active.qasf-section-shell--align-left .qasf-section-heading { text-align: left !important; }
.qasf-section-shell--design-active .qasf-section-heading h2 {
    margin: 0;
    color: var(--qasf-title-color, #003f83) !important;
    font-family: var(--qasf-title-font, inherit) !important;
    font-size: var(--qasf-title-d, 42px) !important;
    font-weight: var(--qasf-title-weight, 800) !important;
    line-height: 1.2;
}
.qasf-section-shell--design-active .qasf-section-heading p {
    margin: 0.55rem 0 0;
    color: var(--qasf-subtitle-color, #667a91) !important;
}
.qasf-section-shell--design-active :is(.qasf-product-card, .qasf-term-card, .qasf-review-card, .qasf-feature-card) {
    border-radius: var(--qasf-card-radius, 20px) !important;
    transition: transform var(--qasf-effect-duration, 260ms) cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow var(--qasf-effect-duration, 260ms) ease, border-color var(--qasf-effect-duration, 260ms) ease;
}
.qasf-section-shell--design-active.qasf-section-shell--card-frame :is(.qasf-product-card, .qasf-term-card, .qasf-review-card, .qasf-feature-card) {
    border: 1px solid var(--qasf-card-border, #d9e5f2) !important;
}
.qasf-section-shell--design-active.qasf-section-shell--card-clean :is(.qasf-product-card, .qasf-term-card, .qasf-review-card, .qasf-feature-card) { border: 0 !important; }
.qasf-section-shell--design-active.qasf-section-shell--shadow-none :is(.qasf-product-card, .qasf-term-card, .qasf-review-card, .qasf-feature-card) { box-shadow: none !important; }
.qasf-section-shell--design-active.qasf-section-shell--shadow-soft :is(.qasf-product-card, .qasf-term-card, .qasf-review-card, .qasf-feature-card) { box-shadow: 0 10px 30px rgba(18, 55, 92, 0.07); }
.qasf-section-shell--design-active.qasf-section-shell--shadow-deep :is(.qasf-product-card, .qasf-term-card, .qasf-review-card, .qasf-feature-card) { box-shadow: 0 22px 48px rgba(18, 55, 92, 0.15); }

@media (hover: hover) and (pointer: fine) {
    .qasf-section-shell--design-active.qasf-section-shell--hover-lift :is(.qasf-product-card, .qasf-term-card, .qasf-review-card, .qasf-feature-card):hover { transform: translateY(-9px); box-shadow: 0 24px 48px rgba(18, 55, 92, 0.17); }
    .qasf-section-shell--design-active.qasf-section-shell--hover-zoom :is(.qasf-product-card, .qasf-term-card, .qasf-feature-card):hover img { transform: scale(1.07); }
    .qasf-section-shell--design-active.qasf-section-shell--hover-glow :is(.qasf-product-card, .qasf-term-card, .qasf-review-card, .qasf-feature-card):hover { box-shadow: 0 0 0 3px rgba(0, 63, 131, 0.16), 0 24px 48px rgba(18, 55, 92, 0.15); }
    .qasf-section-shell--design-active.qasf-section-shell--hover-shine :is(.qasf-product-card, .qasf-term-card, .qasf-review-card, .qasf-feature-card):hover::after { transform: translateX(240%) skewX(-18deg); }
}
.qasf-section-shell--design-active.qasf-section-shell--hover-shine :is(.qasf-product-card, .qasf-term-card, .qasf-review-card, .qasf-feature-card) { position: relative; overflow: hidden; }
.qasf-section-shell--design-active.qasf-section-shell--hover-shine :is(.qasf-product-card, .qasf-term-card, .qasf-review-card, .qasf-feature-card)::after {
    position: absolute;
    inset: -30% auto -30% -45%;
    width: 28%;
    transform: skewX(-18deg);
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.7), transparent);
    content: "";
    pointer-events: none;
    transition: transform 0.7s ease;
}

/* Product interaction options. They render no extra UI until enabled. */
.qasf-product-card { position: relative; }
.qasf-product-card__media { position: relative; overflow: hidden; }
.qasf-product-card__images { position: relative; display: block; width: 100%; height: 100%; }
.qasf-product-card__images .qasf-product-image { width: 100%; height: 100%; object-fit: inherit; transition: opacity 0.32s ease, transform 0.45s ease; }
.qasf-product-image--secondary { position: absolute; inset: 0; opacity: 0; }
.qasf-product-card__quick {
    position: absolute;
    z-index: 4;
    inset-block-start: 14px;
    inset-inline-start: 14px;
    display: grid;
    gap: 8px;
    opacity: 0;
    transform: translateX(-12px);
    transition: opacity 0.25s ease, transform 0.25s ease;
}
.qasf-product-card__quick a {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 8px 22px rgba(10, 40, 70, 0.18);
    color: var(--qasf-title-color, #003f83);
    font-size: 20px;
    text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
    .qasf-product-card:hover .qasf-product-image--secondary { opacity: 1; }
    .qasf-product-card:hover .qasf-product-image--primary:has(+ .qasf-product-image--secondary) { opacity: 0; }
    .qasf-product-card:hover .qasf-product-card__quick { opacity: 1; transform: none; }
}

/* Brand and category presentation presets. */
.qasf-term-card--showcase { min-height: 250px; display: flex; flex-direction: column; justify-content: center; text-align: center; background: linear-gradient(180deg, #fff, #fbfdff); }
.qasf-term-card--showcase .qasf-term-card__media { min-height: 145px; display: grid; place-items: center; padding: 22px; }
.qasf-term-card--showcase .qasf-term-card__media img { max-width: 72%; max-height: 105px; object-fit: contain; }
.qasf-term-card--showcase .qasf-term-card__content { align-items: center; padding: 8px 18px 20px; }
.qasf-term-card--floating { min-height: 220px; display: grid; place-items: center; text-align: center; background: radial-gradient(circle at 50% 34%, rgba(30, 105, 190, 0.08), transparent 45%), #fff; }
.qasf-term-card--floating .qasf-term-card__media { display: grid; width: 120px; height: 120px; place-items: center; border-radius: 50%; background: #fff; box-shadow: 0 16px 40px rgba(10, 50, 90, 0.11); padding: 18px; }

/* Store features: icon library or uploaded images with grid/slider/ticker. */
.qasf-feature-card { display: flex; min-height: 150px; align-items: center; gap: 18px; padding: 26px; background: #fff; color: inherit; text-decoration: none; }
.qasf-features-section--icon_top .qasf-feature-card { flex-direction: column; justify-content: center; text-align: center; }
.qasf-features-section--minimal .qasf-feature-card { background: transparent; box-shadow: none; }
.qasf-features-section--glass .qasf-feature-card { background: linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(235, 247, 255, 0.72)); backdrop-filter: blur(12px); }
.qasf-feature-icon { display: grid; width: var(--qasf-feature-icon-size, 54px); height: var(--qasf-feature-icon-size, 54px); flex: 0 0 var(--qasf-feature-icon-size, 54px); place-items: center; border-radius: 50%; background: var(--qasf-feature-icon-bg, #e8f7f5); color: var(--qasf-feature-icon-color, #006c70); }
.qasf-features-section--icon-square .qasf-feature-icon { border-radius: 14px; }
.qasf-features-section--icon-none .qasf-feature-icon { background: transparent; }
.qasf-feature-icon svg, .qasf-feature-icon img { width: 56%; height: 56%; object-fit: contain; }
.qasf-feature-card h3 { margin: 0; color: inherit; font-size: 1.08rem; }
.qasf-feature-card p { margin: 0.35rem 0 0; color: var(--qasf-subtitle-color, #667a91); }

/* Scroll reveal is active only on explicitly customized sections. */
.qasf-motion-ready .qasf-section-shell--design-active[data-qasf-reveal]:not([data-qasf-reveal="none"]) :is(.qasf-product-card, .qasf-term-card, .qasf-review-card, .qasf-feature-card) { opacity: 0; transition-property: opacity, transform, box-shadow, border-color; }
.qasf-motion-ready .qasf-section-shell--design-active.qasf-section-shell--reveal-fade-up:not(.is-qasf-visible) :is(.qasf-product-card, .qasf-term-card, .qasf-review-card, .qasf-feature-card) { transform: translateY(22px); }
.qasf-motion-ready .qasf-section-shell--design-active.qasf-section-shell--reveal-scale:not(.is-qasf-visible) :is(.qasf-product-card, .qasf-term-card, .qasf-review-card, .qasf-feature-card) { transform: scale(0.94); }
.qasf-motion-ready .qasf-section-shell--design-active.qasf-section-shell--reveal-slide:not(.is-qasf-visible) :is(.qasf-product-card, .qasf-term-card, .qasf-review-card, .qasf-feature-card) { transform: translateX(28px); }
.qasf-motion-ready .qasf-section-shell--design-active[data-qasf-reveal].is-qasf-visible :is(.qasf-product-card, .qasf-term-card, .qasf-review-card, .qasf-feature-card) { opacity: 1; transform: none; }
.qasf-section-shell--design-active.qasf-section-shell--stagger :is(.qasf-product-card, .qasf-term-card, .qasf-review-card, .qasf-feature-card):nth-child(2) { transition-delay: 70ms; }
.qasf-section-shell--design-active.qasf-section-shell--stagger :is(.qasf-product-card, .qasf-term-card, .qasf-review-card, .qasf-feature-card):nth-child(3) { transition-delay: 140ms; }
.qasf-section-shell--design-active.qasf-section-shell--stagger :is(.qasf-product-card, .qasf-term-card, .qasf-review-card, .qasf-feature-card):nth-child(4) { transition-delay: 210ms; }
.qasf-section-shell--design-active.qasf-section-shell--stagger :is(.qasf-product-card, .qasf-term-card, .qasf-review-card, .qasf-feature-card):nth-child(n + 5) { transition-delay: 280ms; }

@media (max-width: 62rem) {
    .qasf-section-shell--design-active .qasf-section-heading h2 { font-size: var(--qasf-title-t, 34px) !important; }
}
@media (max-width: 43.125rem) {
    .qasf-section-shell--design-active:not(.qasf-section-shell--hero) > .qasf-section > .qasf-container { padding: var(--qasf-section-pad-m, 20px); }
    .qasf-section-shell--design-active .qasf-section-heading h2 { font-size: var(--qasf-title-m, 28px) !important; }
    .qasf-feature-card { padding: 20px; }
    .qasf-product-card__quick { inset-block-start: auto; inset-block-end: 10px; grid-auto-flow: column; opacity: 1; transform: none; }
    .qasf-product-card__quick a { width: 36px; height: 36px; }
}
@media (prefers-reduced-motion: reduce) {
    .qasf-section-shell--design-active :is(.qasf-product-card, .qasf-term-card, .qasf-review-card, .qasf-feature-card, img), .qasf-product-card__quick { transition: none !important; animation: none !important; }
    .qasf-motion-ready .qasf-section-shell--design-active[data-qasf-reveal] :is(.qasf-product-card, .qasf-term-card, .qasf-review-card, .qasf-feature-card) { opacity: 1 !important; transform: none !important; }
}

/* Block-editor additions: filterable products layout (qasf/filterable-products) */
.qasf-filterable-products {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: var(--qasf-gap, 24px);
    align-items: start;
}
.qasf-filterable-products__aside {
    position: sticky;
    top: 90px;
}
.qasf-filterable-products__grid {
    min-width: 0;
}
@media (max-width: 782px) {
    .qasf-filterable-products {
        grid-template-columns: 1fr;
    }
    .qasf-filterable-products__aside {
        position: static;
    }
}
.qasf-admin-hint {
    padding: 10px 14px;
    border-radius: var(--qasf-radius, 12px);
    background: var(--qasf-accent, #f2f9fe);
    color: var(--qasf-text, #17324d);
    font-size: 0.85rem;
}
