/* Public commerce presentation. Native forms, offer selection and cart state stay unchanged. */
.product-page {
    --ak-product-action-size: max(var(--ak-button-min-height), calc(24px + 2 * var(--ak-button-padding) + 2px));
    --ak-text: #212121;
    --ak-muted: #757575;
    --ak-muted-strong: #757575;
    --ak-brand: #3a5bc7;
    --ak-brand-soft: #3a5bc7;
    --ak-info: var(--ak-brand);
    --ak-shadow: none;
    --ak-shadow-high: none;
    width: min(calc(100% - 3rem), 1230px);
    padding-bottom: 3rem;
    color: var(--ak-text);
}

.product-page .product-detail {
    grid-template-columns: minmax(0, calc((100% + var(--ak-surface-gap)) * 2 / 3 - var(--ak-surface-gap))) minmax(0, 1fr);
    grid-template-areas: "gallery title" "gallery purchase" "information purchase";
    grid-template-rows: min-content min-content auto;
    column-gap: var(--ak-surface-gap);
    row-gap: 0;
    padding-bottom: var(--ak-surface-gap);
}

.product-page .product-detail > .product-gallery { grid-area: gallery; }
.product-page .product-detail > .purchase-panel { grid-area: purchase; }
.product-page .product-information { grid-area: information; min-width: 0; margin-top: var(--ak-surface-gap); }

.product-page .product-gallery .animation-preview,
.product-page .product-gallery__empty,
.product-page .product-gallery__panel > .product-artwork {
    min-height: 0;
    aspect-ratio: 3 / 2;
    border: 0;
    border-radius: var(--ak-radius-sm);
    background: #171717;
    box-shadow: none;
}

.product-page .product-gallery__empty { min-height: 18rem; }
.product-page .animation-preview__label { color: #fff; background: rgb(0 0 0 / 75%); }
.product-page .product-gallery__controls button { color: #fff; }
.product-page .product-gallery__controls button:hover > span { opacity: 1; }
.product-page .animation-preview:has(.animation-preview__fallback),
.product-page .product-gallery__empty { background: var(--ak-canvas-soft); }

.product-page .gallery-thumbnails {
    gap: 10px;
    margin-top: 0;
}

.product-page .gallery-thumbnails button {
    border-radius: var(--ak-radius-sm);
    background: var(--ak-surface-raised);
}

.product-page .gallery-thumbnails button.is-active {
    border-color: #fff;
    box-shadow: none;
}

.product-page .purchase-panel {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.product-page .product-detail__title {
    grid-area: title;
    min-width: 0;
    margin: 0 0 12px;
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: normal;
    overflow-wrap: anywhere;
}

.product-publisher-row { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; gap: 0 8px; margin-bottom: 10px; min-width: 0; }
.product-page .product-publisher { display: flex; align-items: center; min-width: 0; max-width: 100%; margin: 0; font-size: 14px; line-height: 21px; color: var(--ak-text); }
.product-page .product-publisher strong { color: var(--ak-brand-soft); font-weight: 500; }
.product-page .purchase-price { margin-block: 0 1rem; }
.product-page .purchase-price > strong { font-size: 1.75rem; font-weight: 600; letter-spacing: 0; }

.product-page .purchase-editions { margin-block: 1.25rem 1rem; }
.product-page .purchase-edition {
    padding: 0.75rem;
    border-color: var(--ak-border-strong);
    border-radius: var(--ak-radius-sm);
    background: transparent;
}

.product-page .purchase-edition:has(input:checked) {
    border-color: var(--ak-brand);
    background: rgb(56 88 201 / 8%);
}

.product-page .purchase-edition__title { font-weight: 600; }
.product-page .purchase-edition__price { font-weight: 600; }
.product-page .purchase-details { margin-top: 1.25rem; padding-top: 1.25rem; font-size: 15px; font-weight: 400; line-height: 1.5; }
.product-page .purchase-details dt { color: var(--ak-text); font-weight: 500; }
.product-page .purchase-details dd { text-align: right; }
.product-page .purchase-details a { text-decoration: none; }
.product-page .purchase-options-link,
.product-page .purchase-policy-link,
.product-page .purchase-details a { color: var(--ak-brand-soft); }

.product-page .button--primary {
    border-color: var(--ak-brand);
    background: var(--ak-brand);
    color: #fff;
    box-shadow: none;
}

.product-page .button--primary:hover:not(:disabled) { border-color: var(--ak-brand-strong); background: var(--ak-brand-strong); box-shadow: none; }
.product-page .button--primary:disabled { border-color: var(--ak-border); background: var(--ak-surface-high); color: var(--ak-muted); box-shadow: none; }
.product-page .development-demo-purchase:disabled { border-color: var(--ak-brand); background: var(--ak-brand); color: #fff; opacity: 0.7; }
.product-page[data-product-profile="standard"] .purchase-panel .button--primary { min-height: var(--ak-product-action-size); font-size: 16px; }
.development-standard-products { padding-block: 1rem 3rem; }
.development-standard-products > h1 { margin-bottom: 0.5rem; font-size: 2rem; }
.development-standard-products > p { margin-bottom: 1.5rem; }
.product-page .button--secondary { border-color: var(--ak-border-strong); background: transparent; color: var(--ak-text); }
.product-page .button--secondary:hover { background: var(--ak-surface-raised); }

.product-page .product-tabs {
    gap: 1rem;
    border-bottom-color: var(--ak-border-strong);
    background: var(--ak-canvas);
    backdrop-filter: none;
}

.product-purchase-actions { display: flex; align-items: center; gap: 8px; min-width: 0; }
.product-purchase-actions > .purchase-cart-form { display: flex; flex: 1 1 0; gap: 8px; min-width: 0; max-width: 100%; margin: 0; }
.product-purchase-actions .button--primary { flex: 1 1 0; width: auto; min-width: 0; min-height: var(--ak-product-action-size); padding: var(--ak-button-padding); font-size: 16px; font-weight: 700; border-radius: 4px; }
.product-purchase-actions .button--full { width: auto; }
.product-favorite-form { flex: 0 0 auto; margin: 0; }
.product-page .product-action-button,
.saved-assets-page .product-action-button {
    display: grid;
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    min-width: 50px;
    min-height: 50px;
    padding: 0;
    place-items: center;
    border: 1px solid var(--ak-brand);
    border-radius: 4px;
    color: var(--ak-brand);
    background: transparent;
    box-shadow: none;
}
.product-page .product-action-button {
    flex-basis: var(--ak-product-action-size);
    width: var(--ak-product-action-size);
    height: var(--ak-product-action-size);
    min-width: var(--ak-product-action-size);
    min-height: var(--ak-product-action-size);
}
.product-action-icon { display: block; width: 20px; height: 20px; flex: 0 0 20px; fill: currentColor; stroke: none; }
.product-page .product-action-button .product-action-icon,
.saved-assets-page .product-action-button .product-action-icon { width: 20px; height: 20px; fill: currentColor; stroke: none; }
.product-favorite-button > span { display: flex; align-items: center; }
.product-favorite-button > span[hidden] { display: none; }
.product-page .product-action-button:hover:not(:disabled),
.saved-assets-page .product-action-button:hover:not(:disabled) { background: rgb(56 88 201 / 8%); transform: none; }
.product-action-button:focus-visible { outline: 2px solid var(--ak-brand); outline-offset: 3px; }
.product-action-button:disabled { opacity: 0.5; cursor: default; }
.product-page .product-toolbar__purchase { gap: 8px; }
.product-page .product-toolbar__purchase > .button--primary { width: fit-content; min-height: var(--ak-product-action-size); padding: var(--ak-button-padding); font-size: 16px; font-weight: 700; }
.product-page .product-toolbar.is-compact .product-toolbar__purchase > .button--primary { align-self: center; }
.saved-assets-page { padding-block: 1.5rem 3rem; }
.saved-assets-page h1 { font-size: 2rem; }
.saved-assets-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: var(--ak-surface-gap); margin-block: 1.5rem; }
.saved-asset-item { min-width: 0; }
.saved-asset-item > .product-favorite-form { margin-top: 8px; }
.free-acquisition-page { max-width: 48rem; padding-block: 1.5rem 3rem; }
.free-acquisition-page h1 { font-size: 1.75rem; }
.free-acquisition-page form { display: grid; gap: var(--ak-surface-gap); }
.free-acquisition-page .license-acceptance__checkbox { display: flex; align-items: flex-start; gap: 0.75rem; }
.free-acquisition-page .license-acceptance__checkbox input { flex: 0 0 auto; margin-top: 0.25rem; }
.free-acquisition-page .license-acceptance h2 { font-size: 1.25rem; }

.product-page .product-tabs a {
    min-height: 50px;
    padding-block: 0;
    padding-inline: 1rem;
    font-size: 1rem;
    font-weight: 500;
    border-bottom-width: 2px;
}

.product-page .product-tabs a.is-active { color: var(--ak-text); border-bottom-color: var(--ak-brand); }
.product-page .product-toolbar.is-compact { border-color: var(--ak-border); background: var(--ak-surface); box-shadow: none; }
.product-page .product-toolbar.is-compact .product-tabs { background: transparent; }
.product-page .product-toolbar__price strong { color: var(--ak-text); }
.product-page .product-toolbar.is-compact .product-toolbar__title { font-weight: 600; }

.product-page .product-section-card {
    padding: 1.5rem 0;
    border: 0;
    border-top: 1px solid var(--ak-border);
    border-radius: 0;
    background: transparent;
}

.product-page .product-section-card__intro h2 { font-size: 1.375rem; font-weight: 600; }
.product-page .product-copy-grid article > p:not(.eyebrow) { max-width: 56rem; color: var(--ak-text); font-size: 0.9375rem; line-height: 1.6; }
.product-page .product-section-card--spine-selector { grid-template-columns: minmax(0, 1fr); background: transparent; }
.product-page .spine-selector__intro { position: static; }
.product-page .spine-selector__ready-made { grid-column: 1; }
.product-page .product-detail-list > div { background: transparent; }
.product-page .product-detail-list .option-state { color: var(--ak-text); background: var(--ak-surface-high); }
.product-page .spine-selector__summary { border-color: var(--ak-border); box-shadow: none; background: var(--ak-surface); }
.product-page .spine-selector__component { border-bottom-color: var(--ak-border); }
.product-page .spine-selector__component:hover { background: var(--ak-surface-raised); }
.product-page .spine-selector__component.is-new { background: rgb(56 88 201 / 7%); }
.product-page .spine-selector__edition.is-selected { border-color: var(--ak-brand); background: rgb(56 88 201 / 8%); box-shadow: none; }
.product-page .spine-selector__edition:hover:not(:disabled),
.product-page .text-button:hover:not(:disabled) { border-color: var(--ak-brand); background: rgb(56 88 201 / 7%); transform: none; }
.product-page .spine-selector__toolbar input { background: var(--ak-canvas-soft); }
.product-page .component-animation-preview { background: var(--ak-canvas-soft); }
.product-page .component-animation-preview__unavailable { color: var(--ak-muted); background: var(--ak-canvas-soft); }
.product-page .compatibility-table th,
.product-page .compatibility-table td { border-bottom-color: var(--ak-border); }

.product-gallery__stage { position: relative; aspect-ratio: 3 / 2; }
.product-gallery__actions {
    position: absolute;
    z-index: 2;
    inset: 0;
    pointer-events: none;
}
.product-gallery__counter {
    position: absolute;
    bottom: 12px;
    left: 50%;
    height: 20px;
    padding: 0 7px;
    border-radius: 10px;
    color: #fff;
    background: rgb(0 0 0 / 50%);
    font-size: 12px;
    line-height: 20px;
    transform: translateX(-50%);
}
.product-gallery__expand {
    position: absolute;
    top: 3px;
    right: 3px;
    display: grid;
    width: 42px;
    height: 42px;
    padding: 0;
    place-items: center;
    border: 0;
    border-radius: var(--ak-radius-sm);
    color: #fff;
    background: transparent;
    pointer-events: auto;
    cursor: pointer;
}
.product-gallery__expand::before { position: absolute; inset: 9px; border-radius: 4px; background: rgb(0 0 0 / 50%); content: ""; }
.product-gallery__expand svg { position: relative; width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: butt; stroke-linejoin: miter; }
.product-gallery__expand[hidden] { display: none; }
.product-gallery__expand:hover::before { background: rgb(0 0 0 / 80%); }
.product-gallery__expand:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.product-gallery__controls button:disabled { visibility: hidden; cursor: default; }

@media (hover: hover) {
    .product-gallery__controls button { opacity: 0; }
    .product-gallery__stage:hover .product-gallery__controls button,
    .product-gallery__stage:focus-within .product-gallery__controls button { opacity: 1; }
}

html.product-gallery-dialog-open { overflow: hidden; }
.product-gallery-dialog {
    width: 100vw;
    height: 100dvh;
    max-width: none;
    max-height: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    color: #222;
    background: #fff;
}
.product-gallery-dialog[open] { display: grid; grid-template-rows: auto minmax(0, 1fr); }
.product-gallery-dialog::backdrop { background: rgb(0 0 0 / 65%); }
.product-gallery-dialog__toolbar,
.product-gallery-dialog__controls {
    display: flex;
    min-height: 56px;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.5rem max(1rem, env(safe-area-inset-right)) 0.5rem max(1rem, env(safe-area-inset-left));
}
.product-gallery-dialog__toolbar { padding-top: max(0.5rem, env(safe-area-inset-top)); border-bottom: 1px solid #e0e0e0; }
.product-gallery-dialog__controls { justify-content: center; padding-bottom: max(0.5rem, env(safe-area-inset-bottom)); }
.product-gallery-dialog__toolbar strong { min-width: 0; font-size: 1rem; overflow-wrap: anywhere; }
.product-gallery-dialog__toolbar button,
.product-gallery-dialog__controls button {
    display: grid;
    min-width: 42px;
    min-height: 42px;
    padding: 0.5rem;
    place-items: center;
    border: 1px solid #bcbcbc;
    border-radius: var(--ak-radius-sm);
    color: #222;
    background: #fff;
    cursor: pointer;
}
.product-gallery-dialog__toolbar button svg,
.product-gallery-dialog__controls button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.product-gallery-dialog__controls button:disabled { opacity: 0.4; cursor: default; }
.product-gallery-dialog__counter { font-size: 0.875rem; font-variant-numeric: tabular-nums; }
.product-gallery-dialog__preview { display: grid; min-width: 0; min-height: 0; place-items: center; overflow: hidden; background: #171717; }
.product-gallery-dialog__preview > .product-gallery__panel { width: 100%; height: 100%; min-height: 0; }
.product-page .product-gallery-dialog__preview .animation-preview { height: 100%; min-height: 0; aspect-ratio: auto; border-radius: 0; }
.product-gallery-dialog__preview .product-gallery__panel[hidden] { display: none; }
.product-gallery-dialog button:focus-visible { outline: 2px solid #3858c9; outline-offset: -3px; }

.product-information__mobile-header { display: none; }
html.has-product-information-dialog { overflow: hidden; }

@media (width <= 768px) {
    .product-page .product-tabs { flex-direction: column; gap: 0; border-bottom: 0; }
    .product-page .product-tabs a {
        justify-content: space-between;
        min-height: 56px;
        padding: 0 5px 0 0;
        border-bottom: 1px solid var(--ak-border);
        color: var(--ak-text);
        font-size: 1rem;
        font-weight: 700;
    }
    .product-page .product-tabs a:first-child { border-top: 1px solid var(--ak-border); }
    .product-page .product-tabs a.is-active { border-bottom-color: var(--ak-border); color: var(--ak-text); }
    .product-page .product-tabs a::after {
        width: 8px;
        height: 8px;
        margin-left: 1rem;
        border-top: 2px solid currentColor;
        border-right: 2px solid currentColor;
        content: "";
        transform: rotate(45deg);
    }
}

@media (width <= 768px) {
    .has-product-mobile-purchase .site-shell { padding-bottom: var(--asseteka-product-purchase-bottom-height, 0px); }
    .product-page .product-toolbar.is-mobile-purchase .product-toolbar__purchase {
        position: fixed;
        z-index: 999;
        inset: auto 0 0;
        display: flex;
        min-height: calc(60px + env(safe-area-inset-bottom));
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding: 4px max(10px, env(safe-area-inset-right)) calc(4px + env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));
        border-top: 1px solid var(--ak-border);
        background: var(--ak-surface);
    }
    .product-page .product-toolbar.is-mobile-purchase .product-toolbar__purchase > .icon-action,
    .product-page .product-toolbar.is-mobile-purchase .product-toolbar__price > a,
    .product-page .product-toolbar.is-mobile-purchase .product-toolbar__price > span { display: none; }
    .product-page .product-toolbar.is-mobile-purchase .product-toolbar__price {
        flex: 0 1 auto;
        min-width: 0;
        margin: 0;
        text-align: left;
    }
    .product-page .product-toolbar.is-mobile-purchase .product-toolbar__price strong {
        font-size: 24px;
        font-weight: 700;
        line-height: 1.2;
        overflow-wrap: anywhere;
    }
    .product-page .product-toolbar.is-mobile-purchase .product-toolbar__purchase > .button--primary {
        flex: 0 1 auto;
        min-width: 0;
        min-height: var(--ak-product-action-size);
        padding: var(--ak-button-padding);
        font-size: 16px;
    }
    .product-gallery__stage > .product-gallery__controls { display: none; }
    [data-product-information-enhanced="true"] .product-information__panels:not([data-product-information-open="true"]) { display: none; }
    .product-information__panels[data-product-information-open="true"] {
        position: fixed;
        z-index: 2000;
        inset: 0;
        display: grid;
        grid-template-rows: auto minmax(0, 1fr);
        width: 100%;
        height: 100dvh;
        min-height: 0;
        overflow: hidden;
        color: var(--ak-text);
        background: var(--ak-canvas);
    }
    .product-information__panels[data-product-information-open="true"] > [data-product-tab-panel] {
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 1rem max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
    }
    .product-information__panels[data-product-information-open="true"] > .product-changelog:not([hidden]) { display: block; }
    .product-information__panels[data-product-information-open="true"] .product-releases-nav {
        position: static;
        max-height: none;
        margin-bottom: var(--ak-surface-gap);
    }
    .product-information__panels[data-product-information-open="true"] .product-release-anchor,
    .product-information__panels[data-product-information-open="true"] #available-offers { scroll-margin-top: 1rem; }
    .product-information__panels[data-product-information-open="true"] .product-information__mobile-header {
        display: flex;
        min-height: 50px;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem;
        padding: env(safe-area-inset-top) max(9px, env(safe-area-inset-right)) 0 max(9px, env(safe-area-inset-left));
        border-bottom: 1px solid var(--ak-border);
        background: var(--ak-surface);
    }
    .product-information__mobile-header h2 { flex: 1; min-width: 0; margin: 0; font-size: 1rem; text-align: left; overflow-wrap: anywhere; }
    .product-information__mobile-header .product-information__back span { display: none; }
    .product-information__mobile-header button { min-width: 42px; min-height: 42px; padding: 0.5rem; border: 0; border-radius: var(--ak-radius-sm); color: var(--ak-text); background: transparent; cursor: pointer; }
    .product-information__mobile-header button:hover { background: var(--ak-surface-raised); }
    .product-information__mobile-header button:focus-visible { outline: 2px solid var(--ak-brand); outline-offset: -3px; }
    .product-information__mobile-header svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
    .has-product-information-dialog .product-toolbar.is-mobile-purchase .product-toolbar__purchase { visibility: hidden; }
}

/* The dialog is appended to body, so give it its own light palette on every route. */
#asseteka-cart,
#asseteka-cart-header,
.mini-cart {
    --ak-canvas: #fff;
    --ak-canvas-soft: #f5f5f5;
    --ak-surface: #fff;
    --ak-surface-raised: #f5f5f5;
    --ak-surface-high: #ededed;
    --ak-text: #202020;
    --ak-text-soft: #303030;
    --ak-muted: #646464;
    --ak-muted-strong: #505050;
    --ak-border: #dedede;
    --ak-border-strong: #b6b6b6;
    --ak-brand: #405dd8;
    --ak-brand-soft: #405dd8;
    --ak-positive: #247640;
    --ak-danger: #b22835;
    --ak-info: #405dd8;
    color: var(--ak-text);
}

#asseteka-cart-header { padding-top: 2.5rem; padding-bottom: 1.75rem; }
#asseteka-cart-header h1 { font-size: 2rem; font-weight: 600; letter-spacing: -0.02em; }
#asseteka-cart { grid-template-columns: minmax(0, 1fr) 20rem; gap: 2rem; padding-bottom: 4rem; }
#asseteka-cart.checkout-layout--empty { grid-template-columns: minmax(0, 1fr); }

#asseteka-cart .cart-items {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

#asseteka-cart .cart-items__header { border-bottom: 1px solid var(--ak-border); }
#asseteka-cart .cart-items__header h2 { font-weight: 500; }
#asseteka-cart .cart-item { grid-template-columns: 8rem minmax(0, 1fr); padding-block: 1.5rem; }
#asseteka-cart .cart-item__copy h2 { font-size: 1.125rem; font-weight: 600; letter-spacing: 0; }
#asseteka-cart .cart-item__heading > strong { font-weight: 600; }
#asseteka-cart .cart-item__preview img,
#asseteka-cart .cart-item__preview video,
#asseteka-cart .cart-item__preview-fallback { border-radius: var(--ak-radius-sm); }
#asseteka-cart .cart-assurance { padding-top: 1rem; border-top: 1px solid var(--ak-border); }

#asseteka-cart .order-summary {
    top: calc(var(--asseteka-site-header-height, 7rem) + 1.5rem);
    padding: 1.5rem;
    border-color: var(--ak-border);
    background: #f8f8f8;
    box-shadow: none;
}

#asseteka-cart .order-summary h2 { margin: 0; font-size: 1.125rem; font-weight: 600; }
#asseteka-cart .order-summary dl > div { font-size: 0.875rem; }
#asseteka-cart .order-summary .order-total { font-size: 1rem; }
#asseteka-cart .summary-note { text-align: left; }
#asseteka-cart .quote-evidence { border-color: var(--ak-border); background: transparent; }

#asseteka-cart-empty {
    display: flex;
    min-height: 22rem;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 2rem 1rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    text-align: center;
}

#asseteka-cart-empty h2 { margin: 0; font-size: 1.75rem; font-weight: 500; }
#asseteka-cart-empty .eyebrow { display: none; }
#asseteka-cart-empty > p:not(.eyebrow) { max-width: 32rem; margin-block: 0.75rem 1.5rem; font-size: 1rem; }

#asseteka-cart .button--primary,
.mini-cart .button--primary {
    border-color: #405dd8;
    background: #405dd8;
    color: #fff;
    box-shadow: none;
}

#asseteka-cart .button--primary:hover:not(:disabled),
.mini-cart .button--primary:hover:not(:disabled) { border-color: #344fc1; background: #344fc1; box-shadow: none; }
#asseteka-cart .button--primary:disabled,
.mini-cart .button--primary:disabled { border-color: #dedede; background: #dedede; color: #646464; box-shadow: none; }
#asseteka-cart .button--secondary,
.mini-cart .button--secondary { border-color: var(--ak-border-strong); background: transparent; color: var(--ak-text); }
#asseteka-cart .button--secondary:hover,
.mini-cart .button--secondary:hover { background: var(--ak-canvas-soft); }

.mini-cart { border-color: #dedede; border-radius: var(--ak-radius-sm); background: #fff; box-shadow: 0 0.5rem 2rem rgb(0 0 0 / 20%); }
.mini-cart::backdrop { background: rgb(0 0 0 / 45%); }
.mini-cart__header { padding: 0.875rem 1.25rem; }
.mini-cart__header h2 { font-size: 1.125rem; font-weight: 600; }
.mini-cart__body { padding-inline: 1.25rem; }
.mini-cart__footer { padding: 1.25rem; }
.mini-cart__empty { padding-block: 2rem; color: #505050; text-align: center; }
.mini-cart .cart-item__info h2 { font-weight: 600; }
.mini-cart .cart-item__heading > strong { font-weight: 600; }
.mini-cart .cart-item__actions button:disabled { color: #767676; }
.mini-cart__actions .button { min-height: var(--ak-button-min-height); }
.mini-cart .product-contents__toggle { padding-inline: 0; }

.product-page .button:hover:not(:disabled),
#asseteka-cart .button:hover:not(:disabled),
.mini-cart .button:hover:not(:disabled) { transform: none; }

@media (max-width: 64rem) {
    #asseteka-cart { grid-template-columns: minmax(0, 1fr) 18rem; gap: 1.5rem; }
}

@media (768px <= width < 1240px) {
    .product-page { width: min(calc(100% - 3rem), 750px); }
}

@media (1024px <= width < 1240px) {
    .product-page { width: min(calc(100% - 3rem), 960px); }
    .product-page .product-tabs a { min-height: 35px; font-size: 0.8125rem; }
}

@media (max-width: 48rem) {
    .product-page { width: calc(100% - 30px); }
    .product-page .product-information { width: 100%; }
    .product-page .product-detail,
    #asseteka-cart { grid-template-columns: minmax(0, 1fr); gap: var(--ak-surface-gap); }
    .product-page .product-detail { grid-template-areas: "title" "gallery" "purchase" "information"; grid-template-rows: auto; }
    .product-page .purchase-panel { padding: 0.5rem 0 0; }
    .product-page .product-gallery__empty { min-height: 12rem; }
    .product-page .product-section-card { padding-block: 1.25rem; }
    #asseteka-cart-header { padding-top: 1.5rem; padding-bottom: 1.25rem; }
    #asseteka-cart-header h1 { font-size: 1.75rem; }
    #asseteka-cart .order-summary { position: static; }
    #asseteka-cart .cart-item { grid-template-columns: 6.5rem minmax(0, 1fr); }
    #asseteka-cart-empty { min-height: 18rem; }
}

@media (max-width: 30rem) {
    #asseteka-cart .cart-item { grid-template-columns: 5rem minmax(0, 1fr); }
    #asseteka-cart .cart-item__copy h2 { font-size: 1rem; }
    .mini-cart__header { padding: 0.75rem; }
    .mini-cart__body { padding-inline: 0.75rem; }
    .mini-cart__footer { padding: 0.75rem; }
    .mini-cart__actions { gap: 0.5rem; }
}
