:where(:root) {
    --ecommerce-primary: #0d6efd;
    --ecommerce-primary-focus: rgba(13, 110, 253, 0.25);
    --ecommerce-secondary: #6c757d;
    --ecommerce-success: #198754;
    --ecommerce-danger: #dc3545;
    --ecommerce-info: #0dcaf0;
    --ecommerce-dark: #212529;
    --ecommerce-text: #212529;
    --ecommerce-background: #fff;
    --ecommerce-border: #dee2e6;
    --ecommerce-input-border: #ced4da;
    --ecommerce-disabled-background: #e9ecef;
    --ecommerce-hover-background: rgba(0, 0, 0, 0.075);
    --ecommerce-radius: 0.375rem;
}

/********* state *********/
.ecommerce-hidden { display: none !important; }
.ecommerce-status-primary { color: var(--ecommerce-primary); }
.ecommerce-status-secondary { color: var(--ecommerce-secondary); }
.ecommerce-status-success { color: var(--ecommerce-success); }
.ecommerce-status-danger { color: var(--ecommerce-danger); }
.ecommerce-status-info { color: var(--ecommerce-info); }

/********* button *********/
.ecommerce-btn {
    display: inline-block;
    padding: 0.375rem 0.75rem;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--ecommerce-text);
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: var(--ecommerce-radius);
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
        border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.ecommerce-btn:hover {
    filter: brightness(0.92);
}
.ecommerce-btn:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 0.25rem var(--ecommerce-primary-focus);
}
.ecommerce-btn:disabled {
    pointer-events: none;
    opacity: 0.65;
}
.ecommerce-btn-primary { color: #fff; background-color: var(--ecommerce-primary); border-color: var(--ecommerce-primary); }
.ecommerce-btn-secondary { color: #fff; background-color: var(--ecommerce-secondary); border-color: var(--ecommerce-secondary); }
.ecommerce-btn-success { color: #fff; background-color: var(--ecommerce-success); border-color: var(--ecommerce-success); }
.ecommerce-btn-danger { color: #fff; background-color: var(--ecommerce-danger); border-color: var(--ecommerce-danger); }
.ecommerce-btn-info { color: #000; background-color: var(--ecommerce-info); border-color: var(--ecommerce-info); }
.ecommerce-btn-dark { color: #fff; background-color: var(--ecommerce-dark); border-color: var(--ecommerce-dark); }
.ecommerce-btn-outline-info { color: var(--ecommerce-info); border-color: var(--ecommerce-info); }
.ecommerce-btn-outline-info:hover { color: #000; background-color: var(--ecommerce-info); filter: none; }
.ecommerce-btn-outline-danger { color: var(--ecommerce-danger); border-color: var(--ecommerce-danger); }
.ecommerce-btn-outline-danger:hover { color: #fff; background-color: var(--ecommerce-danger); filter: none; }
.ecommerce-btn-link { color: var(--ecommerce-primary); text-decoration: underline; }
.ecommerce-view-link { color: var(--ecommerce-primary); text-decoration: none; cursor: pointer; }
.ecommerce-btn-close {
    box-sizing: content-box;
    width: 1em;
    height: 1em;
    padding: 0.25em;
    color: #000;
    cursor: pointer;
    background: transparent;
    border: 0;
    opacity: 0.5;
}
.ecommerce-btn-close::before {
    content: "\2715";
}
.ecommerce-btn-close:hover {
    opacity: 0.75;
}

/********* form *********/
.ecommerce-input, .ecommerce-select {
    display: block;
    box-sizing: border-box;
    width: 100%;
    padding: 0.375rem 0.75rem;
    font-family: inherit;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--ecommerce-text);
    background-color: var(--ecommerce-background);
    border: 1px solid var(--ecommerce-input-border);
    border-radius: var(--ecommerce-radius);
    appearance: none;
}
.ecommerce-select {
    padding-right: 2.25rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
}
.ecommerce-input:focus, .ecommerce-select:focus {
    border-color: var(--ecommerce-primary);
    outline: 0;
    box-shadow: 0 0 0 0.25rem var(--ecommerce-primary-focus);
}
.ecommerce-input:disabled, .ecommerce-input[readonly],
.ecommerce-select:disabled {
    background-color: var(--ecommerce-disabled-background);
}
.ecommerce-input.ecommerce-invalid,
.ecommerce-validated .ecommerce-input:invalid,
.ecommerce-validated .ecommerce-select:invalid {
    border-color: var(--ecommerce-danger);
}
.ecommerce-validated .ecommerce-input:valid,
.ecommerce-validated .ecommerce-select:valid {
    border-color: var(--ecommerce-success);
}

/********* card *********/
.ecommerce-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    background-color: var(--ecommerce-background);
    border: 1px solid var(--ecommerce-border);
    border-radius: var(--ecommerce-radius);
}
.ecommerce-card-header {
    padding: 0.5rem 1rem;
    background-color: rgba(0, 0, 0, 0.03);
    border-bottom: 1px solid var(--ecommerce-border);
}
.ecommerce-card-body {
    flex: 1 1 auto;
    padding: 1rem;
}

/********* table *********/
.ecommerce-table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.ecommerce-table {
    width: 100%;
    margin-bottom: 1rem;
    color: var(--ecommerce-text);
    border-collapse: collapse;
}
.ecommerce-table th, .ecommerce-table td {
    padding: 0.5rem;
    vertical-align: middle;
    border-bottom: 1px solid var(--ecommerce-border);
}
.ecommerce-table-bordered th, .ecommerce-table-bordered td {
    border: 1px solid var(--ecommerce-border);
}
.ecommerce-table-hover tbody tr:hover {
    background-color: var(--ecommerce-hover-background);
}

/********* pagination *********/
.ecommerce-pagination {
    margin-top: 1.5rem;
    text-align: center;
}
.ecommerce-pagination > span {
    cursor: pointer;
}
.ecommerce-pagination > .ecommerce-disabled {
    color: var(--ecommerce-secondary);
    cursor: default;
}

/********* tooltip *********/
[data-ecommerce-tooltip] {
    position: relative;
}
[data-ecommerce-tooltip]::after {
    content: attr(data-ecommerce-tooltip);
    position: absolute;
    bottom: calc(100% + 0.375rem);
    left: 50%;
    z-index: 1070;
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    line-height: 1.5;
    white-space: nowrap;
    color: #fff;
    background-color: var(--ecommerce-dark);
    border-radius: var(--ecommerce-radius);
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-50%);
}
[data-ecommerce-tooltip]:hover::after,
[data-ecommerce-tooltip]:focus-visible::after {
    opacity: 1;
    visibility: visible;
}

/********* modal *********/
.ecommerce-modal-open {
    overflow: hidden;
}
.ecommerce-modal {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1055;
    display: none;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    outline: 0;
}
.ecommerce-modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1050;
    width: 100vw;
    height: 100vh;
    background-color: #000;
    opacity: 0.5;
}
.ecommerce-modal-dialog {
    position: relative;
    width: auto;
    margin: 0.5rem;
}
@media (min-width: 576px) {
    .ecommerce-modal-dialog {
        max-width: 500px;
        margin: 1.75rem auto;
    }
}
@media (min-width: 992px) {
    .ecommerce-modal-lg, .ecommerce-modal-xl { max-width: 800px; }
}
@media (min-width: 1200px) {
    .ecommerce-modal-xl { max-width: 1140px; }
}
.ecommerce-modal-content {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    background-color: var(--ecommerce-background);
    border: 1px solid rgba(0, 0, 0, 0.175);
    border-radius: 0.5rem;
    outline: 0;
}
.ecommerce-modal-header, .ecommerce-modal-footer {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    padding: 1rem;
}
.ecommerce-modal-header {
    justify-content: space-between;
    border-bottom: 1px solid var(--ecommerce-border);
}
.ecommerce-modal-footer {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
    border-top: 1px solid var(--ecommerce-border);
}
.ecommerce-modal-title {
    margin-bottom: 0;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.5;
}
.ecommerce-modal-body {
    position: relative;
    flex: 1 1 auto;
    padding: 1rem;
}

/********* icon *********/
.ecommerce-icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: var(--ecommerce-icon) center / contain no-repeat;
    mask: var(--ecommerce-icon) center / contain no-repeat;
}
.ecommerce-icon-chevron-left {
    --ecommerce-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E");
}
.ecommerce-icon-chevron-right {
    --ecommerce-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");
}
.ecommerce-icon-chevrons-left {
    --ecommerce-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m11 17-5-5 5-5M18 17l-5-5 5-5'/%3E%3C/svg%3E");
}
.ecommerce-icon-chevrons-right {
    --ecommerce-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 17 5-5-5-5M13 17l5-5-5-5'/%3E%3C/svg%3E");
}
.ecommerce-icon-plus {
    --ecommerce-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
}
.ecommerce-icon-minus {
    --ecommerce-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");
}
.ecommerce-icon-trash {
    --ecommerce-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5.5h16M9 5.5V2.5h6v3M18 5.5l-1 16H7L6 5.5M10 10v7.5M14 10v7.5'/%3E%3C/svg%3E");
}
.ecommerce-icon-x-circle {
    --ecommerce-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m15 9-6 6M9 9l6 6'/%3E%3C/svg%3E");
}
.ecommerce-icon-warning {
    --ecommerce-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0zM12 9v4M12 17h.01'/%3E%3C/svg%3E");
}
.ecommerce-icon-copy {
    --ecommerce-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='13' height='13' rx='2'/%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'/%3E%3C/svg%3E");
}
.ecommerce-icon-cart {
    --ecommerce-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6'/%3E%3C/svg%3E");
}

/********* autocomplete *********/
.ecommerce-autocomplete-menu {
    position: absolute;
    z-index: 99999;
    margin: 0;
    padding: 4px 0;
    list-style: none;
    max-height: 240px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.ecommerce-autocomplete-menu .ui-menu-item {
    cursor: pointer;
}

.ecommerce-autocomplete-menu .ui-menu-item-wrapper {
    padding: 4px 12px;
}

.ecommerce-autocomplete-menu .ui-menu-item-wrapper.ui-state-active {
    color: #fff;
    background: var(--ecommerce-primary);
}

.address-combobox {
    display: block;
    position: relative;
}

/********* shopping cart *********/
:where(.shopping-cart-checkout-wrapper) {
    box-sizing: border-box;
    width: 100%;
    margin: 1.5rem auto 0;
    padding: 0 0.75rem;
}
@media (min-width: 576px) {
    :where(.shopping-cart-checkout-wrapper) { max-width: 540px; }
}
@media (min-width: 768px) {
    :where(.shopping-cart-checkout-wrapper) { max-width: 720px; }
}
@media (min-width: 992px) {
    :where(.shopping-cart-checkout-wrapper) { max-width: 960px; }
}
@media (min-width: 1200px) {
    :where(.shopping-cart-checkout-wrapper) { max-width: 1140px; }
}
:where(.shopping-cart-checkout) {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
}
:where(.shopping-cart-checkout-title) {
    margin: 0;
    font-size: 1.5rem;
}
:where(.shopping-cart-checkout-empty-text-wrapper) {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    margin: 3rem 0;
    text-align: center;
}
:where(.empty-cart-icon) {
    margin: 0;
    font-size: calc(1.625rem + 4.5vw);
    font-weight: 300;
    line-height: 1.2;
}
:where(.shopping-cart-checkout-checkbox) {
    width: 18px;
    height: 18px;
    margin-bottom: 3.5px;
}
:where(.shopping-cart-product-list) {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
:where(.product-small-image) {
    object-fit: cover;
}
:where(.product-small-image-placeholder) {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    font-size: 1.5rem;
    background-color: var(--ecommerce-disabled-background);
    border-radius: var(--ecommerce-radius);
}
.product-small-image-placeholder {
    color: var(--ecommerce-secondary);
}
.shopping-cart-product-header {
    display: none;
}
:where(.shopping-cart-product + .shopping-cart-product) {
    padding-top: 1rem;
    border-top: 1px solid var(--ecommerce-border);
}
:where(.shopping-cart-product) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.5rem 1.5rem;
    align-items: center;
}
:where(.shopping-cart-product .product-small-details,
    .shopping-cart-product .product-small-price,
    .shopping-cart-product .product-small-quantity) {
    grid-column: 1 / -1;
}
:where(.product-small-details) {
    display: flex;
    align-items: center;
    gap: 1rem;
}
:where(.product-small-info) {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
:where(.product-small-price, .product-small-quantity, .product-small-total) {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
:where(.product-small-label) {
    margin: 0;
}
:where(.product-small-actions) {
    display: flex;
    justify-content: center;
}
:where(.checkout-product-amount-wrapper) {
    display: flex;
    align-items: center;
}
.checkout-product-amount-wrapper .ecommerce-btn {
    color: inherit;
}
.checkout-product-amount-wrapper .ecommerce-btn.ecommerce-hidden {
    display: inline-block !important;
    visibility: hidden;
}
.delete-shopping-cart-product-button {
    display: flex;
    justify-content: center;
    color: var(--ecommerce-danger);
}
:where(.checkout-order-delivery-information-separator) {
    margin: 1.5rem 0;
}
:where(.login-when-checkout-button) {
    cursor: pointer;
    text-decoration: none;
}
:where(.checkout-recipient-contact) {
    display: grid;
    gap: 0.5rem;
    margin: 0.5rem 0;
}
:where(.checkout-delivery-option) {
    margin-top: 1rem;
}
:where(.checkout-delivery-option-toggle) {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
}
:where(.checkout-address-line, .checkout-address-areas) {
    display: grid;
    gap: 0.5rem;
}
:where(.checkout-address-areas) {
    margin-top: 0.5rem;
}
:where(.checkout-store-pickup-body) {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
:where(.shop-branch-address-wrapper) {
    display: flex;
    gap: 0.5rem;
    cursor: pointer;
}
:where(.checkout-delivery-actions) {
    display: grid;
    gap: 0 1.5rem;
}
:where(.change-delivery-information-button-wrapper,
    .agree-with-terms-of-service-checkbox-wrapper) {
    display: flex;
    align-items: center;
}
.change-delivery-information-button {
    margin: 1.5rem 0 0.5rem;
    padding-left: 0;
    padding-right: 0;
    text-decoration: none;
}
:where(.agree-with-terms-of-service-wrapper) {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    height: 100%;
    margin-top: 1rem;
}
:where(.process-to-payment-method-button-wrapper) {
    display: flex;
    justify-content: flex-end;
}
.process-to-payment-method-button {
    display: block;
    width: 100%;
    margin: 1.5rem 0;
}
:where(.bank-accounts-area-separator) {
    margin-top: 1rem;
}
:where(.bank-transfer-header) {
    margin-bottom: 1rem;
}
:where(.bank-transfer-title) {
    font-size: 1.5rem;
}
:where(.checkout-bank-account-name) {
    font-size: 1.25rem;
}
:where(.bank-transfer-qr-value, .checkout-required-mark) {
    color: var(--ecommerce-danger);
}
:where(.checkout-bank-account-list) {
    display: grid;
    gap: 0 1.5rem;
}
:where(.checkout-bank-account-information) {
    display: flex;
    flex-direction: column;
    margin-bottom: 1rem;
}
:where(.checkout-bank-account-qr-code-container) {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 1rem;
}
:where(.download-qr-code-button) {
    text-align: center;
    text-decoration: none;
}
.download-qr-code-button {
    color: var(--ecommerce-dark);
}
:where(.discount-code-feedback) {
    margin-bottom: 0.25rem;
    font-size: 0.875em;
    color: var(--ecommerce-danger);
}
:where(.discount-code-controls) {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.discount-code-button {
    white-space: nowrap;
}
.discount-code-button.ecommerce-btn-outline-info {
    color: #0a8fab;
    border-color: #0a8fab;
}
.discount-code-button.ecommerce-btn-outline-info:hover {
    color: #fff;
    background-color: #0a8fab;
}
:where(.discount-code-notes) {
    margin-top: 0.5rem;
}
:where(.discount-form-separator) {
    margin-top: 1rem;
}
:where(.shopping-cart-checkout-summary) {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
:where(.shopping-cart-checkout-summary-item) {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.checkout-payment-buttons .ecommerce-btn {
    display: block;
    width: 100%;
    margin-top: 1rem;
}
@media (min-width: 768px) {
    :where(.shopping-cart-checkout) {
        grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    }
    :where(.shopping-cart-checkout-title, .shopping-cart-checkout-empty-text-wrapper) {
        grid-column: 1 / -1;
    }
    :where(.checkout-recipient-contact, .checkout-address-line-with-country) {
        grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    }
    :where(.checkout-address-areas) {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    :where(.checkout-delivery-actions, .checkout-bank-account-list) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    :where(.agree-with-terms-of-service-wrapper) {
        margin-top: 0;
    }
    :where(.checkout-bank-account-qr-code-container) {
        padding-bottom: 3rem;
    }
}
@media (min-width: 992px) {
    .shopping-cart-product-header {
        display: grid;
        grid-template-columns: minmax(0, 5fr) minmax(0, 2fr) minmax(0, 2fr) minmax(0, 2fr) minmax(0, 1fr);
        gap: 0.5rem 1.5rem;
        padding-bottom: 0.5rem;
        margin-bottom: 1rem;
        font-weight: 700;
        border-bottom: 1px solid var(--ecommerce-border);
    }
    :where(.shopping-cart-product-header-quantity) {
        text-align: center;
    }
    :where(.shopping-cart-product) {
        grid-template-columns: minmax(0, 5fr) minmax(0, 2fr) minmax(0, 2fr) minmax(0, 2fr) minmax(0, 1fr);
    }
    :where(.shopping-cart-product .product-small-details,
        .shopping-cart-product .product-small-price,
        .shopping-cart-product .product-small-quantity) {
        grid-column: auto;
    }
    :where(.product-small-price, .product-small-quantity, .product-small-total) {
        flex-direction: column;
        justify-content: center;
        align-items: stretch;
    }
    .shopping-cart-product .product-small-label {
        display: none;
    }
    :where(.product-small-quantity .checkout-product-amount-wrapper) {
        justify-content: center;
    }
}
@media (min-width: 1200px) {
    :where(.empty-cart-icon) { font-size: 5rem; }
}

/********* orders *********/
:where(.order-list-table th, .order-list-table td) {
    text-align: center;
}
:where(.order-list-table .order-item-products) {
    text-align: left;
}
:where(.order-item-row) {
    cursor: pointer;
}
:where(.order-product-list) {
    margin: 0;
    padding-left: 1rem;
}
:where(.order-product-list-item-link) {
    text-decoration: none;
}
@media (max-width: 767.98px) {
    .order-list-table thead {
        display: none;
    }
    .order-list-table, .order-list-table tbody, .order-list-table .order-item-row {
        display: block;
        width: 100%;
    }
    .order-list-table .order-item-row {
        padding: 0.75rem 0;
        border-bottom: 1px solid var(--ecommerce-border);
    }
    .order-list-table .order-item-row td {
        display: block;
        padding: 0.25rem 0;
        text-align: left;
        border: 0;
    }
    .order-list-table .order-item-row td::before {
        content: attr(data-label) ": ";
        font-weight: 700;
    }
}
:where(.order-details-content) {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
}
:where(.order-details-order-id-wrapper) {
    grid-column: 1 / -1;
}
:where(.order-details-product-item) {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.5rem 1.5rem;
    margin-bottom: 1rem;
}
:where(.order-details-product-image) {
    display: flex;
    gap: 1rem;
}
:where(.order-details-product-image a) {
    text-decoration: none;
}
:where(.order-details-product-metadata,
    .order-details-product-price,
    .order-details-product-quantity-wrapper-parent,
    .order-details-product-total-amount-money) {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
:where(.order-details-product-quantity-wrapper) {
    display: flex;
}
:where(.order-details-status-wrapper) {
    margin-top: 3rem;
}
:where(.order-details-created-at, .order-details-approved-at) {
    margin-top: 0.5rem;
}
:where(.order-details-summary) {
    display: flex;
    flex-direction: column;
}
:where(.order-used-vouchers, .order-details-delivery-fee, .order-details-total-money) {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
:where(.order-used-vouchers, .order-details-delivery-fee) {
    margin-bottom: 1rem;
}
:where(.order-used-vouchers-codes) {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
:where(.order-detals-buttons) {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 1rem;
}
.order-detals-buttons .ecommerce-btn {
    display: block;
    width: 100%;
}
@media (min-width: 768px) {
    :where(.order-details-content) {
        grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    }
    :where(.order-details-product-item) {
        grid-template-columns: minmax(0, 4fr) minmax(0, 3fr) minmax(0, 5fr);
    }
    :where(.order-details-product-image) {
        grid-column: 1 / -1;
    }
}
@media (min-width: 992px) {
    :where(.order-details-product-item) {
        grid-template-columns: minmax(0, 5fr) minmax(0, 2fr) minmax(0, 2fr) minmax(0, 3fr);
    }
    :where(.order-details-product-image) {
        grid-column: auto;
    }
}

/********* delivery orders *********/
:where(.delivery-order-list-title-wrapper) {
    margin-top: 3rem;
}
:where(.delivery-order-list-table) {
    margin-top: 1rem;
}
:where(.delivery-order-list-table th, .delivery-order-list-table td) {
    text-align: center;
}
:where(.delivery-order-product-list) {
    margin: 0;
}
:where(.delivery-order-product-list a) {
    text-decoration: none;
}
:where(.load-more-delivery-orders-button-wrapper) {
    margin-top: 1.5rem;
    text-align: center;
}
.load-more-delivery-orders-button {
    padding-right: 3rem;
    padding-left: 3rem;
}
:where(.delivery-order-history-item) {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.5rem;
}
:where(.delivery-order-history-item-details) {
    display: flex;
    flex-direction: column;
}
:where(.delivery-order-history-item-shipper, .delivery-order-history-item-shipper-details) {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
:where(.delivery-order-history-item-shipper-phone-number a) {
    text-decoration: none;
}

/********* commission *********/
:where(.commission-summary) {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
}
:where(.commission-yearly-table th, .commission-yearly-table td,
    .commission-monthly-table th, .commission-monthly-table td,
    .commission-history-table th, .commission-history-table td) {
    text-align: center;
}
:where(.commission-view-link) {
    padding-right: 0.25rem;
    color: var(--ecommerce-info);
    cursor: pointer;
}
:where(.commission-history-load-more) {
    display: flex;
    justify-content: center;
}
:where(.commission-history-list-item-order-id) {
    text-decoration: none;
}
@media (min-width: 768px) {
    :where(.commission-summary) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/********* affiliate *********/
:where(.affiliate-header, .voucher-details-header) {
    display: flex;
    flex-direction: column;
    align-items: center;
}
:where(.affiliate-title, .affiliate-list-title, .voucher-details-title) {
    font-size: 1.75rem;
    text-align: center;
}
:where(.voucher-details-code) {
    margin: 0;
    font-size: 1.125rem;
    letter-spacing: 0.05em;
    text-align: center;
    overflow-wrap: anywhere;
}
:where(.affiliate-token-value) {
    max-width: 100%;
    text-align: center;
    overflow-wrap: anywhere;
}
:where(.promotion-codes-wrapper) {
    margin-top: 3rem;
}
:where(.voucher-details-content) {
    margin-top: 1.5rem;
}
:where(.affiliate-token-list-summary, .voucher-list-summary, .voucher-usage-list-summary) {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: 0.5rem;
}
:where(.affiliate-tokens-table, .vouchers-table, .voucher-usage-list-table) {
    margin-top: 1rem;
}
:where(.affiliate-tokens-table th, .affiliate-tokens-table td,
    .vouchers-table th, .vouchers-table td,
    .voucher-usage-list-table th, .voucher-usage-list-table td) {
    text-align: center;
}
:where(.affiliate-tokens-table a, .vouchers-table a) {
    text-decoration: none;
}
:where(.create-affiliate-token-form) {
    margin-top: 3rem;
}
:where(.create-affiliate-token-field, .create-affiliate-token-actions) {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.5rem 1.5rem;
}
:where(.create-affiliate-token-field) {
    margin-bottom: 1rem;
}
:where(.create-affiliate-token-label) {
    padding-top: calc(0.375rem + 1px);
}
:where(.create-affiliate-token-error) {
    display: block;
    padding: calc(0.375rem + 1px) 0;
    color: var(--ecommerce-danger);
}
:where(.created-affiliate-token-link-wrapper) {
    margin-top: 0.5rem;
    word-break: break-word;
    cursor: pointer;
}
:where(.created-affiliate-token-link-copy) {
    color: var(--ecommerce-dark);
}
@media (min-width: 768px) {
    :where(.affiliate-token-list-summary, .voucher-list-summary, .voucher-usage-list-summary) {
        margin-top: 0;
    }
    :where(.create-affiliate-token-field, .create-affiliate-token-actions) {
        grid-template-columns: minmax(0, 1fr) minmax(0, 5fr);
    }
    :where(.create-affiliate-token-actions > *) {
        grid-column: 2;
        justify-self: start;
    }
}

/********* payment error *********/
:where(.payment-error-page) {
    display: flex;
    justify-content: center;
    padding: 4rem 1rem;
    min-height: 50vh;
}
:where(.payment-error-page .error-page) {
    max-width: 600px;
    text-align: center;
}
:where(.payment-error-page .error-title) {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
}
:where(.payment-error-page .error-title .ecommerce-icon) {
    color: var(--ecommerce-danger);
}
