@import url('https://cdn.jsdelivr.net/npm/swiper@10/swiper-bundle.min.css');

:root {
    --theme-font-sans: 'Manrope', 'Helvetica Neue', sans-serif;
    --theme-color-bg: #f5f6f8;
    --theme-color-surface: #ffffff;
    --theme-color-surface-muted: #eef1f4;
    --theme-color-text: #010717;
    --theme-color-text-muted: #323232;
    --theme-color-text-soft: #6b7280;
    --theme-color-border: #e5e7eb;
    --theme-color-border-strong: #d1d5db;
    --theme-color-accent: #ff0042;
    --theme-color-accent-strong: #d10036;
    --theme-color-accent-soft: #fff0f4;
    --theme-color-danger: #b42318;
    --theme-color-danger-soft: #fff5f5;
    --theme-color-warning: #92400e;
    --theme-color-warning-soft: #fffbeb;
    --theme-color-info: #1d4ed8;
    --theme-color-info-soft: #eff6ff;
    --theme-color-dark: #111827;
    --theme-color-dark-strong: #010717;
    --theme-color-dark-muted: #d1d5db;
    --theme-space-1: 0.25rem;
    --theme-space-2: 0.5rem;
    --theme-space-3: 0.75rem;
    --theme-space-4: 1rem;
    --theme-space-5: 1.25rem;
    --theme-space-6: 1.5rem;
    --theme-space-7: 1.75rem;
    --theme-space-8: 2rem;
    --theme-space-10: 2.5rem;
    --theme-container-page: 68rem;
    --theme-container-wide: 72rem;
    --theme-container-max: 96rem;
    --theme-control-height: 3rem;
    --theme-control-height-sm: 2.25rem;
    --theme-transition-fast: 0.2s ease;
    font-family: var(--theme-font-sans);
    font-size: 16px;
    color: var(--theme-color-text);
}

*, *::before, *::after {
    box-sizing: border-box;
}

body {
    background-color: var(--theme-color-bg);
    color: var(--theme-color-text);
    font-size: 16px;
    line-height: 1.6;
    margin: 0;
}

body,
button,
input,
textarea,
select {
    font-family: var(--theme-font-sans);
}

.store-toast-container {
    position: fixed;
    top: 1rem;
    right: 1rem;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    width: min(24rem, calc(100vw - 2rem));
    pointer-events: none;
}

.store-toast {
    padding: 0.95rem 1rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 1rem;
    background: #111827;
    color: #ffffff;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.18);
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.45;
    opacity: 0;
    transform: translateY(-0.5rem);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.store-toast.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.store-toast-error {
    background: #111827;
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.08);
}

.store-toast-success {
    background: #065f46;
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.12);
}

.store-toast-info {
    background: #1d4ed8;
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.12);
}

body.store-dialog-open {
    overflow: hidden;
}

.store-dialog-backdrop {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(1, 7, 23, 0.48);
}

.store-dialog-backdrop.is-visible {
    display: flex;
}

.store-dialog {
    width: min(30rem, calc(100vw - 2rem));
    border-radius: 1.25rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: #ffffff;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.22);
    overflow: hidden;
}

.store-dialog-body {
    padding: 1.5rem;
}

.store-dialog-title {
    margin: 0 0 0.65rem;
    color: var(--theme-color-text);
    font-size: 1.1rem;
    font-weight: 800;
    line-height: 1.3;
}

.store-dialog-message {
    margin: 0;
    color: var(--theme-color-text-muted);
    line-height: 1.6;
}

.cart-edit-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 100010;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    background: rgba(1, 7, 23, 0.58);
}

.cart-edit-modal-backdrop.is-visible {
    display: flex;
}

.cart-edit-modal {
    width: min(46rem, calc(100vw - 2rem));
    max-height: calc(100vh - 2rem);
    overflow: auto;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: #ffffff;
    box-shadow: 0 28px 70px rgba(15, 23, 42, 0.24);
}

.cart-edit-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.1rem 1.25rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.cart-edit-modal-title {
    margin: 0;
    color: #0f172a;
    font-size: 1.1rem;
    font-weight: 800;
    line-height: 1.3;
}

.cart-edit-modal-close {
    border: 0;
    background: transparent;
    color: #475569;
    font-size: 1.8rem;
    line-height: 1;
    cursor: pointer;
}

.cart-edit-modal-body {
    padding: 0.65rem 0;
}

.cart-edit-modal-error {
    margin: 1rem 1.25rem 0;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(180, 35, 24, 0.18);
    background: #fff5f4;
    color: #b42318;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.45;
}

.cart-edit-modal-body #ModalTitle {
    display: none;
}

.cart-edit-inline-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.1rem 1.25rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.cart-edit-inline-title {
    margin: 0;
    color: #0f172a;
    font-size: 1.1rem;
    font-weight: 800;
    line-height: 1.3;
}

.cart-edit-inline-close {
    border: 0;
    background: transparent;
    color: #475569;
    font-size: 1.8rem;
    line-height: 1;
    cursor: pointer;
}

.cart-edit-modal-body #ModalContent {
    padding: 1.25rem;
}

.cart-edit-modal-body #CartGiftWrappingForm,
.cart-edit-modal-body #CartEditProductFieldsForm {
    padding: 0.5rem 1.25rem 1.25rem;
}

.cart-edit-modal {
    z-index: 100010;
}

.pika-single {
    z-index: 100100 !important;
}

.cart-edit-modal-body form {
    padding: 0;
}

.cart-edit-modal-body #ModalButtonRow {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1rem 1.25rem 1.25rem;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
}

.cart-edit-modal-body .ProductFields,
.cart-edit-modal-body .productAttributeList {
    margin: 0;
}

@media (max-width: 640px) {
    .cart-edit-modal-backdrop {
        padding: 0.75rem;
    }

    .cart-edit-modal {
        width: calc(100vw - 1.5rem);
        max-height: calc(100vh - 1.5rem);
    }

    .cart-edit-modal-body #ModalButtonRow {
        flex-direction: column;
        align-items: stretch;
    }
}

.store-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    padding: 1rem 1.5rem 1.5rem;
}

.store-dialog-cancel,
.store-dialog-confirm {
    min-height: 2.75rem;
    padding: 0 1rem;
    border-radius: 999px;
    font-weight: 800;
    cursor: pointer;
}

.store-dialog-cancel {
    border: 1px solid var(--theme-color-border-strong);
    background: #ffffff;
    color: var(--theme-color-text);
}

.store-dialog-confirm {
    border: 1px solid transparent;
    background: var(--theme-color-accent);
    color: #ffffff;
}

.store-dialog-confirm:hover {
    background: var(--theme-color-accent-strong);
}

@media (max-width: 767px) {
    .store-dialog-actions {
        flex-direction: column-reverse;
    }

    .store-dialog-cancel,
    .store-dialog-confirm {
        width: 100%;
    }
}

.top-menu-shell {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: #000000;
}

.top-menu-bar,
.header-inner,
.page-menu-inner {
    width: 100%;
    max-width: var(--theme-container-max);
    margin: 0 auto;
}

.top-menu-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
}

.top-menu-left,
.top-menu-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.top-menu-toggle,
.top-menu-chat-button,
.top-menu-cart-link,
.top-menu-account-button,
.top-menu-pill,
.top-menu-link {
    transition: background-color var(--theme-transition-fast), border-color var(--theme-transition-fast), color var(--theme-transition-fast);
}

.top-menu-toggle,
.top-menu-chat-button,
.top-menu-cart-link,
.top-menu-account-button,
.top-menu-pill,
.top-menu-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.5rem;
    padding: 0 1rem;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff !important;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 700;
}

.top-menu-link,
.top-menu-pill {
    background: rgba(255, 255, 255, 0.1);
}

.top-menu-toggle:hover,
.top-menu-chat-button:hover,
.top-menu-cart-link:hover,
.top-menu-account-button:hover,
.top-menu-pill:hover,
.top-menu-link:hover {
    border-color: var(--theme-color-accent);
    background: var(--theme-color-accent);
    color: #ffffff !important;
}

.top-menu-account {
    position: relative;
    display: none;
}

.top-menu-dropdown {
    left: 0;
    top: 100%;
    margin-top: 0.5rem;
    min-width: 14rem;
    padding: 0.5rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
}

.top-menu-links {
    display: none;
}

.top-menu-mobile-links {
    display: block;
}

.header-shell {
    background: #ffffff;
}

.header-inner {
    padding: 1.5rem 1rem;
}

.header-grid {
    display: grid;
    align-items: center;
    gap: 1.25rem;
}

.header-logo img,
.header-logo svg {
    display: block;
    width: 100%;
    height: auto;
}

.header-social-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
}

.header-social-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid rgba(15, 23, 42, 0.12);
    background: #ffffff;
    color: var(--theme-color-text) !important;
}

.header-social-links a:hover {
    border-color: var(--theme-color-accent);
    background: var(--theme-color-accent);
    color: #ffffff !important;
}

.header-search {
    width: 100%;
    margin-left: auto;
    max-width: 34rem;
}

.header-search-form {
    position: relative;
}

.header-search-inner {
    position: relative;
    display: flex;
    align-items: center;
}

.header-search-icon {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--theme-color-text-soft);
}

.header-search-input {
    width: 100%;
    min-height: var(--theme-control-height);
    padding: 0 7rem 0 3rem;
    border: 1px solid rgba(15, 23, 42, 0.14);
    background: #ffffff;
    color: var(--theme-color-text);
    border-radius: 999px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
    font-size: 0.95rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    outline: none;
}

.header-search-input:focus {
    border-color: rgba(255, 0, 66, 0.45);
    box-shadow: 0 0 0 4px rgba(255, 0, 66, 0.1), 0 10px 28px rgba(15, 23, 42, 0.12);
}

.header-search-button {
    position: absolute;
    right: 0.375rem;
    top: 50%;
    transform: translateY(-50%);
    min-height: var(--theme-control-height-sm);
    min-width: 6.5rem;
    border: 0;
    background: #000000;
    color: #ffffff;
    font-weight: 800;
    letter-spacing: 0.02em;
    border-radius: 999px;
    padding: 0 1rem;
    text-align: center;
}

.header-search-button:hover {
    background: #111111;
}

.header-search-input::placeholder {
    color: rgba(15, 23, 42, 0.5);
}

.header-search-icon {
    color: rgba(15, 23, 42, 0.5);
}

.page-menu-shell {
    position: relative;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: #000000;
}

a {
    color: var(--theme-color-accent);
    transition: color var(--theme-transition-fast);
}

a:hover {
    color: var(--theme-color-accent-strong);
    text-decoration: none;
}

.TopMenu button svg,
.TopMenu a svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 1rem;
}

.TopMenu #ToggleMenu svg,
.TopMenu [data-toggle="wa-chat"] svg {
    width: 1.25rem;
    height: 1.25rem;
    flex-basis: 1.25rem;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

table {
    width: 100%;
    border-collapse: collapse;
}

.btn, button, input[type='submit'] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--theme-control-height);
    padding: 0.75rem 1.5rem;
    font-weight: 600;
    border: 1px solid transparent;
    background: var(--theme-color-text);
    color: var(--theme-color-surface);
    cursor: pointer;
    transition: background-color var(--theme-transition-fast), border-color var(--theme-transition-fast), color var(--theme-transition-fast);
}

.btn-primary {
    background-color: var(--theme-color-accent);
    color: var(--theme-color-surface);
}

.btn-primary:hover {
    background-color: var(--theme-color-accent-strong);
}

input[type='text'],
input[type='email'],
input[type='password'],
input[type='tel'],
input[type='search'],
input[type='number'],
input[type='url'],
input[type='date'],
select,
textarea {
    width: 100%;
    min-height: var(--theme-control-height);
    padding: 0.75rem 0.9rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
    color: var(--theme-color-text-muted);
}

textarea {
    min-height: 8rem;
    resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
    outline: none;
    border-color: var(--theme-color-border-strong);
}

table,
.ComparisonTable,
.CartContents,
.General {
    width: 100%;
    border-collapse: collapse;
    background: var(--theme-color-surface);
}

th,
td {
    border-color: var(--theme-color-border);
}

.breadcrumb-shell {
    width: min(100% - 2rem, var(--theme-container-max));
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.page-shell .page-container,
.search-page-wrap,
.category-page-wrap {
    width: calc(100% - 2rem);
    max-width: none;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.account-page-wrap,
.wishlist-page-container {
    width: min(100% - 2rem, var(--theme-container-page));
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.page-card,
.product-page-card,
.category-page-card,
.search-page-card,
.search-results-card,
.account-main-card,
.checkout-express-step,
.compare-table-shell,
.contact-hero-card,
.contact-form-card,
.contact-info-card,
.contact-map-card,
.wishlist-main-card {
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
}

.page-card-body,
.search-page-card,
.search-results-card,
.account-main-card,
.contact-hero-card,
.contact-form-card,
.contact-info-card,
.contact-map-card,
.wishlist-main-card {
    padding: var(--theme-space-7);
}

.clear {
    clear: both;
}

.txt-center { text-align: center !important; }
.txt-left { text-align: left !important; }
.txt-right { text-align: right !important; }

.wrapMegaMenu {
    width: 100%;
}

.innerMegamenu ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.innerMegamenu li + li {
    margin-top: 0.5rem;
}

.hero-slide-title {
    letter-spacing: 0.2em;
}

.BulkDiscount {
    display: block;
}

.drawer-menu {
    background: #fff;
}

@media (max-width: 640px) {
    body {
        font-size: 16px;
    }
}

@media (min-width: 1024px) {
    .top-menu-toggle {
        display: none;
    }

    .top-menu-account {
        display: block;
    }

    .top-menu-links {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
    }

    .top-menu-mobile-links {
        display: none;
    }

    .header-inner {
        padding-top: 1.75rem;
        padding-bottom: 1.75rem;
    }

    .header-grid {
        grid-template-columns: 1fr auto 1fr;
    }

    .header-social-column {
        order: 1;
        justify-content: flex-start;
    }

    .header-logo-column {
        order: 2;
    }

    .header-search-column {
        order: 3;
        justify-content: flex-end;
    }
}

@media (max-width: 1023px) {
    .top-menu-account,
    .page-menu-shell {
        display: none !important;
    }

    .header-grid {
        grid-template-columns: 1fr;
    }

    .header-logo-column {
        order: 1;
    }

    .header-social-column {
        order: 2;
        justify-content: center;
    }

    .header-search-column {
        order: 3;
        justify-content: center;
    }
}

#whatsapp {
    z-index: 1000;
}

.wa-widget {
    font-family: inherit;
}

#whatsapp.wa-widget {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    width: min(24rem, calc(100vw - 2rem));
    max-width: calc(100vw - 2rem);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(16px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
    z-index: 1100;
}

#whatsapp.wa-widget.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.wa-widget-close {
    position: absolute;
    top: 0.85rem;
    right: 0.85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border: 0;
    background: rgba(255, 255, 255, 0.18);
    color: #ffffff;
    font-size: 1.6rem;
    line-height: 1;
    cursor: pointer;
    z-index: 2;
    transition: background 0.2s ease, transform 0.2s ease;
}

.wa-widget-close:hover {
    background: rgba(255, 255, 255, 0.28);
    transform: scale(1.03);
}

.wa-widget-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s ease, visibility 0.25s ease;
    z-index: 1090;
}

.wa-widget-backdrop.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.wa-widget .chat-box,
.wa-widget .chat-container,
.wa-widget .chat-window,
.wa-widget .window,
.wa-widget [class*="chat-window"] {
    overflow: hidden;
    border: 1px solid #e2e8f0;
    background: #ffffff;
}

.wa-widget .chat-box,
.wa-widget .chat-container,
.wa-widget .chat-window,
.wa-widget .window,
.wa-widget [class*="chat-window"],
.wa-widget [class*="chat-box"] {
    width: 100% !important;
    max-width: 100% !important;
}

.wa-widget .chat-header,
.wa-widget [class*="chat-header"] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 1rem 1.1rem;
    background: linear-gradient(135deg, #065f46, #0f766e);
    color: #ffffff;
}

.wa-widget .chat-header h4,
.wa-widget .chat-header p,
.wa-widget [class*="chat-header"] h4,
.wa-widget [class*="chat-header"] p {
    margin: 0;
    color: #ffffff;
}

.wa-widget .chat-header h4,
.wa-widget [class*="chat-header"] h4 {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
}

.wa-widget .chat-header p,
.wa-widget [class*="chat-header"] p {
    font-size: 0.85rem;
    opacity: 0.9;
}

.wa-widget .chat-admin-picture,
.wa-widget [class*="admin-picture"] {
    flex: 0 0 auto;
}

.wa-widget .chat-admin-picture img,
.wa-widget [class*="admin-picture"] img {
    display: block;
    width: 3rem !important;
    height: 3rem !important;
    min-width: 3rem !important;
    min-height: 3rem !important;
    object-fit: cover;
    border: 2px solid rgba(255, 255, 255, 0.35);
}

.wa-widget .chat-body,
.wa-widget [class*="chat-body"],
.wa-widget [class*="chat-content"] {
    padding: 1rem 1.1rem 0.75rem;
    background: #ffffff;
}

.wa-widget .chat-message,
.wa-widget [class*="message-text"],
.wa-widget [class*="chat-message"] {
    font-size: 0.95rem;
    line-height: 1.55;
    color: #334155;
}

.wa-widget .chat-form,
.wa-widget [class*="chat-form"] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.9rem 1.1rem 1.1rem;
    background: #ffffff;
    border-top: 1px solid #e2e8f0;
}

.wa-widget input,
.wa-widget textarea,
.wa-widget select,
.wa-widget [class*="chat-form"] input,
.wa-widget [class*="chat-form"] textarea {
    width: 100%;
    margin: 0 !important;
    padding: 0.85rem 1rem !important;
    border: 1px solid #cbd5e1 !important;
    background: #f8fafc !important;
    color: #0f172a !important;
    font-size: 0.95rem !important;
    line-height: 1.4 !important;
}

.wa-widget input:focus,
.wa-widget textarea:focus,
.wa-widget select:focus,
.wa-widget [class*="chat-form"] input:focus,
.wa-widget [class*="chat-form"] textarea:focus {
    border-color: #059669 !important;
    outline: none !important;
}

.wa-widget textarea,
.wa-widget [class*="chat-form"] textarea {
    min-height: 8rem;
    resize: vertical;
}

.wa-widget .chat-form .chat-send,
.wa-widget button[type="submit"],
.wa-widget input[type="submit"],
.wa-widget [class*="chat-send"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 0 !important;
    padding: 0.9rem 1rem !important;
    border: 0 !important;
    background: #0f172a !important;
    color: #ffffff !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.2s ease;
}

.wa-widget .chat-form .chat-send:hover,
.wa-widget button[type="submit"]:hover,
.wa-widget input[type="submit"]:hover,
.wa-widget [class*="chat-send"]:hover {
    background: #111827 !important;
}

.wa-widget-toggle {
    display: none !important;
}

@media (max-width: 640px) {
    #whatsapp.wa-widget {
        right: 0.75rem;
        left: 0.75rem;
        bottom: 0.75rem;
        width: auto;
        max-width: none;
    }
}

.gg-chevron-down {
    box-sizing: border-box;
    position: relative;
    display: block;
    transform: scale(var(--ggs, 1));
    width: 22px;
    height: 22px;
    border: 2px solid transparent;
}

.gg-chevron-down::after {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
    width: 10px;
    height: 10px;
    border-bottom: 2px solid;
    border-right: 2px solid;
    transform: rotate(45deg);
    left: 4px;
    top: 2px;
}


.PageMenu .HL-HasMegamenu.is-open > .Wrapper-Megamenu,
.PageMenu .CategoryList li.is-open > ul,
.PageMenu .CategoryList li.is-open > .Wrapper-Megamenu {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    transform: translateY(0);
    display: flex;
}

body, button, input, textarea, select {
    font-weight: 400;
    line-height: 1.6;
}

.Block, .BlockContent, .BlockTitle {
    background: #fff;
    padding: 1.5rem;
}

.BlockTitle h3 {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin-bottom: 0.5rem;
}

.feature-block-card {
    background: #fff;
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.feature-block-card h4 {
    font-size: 1.125rem;
    margin: 0;
}
.page, .BlockContent {
    font-size: clamp(0.95rem, 1vw + 0.5rem, 1.05rem);
}

.button, .btn, .ProductActionAdd .btn,
.feature-product-card .detail span {
    font-family: 'Inter', 'Roboto', sans-serif;
}

.feature-product-owl {
    position: relative;
    overflow: hidden;
}

.featured-products-panel {
    width: min(100%, 96rem);
    margin: 0 auto;
    padding: 0 1.5rem;
    overflow: hidden;
}

.featured-products-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 0 0 2rem;
}

.featured-products-copy {
    max-width: 42rem;
}

.featured-products-eyebrow {
    margin: 0 0 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--theme-color-accent);
}

.featured-products-header h2,
.featured-products-header h3 {
    margin: 0;
    font-size: clamp(2rem, 3.2vw, 3rem);
    line-height: 1;
    color: #111111;
}

.featured-products-intro {
    max-width: 38rem;
    margin: 0.95rem 0 0;
    font-size: 1rem;
    line-height: 1.75;
    color: #52525b;
}

.featured-products-actions {
    flex: 0 0 auto;
}

.featured-products-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: 0 1.25rem;
    border: 1px solid #d4d4d8;
    background: #ffffff;
    color: #111111 !important;
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
}

.featured-products-body {
    position: relative;
    border: 1px solid #e5e7eb;
    background: #ffffff;
    padding: 1.5rem;
}

.feature-product-owl .ProductImage {
    width: 100%;
}

.feature-product-owl .ProductDetails,
.feature-product-owl .p-name,
.feature-product-owl .ProductActionAdd .btn {
    font-weight: 600;
}

.feature-product-card {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    height: 100%;
    padding: 1rem;
    border: 1px solid #e5e7eb;
    background: #fff;
    overflow: hidden;
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.feature-product-card:hover {
    transform: translateY(-2px);
    border-color: var(--theme-color-border-strong);
}

.feature-product-card img {
}

.feature-product-media {
    position: relative;
    overflow: hidden;
    background: #f4f4f5;
    aspect-ratio: 4 / 5;
}

.feature-product-overlay {
    position: absolute;
    inset: auto 0 0 0;
    display: flex;
    justify-content: center;
    padding: 0.9rem;
    background: linear-gradient(180deg, transparent 0%, rgba(17, 17, 17, 0.22) 100%);
}

.feature-product-wishlist {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
}

.feature-product-wishlist a {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 2rem;
    padding: 0 0.75rem;
    background: rgba(255, 255, 255, 0.92);
    color: #111111 !important;
    font-size: 0.75rem;
    font-weight: 700;
}

.feature-product-wishlist svg {
    flex: 0 0 1rem;
}

.feature-product-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 0.9rem;
}

.feature-product-kicker {
    margin: 0;
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--theme-color-accent);
}

.feature-product-meta {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.home-hero-shell {
    width: 100%;
    max-width: 100vw;
    padding: 0 0 3rem;
    background: #ffffff;
    overflow: hidden;
}

.home-main-flow {
    display: grid;
    gap: 4.5rem;
}

.hero-swiper {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
}

.hero-slide-card {
    position: relative;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: clamp(31rem, 72vw, 44rem);
    display: flex;
    align-items: center;
    overflow: hidden;
}

.hero-slide-media,
.hero-slide-media img,
.hero-slide-overlay {
    position: absolute;
    inset: 0;
}

.hero-slide-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-slide-overlay {
    background:
        linear-gradient(90deg, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0.5) 34%, rgba(0, 0, 0, 0.18) 62%, rgba(0, 0, 0, 0.08) 100%);
}

.hero-slide-content {
    position: relative;
    z-index: 2;
    width: min(100%, 36rem);
    max-width: calc(100% - 3rem);
    min-width: 0;
    margin-left: clamp(1.5rem, 6vw, 6rem);
    margin-right: 1.5rem;
    padding: clamp(2rem, 5vw, 3.5rem) 0 clamp(3rem, 7vw, 4.5rem);
    color: #ffffff;
    display: grid;
    gap: 1.25rem;
}

.hero-slide-kicker {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.74);
}

.hero-slide-title {
    margin: 0;
    font-size: clamp(2.75rem, 6vw, 5.5rem);
    line-height: 0.95;
    font-weight: 800;
    letter-spacing: -0.04em;
    text-transform: none;
    color: #ffffff;
}

.hero-slide-copy {
    max-width: 32rem;
    width: 100%;
    margin: 0;
    font-size: clamp(1rem, 1.5vw, 1.125rem);
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.88);
}

.hero-slide-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.875rem;
    padding-top: 0.5rem;
}

.home-hero-cta,
.home-hero-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.5rem;
    padding: 0 1.6rem;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}

.home-hero-cta {
    background: #ffffff;
    color: #111111 !important;
}

.home-hero-secondary {
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.28);
}

.home-hero-cta:hover,
.home-hero-cta:focus {
    background: #f4f4f5;
    color: #111111 !important;
}

.home-hero-secondary:hover,
.home-hero-secondary:focus {
    background: rgba(255, 255, 255, 0.18);
    color: #ffffff !important;
}

.hero-swiper .swiper-button-prev,
.hero-swiper .swiper-button-next {
    width: 3.5rem;
    height: 3.5rem;
    color: #ffffff;
    background: rgba(17, 17, 17, 0.56);
    border: 1px solid rgba(255, 255, 255, 0.18);
}

.hero-swiper .swiper-button-prev {
    left: 1.5rem;
}

.hero-swiper .swiper-button-next {
    right: 1.5rem;
}

.hero-swiper .swiper-button-prev::after,
.hero-swiper .swiper-button-next::after {
    font-size: 1rem;
    font-weight: 700;
}

.hero-swiper .swiper-pagination {
    bottom: 1.75rem;
}

.hero-swiper .swiper-pagination-bullet {
    width: 0.7rem;
    height: 0.7rem;
    opacity: 1;
    background: rgba(255, 255, 255, 0.35);
}

.hero-swiper .swiper-pagination-bullet-active {
    background: #ffffff;
}

.home-hero-feature-grid,
.home-content-shell {
    width: min(100%, 96rem);
    margin: 0 auto;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.home-hero-feature-grid {
    margin-top: 1.5rem;
    position: relative;
    z-index: 3;
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home-hero-feature-card {
    padding: 1.75rem;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    display: grid;
    gap: 0.8rem;
}

.home-hero-feature-card h3,
.home-hero-feature-card p {
    margin: 0;
}

.home-hero-feature-card h3 {
    font-size: 1.2rem;
    line-height: 1.2;
    font-weight: 800;
    color: #111111;
}

.home-hero-feature-card p {
    color: #52525b;
    line-height: 1.7;
}

.home-hero-feature-kicker {
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--theme-color-accent);
}

.home-hero-feature-card-quote {
    background: #111111;
    border-color: #111111;
}

.home-hero-feature-card-quote .home-hero-feature-kicker,
.home-hero-feature-card-quote p,
.home-hero-feature-card-quote h3 {
    color: #ffffff;
}

.home-hero-quote {
    font-size: 1.1rem;
    line-height: 1.8;
}

.home-content-shell {
    padding-top: 0;
}

.home-content-flow,
.home-panel-flow {
    display: grid;
}

.home-content-flow {
    gap: 2.75rem;
}

.home-panel-flow {
    gap: 2.5rem;
}

@media (max-width: 991px) {
    .home-main-flow {
        gap: 3.75rem;
    }

    .hero-slide-card {
        min-height: 34rem;
    }

    .hero-slide-content {
        width: min(100%, 32rem);
        margin-left: 1.5rem;
        margin-right: 1.5rem;
        padding-bottom: 3.75rem;
    }

    .home-hero-feature-grid {
        grid-template-columns: 1fr;
        margin-top: 1.5rem;
    }
}

@media (max-width: 767px) {
    .home-hero-shell {
        padding-bottom: 2rem;
    }

    .home-main-flow {
        gap: 3rem;
    }

    .hero-slide-card {
        min-height: 31rem;
    }

    .hero-slide-overlay {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.22) 0%, rgba(0, 0, 0, 0.72) 100%);
    }

    .hero-slide-content {
        width: auto;
        margin: auto 1.25rem 0;
        padding: 5rem 0 3rem;
        gap: 1rem;
    }

    .hero-slide-actions {
        flex-direction: column;
    }

    .home-hero-cta,
    .home-hero-secondary {
        width: 100%;
    }

    .hero-swiper .swiper-button-prev,
    .hero-swiper .swiper-button-next {
        display: none;
    }

    .home-hero-feature-grid,
    .home-content-shell {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .home-hero-feature-card {
        padding: 1.4rem;
    }
}

.home-support-strip,
.newsletter-card {
    width: min(100%, 96rem);
    margin: 0 auto;
    padding: 0 1.5rem;
}

.home-support-strip-inner,
.newsletter-card-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    border: 1px solid #e5e7eb;
    background: #ffffff;
    padding: 1.75rem;
}

.home-support-copy,
.newsletter-copy {
    flex: 1 1 auto;
    max-width: 42rem;
}

.newsletter-copy {
    text-align: left;
    margin-bottom: 0;
}

.home-support-kicker,
.newsletter-eyebrow {
    margin: 0 0 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--theme-color-accent);
}

.home-support-title,
.newsletter-title {
    margin: 0;
    font-size: clamp(2rem, 3.2vw, 3rem);
    line-height: 1;
    color: #111111;
}

.home-support-text,
.newsletter-text {
    margin: 0.85rem 0 0;
    max-width: 38rem;
    font-size: 1rem;
    line-height: 1.7;
    color: #52525b;
}

.home-support-action {
    flex: 0 0 auto;
}

.home-support-action > div,
.home-support-action > a,
.home-support-action button,
.home-support-action input[type="button"],
.home-support-action input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.25rem;
    padding: 0 1.35rem;
    background: #111111;
    color: #ffffff !important;
    font-size: 0.92rem;
    font-weight: 700;
    text-decoration: none;
}

.newsletter-form {
    margin: 0;
    flex: 0 0 min(100%, 30rem);
}

.newsletter-label {
    display: block;
    margin: 0 0 0.65rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: #334155;
}

.newsletter-form-row {
    position: relative;
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.newsletter-input {
    width: 100%;
    min-height: 3.5rem;
    border: 1px solid #cbd5e1;
    background: #fff;
    padding: 0 1.25rem;
    font-size: 1rem;
    color: #0f172a;
}

.newsletter-input::placeholder {
    color: #94a3b8;
}

.newsletter-submit {
    flex: 0 0 auto;
    min-height: 3.5rem;
    border: 0;
    background: var(--theme-color-accent);
    color: #fff;
    padding: 0 1.5rem;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: none;
}

.newsletter-submit:hover,
.newsletter-submit:focus {
    background: var(--theme-color-accent-strong);
    color: #fff;
}

.instagram-feed {
    width: min(100%, 96rem);
    margin: 0 auto;
    padding: 0 1.5rem 3.5rem;
}

.instagram-feed-shell {
    display: grid;
    gap: 2rem;
}

.instagram-feed-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1.5rem;
}

.instagram-feed-copy {
    max-width: 42rem;
}

.instagram-feed-kicker {
    margin: 0 0 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--theme-color-accent);
}

.instagram-feed-title {
    margin: 0;
    font-size: clamp(2rem, 3.2vw, 3rem);
    line-height: 1;
    color: #111111;
}

.instagram-feed-text {
    margin: 0.95rem 0 0;
    max-width: 38rem;
    font-size: 1rem;
    line-height: 1.75;
    color: #52525b;
}

.instagram-feed-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: 0 1.25rem;
    border: 1px solid #d4d4d8;
    background: #ffffff;
    color: #111111 !important;
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
}

.instagram-feed-frame {
    border: 1px solid #e5e7eb;
    background: #ffffff;
    padding: 1.5rem;
}

.instagram-feed-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
    color: #111111;
    font-size: 0.95rem;
    font-weight: 700;
}

.instagram-section-logo {
    display: block;
    width: 2rem;
    max-width: 100%;
    height: auto;
}

.instagram-feed-embed {
    border: 0;
}

.instagram-feed-placeholder-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.instagram-placeholder-card {
    display: grid;
    gap: 0.85rem;
}

.instagram-placeholder-image {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    display: block;
    background: #f4f4f5;
}

.instagram-placeholder-copy {
    display: grid;
    gap: 0.45rem;
}

.instagram-placeholder-label {
    margin: 0;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--theme-color-accent);
}

.instagram-placeholder-text {
    margin: 0;
    color: #3f3f46;
    line-height: 1.7;
}

.BulkDiscount {
    display: block;
}

@media (max-width: 767px) {
    .home-support-strip,
    .newsletter-card {
        padding: 0 1rem;
    }

    .home-support-strip-inner,
    .newsletter-card-inner {
        flex-direction: column;
        align-items: flex-start;
        padding: 1.5rem 1.25rem;
    }

    .home-support-title,
    .newsletter-title {
        font-size: 1.45rem;
    }

    .home-support-action,
    .newsletter-form {
        width: 100%;
    }

    .home-support-action > div,
    .home-support-action > a,
    .home-support-action button,
    .home-support-action input[type="button"],
    .home-support-action input[type="submit"] {
        width: 100%;
    }

    .newsletter-form-row {
        flex-direction: column;
        align-items: stretch;
    }

    .newsletter-submit {
        width: 100%;
    }

    .instagram-feed {
        padding: 0 1rem 2.5rem;
    }

    .instagram-feed-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .instagram-feed-frame {
        padding: 1rem;
    }

    .instagram-feed-placeholder-grid {
        grid-template-columns: 1fr;
    }
}

/* Legacy checkout cleanup after restoring the original express checkout templates */
.checkoutpage,
.checkout-shell {
    max-width: 62rem;
    margin: 0 auto;
    padding: 2rem 1.25rem 3rem;
}

.order-complete-shell {
    max-width: 66rem;
}

body.checkout-route #Container,
body.checkout-route #Wrapper {
    background: #f8fafc !important;
    background-image: none !important;
}

.checkoutpage#LayoutColumn1,
.checkout-shell #LayoutColumn1,
.checkoutpage.Content.Widest,
.checkout-shell .Content.Widest,
#LayoutColumn1.Content.Widest {
    width: 100% !important;
    max-width: 62rem !important;
    margin: 0 auto !important;
    float: none !important;
    padding: 0 !important;
    background: #ffffff !important;
}

.checkoutpage {
    background: #fff;
    border: 1px solid #e2e8f0;
}

.checkout-shell {
    max-width: 66rem;
}

.checkout-shell .checkout-page-wrap {
    max-width: 62rem;
    margin: 0 auto;
    padding: 0;
}

.order-complete-shell .checkout-page-wrap {
    max-width: 62rem;
}

.checkout-shell .checkout-route-main {
    padding: 0;
}

.checkout-shell .checkout-express-shell {
    background: #fff;
    border: 1px solid #e2e8f0;
    padding: 1.25rem;
}

.order-complete-shell .checkout-complete-panel {
    border: 1px solid #e2e8f0;
    background: #fff;
    overflow: hidden;
}

.order-complete-shell .checkout-complete-panel > .BlockContent {
    padding: 1.5rem;
}

.order-complete-shell .checkout-complete-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
    margin-bottom: 1rem;
}

.order-complete-shell .checkout-complete-meta {
    padding: 1rem 1.1rem;
    border: 1px solid #e2e8f0;
    background: #fcfcfd;
}

.order-complete-shell .checkout-complete-kicker {
    display: block;
    margin-bottom: 0.35rem;
    color: #667085;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.order-complete-shell .checkout-complete-meta strong {
    color: #0f172a;
    font-size: 1rem;
}

.order-complete-shell .checkout-page-title {
    margin: 0;
    padding: 1.5rem 1.5rem 1rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.order-complete-shell .checkout-page-title-name {
    color: var(--theme-color-accent);
}

.order-complete-shell .checkout-complete-panel p {
    color: #475467;
    line-height: 1.7;
}

.order-complete-shell .checkout-complete-panel .SuccessMessage,
.order-complete-shell .checkout-complete-panel .ErrorMessage {
    margin: 0 0 1rem;
    padding: 0.95rem 1rem;
}

.order-complete-shell .checkout-complete-panel .SuccessMessage {
    border: 1px solid #abefc6;
    background: var(--theme-color-accent-soft);
    color: #067647;
}

.order-complete-shell .checkout-complete-panel .ErrorMessage {
    border: 1px solid #fecdca;
    background: #fef3f2;
    color: #b42318;
}

.order-complete-shell .checkout-complete-panel a {
    color: var(--theme-color-accent);
    font-weight: 700;
}

.order-complete-shell .checkout-complete-panel .CheckoutOrderConfirmation,
.order-complete-shell .checkout-complete-panel .OrderConfirmationDetails,
.order-complete-shell .checkout-complete-panel .OfflinePaymentMessage {
    margin-top: 1rem;
    padding: 1.25rem;
    border: 1px solid #e2e8f0;
    background: #fcfcfd;
}

.order-complete-shell .checkout-complete-panel .OfflinePaymentMessage {
    border-color: #bfd0c5;
    background: #f3faf5;
}

.order-complete-shell .checkout-complete-next-steps {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
    padding: 1.25rem;
    border: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.order-complete-shell .checkout-complete-next-copy h3 {
    margin: 0 0 0.4rem;
    color: #0f172a;
    font-size: 1.1rem;
    font-weight: 800;
}

.order-complete-shell .checkout-complete-next-copy p {
    margin: 0;
}

.order-complete-shell .checkout-complete-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.order-complete-shell .checkout-complete-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: 0.7rem 1.25rem;
    border: 1px solid #d0d5dd;
    background: #fff;
    color: #0f172a;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
}

.order-complete-shell .checkout-complete-secondary:hover {
    border-color: #98a2b3;
    background: #f8fafc;
    color: #0f172a;
}

@media (max-width: 767px) {
    .order-complete-shell .checkout-complete-summary {
        grid-template-columns: 1fr;
    }

    .order-complete-shell .checkout-complete-actions {
        flex-direction: column;
    }

    .order-complete-shell .checkout-complete-actions > a {
        width: 100%;
    }
}

.checkoutpage .TitleHeading,
.checkout-shell .TitleHeading {
    margin: 0 0 1.25rem !important;
    padding: 0 !important;
    border: 0 !important;
    color: #0f172a;
    font-size: clamp(2rem, 3vw, 2.5rem);
    line-height: 1.1;
}

.checkoutpage .Block.ExpressCheckout,
.checkout-shell .ExpressCheckout,
#LayoutColumn1.Content.Widest > .Block.ExpressCheckout,
#LayoutColumn1.Content.Widest > .ExpressCheckout {
    border: 0;
    background: #ffffff;
    width: 100%;
    max-width: 62rem;
    margin: 0 auto;
}

.checkoutpage .ExpressCheckoutBlock,
.checkout-shell .ExpressCheckoutBlock {
    margin-bottom: 1rem;
    border: 1px solid #dbe3ee;
    background: #fff;
    overflow: hidden;
}

.checkoutpage .ExpressCheckoutTitle,
.checkout-shell .ExpressCheckoutTitle {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-height: 4rem;
    padding: 0 1.25rem;
    border-bottom: 1px solid #e2e8f0 !important;
    background: #f8fafc !important;
    color: #0f172a !important;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    overflow: visible;
}

.checkoutpage .titStep,
.checkout-shell .titStep {
    float: none;
    flex: 0 0 auto;
    padding: 0;
    border: 0;
    background: transparent;
    color: #64748b;
}

.checkoutpage #BillingDetailsLabel,
.checkout-shell #BillingDetailsLabel {
    float: none;
    width: auto;
    padding-left: 0;
    min-width: 0;
}

.checkoutpage .ExpressCheckoutCompletedContent,
.checkout-shell .ExpressCheckoutCompletedContent {
    position: static;
    margin-left: auto;
    padding: 0;
    color: #64748b;
}

.checkoutpage a.ChangeLink,
.checkout-shell a.ChangeLink {
    position: static;
    margin-left: auto;
    order: 99;
    color: var(--theme-color-accent);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: none;
}

.checkoutpage .ExpressCheckoutContent,
.checkout-shell .ExpressCheckoutContent {
    margin-top: 0 !important;
    padding: 1.5rem !important;
    border-top: 0 !important;
    color: #334155;
}

.checkoutpage .ExpressCheckoutContent .CreateAccount,
.checkoutpage .ExpressCheckoutContent .AccountLogin,
.checkout-shell .ExpressCheckoutContent .CreateAccount,
.checkout-shell .ExpressCheckoutContent .AccountLogin {
    width: calc(50% - 0.75rem);
}

.checkoutpage .ExpressCheckoutContent .AccountLogin,
.checkout-shell .ExpressCheckoutContent .AccountLogin {
    border-left: 1px solid #e2e8f0;
    margin-left: 0;
    padding-left: 1.5rem;
}

.checkoutpage .ExpressCheckoutContent .CreateAccount,
.checkout-shell .ExpressCheckoutContent .CreateAccount {
    padding-right: 1.5rem;
}

.checkoutpage .CreateAccount h4,
.checkoutpage .AccountLogin h4,
.checkout-shell .CreateAccount h4,
.checkout-shell .AccountLogin h4 {
    padding: 0 0 0.75rem;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 800;
}

.checkoutpage .ExpressCheckoutContent dt,
.checkout-shell .ExpressCheckoutContent dt {
    margin-bottom: 0.35rem;
    color: #0f172a !important;
    font-size: 0.95rem;
    line-height: 1.5 !important;
}

.checkoutpage .ExpressCheckoutContent dd,
.checkout-shell .ExpressCheckoutContent dd {
    margin-bottom: 1rem;
}

.checkoutpage .ExpressCheckoutContent p,
.checkoutpage .ExpressCheckoutContent li,
.checkout-shell .ExpressCheckoutContent p,
.checkout-shell .ExpressCheckoutContent li {
    color: #475467;
}

.checkoutpage .AddBillingAddress,
.checkoutpage .AddShippingAddress,
.checkout-shell .AddBillingAddress,
.checkout-shell .AddShippingAddress {
    padding-top: 1rem;
}

.checkoutpage .AddBillingAddress .FormContainer,
.checkoutpage .AddShippingAddress .FormContainer,
.checkout-shell .AddBillingAddress .FormContainer,
.checkout-shell .AddShippingAddress .FormContainer {
    overflow: hidden;
}

.checkoutpage .checkout-generated-fields,
.checkout-shell .checkout-generated-fields {
    display: grid;
    gap: 1rem;
}

.checkoutpage .checkout-generated-row,
.checkout-shell .checkout-generated-row {
    display: grid;
    gap: 0.45rem;
}

.checkoutpage .checkout-generated-row > dt,
.checkout-shell .checkout-generated-row > dt {
    float: none;
    width: auto !important;
    margin: 0;
    padding: 0;
}

.checkoutpage .checkout-generated-row > dd,
.checkout-shell .checkout-generated-row > dd {
    float: none;
    width: auto !important;
    margin: 0;
    padding: 0;
}

.checkoutpage .checkout-eircode-lookup,
.checkout-shell .checkout-eircode-lookup {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 0.65rem;
    min-height: 2.75rem;
    padding: 0.65rem 1rem;
}

.checkoutpage .checkout-generated-row-empty,
.checkoutpage .checkout-generated-row-hidden,
.checkout-shell .checkout-generated-row-empty,
.checkout-shell .checkout-generated-row-hidden {
    display: none;
}

.checkoutpage .checkout-field-label,
.checkout-shell .checkout-field-label {
    color: #334155;
}

.checkoutpage .AddBillingAddress dl,
.checkoutpage .AddShippingAddress dl,
.checkout-shell .AddBillingAddress dl,
.checkout-shell .AddShippingAddress dl {
    display: grid;
    grid-template-columns: minmax(10rem, 12rem) minmax(0, 1fr);
    gap: 0.9rem 1rem;
    align-items: start;
}

.checkoutpage .AddBillingAddress dl.checkout-generated-fields,
.checkoutpage .AddShippingAddress dl.checkout-generated-fields,
.checkout-shell .AddBillingAddress dl.checkout-generated-fields,
.checkout-shell .AddShippingAddress dl.checkout-generated-fields {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
}

.checkoutpage .AddBillingAddress dt,
.checkoutpage .AddShippingAddress dt,
.checkout-shell .AddBillingAddress dt,
.checkout-shell .AddShippingAddress dt {
    clear: none;
    float: none;
    margin: 0;
    padding-top: 0.75rem;
}

.checkoutpage .AddBillingAddress dd,
.checkoutpage .AddShippingAddress dd,
.checkout-shell .AddBillingAddress dd,
.checkout-shell .AddShippingAddress dd {
    float: none;
    width: auto;
    margin: 0;
    line-height: 1.5;
}

.checkoutpage .AddBillingAddress dd div.selector,
.checkoutpage .AddShippingAddress dd div.selector,
.checkout-shell .AddBillingAddress dd div.selector,
.checkout-shell .AddShippingAddress dd div.selector {
    width: 100% !important;
    max-width: 100%;
}

.checkoutpage .SelectBillingAddress > div,
.checkoutpage .SelectShippingAddress > div,
.checkout-shell .SelectBillingAddress > div,
.checkout-shell .SelectShippingAddress > div {
    margin: 0 !important;
    padding: 1rem 1.1rem;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
}

.checkoutpage .SelectBillingAddress select,
.checkoutpage .SelectShippingAddress select,
.checkout-shell .SelectBillingAddress select,
.checkout-shell .SelectShippingAddress select {
    width: 100% !important;
    min-height: 3rem;
}

.checkoutpage #uniform-sel_shipping_address div.selector,
.checkoutpage #uniform-sel_shipping_address select,
.checkoutpage #ChooseShippingAddress div.selector,
.checkoutpage #uniform-FormField_21,
.checkout-shell #uniform-sel_shipping_address div.selector,
.checkout-shell #uniform-sel_shipping_address select,
.checkout-shell #ChooseShippingAddress div.selector,
.checkout-shell #uniform-FormField_21 {
    width: 100% !important;
    margin-bottom: 0;
}

.checkoutpage .ExpressCheckoutContent dd input[type="text"],
.checkoutpage .ExpressCheckoutContent dd input[type="password"],
.checkoutpage .ExpressCheckoutContent dd input[type="email"],
.checkoutpage .ExpressCheckoutContent dd textarea,
.checkoutpage .ExpressCheckoutContent select,
.checkoutpage .ExpressCheckoutContent .FormField,
.checkoutpage .ExpressCheckoutContent .Textbox,
.checkout-shell .ExpressCheckoutContent dd input[type="text"],
.checkout-shell .ExpressCheckoutContent dd input[type="password"],
.checkout-shell .ExpressCheckoutContent dd input[type="email"],
.checkout-shell .ExpressCheckoutContent dd textarea,
.checkout-shell .ExpressCheckoutContent select,
.checkout-shell .ExpressCheckoutContent .FormField,
.checkout-shell .ExpressCheckoutContent .Textbox {
    width: 100% !important;
    max-width: 100%;
    min-height: 3rem;
    padding: 0.7rem 0.9rem;
    border: 1px solid rgba(15, 23, 42, 0.14);
    background: #fff;
    color: #0f172a;
    font-size: 0.98rem;
    font-weight: 500;
    line-height: 1.5;
    -webkit-appearance: none;
    appearance: none;
}

.checkoutpage .ExpressCheckoutContent dd textarea,
.checkout-shell .ExpressCheckoutContent dd textarea {
    min-height: 8rem;
    resize: vertical;
}

.checkoutpage .ExpressCheckoutContent dd input[type="text"]:focus,
.checkoutpage .ExpressCheckoutContent dd input[type="password"]:focus,
.checkoutpage .ExpressCheckoutContent dd input[type="email"]:focus,
.checkoutpage .ExpressCheckoutContent dd textarea:focus,
.checkoutpage .ExpressCheckoutContent select:focus,
.checkout-shell .ExpressCheckoutContent dd input[type="text"]:focus,
.checkout-shell .ExpressCheckoutContent dd input[type="password"]:focus,
.checkout-shell .ExpressCheckoutContent dd input[type="email"]:focus,
.checkout-shell .ExpressCheckoutContent dd textarea:focus,
.checkout-shell .ExpressCheckoutContent select:focus {
    border-color: var(--theme-color-accent);
    outline: 0;
}

.checkoutpage .ExpressCheckoutContent dd input::placeholder,
.checkoutpage .ExpressCheckoutContent dd textarea::placeholder,
.checkout-shell .ExpressCheckoutContent dd input::placeholder,
.checkout-shell .ExpressCheckoutContent dd textarea::placeholder {
    color: #98a2b3;
}

.checkoutpage .ExpressCheckoutContent .FormContainer,
.checkout-shell .ExpressCheckoutContent .FormContainer {
    background: #fff;
}

.checkoutpage .ExpressCheckoutContent .VerticalFormContainer,
.checkoutpage .ExpressCheckoutContent .HorizontalFormContainer,
.checkout-shell .ExpressCheckoutContent .VerticalFormContainer,
.checkout-shell .ExpressCheckoutContent .HorizontalFormContainer {
    padding: 1.15rem 1.2rem;
    border: 1px solid #e2e8f0;
    background: #fcfcfd;
}

.checkoutpage .HorizontalFormContainer dl,
.checkoutpage .VerticalFormContainer dl,
.checkout-shell .HorizontalFormContainer dl,
.checkout-shell .VerticalFormContainer dl {
    margin: 0;
}

.checkoutpage .HorizontalFormContainer dt,
.checkoutpage .VerticalFormContainer dt,
.checkout-shell .HorizontalFormContainer dt,
.checkout-shell .VerticalFormContainer dt {
    color: #0f172a !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em;
}

.checkoutpage .HorizontalFormContainer dd,
.checkoutpage .VerticalFormContainer dd,
.checkout-shell .HorizontalFormContainer dd,
.checkout-shell .VerticalFormContainer dd {
    font-size: 0.95rem;
}

.checkoutpage .VerticalFormContainer dt,
.checkout-shell .VerticalFormContainer dt {
    margin-bottom: 0.25rem;
}

.checkoutpage .VerticalFormContainer dd,
.checkout-shell .VerticalFormContainer dd {
    margin-bottom: 1rem !important;
    padding: 0;
}

.checkoutpage .VerticalFormContainer dd:last-child,
.checkout-shell .VerticalFormContainer dd:last-child {
    margin-bottom: 0 !important;
}

.checkoutpage .VerticalFormContainer dd > input[type="text"],
.checkoutpage .VerticalFormContainer dd > input[type="email"],
.checkoutpage .VerticalFormContainer dd > input[type="password"],
.checkoutpage .VerticalFormContainer dd > select,
.checkoutpage .VerticalFormContainer dd > textarea,
.checkoutpage .VerticalFormContainer dd > .Textbox,
.checkoutpage .VerticalFormContainer dd > .FormField,
.checkout-shell .VerticalFormContainer dd > input[type="text"],
.checkout-shell .VerticalFormContainer dd > input[type="email"],
.checkout-shell .VerticalFormContainer dd > input[type="password"],
.checkout-shell .VerticalFormContainer dd > select,
.checkout-shell .VerticalFormContainer dd > textarea,
.checkout-shell .VerticalFormContainer dd > .Textbox,
.checkout-shell .VerticalFormContainer dd > .FormField {
    display: block;
    width: 100% !important;
    margin: 0;
}

.checkoutpage .VerticalFormContainer dd > .Textbox + .Textbox,
.checkoutpage .VerticalFormContainer dd > .FormField + .FormField,
.checkout-shell .VerticalFormContainer dd > .Textbox + .Textbox,
.checkout-shell .VerticalFormContainer dd > .FormField + .FormField {
    margin-top: 0.65rem;
}

.checkoutpage .FormFieldLabel,
.checkout-shell .FormFieldLabel {
    color: #0f172a;
    font-weight: 700;
}

.checkoutpage .FormFieldRequired,
.checkout-shell .FormFieldRequired {
    margin-right: 0.25rem;
}

.checkoutpage .Required,
.checkout-shell .Required {
    color: #b42318;
}

.checkoutpage .ExpressCheckoutContent .Field45,
.checkout-shell .ExpressCheckoutContent .Field45 {
    width: 100% !important;
    max-width: 10rem;
}

.checkoutpage .ExpressCheckoutContent .Field200,
.checkout-shell .ExpressCheckoutContent .Field200 {
    width: 100% !important;
}

.checkoutpage .ExpressCheckoutContent input[name*='[27]'],
.checkoutpage .ExpressCheckoutContent input[name*='[28]'],
.checkoutpage .ExpressCheckoutContent input[name*='[26]'][type='hidden'],
.checkout-shell .ExpressCheckoutContent input[name*='[27]'],
.checkout-shell .ExpressCheckoutContent input[name*='[28]'] {
    display: none !important;
}

.checkout-shell .ExpressCheckoutContent input[name*='[26]'][type='hidden'] {
    display: none !important;
}

.checkoutpage .ExpressCheckoutContent .FormFieldLabel:empty,
.checkout-shell .ExpressCheckoutContent .FormFieldLabel:empty {
    display: none;
}

.checkoutpage .checkout-choice-row,
.checkoutpage #CheckoutGuestForm label,
.checkoutpage .ExpressCheckoutContent dd label,
.checkout-shell .checkout-choice-row,
.checkout-shell #CheckoutGuestForm label,
.checkout-shell .ExpressCheckoutContent dd label {
    display: inline-flex;
    align-items: flex-start;
    gap: 0.7rem;
    color: #334155;
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.6;
}

.checkoutpage .checkout-choice-row,
.checkout-shell .checkout-choice-row {
    padding: 0.9rem 1rem;
    border: 1px solid #dbe3ee;
    background: #fff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.checkoutpage .checkout-choice-row:hover,
.checkout-shell .checkout-choice-row:hover {
    border-color: #bfd0c5;
}

.checkoutpage .checkout-choice-row:has(input:checked),
.checkout-shell .checkout-choice-row:has(input:checked) {
    border-color: var(--theme-color-accent);
    background: #f3faf5;
}

.checkoutpage .checkout-choice-row input[type="radio"],
.checkoutpage .checkout-choice-row input[type="checkbox"],
.checkoutpage .ExpressCheckoutContent input[type="radio"],
.checkoutpage .ExpressCheckoutContent input[type="checkbox"],
.checkout-shell .checkout-choice-row input[type="radio"],
.checkout-shell .checkout-choice-row input[type="checkbox"],
.checkout-shell .ExpressCheckoutContent input[type="radio"],
.checkout-shell .ExpressCheckoutContent input[type="checkbox"] {
    width: 1.05rem;
    height: 1.05rem;
    margin-top: 0.2rem;
    accent-color: var(--theme-color-accent);
}

.checkoutpage .ExpressCheckoutContent div.selector,
.checkout-shell .ExpressCheckoutContent div.selector {
    display: block;
    position: relative;
    width: 100% !important;
    height: auto;
    min-height: 3rem;
    padding: 0 !important;
    border: 1px solid rgba(15, 23, 42, 0.14);
    background: #fff !important;
}

.checkoutpage .ExpressCheckoutContent div.selector span,
.checkout-shell .ExpressCheckoutContent div.selector span {
    height: auto;
    min-height: 3rem;
    padding: 0.8rem 2.75rem 0.8rem 0.95rem !important;
    color: #0f172a;
    font-size: 0.95rem;
    line-height: 1.45;
    background: none !important;
}

.checkoutpage .ExpressCheckoutContent div.selector:after,
.checkout-shell .ExpressCheckoutContent div.selector:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1rem;
    width: 0.55rem;
    height: 0.55rem;
    border-right: 2px solid #64748b;
    border-bottom: 2px solid #64748b;
    transform: translateY(-60%) rotate(45deg);
    pointer-events: none;
}

.checkoutpage .ExpressCheckoutContent div.selector select,
.checkout-shell .ExpressCheckoutContent div.selector select {
    width: 100%;
    height: 100%;
    min-height: 3rem;
}

.checkoutpage .ExpressCheckoutContent div.checker,
.checkoutpage .ExpressCheckoutContent div.radio,
.checkout-shell .ExpressCheckoutContent div.checker,
.checkout-shell .ExpressCheckoutContent div.radio {
    margin-right: 0.5rem;
    flex: 0 0 auto;
}

.checkoutpage .ExpressCheckoutContent div.checker span,
.checkoutpage .ExpressCheckoutContent div.radio span,
.checkout-shell .ExpressCheckoutContent div.checker span,
.checkout-shell .ExpressCheckoutContent div.radio span {
    width: 1.05rem;
    height: 1.05rem;
    margin-top: 0.2rem;
    background-image: none !important;
    border: 1.5px solid #94a3b8;
    background-color: #fff;
}

.checkoutpage .ExpressCheckoutContent div.radio span,
.checkout-shell .ExpressCheckoutContent div.radio span {
}

.checkoutpage .ExpressCheckoutContent div.checker span,
.checkout-shell .ExpressCheckoutContent div.checker span {
}

.checkoutpage .ExpressCheckoutContent div.checker span.checked,
.checkoutpage .ExpressCheckoutContent div.radio span.checked,
.checkout-shell .ExpressCheckoutContent div.checker span.checked,
.checkout-shell .ExpressCheckoutContent div.radio span.checked {
    border-color: var(--theme-color-accent);
    background: var(--theme-color-accent) !important;
}

.checkoutpage .checkout-main-card,
.checkoutpage .checkout-subcard,
.checkout-shell .checkout-main-card,
.checkout-shell .checkout-subcard {
    border: 1px solid #e2e8f0;
    background: #fff;
    padding: 1.15rem 1.2rem;
}

.checkoutpage .checkout-form-intro,
.checkout-shell .checkout-form-intro {
    margin: 0 0 1rem;
    color: #667085;
    line-height: 1.65;
}

.checkoutpage .checkout-express-list,
.checkout-shell .checkout-express-list {
    display: grid;
    gap: 0.6rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.checkoutpage .checkout-express-list li,
.checkout-shell .checkout-express-list li {
    position: relative;
    padding-left: 1.25rem !important;
}

.checkoutpage .checkout-express-list li::before,
.checkout-shell .checkout-express-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.55rem;
    width: 0.45rem;
    height: 0.45rem;
    background: var(--theme-color-accent);
}

.checkoutpage .Submit,
.checkoutpage .checkout-actions-row,
.checkout-shell .Submit,
.checkout-shell .checkout-actions-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1rem;
}

.checkoutpage .VerticalFormContainer .Submit,
.checkoutpage .HorizontalFormContainer .Submit,
.checkout-shell .VerticalFormContainer .Submit,
.checkout-shell .HorizontalFormContainer .Submit {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid #e2e8f0;
}

.checkoutpage .btnForgot,
.checkout-shell .btnForgot {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    padding: 0 0.25rem;
}

.checkoutpage .ExpressCheckoutContent .btn,
.checkoutpage .ExpressCheckoutContent input[type="submit"],
.checkout-shell .ExpressCheckoutContent .btn,
.checkout-shell .ExpressCheckoutContent input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: 0.7rem 1.25rem;
    border: 1px solid var(--theme-color-accent);
    background: var(--theme-color-accent);
    color: #fff;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
}

.checkoutpage .ExpressCheckoutContent .btn:hover,
.checkoutpage .ExpressCheckoutContent input[type="submit"]:hover,
.checkout-shell .ExpressCheckoutContent .btn:hover,
.checkout-shell .ExpressCheckoutContent input[type="submit"]:hover {
    background: var(--theme-color-accent-strong);
    border-color: var(--theme-color-accent-strong);
    color: #fff;
}

.checkoutpage .btnForgot,
.checkout-shell .btnForgot {
    display: inline-block;
    margin-left: 0.75rem;
    color: #475467;
    font-size: 0.9rem;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.checkoutpage .LoadingIndicator,
.checkout-shell .LoadingIndicator {
    margin-left: 0.75rem;
}

.checkoutpage .LoadingIndicator img,
.checkout-shell .LoadingIndicator img {
    width: 1.15rem;
    height: 1.15rem;
}

.checkoutpage #CheckoutStepConfirmation .ExpressCheckoutTitle,
.checkout-shell #CheckoutStepConfirmation .ExpressCheckoutTitle {
    align-items: center;
}

.checkoutpage #CheckoutStepConfirmation .ExpressCheckoutContent,
.checkout-shell #CheckoutStepConfirmation .ExpressCheckoutContent {
    display: grid;
    gap: 1.25rem;
    padding-top: 1.5rem !important;
}

.checkoutpage #CheckoutStepConfirmation #OrderConfirmationForm,
.checkout-shell #CheckoutStepConfirmation #OrderConfirmationForm {
    display: grid;
    gap: 1.25rem;
}

.checkoutpage #CheckoutStepConfirmation .checkout-section-title,
.checkout-shell #CheckoutStepConfirmation .checkout-section-title {
    color: #0f172a;
    font-size: 1.05rem;
    font-weight: 800;
}

.checkoutpage #CheckoutStepConfirmation .checkout-form-intro,
.checkout-shell #CheckoutStepConfirmation .checkout-form-intro {
    margin: 0;
    color: #475467;
    line-height: 1.7;
}

.checkoutpage #CheckoutStepConfirmation .checkout-status-message,
.checkout-shell #CheckoutStepConfirmation .checkout-status-message {
    display: grid;
    gap: 0.75rem;
}

.checkoutpage #CheckoutStepConfirmation .ErrorMessage,
.checkoutpage #CheckoutStepConfirmation .SuccessMessage,
.checkout-shell #CheckoutStepConfirmation .ErrorMessage,
.checkout-shell #CheckoutStepConfirmation .SuccessMessage {
    margin: 0;
    padding: 0.9rem 1rem;
}

.checkoutpage #CheckoutStepConfirmation .ErrorMessage,
.checkout-shell #CheckoutStepConfirmation .ErrorMessage {
    border: 1px solid #fecdca;
    background: #fef3f2;
    color: #b42318;
}

.checkoutpage #CheckoutStepConfirmation .SuccessMessage,
.checkout-shell #CheckoutStepConfirmation .SuccessMessage {
    border: 1px solid #abefc6;
    background: var(--theme-color-accent-soft);
    color: #067647;
}

.checkoutpage .checkout-shipping-provider-shell,
.checkout-shell .checkout-shipping-provider-shell {
    display: grid;
    gap: 0.9rem;
    margin-top: 0.5rem;
}

.checkoutpage .checkout-shipping-option,
.checkout-shell .checkout-shipping-option {
    margin: 0;
    list-style: none;
}

.checkoutpage .checkout-shipping-option-label,
.checkout-shell .checkout-shipping-option-label {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.9rem;
    padding: 1rem 1.1rem;
    border: 1px solid #dbe3ee;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.checkoutpage .checkout-shipping-option-label:hover,
.checkout-shell .checkout-shipping-option-label:hover {
    border-color: #bfd0c5;
}

.checkoutpage .checkout-shipping-option-label:has(input:checked),
.checkout-shell .checkout-shipping-option-label:has(input:checked) {
    border-color: var(--theme-color-accent);
    background: #f3faf5;
}

.checkoutpage .checkout-shipping-option-main,
.checkout-shell .checkout-shipping-option-main {
    display: grid;
    gap: 0.2rem;
}

.checkoutpage .checkout-shipping-option-name,
.checkout-shell .checkout-shipping-option-name {
    color: #0f172a;
    font-weight: 700;
}

.checkoutpage .checkout-shipping-option-time,
.checkout-shell .checkout-shipping-option-time {
    color: #64748b;
    font-size: 0.9rem;
}

.checkoutpage .checkout-shipping-option-price,
.checkout-shell .checkout-shipping-option-price {
    color: var(--theme-color-accent);
    font-style: normal;
    font-weight: 800;
    white-space: nowrap;
    font-size: 1rem;
}

.checkoutpage .checkout-shipping-provider-logo,
.checkout-shell .checkout-shipping-provider-logo {
    width: 2.5rem;
    height: 2.5rem;
    object-fit: contain;
    padding: 0.3rem;
    border: 1px solid #e2e8f0;
    background: #fff;
}

.checkoutpage .checkout-table-card,
.checkoutpage .checkout-subcard,
.checkout-shell .checkout-table-card,
.checkout-shell .checkout-subcard {
    border: 1px solid #e2e8f0;
    background: #fff;
    overflow: hidden;
}

.checkoutpage .checkout-subcard,
.checkout-shell .checkout-subcard {
    padding: 1.25rem;
}

.checkoutpage .checkout-table-title,
.checkout-shell .checkout-table-title {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
    color: #334155;
    font-size: 0.85rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.checkoutpage #CheckoutStepConfirmation .checkout-order-table-card,
.checkout-shell #CheckoutStepConfirmation .checkout-order-table-card {
}

.checkoutpage .checkout-order-table,
.checkout-shell .checkout-order-table {
    width: 100%;
    border-collapse: collapse;
}

.checkoutpage .checkout-order-table th,
.checkoutpage .checkout-order-table td,
.checkout-shell .checkout-order-table th,
.checkout-shell .checkout-order-table td {
    padding: 1rem;
    border-bottom: 1px solid #e2e8f0;
    vertical-align: top;
    text-align: left;
}

.checkoutpage .checkout-order-table th,
.checkout-shell .checkout-order-table th,
    color: #334155;
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.checkoutpage .checkout-col-center,
.checkout-shell .checkout-col-center {
    text-align: center !important;
}

.checkoutpage .checkout-col-right,
.checkout-shell .checkout-col-right {
    text-align: right !important;
}

.checkoutpage .SubTotal td,
.checkout-shell .SubTotal td {
    background: #fcfcfd;
}

.checkoutpage .SubTotal:last-child td,
.checkout-shell .SubTotal:last-child td {
    border-bottom: 0;
}

.checkoutpage .SubTotal.gtotal td,
.checkoutpage .gtotal td,
.checkout-shell .SubTotal.gtotal td,
.checkout-shell .gtotal td {
    background: #f8fafc;
    color: #0f172a;
    font-weight: 800;
}

.checkoutpage .SubTotal td:first-child,
.checkout-shell .SubTotal td:first-child {
    color: #475467;
    font-weight: 700;
}

.checkoutpage .SubTotal td:last-child,
.checkout-shell .SubTotal td:last-child {
    text-align: right;
    white-space: nowrap;
}

.checkoutpage .SubTotal.gtotal td:first-child,
.checkoutpage .gtotal td:first-child,
.checkout-shell .SubTotal.gtotal td:first-child,
.checkout-shell .gtotal td:first-child {
    color: #0f172a;
    font-size: 1rem;
}

.checkoutpage .SubTotal.gtotal td:last-child,
.checkoutpage .gtotal td:last-child,
.checkout-shell .SubTotal.gtotal td:last-child,
.checkout-shell .gtotal td:last-child {
    font-size: 1.125rem;
}

.checkoutpage #CheckoutStepConfirmation .SubTotal td strong,
.checkoutpage #CheckoutStepConfirmation .SubTotal td em,
.checkout-shell #CheckoutStepConfirmation .SubTotal td strong,
.checkout-shell #CheckoutStepConfirmation .SubTotal td em {
    display: inline;
    padding: 0;
    font-style: normal;
}

.checkoutpage #CheckoutStepConfirmation .SubTotal td em,
.checkout-shell #CheckoutStepConfirmation .SubTotal td em {
    font-size: 1rem;
    font-weight: 800;
}

.checkoutpage #CheckoutStepConfirmation .CheckoutRedeemCoupon,
.checkoutpage #CheckoutStepConfirmation .CheckoutOrderComments,
.checkoutpage #CheckoutStepConfirmation .CheckoutHideOrderTermsAndConditions,
.checkoutpage #CheckoutStepConfirmation .HearFromUsViaEmail,
.checkoutpage #CheckoutStepConfirmation #payment_options,
.checkout-shell #CheckoutStepConfirmation .CheckoutRedeemCoupon,
.checkout-shell #CheckoutStepConfirmation .CheckoutOrderComments,
.checkout-shell #CheckoutStepConfirmation .CheckoutHideOrderTermsAndConditions,
.checkout-shell #CheckoutStepConfirmation .HearFromUsViaEmail,
.checkout-shell #CheckoutStepConfirmation #payment_options {
}

.checkoutpage #CheckoutStepConfirmation #provider_list > div,
.checkoutpage #CheckoutStepConfirmation #credit_provider_list > div,
.checkoutpage #CheckoutStepConfirmation .checkout-payment-providers > div,
.checkout-shell #CheckoutStepConfirmation #provider_list > div,
.checkout-shell #CheckoutStepConfirmation #credit_provider_list > div,
.checkout-shell #CheckoutStepConfirmation .checkout-payment-providers > div {
    padding: 1rem 1.1rem;
    border: 1px solid #dbe3ee;
    background: #fff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.checkoutpage #CheckoutStepConfirmation #provider_list > div:hover,
.checkoutpage #CheckoutStepConfirmation #credit_provider_list > div:hover,
.checkoutpage #CheckoutStepConfirmation .checkout-payment-providers > div:hover,
.checkout-shell #CheckoutStepConfirmation #provider_list > div:hover,
.checkout-shell #CheckoutStepConfirmation #credit_provider_list > div:hover,
.checkout-shell #CheckoutStepConfirmation .checkout-payment-providers > div:hover {
    border-color: #bfd0c5;
}

.checkoutpage #CheckoutStepConfirmation #provider_list > div:has(input:checked),
.checkoutpage #CheckoutStepConfirmation #credit_provider_list > div:has(input:checked),
.checkoutpage #CheckoutStepConfirmation .checkout-payment-providers > div:has(input:checked),
.checkout-shell #CheckoutStepConfirmation #provider_list > div:has(input:checked),
.checkout-shell #CheckoutStepConfirmation #credit_provider_list > div:has(input:checked),
.checkout-shell #CheckoutStepConfirmation .checkout-payment-providers > div:has(input:checked) {
    border-color: var(--theme-color-accent);
    background: #f3faf5;
}

.checkoutpage #CheckoutStepConfirmation textarea,
.checkout-shell #CheckoutStepConfirmation textarea {
}

.checkoutpage #CheckoutStepConfirmation .BottomPaymentButton,
.checkout-shell #CheckoutStepConfirmation .BottomPaymentButton {
    margin-top: 0.25rem;
    padding-top: 0.5rem;
    border-top: 1px solid #e2e8f0;
}

.checkoutpage .checkout-inline-form,
.checkout-shell .checkout-inline-form {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.checkoutpage .checkout-inline-form .checkout-input,
.checkout-shell .checkout-inline-form .checkout-input {
    flex: 1;
}

.checkoutpage .checkout-choice-row,
.checkout-shell .checkout-choice-row {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    color: #334155;
    line-height: 1.6;
}

.checkoutpage .checkout-choice-group,
.checkoutpage .checkout-payment-options,
.checkoutpage .checkout-provider-list,
.checkout-shell .checkout-choice-group,
.checkout-shell .checkout-payment-options,
.checkout-shell .checkout-provider-list {
    display: grid;
    gap: 0.9rem;
}

.checkoutpage .checkout-provider-option,
.checkout-shell .checkout-provider-option {
    width: 100%;
    justify-content: flex-start;
    padding: 1rem 1.1rem;
}

.checkoutpage .checkout-provider-label,
.checkout-shell .checkout-provider-label {
    color: #0f172a;
    font-weight: 700;
}

.checkoutpage #CheckoutStepConfirmation .PaymentMethod,
.checkoutpage #CheckoutStepConfirmation .PaymentMethodForm,
.checkout-shell #CheckoutStepConfirmation .PaymentMethod,
.checkout-shell #CheckoutStepConfirmation .PaymentMethodForm {
    margin-top: 0.9rem;
    padding-top: 0.9rem;
    border-top: 1px solid #e2e8f0;
}

.checkoutpage #CheckoutStepConfirmation .PaymentMethodForm .FloatRight,
.checkout-shell #CheckoutStepConfirmation .PaymentMethodForm .FloatRight {
    float: none;
}

.checkoutpage #CheckoutStepConfirmation .PaymentMethodForm .Submit,
.checkout-shell #CheckoutStepConfirmation .PaymentMethodForm .Submit {
    margin-top: 1rem;
}

.checkoutpage .BillingDetails,
.checkoutpage .ShippingDetails,
.checkout-shell .BillingDetails,
.checkout-shell .ShippingDetails {
    padding: 1.1rem 1.25rem;
    border: 1px solid #e2e8f0;
    background: #fff;
}

.checkoutpage .BillingDetails h4,
.checkoutpage .ShippingDetails h4,
.checkout-shell .BillingDetails h4,
.checkout-shell .ShippingDetails h4 {
    padding: 0 0 0.6rem;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 800;
}

.checkoutpage .BillingDetails h4::after,
.checkoutpage .ShippingDetails h4::after,
.checkout-shell .BillingDetails h4::after,
.checkout-shell .ShippingDetails h4::after {
    content: "";
    display: block;
    width: 2.25rem;
    height: 2px;
    margin-top: 0.55rem;
    background: var(--theme-color-accent);
}

.checkoutpage .BillingDetails p,
.checkoutpage .ShippingDetails p,
.checkoutpage .BillingDetails address,
.checkoutpage .ShippingDetails address,
.checkout-shell .BillingDetails p,
.checkout-shell .ShippingDetails p,
.checkout-shell .BillingDetails address,
.checkout-shell .ShippingDetails address {
    margin: 0;
    color: #475467;
    line-height: 1.75;
}

.checkoutpage .BillingDetails .FloatRight,
.checkoutpage .ShippingDetails .FloatRight,
.checkout-shell .BillingDetails .FloatRight,
.checkout-shell .ShippingDetails .FloatRight {
    float: none;
    margin-top: 0.85rem;
}

.checkoutpage #CheckoutStepConfirmation .checkout-order-table-card,
.checkout-shell #CheckoutStepConfirmation .checkout-order-table-card {
    overflow: hidden;
}

.checkoutpage #CheckoutStepConfirmation .checkout-order-table tbody tr:hover td,
.checkout-shell #CheckoutStepConfirmation .checkout-order-table tbody tr:hover td {
    background: #fafbfc;
}

.checkoutpage #CheckoutStepConfirmation .checkout-order-table .SubTotal:hover td,
.checkout-shell #CheckoutStepConfirmation .checkout-order-table .SubTotal:hover td {
    background: inherit;
}

@media (max-width: 767px) {
    .checkoutpage,
    .checkout-shell {
        max-width: 100%;
        padding: 1rem 0.75rem 1.5rem;
    }

    .checkoutpage#LayoutColumn1,
    .checkout-shell #LayoutColumn1,
    .checkoutpage.Content.Widest,
    .checkout-shell .Content.Widest,
    #LayoutColumn1.Content.Widest {
        max-width: 100% !important;
    }

    .checkoutpage,
    .checkout-shell .checkout-express-shell {
    }

    .checkout-shell .checkout-express-shell {
        padding: 0.75rem;
    }

    .checkoutpage .ExpressCheckoutContent,
    .checkout-shell .ExpressCheckoutContent {
        padding: 1rem !important;
    }

    .checkoutpage .ExpressCheckoutContent .CreateAccount,
    .checkoutpage .ExpressCheckoutContent .AccountLogin,
    .checkout-shell .ExpressCheckoutContent .CreateAccount,
    .checkout-shell .ExpressCheckoutContent .AccountLogin {
        float: none;
        width: 100%;
        padding: 0;
    }

    .checkoutpage .ExpressCheckoutContent .AccountLogin,
    .checkout-shell .ExpressCheckoutContent .AccountLogin {
        margin-top: 1.5rem;
        padding-top: 1.5rem;
        padding-left: 0;
        border-left: 0;
        border-top: 1px solid #e2e8f0;
    }

    .checkoutpage .ExpressCheckoutTitle,
    .checkout-shell .ExpressCheckoutTitle {
        align-items: flex-start;
        padding: 1rem;
    }

    .checkoutpage a.ChangeLink,
    .checkout-shell a.ChangeLink {
        margin-left: 0;
    }

    .checkoutpage .AddBillingAddress dl,
    .checkoutpage .AddShippingAddress dl,
    .checkout-shell .AddBillingAddress dl,
    .checkout-shell .AddShippingAddress dl {
        grid-template-columns: 1fr;
    }

    .checkoutpage .AddBillingAddress dt,
    .checkoutpage .AddShippingAddress dt,
    .checkout-shell .AddBillingAddress dt,
    .checkout-shell .AddShippingAddress dt {
        padding-top: 0;
    }

    .checkoutpage .checkout-inline-form,
    .checkout-shell .checkout-inline-form {
        flex-direction: column;
        align-items: stretch;
    }

    .checkout-cart-product {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .checkout-cart-thumb {
        width: 4rem;
    }

    .checkout-cart-thumb img {
        width: 4rem;
        height: 4rem;
    }

    .checkoutpage .checkout-order-table,
    .checkoutpage .checkout-order-table thead,
    .checkoutpage .checkout-order-table tbody,
    .checkoutpage .checkout-order-table tfoot,
    .checkoutpage .checkout-order-table tr,
    .checkoutpage .checkout-order-table th,
    .checkoutpage .checkout-order-table td,
    .checkout-shell .checkout-order-table,
    .checkout-shell .checkout-order-table thead,
    .checkout-shell .checkout-order-table tbody,
    .checkout-shell .checkout-order-table tfoot,
    .checkout-shell .checkout-order-table tr,
    .checkout-shell .checkout-order-table th,
    .checkout-shell .checkout-order-table td {
        display: block;
        width: 100%;
    }

    .checkoutpage .checkout-order-table thead,
    .checkout-shell .checkout-order-table thead {
        display: none;
    }

    .checkoutpage .checkout-col-center,
    .checkoutpage .checkout-col-right,
    .checkout-shell .checkout-col-center,
    .checkout-shell .checkout-col-right {
        text-align: left !important;
    }

    .checkoutpage .ExpressCheckoutBlock,
    .checkout-shell .ExpressCheckoutBlock {
        margin-bottom: 0.85rem;
    }

    .checkoutpage .ExpressCheckoutTitle,
    .checkout-shell .ExpressCheckoutTitle {
        min-height: 0;
        gap: 0.5rem;
        padding: 0.9rem 1rem;
        font-size: 0.75rem;
        line-height: 1.4;
    }
}

.brand-slider .swiper-slide {
    padding: 0 12px;
}

.brand-slider .swiper-slide a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 7rem;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    padding: 1.25rem;
    transition: transform 0.3s ease, border-color 0.2s ease;
}

.brand-slider .swiper-slide:hover a {
    transform: translateY(-2px);
    border-color: var(--theme-color-accent);
}

.drawer-menu {
    position: fixed;
    inset: 0 auto 0 0;
    width: 320px;
    max-width: calc(100vw - 1.25rem);
    z-index: 40;
    transform: translateX(-110%);
    transition: transform 0.3s ease;
    height: 100%;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    border-right: 1px solid #e2e8f0;
    overflow: hidden;
}

#AjaxLoading {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.75);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 999999;
}

#AjaxLoading .ajax-loader {
    background: rgba(255, 255, 255, 0.95);
    color: #0f172a;
    padding: 1rem 1.75rem;
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-size: 0.8rem;
}

#AjaxLoading .ajax-loader img {
    width: 28px;
    height: 28px;
    object-fit: contain;
}

.PageMenu.page-menu-pending .page-menu-inner {
    visibility: hidden;
}

.PageMenu-mobile .SubCategoryList.mobile {
    width: 100%;
    margin-top: 0.5rem;
    display: none;
}

.SideCategoryListClassic .subcat-expand:after {
    content: "+";
}

.SideCategoryListClassic .subcat-expand.subcat-expanded:after {
    content: "−";
}

.tabNavigation {
    position: relative;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    border-bottom: 1px solid #0f172a33;
    padding-bottom: 0.5rem;
    background: #fff;
    margin-bottom: 1.5rem;
}

.tabNavigation li {
    list-style: none;
}

.tabNavigation li a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    padding: 0.75rem 1.25rem;
    border: 1px solid transparent;
    border-bottom: none;
    color: #475569;
    background: #f8fafc;
    transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.tabNavigation li a:focus-visible {
    outline: 2px solid var(--theme-color-accent);
    outline-offset: 2px;
}

.tabNavigation li a:hover {
    color: #0f172a;
    background: #fff;
    border-color: var(--theme-color-accent);
    z-index: 2;
}

.tabNavigation li a.selected {
    color: #0f172a;
    background: #fff;
    border-color: #0f172a;
    margin-bottom: -1px;
    z-index: 2;
}

.drawer-menu.is-open {
    transform: translateX(0);
}

.drawer-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    z-index: 30;
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--theme-transition-fast);
}

.drawer-overlay.is-visible {
    opacity: 1;
    pointer-events: auto;
}

body.drawer-active {
    overflow: hidden;
}

#DrawerMenu {
    position: fixed !important;
    inset: 0 auto 0 0;
    width: 320px !important;
    max-width: calc(100vw - 1.25rem);
    margin: 0;
    background-color: var(--theme-color-surface);
}

.drawer-menu-inner {
    height: 100%;
}

.drawer-menu-header {
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--theme-color-border);
}

.drawer-menu-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--theme-color-text);
}

.drawer-menu-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border: 1px solid var(--theme-color-border-strong);
    background: var(--theme-color-surface);
    color: var(--theme-color-text);
    font-size: 1.35rem;
    line-height: 1;
    cursor: pointer;
}

.drawer-menu-content {
    min-height: 0;
    flex: 1 1 auto;
    padding-right: 0.25rem;
}

#DrawerMenu .CategoryList,
#DrawerMenu .BlockContent,
#DrawerMenu .side-menu,
#DrawerMenu #Menu {
    width: 100%;
}

#DrawerMenu .side-menu > ul,
#DrawerMenu #Menu > ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

#DrawerMenu .side-menu > ul > li,
#DrawerMenu #Menu > ul > li {
    position: relative;
    margin: 0;
    list-style: none;
}

#DrawerMenu .side-menu > ul > li > a,
#DrawerMenu #Menu > ul > li > a {
    display: block;
    padding: 0.9rem 3.25rem 0.9rem 1rem;
    color: var(--theme-color-text);
    font-size: 0.98rem;
    font-weight: 600;
    text-decoration: none;
    transition: background-color var(--theme-transition-fast), color var(--theme-transition-fast);
}

#DrawerMenu .side-menu > ul > li + li,
#DrawerMenu #Menu > ul > li + li {
    margin-top: 0.2rem;
}

#DrawerMenu .side-menu > ul > li > a:hover,
#DrawerMenu #Menu > ul > li > a:hover,
#DrawerMenu .side-menu > ul > li.active > a,
#DrawerMenu #Menu > ul > li.active > a,
#DrawerMenu .side-menu > ul > li.ActivePage > a,
#DrawerMenu #Menu > ul > li.ActivePage > a {
    background: var(--theme-color-surface-muted);
    color: var(--theme-color-text);
}

#DrawerMenu .subcat-expand {
    position: absolute;
    top: 0.45rem;
    right: 0.45rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border: 0;
    background: var(--theme-color-border);
    color: var(--theme-color-text-muted);
    cursor: pointer;
}

#DrawerMenu .subcat-expand:after {
    content: "+";
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
}

#DrawerMenu .subcat-expand.subcat-expanded:after {
    content: "−";
}

#DrawerMenu .drawer-subcat {
    display: none;
    margin: 0.4rem 0 0.6rem;
    padding: 0 0 0 0.85rem;
    list-style: none;
    border-left: 2px solid var(--theme-color-border);
}

#DrawerMenu .drawer-subcat.expanded {
    display: block;
}

#DrawerMenu .drawer-subcat li {
    list-style: none;
}

#DrawerMenu .drawer-subcat li + li {
    margin-top: 0.2rem;
}

#DrawerMenu .drawer-subcat li a {
    display: block;
    padding: 0.7rem 0.85rem;
    color: var(--theme-color-text-muted);
    font-size: 0.92rem;
    text-decoration: none;
}

#DrawerMenu .drawer-subcat li a:hover {
    background: var(--theme-color-surface-muted);
    color: var(--theme-color-text);
}

.drawer-utility-nav {
    margin-top: 0.25rem;
    padding-top: 1rem;
    border-top: 1px solid var(--theme-color-border);
}

.drawer-utility-link,
.drawer-gift-links a {
    display: block;
    padding: 0.85rem 1rem;
    color: var(--theme-color-text);
    text-decoration: none;
}

.drawer-utility-link:hover,
.drawer-gift-links a:hover {
    background: var(--theme-color-surface-muted);
}

.page.off-screen {
    transform: none !important;
    position: static !important;
    overflow: visible !important;
    width: auto !important;
}

.feature-product-owl .desc-cp {
    font-size: 0.95rem;
    color: #4b5563;
    line-height: 1.5;
    margin: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.feature-product-card .ProductDetails {
    font-size: 0.95rem;
    flex: 1 1 auto;
}

.feature-product-card .pname {
    display: block;
    color: var(--theme-color-text);
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.3;
    text-decoration: none;
}

.feature-product-card .p-price {
    flex: 0 0 auto;
    margin: 0;
    color: #111111;
    font-size: 1.05rem;
    font-weight: 800;
    font-style: normal;
}

.feature-product-cta,
.feature-product-card .ProductActionAdd .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    width: 100%;
    background-color: var(--theme-color-accent) !important;
    color: #fff !important;
    padding: 0 1.15rem !important;
    font-size: 0.88rem !important;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: none;
    text-decoration: none;
}

.feature-product-card .detail {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #111111;
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
}

.feature-product-footer {
    margin-top: auto;
    padding-top: 0.25rem;
}

.feature-product-card .more-detail {
    margin: auto 0 0;
}

@media (max-width: 767px) {
    .featured-products-panel {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .featured-products-header {
        align-items: flex-start;
        flex-direction: column;
        padding-bottom: 1.5rem;
    }

    .feature-product-card {
        padding: 0.9rem;
    }

    .feature-product-meta {
        flex-direction: column;
        gap: 0.45rem;
    }

    .feature-product-card .p-price {
        font-size: 1.05rem;
    }
}

.header-title,
.wrapAccount a {
    color: #1f2933;
    text-transform: none;
}

.PageMenu {
    position: relative;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 0.5rem 0;
    background: #000000;
}

.PageMenu .Block,
.PageMenu .BlockContent,
.PageMenu .BlockTitle,
.PageMenu .CategoryList {
    background: #000000 !important;
    padding: 0 !important;
}

.PageMenu-mobile {
    padding-top: 0.75rem;
}

.feature-product-owl .swiper-wrapper {
    margin: 0 -12px;
}

.feature-product-owl .swiper-slide {
    padding: 0 12px;
}

.feature-product-owl .swiper-button-prev,
.feature-product-owl .swiper-button-next {
    color: var(--theme-color-accent);
    opacity: 0.9;
}

.feature-product-owl .swiper-button-prev::after,
.feature-product-owl .swiper-button-next::after {
    content: '';
}

.feature-product-owl .swiper-button-prev::before,
.feature-product-owl .swiper-button-next::before {
    content: '';
    width: 12px;
    height: 12px;
    border-top: 2px solid var(--theme-color-accent);
    border-right: 2px solid var(--theme-color-accent);
    transform: rotate(135deg);
}

.feature-product-owl .swiper-button-next::before {
    transform: rotate(-45deg);
}

.feature-product-owl .swiper-button-prev,
.feature-product-owl .swiper-button-next {
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.9);
    display: flex;
    align-items: center;
    justify-content: center;
}

.feature-product-owl .swiper-button-prev svg,
.feature-product-owl .swiper-button-next svg {
    width: 18px;
    height: 18px;
}

.feature-product-owl .swiper-button-prev:focus,
.feature-product-owl .swiper-button-next:focus {
    outline: 2px solid var(--theme-color-accent);
}

.feature-product-owl .swiper-pagination-bullet {
    background-color: var(--theme-color-accent);
    opacity: 0.7;
}

@media (max-width: 767px) {
    body {
        font-size: 1rem;
    }

    .feature-product-owl .swiper-button-prev,
    .feature-product-owl .swiper-button-next {
        display: none;
    }

    .feature-product-owl .swiper-pagination {
        bottom: 4px;
    }

    .feature-product-owl .swiper-slide {
        padding: 0 8px;
    }
}

.feature-block-card {
    background: #fff;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    border: 1px solid #e5e7eb;
}

.recent-blog-card {
    gap: 1rem;
}

.recent-blog-thumb {
    overflow: hidden;
    background: #f4f4f5;
    aspect-ratio: 4 / 3;
}

.recent-blog-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.recent-blog-kicker {
    margin: 0;
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--theme-color-accent);
}

.recent-blog-title {
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.3;
    color: #111111;
    text-decoration: none;
}

.recent-blog-preview {
    margin: 0;
    color: #52525b;
    line-height: 1.7;
}

.recent-blog-link {
    font-size: 0.95rem;
    font-weight: 700;
    color: #111111;
    text-decoration: none;
    margin-top: auto;
}

.recent-blogs-owl {
    padding-top: 4.25rem;
}

.recent-blogs-owl .swiper-button-prev,
.recent-blogs-owl .swiper-button-next {
    top: 0.5rem;
    width: 2.75rem;
    height: 2.75rem;
    background: #ffffff;
    color: #111111;
    border: 1px solid #e5e7eb;
    opacity: 1;
}

.recent-blogs-owl .swiper-button-prev {
    left: auto;
    right: 3.5rem;
}

.recent-blogs-owl .swiper-button-next {
    right: 0;
}

.recent-blogs-owl .swiper-button-prev::before,
.recent-blogs-owl .swiper-button-next::before {
    width: 10px;
    height: 10px;
    border-top-color: #111111;
    border-right-color: #111111;
}

.recent-blogs-owl .swiper-button-prev:focus,
.recent-blogs-owl .swiper-button-next:focus {
    outline: 2px solid var(--theme-color-accent);
}

.recent-blogs-owl .swiper-pagination {
    position: static;
    margin-top: 1.25rem;
    text-align: center;
}

.recent-blogs-owl .swiper-pagination-bullet {
    background-color: #111111;
    opacity: 0.25;
}

.recent-blogs-owl .swiper-pagination-bullet-active {
    opacity: 1;
    background-color: var(--theme-color-accent);
}

.home-brand-panel .featured-products-header {
    padding-bottom: 1.5rem;
}

.brand-slider {
    position: relative;
    overflow: hidden;
}

.brand-slider .swiper-wrapper {
    margin: 0 -12px;
}

.brand-slider .swiper-button-prev,
.brand-slider .swiper-button-next {
    width: 40px;
    height: 40px;
    background: #ffffff;
    color: var(--theme-color-accent);
    border: 1px solid #e5e7eb;
}

.brand-slider .swiper-button-prev::after,
.brand-slider .swiper-button-next::after {
    font-size: 0.95rem;
    font-weight: 700;
}

.brand-slider .swiper-pagination-bullet {
    background-color: var(--theme-color-accent);
    opacity: 0.7;
}

.top-seller-card {
    gap: 0.5rem;
}

.top-seller-card .ProductPriceRating {
    display: none;
}

.top-seller-card .ProductDetails .pname {
    color: #0f3f28;
    font-weight: 600;
}

.row {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.row > [class*="col-"] {
    flex: 1;
    min-width: 100%;
}

.col-sm-6,
.col-md-6,
.col-lg-6,
.col-sm-12,
.col-md-12,
.col-lg-12 {
    width: 100%;
}

@media (min-width: 768px) {
    .col-sm-6,
    .col-md-6 {
        width: 50%;
    }
}

@media (min-width: 1024px) {
    .col-lg-6 {
        width: 50%;
    }
}

[class*="col-"] {
    padding-left: 0;
    padding-right: 0;
}

.footer {
    background: linear-gradient(180deg, var(--theme-color-dark) 0%, var(--theme-color-dark-strong) 100%);
    color: var(--theme-color-surface);
}

.footer-band {
    width: 100%;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    background:
        radial-gradient(circle at top left, rgba(15, 90, 51, 0.22), transparent 34%),
        radial-gradient(circle at bottom right, rgba(255, 255, 255, 0.05), transparent 28%);
}

.footer-inner-panel {
    background: transparent;
}

.footer-eyebrow {
    margin: 0;
    color: #86efac;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.26em;
    text-transform: uppercase;
}

.footer-title {
    margin: 0;
    max-width: 34rem;
    color: var(--theme-color-surface);
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1.05;
    letter-spacing: -0.04em;
}

.footer-copy {
    max-width: 36rem;
    margin: 0;
    color: var(--theme-color-dark-muted);
    font-size: 1rem;
    line-height: 1.75;
}

.footer-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.footer-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: 0.8rem 1.25rem;
    font-size: 0.95rem;
    font-weight: 700;
    text-decoration: none;
    transition: background-color var(--theme-transition-fast), border-color var(--theme-transition-fast), color var(--theme-transition-fast);
}

.footer-cta-primary {
    background: var(--theme-color-accent);
    color: var(--theme-color-surface);
}

.footer-cta-secondary {
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.05);
    color: #e2e8f0;
}

.footer-cta-primary:hover,
.footer-cta-primary:focus,
.footer-cta-primary:visited {
    background: var(--theme-color-accent-strong);
    color: var(--theme-color-surface) !important;
}

.footer-cta-secondary:hover,
.footer-cta-secondary:focus,
.footer-cta-secondary:visited {
    border-color: rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.1);
    color: #fff !important;
}

.footer-cta,
.footer-cta:hover,
.footer-cta:focus,
.footer-cta:visited,
.footer-cta span {
    color: var(--theme-color-surface) !important;
}

.footer-contact-card {
    padding: 1.5rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(10px);
}

.footer-contact-card h4,
.footer-heading {
    margin: 0;
    color: var(--theme-color-surface);
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.footer-contact-list {
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.75rem;
    color: #cbd5e1;
}

.footer-contact-list a {
    color: #fff;
    text-decoration: none;
}

.footer-links li {
    list-style: none;
}

.footer-links a {
    font-size: 0.95rem;
    color: #cbd5e1;
    text-transform: none;
    letter-spacing: normal;
    font-weight: 500;
    text-decoration: none;
}

.footer-links a:hover {
    color: #fff;
}

.footer-socials .footer-social {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: rgba(255,255,255,0.08);
    color: #fff;
    transition: background 0.3s ease, transform 0.3s ease;
}

.wishlist-page-shell {
    padding: 1.5rem 0 3rem;
}

.wishlist-breadcrumb {
    margin-bottom: 1.5rem;
}

.wishlist-breadcrumb-inner {
    max-width: 80rem;
    margin: 0 auto;
}

.wishlist-page-container {
    width: min(72rem, calc(100% - 2rem));
    max-width: 72rem;
    margin: 0 auto;
}

.wishlist-page-content {
    display: grid;
    grid-template-columns: 18rem minmax(0, 1fr);
    gap: 2rem;
    align-items: start;
}

.wishlist-page-sidebar,
.wishlist-page-main {
    float: none;
    width: auto;
}

.wishlist-page-main > .Block + .Block {
    margin-top: 1.5rem;
}

.wishlist-panel {
    border: 1px solid #e2e8f0;
    background: #fff;
    overflow: hidden;
}

.wishlist-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.5rem 1.5rem 0;
}

.wishlist-panel-body {
    padding: 1.5rem;
}

.wishlist-panel-eyebrow {
    margin: 0 0 0.35rem;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--theme-color-accent);
}

.wishlist-panel h2,
.wishlist-panel h3 {
    margin: 0;
    color: #0f172a;
    font-size: 1.85rem;
    line-height: 1.1;
}

.wishlist-panel-add,
.wishlist-action-btn,
.wishlist-remove-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--theme-control-height);
    border: 0;
    background: var(--theme-color-accent);
    color: var(--theme-color-surface) !important;
    padding: 0 1.15rem;
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
}

.wishlist-action-btn-secondary {
    background: var(--theme-color-text-muted);
}

.wishlist-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1rem;
}

.wishlist-table {
    width: 100%;
    border-collapse: collapse;
}

.wishlist-table thead th {
    text-align: left;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--theme-color-text-soft);
    border-bottom: 1px solid var(--theme-color-border);
    padding: 0.9rem 0.75rem;
}

.wishlist-table-row td {
    padding: 1rem 0.75rem;
    border-bottom: 1px solid var(--theme-color-border);
    vertical-align: middle;
    color: var(--theme-color-text-muted);
}

.wishlist-table-link,
.wishlist-table-action {
    color: var(--theme-color-text);
    font-weight: 600;
    text-decoration: none;
}

.wishlist-table-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.wishlist-items-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    padding: 0;
    margin: 0;
    list-style: none;
}

.wishlist-item-card {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    padding: 1rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
}

.wishlist-item-media {
    overflow: hidden;
    background: var(--theme-color-surface-muted);
}

.wishlist-item-media img {
    display: block;
    width: 100%;
    height: auto;
}

.wishlist-item-details .pname {
    color: var(--theme-color-text);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
}

.wishlist-item-price {
    margin: 0;
}

.wishlist-item-price .p-price {
    color: var(--theme-color-accent);
    font-size: 1.1rem;
    font-weight: 800;
    font-style: normal;
}

.wishlist-item-remove {
    margin-top: auto;
}

.wishlist-share-box {
    margin-top: 1rem;
    padding: 0 1.5rem 1.5rem;
}

.wishlist-share-content {
    border: 1px dashed var(--theme-color-text-soft);
    padding: 1rem 1.25rem;
    background: var(--theme-color-surface-muted);
    color: var(--theme-color-text-muted);
}

#PageBreadcrumb {
    padding: 0 0 1rem;
    background: transparent;
}

.breadcrumb-shell {
    max-width: var(--theme-container-page);
    margin: 0 auto;
    padding: 0 1.75rem;
}

.breadcrumb-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.breadcrumb-list li {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    padding: 0;
    list-style: none;
    color: var(--theme-color-text-soft);
    font-size: 0.875rem;
    line-height: 1.4;
    letter-spacing: 0.01em;
}

.breadcrumb-list li::before {
    content: "/";
    color: var(--theme-color-text-soft);
}

.breadcrumb-list li:first-child::before {
    content: none;
}

.breadcrumb-list a {
    color: var(--theme-color-text);
    text-decoration: none;
}

.breadcrumb-list a:hover {
    color: var(--theme-color-accent);
}

#CategoryBreadcrumb {
    padding: 0 0 1rem;
    background: transparent;
}

.category-page-shell {
    padding: var(--theme-space-6) 0 3rem;
}

.category-page-container {
    max-width: none;
    width: 100%;
}

.category-page-container-wide {
    max-width: var(--theme-container-max);
}

.category-page-card {
    display: grid;
    gap: 1.5rem;
    width: 100%;
    border: 0;
    background: transparent;
    padding: 0;
}

.category-heading-block {
    display: grid;
    gap: 0.75rem;
}

.category-kicker {
    margin: 0;
    color: var(--theme-color-accent);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.category-title {
    margin: 0;
    padding: 0;
    border: 0 !important;
    color: var(--theme-color-text) !important;
    font-size: clamp(1.8rem, 3vw, 2.6rem) !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em !important;
    line-height: 1.05 !important;
    text-transform: none !important;
    font-family: inherit !important;
}

.category-description-block {
    color: var(--theme-color-text-muted);
    line-height: 1.7;
    max-width: 48rem;
}

.category-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 0;
    padding-top: 1.25rem;
    border-top: 1px solid var(--theme-color-border);
}

.category-toolbar-left,
.category-toolbar-right {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

.category-sortbox {
    margin: 0;
}

.category-sortbox form {
    margin: 0;
}

.category-sortbox-inner {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    min-height: var(--theme-control-height);
    padding: 0.4rem 0.4rem 0.4rem 0.85rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface-alt);
}

.category-sortbox-inner label {
    margin: 0;
    color: var(--theme-color-text-muted);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.category-content-shell {
    margin-top: 0;
}

.category-facets-header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.category-heading-wrap {
    flex: 1 1 auto;
    min-width: 0;
}

.category-refine-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--theme-control-height);
    border: 1px solid var(--theme-color-border-strong);
    background: var(--theme-color-surface);
    color: var(--theme-color-text-muted);
    padding: 0 1rem;
    font-size: 0.9rem;
    font-weight: 700;
}

.category-faceted-layout {
    display: grid;
    grid-template-columns: 18rem minmax(0, 1fr);
    gap: 1.5rem;
    margin-top: 1.5rem;
}

.category-faceted-sidebar,
.category-faceted-main {
    min-width: 0;
}

.category-faceted-sidebar {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.category-sidebar-card,
.category-toolbar-card,
.category-content-card {
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
    padding: 1.25rem;
}

.category-content-card {
    margin-top: 1rem;
}

#FacetedSearch,
.js-faceted-showing-container,
.js-faceted-search-container {
    display: grid;
    gap: 1rem;
}

.faceted-sidebar-card.is-empty {
    display: none;
}

.facet-container {
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
}

.facet-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border-bottom: 1px solid var(--theme-color-border);
}

.facet-header-title {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.2;
    color: var(--theme-color-text);
}

.facet-body {
    padding: 1rem 1.1rem;
}

.facet-options-list,
.facet-labels-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.5rem;
}

.facet-option,
.facet-label {
    margin: 0;
    padding: 0;
}

.facet-option a,
.facet-option label,
.facet-label a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.7rem 0.85rem;
    color: var(--theme-color-text);
    text-decoration: none;
    background: #ffffff;
    border: 1px solid var(--theme-color-border);
    font-size: 0.92rem;
    line-height: 1.45;
    cursor: pointer;
}

.facet-option.selected a,
.facet-option.selected label,
.facet-label a {
    border-color: var(--theme-color-accent);
    color: var(--theme-color-accent);
    background: color-mix(in srgb, var(--theme-color-accent) 8%, #ffffff);
}

.facet-option input[type="checkbox"] {
    flex: 0 0 auto;
    width: 1rem;
    height: 1rem;
    margin: 0;
}

.facet-option-product-count {
    flex: 0 0 auto;
    color: var(--theme-color-text-muted);
    font-size: 0.82rem;
}

.js-facet-clear,
.js-facet-clear-all {
    color: var(--theme-color-accent);
    font-size: 0.85rem;
    font-weight: 700;
    text-decoration: none;
}

.js-facet-more-options {
    margin-top: 0.85rem;
}

.btn-facet-more-options,
.js-btn-facet-range-update,
.js-btn-facet-range-clear {
    min-height: 2.75rem;
    padding: 0 1rem;
    border: 1px solid var(--theme-color-border-strong);
    background: #ffffff;
    color: var(--theme-color-text);
    font-size: 0.88rem;
    font-weight: 700;
}

.facet-form fieldset {
    margin: 0;
    padding: 0;
    border: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 0.65rem;
    align-items: center;
}

.facet-form .js-facet-range-input-from,
.facet-form .js-facet-range-input-to {
    width: 100%;
    min-height: 2.75rem;
    padding: 0 0.85rem;
    border: 1px solid var(--theme-color-border);
    background: #ffffff;
    color: var(--theme-color-text);
}

.facet-option-rating-stars {
    display: inline-block;
    width: 5rem;
    max-width: 100%;
    height: auto;
}

#CategoryContent {
    background: transparent;
    padding: 0;
}

#CategoryContent form {
    margin: 0;
}

#ProductBreadcrumb {
    padding: 0 0 1rem;
    margin: 0;
    background: transparent;
}

#ProductBreadcrumb .breadcrumb-shell {
    max-width: var(--theme-container-page);
}

#ProductBreadcrumb ul,
#ProductBreadcrumb .last {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

#ProductBreadcrumb li {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    padding: 0;
    list-style: none;
    color: var(--theme-color-text-soft);
    font-size: 0.875rem;
    line-height: 1.4;
    letter-spacing: 0.01em;
}

#ProductBreadcrumb li::before {
    content: "/";
    color: var(--theme-color-text-soft);
}

#ProductBreadcrumb li:first-child::before {
    content: none;
}

#ProductBreadcrumb a {
    color: var(--theme-color-text);
    text-decoration: none;
}

#ProductBreadcrumb a:hover {
    color: var(--theme-color-accent);
}

.product-page-shell {
    padding: 1.5rem 0 4rem;
    background: #fff;
}

.product-page-container {
    max-width: 80rem;
    width: 100%;
    margin: 0 auto;
}

.product-page-layout {
    display: block;
}

.product-page-layout > :only-child {
    display: block;
}

.product-page-main {
    min-width: 0;
}

.product-page-secondary {
    display: grid;
    gap: 1.5rem;
    margin-top: 3rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.product-page-secondary:empty,
.product-page-subcard:empty {
    display: none !important;
}

.product-page-card,
.product-page-subcard {
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
    padding: var(--theme-space-6);
}

.product-page-main > .product-page-card {
    border: 0;
    background: transparent;
    padding: 0;
}

#ProductDetails.product-details-panel,
#ProductDetails.product-details-panel > .BlockContent {
    background: transparent;
    padding: 0;
}

.product-details-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 2rem;
    align-items: start;
}

.product-hero-media,
.product-hero-copy {
    min-width: 0;
}

.product-hero-copy {
    display: grid;
    align-content: start;
}

.product-gallery-column,
.product-summary-column {
    float: none !important;
    width: auto !important;
    padding: 0 !important;
    overflow: visible !important;
}

.product-gallery-shell {
    border: 0;
    background: transparent;
    padding: 0;
    overflow: hidden;
}

.product-gallery-stage {
    display: block;
}

.product-gallery-shell .ProductGalleryHero {
    position: relative;
    overflow: hidden;
}

.product-gallery-shell .ProductThumb,
#ProductDetails .product-gallery-shell .ProductThumb,
.PrimaryProductDetails .product-gallery-shell .ProductThumb {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.PrimaryProductDetails .product-gallery-column,
.PrimaryProductDetails .product-summary-column {
    float: none !important;
}

.PrimaryProductDetails .product-gallery-column .ImageCarouselBox {
    position: static !important;
    width: 100% !important;
    margin: 0 !important;
}

.product-thumb-image {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 32rem;
    width: 100%;
    box-sizing: border-box;
    border: 1px solid var(--theme-color-border);
    background: #fff;
    overflow: hidden;
}

.product-thumb-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0;
}

.product-thumb-main-image {
    display: block;
    width: 100%;
    height: 32rem;
    object-fit: cover;
    object-position: center;
}

.product-summary-card {
    border: 0;
    background: transparent;
    padding: 0;
}

.product-summary-intro {
    display: grid;
    gap: 1rem;
}

.product-header h2 {
    margin: 0;
    color: #0f172a;
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1.05;
    letter-spacing: -0.03em;
}

.product-rating-row {
    margin: 0;
}

.product-rating-value {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem 0.75rem;
    color: var(--theme-color-text-muted);
    font-size: 0.95rem;
}

.product-rating-stars[style*="display: none"] {
    display: none !important;
}

.product-rating-count {
    color: var(--theme-color-text-muted);
}

.product-rating-link a {
    color: var(--theme-color-accent);
    text-decoration: none;
    font-weight: 700;
}

.product-summary-text {
    margin-top: 0;
    color: var(--theme-color-text-muted);
    font-size: 1rem;
    line-height: 1.7;
}

.product-summary-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem 1rem;
    padding: 1rem 0;
    border-top: 1px solid var(--theme-color-border);
    border-bottom: 1px solid var(--theme-color-border);
}

.product-summary-fact {
    display: grid;
    gap: 0.25rem;
    color: var(--theme-color-text);
    font-size: 0.92rem;
    line-height: 1.5;
}

.product-summary-fact-label {
    color: var(--theme-color-text-muted);
    font-weight: 600;
}

.product-summary-fact-value {
    font-weight: 700;
}

.product-summary-fact-value a {
    color: var(--theme-color-text);
    text-decoration: none;
}

.product-summary-fact-value a:hover {
    color: var(--theme-color-accent);
}

.product-summary-text:empty,
.product-tagline:empty,
.product-tagline a:empty,
.OutOfStockMessage:empty {
    display: none !important;
}

.product-price-row .ProductPrice {
    color: var(--theme-color-text);
    font-size: 2.15rem;
    font-weight: 800;
    line-height: 1.1;
}

.product-price-row {
    margin-top: 0.25rem;
}

.product-price-meta {
    margin-top: 0.15rem;
    color: #64748b;
    font-size: 0.95rem;
}

.product-tagline {
    margin: 1rem 0 0;
}

.product-tagline a {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0 0.85rem;
    background: var(--theme-color-accent-soft);
    color: var(--theme-color-accent);
    text-decoration: none;
    font-size: 0.85rem;
    font-weight: 700;
}

.product-expected-release {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.6rem;
    margin-top: 1rem;
    color: var(--theme-color-text-muted);
    font-size: 0.92rem;
    line-height: 1.5;
}

.product-expected-release-label {
    color: var(--theme-color-text-muted);
    font-weight: 700;
}

.product-expected-release-value {
    color: var(--theme-color-text);
    font-weight: 700;
}

.product-gallery-thumbs {
    margin-top: 1rem;
}

.product-thumb-carousel {
    display: block;
}

.product-thumb-arrow {
    display: none;
}

.product-thumb-list {
    overflow: hidden;
}

.product-thumb-list ul {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.75rem;
    padding: 0;
    margin: 0;
    list-style: none;
}

.product-thumb-tiny-item {
    width: 100%;
    margin: 0;
}

.product-thumb-tiny-outer,
.product-thumb-tiny-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: auto;
}

.product-thumb-tiny-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 1 / 1;
    padding: 0.5rem;
    border: 1px solid #dbe4ee;
    background: #fff;
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.product-thumb-tiny-link:hover,
.product-thumb-tiny-item.ActiveImage .product-thumb-tiny-link,
.product-thumb-tiny-item.active .product-thumb-tiny-link,
#TinyImageBox_0 .product-thumb-tiny-link {
    border-color: var(--theme-color-accent);
    transform: translateY(-1px);
}

.product-thumb-tiny-image {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.product-more-pictures-link {
    margin-top: 1rem;
}

.product-more-pictures-link .ViewLarger {
    color: var(--theme-color-accent);
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 700;
}

.product-purchase-panel {
    margin-top: 1.5rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
    padding: 1.5rem;
}

.product-purchase-form {
    display: grid;
    gap: 1.25rem;
}

.product-purchase-section {
    display: grid;
    gap: 1rem;
}

.product-purchase-options {
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--theme-color-border);
}

.product-purchase-ordering {
    display: grid;
    grid-template-columns: minmax(7rem, 8.5rem) minmax(0, 1fr);
    gap: 1rem 1.25rem;
    align-items: end;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--theme-color-border);
}

.product-purchase-meta {
    gap: 0.9rem;
}

.product-purchase-meta-title {
    color: #0f172a;
    font-size: 0.9rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.product-purchase-meta-grid {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.product-meta-item {
    margin: 0 !important;
    padding: 0.9rem 1rem;
    border: 1px solid var(--theme-color-border);
    background: #fff;
}

.product-purchase-panel .DetailRow {
    margin-bottom: 0.9rem;
}

.product-purchase-panel .Label {
    color: #64748b;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.product-purchase-panel .Value {
    color: #0f172a;
}

.product-purchase-panel .ProductOptionList,
.product-purchase-panel .productAttributeList {
    margin: 0 0 1rem;
}

.product-purchase-panel .ProductOptionList:last-child,
.product-purchase-panel .productAttributeList:last-child {
    margin-bottom: 0;
}

.product-purchase-panel .ProductOptionList > strong {
    display: block;
    margin-bottom: 0.75rem;
    color: #0f172a;
    font-size: 0.95rem;
    font-weight: 800;
}

.product-purchase-panel .ProductOptionList ul,
.product-purchase-panel .productAttributeList ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.product-form-row {
    margin-bottom: 1rem;
    padding: 0.85rem 1rem;
    border-radius: 1rem;
    background: #f8fafc;
}

.product-form-row .Value > ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.product-text-input,
.product-select-input,
.product-textarea-input,
.event-date-picker input,
.product-purchase-panel input[type="text"],
.product-purchase-panel input[type="email"],
.product-purchase-panel input[type="number"],
.product-purchase-panel input[type="file"],
.product-purchase-panel select,
.product-purchase-panel textarea {
    display: block;
    width: 100%;
    min-height: 3rem;
    border: 1px solid rgba(15, 23, 42, 0.18);
    background: #fff;
    color: #0f172a;
    padding: 0.8rem 0.95rem;
    font-size: 1rem;
    line-height: 1.5;
}

.product-textarea-input,
.product-purchase-panel textarea {
    min-height: 7rem;
    resize: vertical;
}

.event-date-picker select,
.event-date-picker .hidden {
    display: none !important;
}

.product-variation-radio-list {
    display: grid;
    gap: 0.75rem;
}

.product-variation-radio-item {
    margin: 0;
}

.product-variation-radio-label,
.product-checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    color: #334155;
    font-weight: 600;
    line-height: 1.5;
}

.product-radio-input,
.product-checkbox-input {
    width: 1rem;
    height: 1rem;
    margin: 0;
    accent-color: var(--theme-color-accent);
}

.product-upload-meta,
.product-upload-help,
.event-date-limitations {
    display: block;
    color: #64748b;
    font-size: 0.9rem;
    margin-top: 0.75rem;
    line-height: 1.5;
}

.product-upload-meta a {
    color: var(--theme-color-accent);
    text-decoration: none;
    font-weight: 700;
}

.product-purchase-panel .qty .AddCartButton {
    display: flex;
    align-items: center;
}

.product-quantity-row {
    display: grid;
    gap: 0.6rem;
    margin: 0 !important;
}

.product-quantity-label {
    margin: 0;
}

.product-quantity-row .AddCartButton,
.product-quantity-control {
    justify-content: flex-start;
}

.product-quantity-input-wrap {
    display: inline-flex;
    min-width: 6rem;
}

.product-purchase-panel .qty input[type="text"],
.product-purchase-panel .qty input[type="number"] {
    max-width: 6rem;
    text-align: center;
}

.product-purchase-panel .InfoMessage a {
    color: var(--theme-color-accent);
    text-decoration: none;
    font-weight: 700;
}

.product-purchase-panel .OutOfStockMessage {
    display: none;
    margin-top: 1rem;
    padding: 0.9rem 1rem;
    background: #fff5f5;
    color: #b42318;
    border: 1px solid #fecaca;
}

.product-purchase-panel .OutOfStockMessage:not(:empty),
.quickview-shell .OutOfStockMessage:not(:empty) {
    display: block;
}

.product-purchase-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 0;
}

.product-purchase-submit {
    display: block;
    float: none !important;
    margin: 0 !important;
    width: 100%;
}

.product-add-cart-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    width: 100%;
    border: 0;
    background: var(--theme-color-accent) !important;
    color: #fff !important;
    padding: 0 1.35rem !important;
    font-size: 0.95rem !important;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: none;
}

.product-wishlist-trigger-wrap {
    background: transparent;
    padding: 0;
    margin: 0;
    float: none !important;
    width: 100%;
}

.product-wishlist-trigger-wrap .product-wishlist-trigger {
    width: 100%;
}

.product-bulk-discount-link {
    margin: 0;
}

.product-wishlist-trigger,
.product-wishlist-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    border: 1px solid #cbd5e1 !important;
    background: #fff !important;
    color: #334155 !important;
    padding: 0 1.15rem !important;
    font-size: 0.95rem !important;
    font-weight: 700;
    text-transform: none;
}

.product-purchase-meta-title {
    color: var(--theme-color-text);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.product-wishlist-hidden,
.product-wishlist-hidden > .BlockContent {
    background: transparent;
    padding: 0;
}

.product-tabs-shell {
    margin-top: 2rem;
    border-top: 1px solid var(--theme-color-border);
    background: transparent;
    overflow: hidden;
}

.product-tabs-header {
    display: grid;
    gap: 0.4rem;
    padding: 1.5rem 0 1rem;
    border-bottom: 1px solid var(--theme-color-border);
    background: transparent;
}

.product-tabs-kicker {
    margin: 0;
    color: var(--theme-color-accent);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.product-tabs-title {
    margin: 0;
    color: var(--theme-color-text);
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.02em;
}

.product-tabs-nav-shell {
    padding: 1rem 0;
    border-bottom: 1px solid var(--theme-color-border);
    background: transparent;
}

.product-tabs-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    list-style: none;
    border: 0;
}

.product-tabs-nav li {
    margin: 0;
    padding: 0;
}

.product-tabs-nav li a {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    padding: 0 1rem;
    border: 1px solid #dbe4ee;
    background: #fff;
    color: #334155;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    text-transform: none;
}

.product-tabs-nav li a.selected,
.product-tabs-nav li a:hover {
    color: #fff !important;
    border-color: var(--theme-color-accent);
    background: var(--theme-color-accent);
}

.product-tab-panel {
    padding: 1.5rem;
    background: #fff;
}

.product-tab-panel + .product-tab-panel {
    border-top: 1px solid #e2e8f0;
}

.product-detail-section,
.product-detail-section > .BlockContent {
    background: transparent;
    padding: 0;
}

.product-page-secondary .product-detail-section,
.product-page-sidebar .product-detail-section {
    display: grid;
    gap: 1rem;
    padding: 1.25rem;
    border: 1px solid #e2e8f0;
    background: #fff;
}

.product-detail-section-title {
    margin: 0 0 1rem;
    color: #0f172a;
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.product-page-secondary .product-detail-section-title,
.product-page-sidebar .product-detail-section-title {
    margin: 0;
    padding-bottom: 0.9rem;
    border-bottom: 1px solid #e2e8f0;
}

.product-detail-prose,
.product-review-section {
    color: #475467;
    font-size: 1rem;
    line-height: 1.75;
}

.product-detail-prose > *:first-child,
.product-review-section > *:first-child {
    margin-top: 0;
}

.product-detail-prose h1,
.product-detail-prose h2,
.product-detail-prose h3,
.product-detail-prose h4,
.product-detail-prose h5,
.product-detail-prose h6 {
    color: #0f172a;
    margin: 1.5rem 0 0.75rem;
    line-height: 1.2;
}

.product-detail-prose p,
.product-detail-prose ul,
.product-detail-prose ol,
.product-detail-prose blockquote {
    margin: 0 0 1rem;
}

.product-detail-prose img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 1rem auto;
}

.product-tag-grid,
.product-tag-grid a,
.product-tag-grid span {
    font-size: 0.95rem !important;
}

.product-tag-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}

.product-tag-chip {
    display: inline-flex;
}

.product-tag-chip a,
.product-tag-grid a {
    display: inline-flex;
    align-items: center;
    min-height: 2.5rem;
    padding: 0 1rem;
    background: #f8fafc;
    border: 1px solid #dbe4ee;
    color: #334155;
    text-decoration: none;
    font-weight: 700;
}

.product-video-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(16rem, 0.7fr);
    gap: 1.5rem;
}

.product-video-shell {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.product-video-frame {
    position: relative;
    overflow: hidden;
    background: #0f172a;
    aspect-ratio: 16 / 9;
}

.product-video-frame object,
.product-video-frame embed,
.product-video-frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.product-video-feature {
    padding: 1.25rem;
    border: 1px solid #e2e8f0;
    background: #fff;
}

.VideoSingleTitle {
    color: #0f172a;
    font-size: 1.05rem;
    font-weight: 800;
}

.SingleVideoLength {
    color: #64748b;
    font-size: 0.85rem;
    font-weight: 600;
}

.VideoSingleDescription {
    margin: 0.75rem 0 0;
    color: #475467;
    line-height: 1.7;
}

.product-video-list-wrap ul,
.product-video-sidebar ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.product-video-row {
    display: grid;
    grid-template-columns: 9rem minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
    padding: 1rem;
    border: 1px solid #e2e8f0;
    background: #fff;
}

.product-video-list-wrap ul {
    display: grid;
    gap: 1rem;
}

.product-video-thumb {
    position: relative;
    overflow: hidden;
    background: #0f172a;
}

.product-video-thumb img {
    display: block;
    width: 100%;
    height: auto;
}

.product-video-copy {
    min-width: 0;
}

.videoRowTitle {
    display: block;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.3;
    margin-bottom: 0.35rem;
}

.videoRowDescription {
    color: #64748b;
    line-height: 1.6;
}

.product-video-sidebar {
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    padding: 1rem;
}

.product-video-sidebar-title {
    margin: 0 0 0.9rem;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 800;
}

.product-side-video-row + .product-side-video-row {
    margin-top: 0.75rem;
}

.product-side-video-link {
    display: grid;
    grid-template-columns: 5rem minmax(0, 1fr);
    gap: 0.85rem;
    align-items: center;
    padding: 0.75rem;
    background: #fff;
    border: 1px solid #e2e8f0;
    color: #0f172a;
    text-decoration: none;
}

.product-side-video-link img {
    display: block;
    width: 100%;
    background-size: cover;
    background-position: center;
}

.VideoSideDescription {
    color: #0f172a;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.45;
}

.VideoSideDescription div {
    color: #64748b;
    font-size: 0.8rem;
    font-weight: 600;
    margin-top: 0.2rem;
}

.product-related-shell {
    background: transparent;
    padding: 0;
}

.product-related-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.product-related-item {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    padding: 0.9rem;
    border: 1px solid var(--theme-color-border);
    background: #fff;
}

.product-related-media {
    position: relative;
    overflow: hidden;
    background: var(--theme-color-surface-muted);
    aspect-ratio: 1 / 1;
}

.product-related-media img {
    display: block;
    width: 100%;
    height: auto;
}

.product-related-overlay {
    position: absolute;
    inset: auto 0 0 0;
    display: flex;
    justify-content: center;
    padding: 0.75rem;
    background: linear-gradient(180deg, transparent 0%, rgba(1, 7, 23, 0.22) 100%);
}

.product-related-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.5rem;
    background: var(--theme-color-accent) !important;
    color: #fff !important;
    padding: 0 1rem !important;
    text-decoration: none;
    font-size: 0.85rem !important;
    font-weight: 700;
}

.product-related-content .pname {
    color: var(--theme-color-text);
    text-decoration: none;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.35;
}

.product-related-content {
    display: grid;
    gap: 0.5rem;
}

.product-related-summary,
.product-side-summary {
    margin: 0;
    color: #64748b;
    font-size: 0.92rem;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.product-related-summary:empty,
.product-side-summary:empty {
    display: none;
}

.product-related-price {
    margin: 0;
    color: var(--theme-color-accent);
    font-size: 1.05rem;
    font-weight: 800;
    font-style: normal;
}

.product-related-rating img {
    display: block;
}

.product-side-list-shell,
.product-side-list-shell > .BlockContent {
    background: transparent;
    padding: 0;
}

.product-side-list {
    display: grid;
    gap: 1rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.product-side-item {
    display: grid;
    grid-template-columns: 5.5rem minmax(0, 1fr);
    gap: 0.9rem;
    align-items: start;
    padding: 1rem;
    border: 1px solid #e2e8f0;
    background: #fff;
}

.product-side-media {
    position: relative;
    overflow: hidden;
    background: #f8fafc;
}

.product-side-media img {
    display: block;
    width: 100%;
    height: auto;
}

.product-side-overlay {
    position: absolute;
    inset: auto 0 0 0;
    display: flex;
    justify-content: center;
    padding: 0.85rem;
    background: linear-gradient(180deg, transparent 0%, rgba(15, 23, 42, 0.5) 100%);
}

.product-side-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.35rem;
    background: var(--theme-color-accent) !important;
    color: #fff !important;
    padding: 0 0.9rem !important;
    text-decoration: none;
    font-size: 0.82rem !important;
    font-weight: 700;
}

.product-side-content {
    display: grid;
    gap: 0.4rem;
    min-width: 0;
}

.product-side-title,
.product-side-content .pname,
.product-side-content strong a {
    color: #0f172a;
    text-decoration: none;
    font-size: 0.98rem;
    font-weight: 800;
    line-height: 1.35;
}

.product-side-price {
    margin: 0;
    color: var(--theme-color-accent);
    font-size: 1rem;
    font-weight: 800;
    font-style: normal;
}

.product-side-rating img {
    display: block;
}

.product-side-compare-check {
    margin-bottom: -0.15rem;
}

.product-side-compare {
    margin-top: 1rem;
}

.product-side-compare-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.9rem;
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #334155;
    padding: 0 1.1rem;
    font-size: 0.92rem;
    font-weight: 700;
}

.quickview-shell {
    display: grid;
    grid-template-columns: minmax(18rem, 0.9fr) minmax(0, 1.1fr);
    gap: 1.5rem;
    align-items: start;
}

.quickview-media,
.quickview-summary {
    display: grid;
    gap: 1rem;
}

.quickview-image {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 22rem;
    border: 1px solid #e2e8f0;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    overflow: hidden;
}

.quickview-image-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 1.25rem;
}

.quickview-image img {
    display: block;
    max-width: 100%;
    max-height: 24rem;
    object-fit: contain;
}

.quickview-share-links {
    padding: 0.85rem 1rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
}

.quickview-purchase-panel {
    display: grid;
    gap: 0.95rem;
    padding: 1.25rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
}

.quickview-summary-block,
.quickview-ordering-block,
.quickview-meta-block {
    display: grid;
    gap: 1rem;
}

.quickview-ordering-block {
    padding-top: 1rem;
    border-top: 1px solid var(--theme-color-border);
}

.quickview-meta-block {
    padding-top: 1rem;
    border-top: 1px solid var(--theme-color-border);
}

.quickview-meta-grid {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.quickview-meta-item {
    margin: 0 !important;
    padding: 0.85rem 0.95rem;
    border: 1px solid var(--theme-color-border);
    background: #f8fafc;
}

.quickview-header h1 {
    margin: 0;
    color: var(--theme-color-text);
    font-size: 1.9rem;
    line-height: 1.08;
    letter-spacing: -0.03em;
}

.quickview-rating {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.quickview-rating a {
    color: var(--theme-color-accent);
    text-decoration: none;
    font-weight: 700;
}

.quickview-summary-text {
    color: var(--theme-color-text-muted);
    line-height: 1.7;
}

.quickview-price-row .ProductPrice {
    color: var(--theme-color-text);
    font-size: 1.85rem;
    font-weight: 800;
}

.quickview-price-meta {
    color: var(--theme-color-text-soft);
    font-size: 0.95rem;
}

.quickview-quantity-row {
    margin: 0;
}

.quickview-quantity-row .AddCartButton {
    justify-content: flex-start;
}

.quickview-bulk-discounts ul {
    margin: 0;
    padding-left: 1rem;
    color: var(--theme-color-text-muted);
}

.quickview-actions-row .Value,
.quickview-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

.quickview-more-link {
    margin: 0;
    color: var(--theme-color-text-soft);
}

.quickview-more-link a {
    color: var(--theme-color-accent);
    text-decoration: none;
    font-weight: 700;
}

.product-review-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 1rem;
}

.product-review-item {
    padding: 1.25rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
}

.product-review-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 0 0.6rem;
    color: var(--theme-color-text);
    font-size: 1rem;
    font-weight: 800;
}

.product-review-meta {
    margin: 0 0 0.75rem;
    color: var(--theme-color-text-soft);
    font-size: 0.9rem;
}

.product-review-body {
    margin: 0;
    color: var(--theme-color-text-muted);
    line-height: 1.75;
}

.product-review-paging {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 1rem 0 0;
    color: var(--theme-color-text-soft);
    font-size: 0.9rem;
}

.product-review-paging a {
    color: var(--theme-color-accent);
    text-decoration: none;
    font-weight: 700;
}

.product-share-shell {
    display: grid;
    grid-template-columns: 8rem minmax(0, 1fr);
    gap: 1rem;
    padding: 1.25rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
}

.product-share-photo {
    min-height: 8rem;
    background: var(--theme-color-surface-muted);
}

.product-share-copy {
    display: grid;
    gap: 0.6rem;
}

.product-share-url {
    color: var(--theme-color-text-soft);
    word-break: break-word;
}

.product-share-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.85rem;
    background: var(--theme-color-accent) !important;
    color: var(--theme-color-surface) !important;
    padding: 0 1.1rem !important;
    text-decoration: none;
    font-weight: 700;
}

.product-share-alt {
    color: var(--theme-color-text-soft);
}

.product-share-alt a {
    color: var(--theme-color-accent);
    text-decoration: none;
    font-weight: 700;
}

.product-share-choices {
    margin-top: 1rem;
}

.product-share-choices-wrap {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    padding: 1rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
}

.product-share-choices-wrap p {
    grid-column: 1 / -1;
    margin: 0 0 0.25rem;
    color: var(--theme-color-text-muted);
}

.product-share-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
    color: var(--theme-color-text-muted);
    text-decoration: none;
}

.product-share-choice-list {
    overflow: hidden;
}

.product-share-choice-list ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.product-custom-fields-grid {
    display: grid;
    gap: 0.9rem;
}

.product-custom-field-item {
    padding: 1rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
}

.product-image-popup-shell {
    width: min(100%, 72rem);
    margin: 0 auto;
    padding: 1.5rem 1.25rem 2rem;
    box-sizing: border-box;
}

.product-image-popup-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.product-image-popup-hint {
    margin: 0;
    color: var(--theme-color-text-soft);
    font-size: 0.9rem;
    line-height: 1.5;
}

.product-image-popup-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: 0.65rem 1rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
    color: var(--theme-color-text);
    font-size: 0.92rem;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.product-image-popup-close:hover,
.product-image-popup-close:focus {
    background: var(--theme-color-surface-muted);
    border-color: var(--theme-color-border-strong);
    transform: translateY(-1px);
}

.product-image-popup-title {
    display: grid;
    gap: 0.6rem;
    margin: 0 0 1rem;
    text-align: center;
}

.product-image-popup-kicker {
    margin: 0;
    color: var(--theme-color-accent);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.product-image-popup-title h1 {
    margin: 0;
    color: var(--theme-color-text);
    font-size: clamp(1.9rem, 4vw, 2.75rem);
    line-height: 1;
    letter-spacing: -0.03em;
}

.product-image-popup-title .ProductImageDescription {
    max-width: 42rem;
    margin: 0 auto;
    color: var(--theme-color-text-soft);
    font-size: 1rem;
    line-height: 1.65;
}

.product-image-popup-frame {
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface-muted);
    overflow: hidden;
}

.product-image-popup-frame .ProductZoomImage {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 36rem;
    padding: 2rem;
    background:
        radial-gradient(circle at top left, rgba(15, 118, 110, 0.06), transparent 30%),
        radial-gradient(circle at bottom right, rgba(15, 23, 42, 0.06), transparent 34%),
        linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.product-image-popup-frame .ProductZoomImage img {
    display: block;
    max-width: 100%;
    max-height: 80vh;
    object-fit: contain;
}

.product-image-popup-carousel {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    margin: 1.25rem auto 0;
    max-width: 64rem;
    padding: 0.9rem 1rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
}

.product-thumb-list ul {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.product-thumb-tiny-item {
    flex: 0 0 auto;
    border: 1px solid transparent;
    background: var(--theme-color-surface);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.product-thumb-tiny-item:hover {
    transform: translateY(-1px);
}

.product-thumb-tiny-item.selected {
    border-color: var(--theme-color-accent);
}

.product-thumb-tiny-outer {
    padding: 0.25rem;
    border: 0 !important;
    background: transparent !important;
}

.product-thumb-tiny-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.5rem;
    height: 4.5rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface-muted);
    overflow: hidden;
}

.product-thumb-tiny-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.product-thumb-tiny-image {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.product-image-popup-nav {
    margin-top: 1.25rem;
    text-align: center;
    color: var(--theme-color-text-soft);
}

.product-image-popup-nav-inner {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.85rem;
    padding: 0.4rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
}

.product-image-popup-nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.8rem;
    padding: 0.6rem 1rem;
    color: var(--theme-color-accent);
    text-decoration: none;
    font-weight: 700;
}

.product-image-popup-nav a:hover,
.product-image-popup-nav a:focus {
    background: var(--theme-color-accent-soft);
    color: var(--theme-color-accent-strong);
}

.product-image-popup-nav .DisablePrevLink,
.product-image-popup-nav .DisableNextLink {
    opacity: 0.45;
    pointer-events: none;
}

.product-image-popup-count {
    margin: 0 0 1rem;
    text-align: center;
    color: var(--theme-color-text-soft);
    font-size: 0.92rem;
}

.product-image-popup-count-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.25rem;
    padding: 0.35rem 0.85rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface-muted);
    color: var(--theme-color-text-muted);
    font-weight: 700;
}

.account-shell {
    padding: var(--theme-space-10) 0;
}

.account-app-shell.account-shell-loading,
#accountAppShell.account-shell-loading {
    opacity: 0.65;
    transition: opacity 0.2s ease;
}

.account-page-wrap {
    width: min(var(--theme-container-wide), calc(100% - 2rem));
    max-width: var(--theme-container-wide);
    margin: 0 auto;
    padding: 0;
}

.account-main-card {
    width: 100%;
    max-width: var(--theme-container-wide);
    margin: 0 auto;
    padding: var(--theme-space-6);
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
    box-sizing: border-box;
}

.account-dashboard-layout {
    display: grid;
    grid-template-columns: 18rem minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
}

.account-sidebar,
.account-content {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.account-form-card,
.account-side-card {
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
    padding: var(--theme-space-6);
}

.account-side-dashboard {
    margin-bottom: 1rem;
}

.account-side-dashboard-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 2.9rem;
    padding: 0.7rem 1rem;
    border: 1px solid var(--theme-color-accent);
    background: transparent;
    color: var(--theme-color-accent);
    font-weight: 700;
    text-decoration: none;
}

.account-side-dashboard-link:hover,
.account-side-dashboard-link:focus {
    border-color: var(--theme-color-accent-strong);
    background: var(--theme-color-accent-soft);
    color: var(--theme-color-accent-strong);
}

.account-split-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
}

.account-form-section {
    display: grid;
    gap: 1rem;
    padding: var(--theme-space-6);
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface-muted);
}

.account-form-title,
.account-form-card .TitleHeading,
.account-form-card h2 {
    margin: 0 0 1rem;
    color: var(--theme-color-text);
    font-size: 1.75rem;
    line-height: 1.1;
    letter-spacing: -0.03em;
}

.account-form-subtitle,
.account-side-title {
    margin: 0 0 1rem;
    color: var(--theme-color-text);
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: -0.01em;
}

.account-form-intro,
.account-side-copy,
.account-side-copy p {
    color: var(--theme-color-text-muted);
    line-height: 1.7;
}

.account-side-external {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--theme-color-border);
}

.account-side-external-link {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 3rem;
    padding: 0.75rem 1rem;
    border: 1px solid var(--theme-color-border-strong);
    background: var(--theme-color-surface-muted);
    color: var(--theme-color-text);
    font-weight: 700;
    text-decoration: none;
}

.account-side-external-link:hover {
    border-color: var(--theme-color-border-strong);
    background: var(--theme-color-surface);
    color: var(--theme-color-text);
}

.account-form-stack {
    display: grid;
    gap: 1rem;
}

.account-fieldset {
    display: grid;
    gap: 0.75rem;
}

.account-label {
    display: block;
    color: var(--theme-color-text-muted);
    font-size: 0.92rem;
    font-weight: 700;
}

.account-input,
.account-definition-form input[type="text"],
.account-definition-form input[type="email"],
.account-definition-form input[type="password"],
.account-definition-form select,
.account-definition-form textarea,
.account-form-card .FormField,
.account-form-card .Textbox,
.account-form-card select,
.account-form-card textarea {
    display: block;
    width: 100%;
    min-height: 3rem;
    border: 1px solid rgba(15, 23, 42, 0.18);
    background: #fff;
    color: #0f172a;
    padding: 0.8rem 0.95rem;
    font-size: 1rem;
    line-height: 1.5;
}

.account-definition-form {
    display: block;
}

.account-definition-form dl {
    display: grid;
    grid-template-columns: minmax(10rem, 12rem) minmax(0, 1fr);
    gap: 0.9rem 1rem;
    margin: 0;
}

.account-definition-form dt {
    color: #334155;
    font-size: 0.92rem;
    font-weight: 700;
    margin: 0;
    align-self: center;
}

.account-definition-form dd {
    margin: 0;
}

.account-actions-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

.account-primary-button,
.account-secondary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--theme-control-height);
    padding: 0 1.2rem;
    font-size: 0.95rem;
    font-weight: 700;
    text-decoration: none;
}

.account-primary-button {
    border: 0;
    background: var(--theme-color-accent) !important;
    color: var(--theme-color-surface) !important;
}

.account-primary-button,
.account-primary-button:hover,
.account-primary-button:focus,
.account-primary-button:visited,
.btn.account-primary-button,
.btn.account-primary-button:hover,
.btn.account-primary-button:focus,
.btn.account-primary-button:visited,
.account-primary-button span,
.btn.account-primary-button span {
    color: #fff !important;
}

.account-secondary-button {
    border: 1px solid var(--theme-color-border-strong);
    background: var(--theme-color-surface) !important;
    color: var(--theme-color-text-muted) !important;
}

.account-secondary-button,
.account-secondary-button:hover,
.account-secondary-button:focus,
.account-secondary-button:visited,
.btn.account-secondary-button,
.btn.account-secondary-button:hover,
.btn.account-secondary-button:focus,
.btn.account-secondary-button:visited,
button.account-secondary-button,
button.account-secondary-button:hover,
button.account-secondary-button:focus,
.account-secondary-button span,
.btn.account-secondary-button span {
    background: #fff !important;
    color: #334155 !important;
    border-color: #cbd5e1 !important;
}

.account-inline-link {
    color: var(--theme-color-accent);
    text-decoration: none;
    font-weight: 700;
}

.account-form-message,
.account-form-success {
    margin: 0 0 1rem;
    padding: 0.9rem 1rem;
    font-size: 0.92rem;
}

.account-form-message {
    border: 1px solid #fecaca;
    background: var(--theme-color-danger-soft);
    color: var(--theme-color-danger);
}

.account-form-success {
    border: 1px solid #bbf7d0;
    background: var(--theme-color-accent-soft);
    color: var(--theme-color-accent);
}

.account-form-status {
    color: #64748b;
    min-height: 1.5rem;
}

.account-social-panel,
.account-social-login {
    display: grid;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.account-create-grid {
    display: grid;
    gap: 1.5rem;
}

.account-side-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 0.5rem;
}

.account-side-menu li {
    margin: 0;
}

.account-side-menu a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 2.85rem;
    padding: 0.75rem 0.95rem;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #334155;
    text-decoration: none;
    font-weight: 700;
}

.account-side-menu a strong {
    color: var(--theme-color-accent);
}

.account-orders-list,
.account-returns-list,
.account-address-list,
.account-order-item-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 1rem;
}

.account-order-status-item,
.account-address-list li {
    padding: 1rem;
    border: 1px solid #e2e8f0;
    background: #fff;
}

.account-order-meta {
    color: #64748b;
    line-height: 1.7;
}

.account-divider {
    border: 0;
    border-top: 1px solid #e2e8f0;
    margin: 1.25rem 0;
}

.account-address-card,
.account-note-block {
    padding: 1rem;
    border: 1px solid #e2e8f0;
    background: #fff;
    margin-bottom: 1rem;
}

.account-order-price-cell {
    white-space: nowrap;
}

.account-order-event-date {
    font-style: italic;
    padding-left: 1.5rem;
    color: #64748b;
    margin-top: 0.35rem;
}

.account-add-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: 0 1rem;
    margin-bottom: 1rem;
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #334155;
    text-decoration: none;
    font-weight: 700;
}

.account-steps {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.account-steps li {
    margin: 0;
}

.account-steps h4,
.account-steps a {
    margin: 0;
    color: #334155;
    text-decoration: none;
    font-size: 0.88rem;
    font-weight: 700;
}

.account-tabs {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.account-tabs li a {
    display: inline-flex;
    align-items: center;
    min-height: 2.6rem;
    padding: 0 1rem;
    border: 1px solid #dbe4ee;
    background: #fff;
    color: #334155;
    text-decoration: none;
    font-weight: 700;
}

.account-tab-panel {
    padding-top: 0.5rem;
}

.account-address-name {
    display: block;
    margin-bottom: 0.25rem;
    color: #0f172a;
}

.account-address-phone {
    margin-top: 0.5rem;
    color: #64748b;
}

.account-recent-grid {
    margin-top: 1rem;
}

.account-message-list {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem;
    display: grid;
    gap: 1rem;
}

.account-message-list li {
    padding: 1rem;
    border: 1px solid #e2e8f0;
    background: #fff;
}

.account-message-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.75rem;
    align-items: start;
}

.account-message-card .img {
    margin-top: 0.15rem;
}

.account-message-card blockquote {
    margin: 0.75rem 0 0;
}

.giftcert-amount-input {
    max-width: 8rem;
}

.giftcert-steps {
    margin: 0;
    padding-left: 1.2rem;
    color: #475467;
    line-height: 1.8;
}

.giftcertPage .account-content > * + * {
    margin-top: 1.25rem;
}

@media (max-width: 1023px) {
    .product-details-shell {
        grid-template-columns: 1fr;
    }

    .product-summary-facts {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .product-page-secondary {
        grid-template-columns: 1fr;
        margin-top: 2rem;
    }

    .product-video-layout {
        grid-template-columns: 1fr;
    }

    .product-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .quickview-shell {
        grid-template-columns: 1fr;
    }

    .account-dashboard-layout,
    .account-split-grid {
        grid-template-columns: 1fr;
    }

    .account-message-card {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    #ProductBreadcrumb li {
        font-size: 0.8rem;
    }

    .product-page-card,
    .product-page-subcard {
        padding: 1rem;
    }

    .product-gallery-shell,
    .product-summary-card,
    .product-purchase-panel {
        padding: 1rem;
    }

    .product-tabs-header,
    .product-tabs-nav-shell,
    .product-tab-panel {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .product-purchase-actions {
        flex-direction: column;
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .product-purchase-ordering {
        grid-template-columns: 1fr;
    }

    .product-add-cart-btn,
    .product-wishlist-trigger,
    .product-wishlist-submit {
        width: 100%;
    }

    .product-purchase-meta-grid {
        grid-template-columns: 1fr;
    }

    .product-text-input,
    .product-select-input,
    .product-textarea-input,
    .event-date-picker input,
    .product-purchase-panel input[type="text"],
    .product-purchase-panel input[type="email"],
    .product-purchase-panel input[type="number"],
    .product-purchase-panel input[type="file"],
    .product-purchase-panel select,
    .product-purchase-panel textarea {
        font-size: 1rem;
    }

    .product-tab-panel {
        padding: 1rem;
    }

    .product-thumb-image {
        min-height: 18rem;
    }

    .product-thumb-list ul {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        overflow-x: visible;
        padding-bottom: 0;
    }

    .product-video-row,
    .product-side-video-link {
        grid-template-columns: 1fr;
    }

    .product-related-grid {
        grid-template-columns: 1fr;
    }

    .quickview-actions,
    .quickview-actions-row .Value,
    .product-review-title,
    .product-review-paging,
    .product-share-shell,
    .product-share-choices-wrap {
        grid-template-columns: 1fr;
        flex-direction: column;
        align-items: stretch;
    }

    .quickview-meta-grid {
        grid-template-columns: 1fr;
    }

    .product-image-popup-carousel {
        grid-template-columns: 1fr;
    }

    .account-shell {
        padding: 1.5rem 0;
    }

    .account-main-card,
    .account-form-card,
    .account-side-card {
        padding: 1rem;
    }

    .account-definition-form dl {
        grid-template-columns: 1fr;
    }

    .account-actions-row {
        flex-direction: column;
        align-items: stretch;
    }

    .account-primary-button,
    .account-secondary-button {
        width: 100%;
    }

}

#CategoryContent .ProductList.listproduct {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
    padding: 0;
    margin: 0;
    list-style: none;
}

.category-product-card {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    padding: 0.9rem;
    border: 1px solid var(--theme-color-border);
    background: #fff;
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.category-product-card:hover {
    transform: translateY(-2px);
    border-color: var(--theme-color-border-strong);
}

.category-product-media {
    position: relative;
    overflow: hidden;
    background: var(--theme-color-surface-muted);
    aspect-ratio: 1 / 1;
}

.category-product-thumb {
    padding: 0.85rem;
}

.category-product-thumb img {
    display: block;
    width: 100%;
    height: auto;
}

.category-product-overlay {
    position: absolute;
    inset: auto 0 0 0;
    display: flex;
    justify-content: center;
    padding: 0.75rem;
    background: linear-gradient(180deg, transparent 0%, rgba(1, 7, 23, 0.22) 100%);
}

.category-product-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    width: 100%;
    padding: 0 1.1rem !important;
    background: var(--theme-color-accent) !important;
    color: #fff !important;
    font-size: 0.88rem !important;
    font-weight: 700;
    text-decoration: none;
    text-transform: none;
}

.category-product-wishlist {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
}

.category-product-wishlist a {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 2rem;
    padding: 0 0.75rem;
    background: rgba(255, 255, 255, 0.92);
    color: var(--theme-color-accent) !important;
    font-size: 0.75rem;
    font-weight: 700;
    text-decoration: none;
}

.category-product-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 0.6rem;
}

#CategoryContent .ProductDetails .pname {
    color: var(--theme-color-text);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.4;
    text-decoration: none;
}

.category-product-rating {
    min-height: 1rem;
}

#CategoryContent .p-price {
    margin: 0;
    color: var(--theme-color-accent);
    font-size: 1.05rem;
    font-weight: 800;
    font-style: normal;
}

.category-product-compare {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: auto;
    color: #475467;
    font-size: 0.85rem;
}

.category-product-list-card {
    display: grid;
    grid-template-columns: minmax(13rem, 16rem) minmax(0, 1fr);
    gap: 1.5rem;
    padding: 1.25rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
}

.category-product-list-media {
    position: relative;
    overflow: hidden;
    background: var(--theme-color-surface-muted);
    min-height: 100%;
}

.category-product-list-thumb {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    min-height: 100%;
}

.category-product-list-thumb img {
    display: block;
    width: 100%;
    height: auto;
}

.category-product-list-overlay {
    position: absolute;
    inset: auto 0 0 0;
    display: flex;
    justify-content: center;
    padding: 0.85rem;
    background: linear-gradient(180deg, transparent 0%, rgba(1, 7, 23, 0.22) 100%);
}

.category-product-list-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.875rem;
    width: 100%;
    padding: 0 1.15rem !important;
    background: var(--theme-color-accent) !important;
    color: #fff !important;
    font-size: 0.9rem !important;
    font-weight: 700;
    text-decoration: none;
    text-transform: none;
}

.category-product-list-content {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-width: 0;
}

.category-product-list-top {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.category-product-list-copy {
    display: grid;
    gap: 0.5rem;
    min-width: 0;
}

.category-product-list-name {
    color: var(--theme-color-text);
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.35;
    text-decoration: none;
}

.category-product-list-name:hover {
    color: var(--theme-color-accent);
}

.category-product-list-rating {
    min-height: 1rem;
}

.category-product-list-price {
    margin: 0;
    color: var(--theme-color-accent);
    font-size: 1.1rem;
    font-weight: 800;
    font-style: normal;
    white-space: nowrap;
}

.category-product-list-summary {
    margin: 0;
    color: var(--theme-color-text-muted);
    line-height: 1.75;
}

.category-product-list-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: auto;
}

.category-product-list-compare {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--theme-color-text-soft);
    font-size: 0.85rem;
}

.category-product-list-detail {
    color: var(--theme-color-text);
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
}

.category-product-list-detail:hover {
    color: var(--theme-color-accent);
}

.category-sortbox form,
.category-paging-panel,
.CategoryPagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

.category-sortbox label,
.category-paging-label {
    margin: 0;
    color: #475467;
    font-size: 0.85rem;
    font-weight: 600;
}

.category-paging-kicker {
    color: var(--theme-color-text-soft);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.category-sortbox select {
    min-height: 2.75rem;
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #0f172a;
    padding: 0 1rem;
}

.CategoryPagination .PagingList {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.CategoryPagination a,
.CategoryPagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    min-height: 2.5rem;
    padding: 0 0.75rem;
    border: 1px solid #dbe4ee;
    background: #fff;
    color: #334155;
    text-decoration: none;
}

.toolbar-bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.5rem;
}

.toolbar-bottom .CompareButton {
    float: none;
    margin: 0;
}

@media (max-width: 1023px) {
    .category-faceted-layout {
        grid-template-columns: 1fr;
    }

    #CategoryContent .ProductList.listproduct {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .category-product-list-card {
        grid-template-columns: minmax(10rem, 13rem) minmax(0, 1fr);
    }
}

@media (max-width: 767px) {
    .category-toolbar,
    .category-facets-header {
        align-items: stretch;
    }

    .facet-header,
    .facet-option a,
    .facet-option label,
    .facet-label a {
        padding-left: 0.85rem;
        padding-right: 0.85rem;
    }

    .facet-form fieldset {
        grid-template-columns: 1fr;
    }

    .category-toolbar-left,
    .category-toolbar-right {
        width: 100%;
    }

    .category-sortbox-inner {
        display: flex;
        width: 100%;
    }

    .category-sortbox select {
        width: 100%;
    }

    .category-refine-button {
        width: 100%;
    }

    #CategoryContent .ProductList.listproduct {
        grid-template-columns: 1fr;
    }

    .category-product-list-card {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding: 1rem;
    }

    .category-product-list-media {
        min-height: 0;
    }

    .category-product-list-top,
    .category-product-list-footer {
        align-items: stretch;
    }

    .category-product-list-price {
        white-space: normal;
    }

    .category-sortbox form,
    .category-paging-panel,
    .CategoryPagination,
    .toolbar-bottom {
        align-items: stretch;
    }
}

.page-shell {
    padding: var(--theme-space-6) 0 3rem;
}

.page-container {
    max-width: var(--theme-container-max);
    width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--theme-space-4) !important;
    padding-right: var(--theme-space-4) !important;
}

.page-container > .Left,
.page-container > .Right,
.page-container > #LayoutColumn1,
.page-container > #LayoutColumn3 {
    display: none !important;
}

.page-main {
    width: 100%;
    max-width: 100%;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    clear: both;
    padding-top: 0.5rem !important;
}

.page-container > .Content.Wide.page-main,
.page-container > #LayoutColumn2.page-main,
.page-container > .Content.page-main {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border: 0 !important;
}

body .page-shell .page-container > .Content.Wide.page-main#LayoutColumn2,
body .page-shell .page-container > #LayoutColumn2.Content.Wide,
body .page-shell .page-container > #LayoutColumn2.Content,
body .page-shell .page-container > #LayoutColumn2 {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    clear: both !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border-left: 0 !important;
}

.page-main:empty,
.page-comments-wrap:empty,
.page-bottom-banner:empty {
    display: none !important;
}

@media (min-width: 1024px) {
    .page-main {
        padding-top: 1.25rem !important;
    }
}

.page-card {
    max-width: 100%;
    margin: 0;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
    overflow: hidden;
}

.page-card-body {
    padding: var(--theme-space-7);
}

.news-page-shell {
    padding-bottom: 3rem;
}

.news-page-container {
    width: min(100%, 72rem);
    margin: 0 auto;
}

.news-page-main {
    float: none;
    width: 100%;
    max-width: none;
    margin: 0;
}

.news-page-card {
    width: 100%;
}

.news-page-body {
    display: grid;
    gap: 2rem;
}

#NewsContent,
#NewsComments {
    margin: 0;
}

.news-article-kicker {
    margin: 0 0 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--theme-color-accent);
}

.news-article-title {
    margin: 0;
    font-size: clamp(2rem, 4vw, 3.25rem);
    line-height: 1.05;
    color: #111111;
}

.news-article-date {
    margin: 1rem 0 0;
    color: #52525b;
    font-size: 0.95rem;
}

#NewsContent .BlockContent {
    display: grid;
    gap: 1rem;
}

#NewsContent .BlockContent > p,
#NewsContent .BlockContent li {
    color: #3f3f46;
    line-height: 1.8;
}

#NewsContent .BlockContent a {
    color: var(--theme-color-accent);
}

.news-comments-divider {
    margin: 0;
    border: 0;
    border-top: 1px solid #e5e7eb;
}

.blog-post-shell {
    padding-bottom: 3rem;
}

.blog-post-container {
    width: min(100%, 80rem);
    margin: 0 auto;
}

.blog-post-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 20rem;
    gap: 2rem;
    align-items: start;
}

.blog-post-main,
.blog-post-sidebar {
    min-width: 0;
}

.blog-post-body {
    display: grid;
    gap: 2rem;
}

#NewsContent.h-entry {
    margin: 0;
}

#NewsContent .p-name {
    margin: 0;
    font-size: clamp(2rem, 4vw, 3.25rem);
    line-height: 1.05;
    color: #111111;
}

.sub-name-blog {
    margin: 1rem 0 0;
    color: #52525b;
    font-size: 0.95rem;
    line-height: 1.7;
}

#NewsContent .e-content {
    display: grid;
    gap: 1rem;
}

#NewsContent .e-content > p,
#NewsContent .e-content li {
    color: #3f3f46;
    line-height: 1.8;
}

#NewsContent .e-content a,
#NewsContent .BlockContent a {
    color: var(--theme-color-accent);
}

#BlogRecentPosts {
    margin: 0;
    border: 1px solid #e5e7eb;
    background: #ffffff;
    padding: 1.5rem;
}

.blog-sidebar-kicker {
    margin: 0 0 0.5rem;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--theme-color-accent);
}

#BlogRecentPosts h3,
#BlogRecentPosts h4 {
    margin: 0 0 1rem;
    font-size: 1.25rem;
    line-height: 1.2;
    color: #111111;
}

#BlogRecentPosts .BlockContent {
    margin: 0;
}

#BlogRecentPosts ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.9rem;
}

#BlogRecentPosts li {
    margin: 0;
    padding: 0;
}

#BlogRecentPosts a {
    color: #111111;
    line-height: 1.6;
    text-decoration: none;
}

@media (max-width: 991px) {
    .blog-post-layout {
        grid-template-columns: 1fr;
    }

    .recent-blogs-owl .swiper-button-prev,
    .recent-blogs-owl .swiper-button-next {
        top: 0.5rem;
    }
}

.blog-index-header {
    display: grid;
    gap: 0.5rem;
}

.blog-index-list {
    display: grid;
    gap: 1.5rem;
}

.blog-index-item {
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #e5e7eb;
}

.blog-index-item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.blog-index-item-date {
    margin: 0 0 0.75rem;
    color: #52525b;
    font-size: 0.9rem;
}

.blog-index-item-title {
    margin: 0;
    font-size: clamp(1.35rem, 2vw, 1.9rem);
    line-height: 1.15;
}

.blog-index-item-title a {
    color: #111111;
    text-decoration: none;
}

.blog-index-item-summary {
    margin: 0.85rem 0 0;
    color: #3f3f46;
    line-height: 1.8;
}

.blog-index-item-link {
    margin: 1rem 0 0;
}

.blog-index-item-link a {
    color: var(--theme-color-accent);
    font-weight: 700;
    text-decoration: none;
}

.blog-index-pagination {
    padding-top: 0.5rem;
}

.blog-index-pagination-nav {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.page-title {
    margin: 0 0 1.5rem;
    padding: 0;
    border: 0 !important;
    color: var(--theme-color-text) !important;
    font-size: clamp(1.9rem, 3vw, 2.8rem) !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em !important;
    line-height: 1.05 !important;
    text-transform: none !important;
    font-family: inherit !important;
}

.page-content-body {
    max-width: 62rem;
    margin: 0 auto;
    color: var(--theme-color-text-muted);
    font-size: 1rem;
    line-height: 1.75;
}

.page-content-body > *:first-child {
    margin-top: 0;
}

.page-content-body > *:last-child {
    margin-bottom: 0;
}

.page-content-body h2,
.page-content-body h3,
.page-content-body h4 {
    color: var(--theme-color-text);
    line-height: 1.2;
    margin-top: 1.75rem;
    margin-bottom: 0.85rem;
}

.page-content-body h2 {
    font-size: 1.75rem;
}

.page-content-body h3 {
    font-size: 1.35rem;
}

.page-content-body p,
.page-content-body ul,
.page-content-body ol,
.page-content-body blockquote {
    margin-bottom: 1rem;
}

.page-content-body a {
    color: var(--theme-color-accent);
    text-decoration: none;
    font-weight: 600;
}

.page-content-body a:hover {
    text-decoration: underline;
}

.page-content-body img {
    max-width: 100%;
    height: auto;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.page-fallback-content {
    max-width: 62rem;
    margin: 0 auto;
    color: #334155;
    font-size: 1rem;
    line-height: 1.75;
}

.page-fallback-content > *:first-child {
    margin-top: 0;
}

.page-fallback-content h2,
.page-fallback-content h3,
.page-fallback-content h4 {
    color: #0f172a;
    line-height: 1.2;
    margin-top: 1.75rem;
    margin-bottom: 0.85rem;
}

.page-fallback-content h2 {
    font-size: 1.75rem;
}

.page-fallback-content h3 {
    font-size: 1.35rem;
}

.page-fallback-content p,
.page-fallback-content ul,
.page-fallback-content ol {
    margin-bottom: 1rem;
}

.page-content-body blockquote {
    margin-left: 0;
    padding: 1.25rem 1.5rem;
    border-left: 4px solid var(--theme-color-accent);
    background: #f8fafc;
    color: #0f172a;
}

.page-comments-wrap,
.page-bottom-banner {
    margin-top: 1.5rem;
}

@media (max-width: 767px) {
    .breadcrumb-shell {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .breadcrumb-list li {
        font-size: 0.8rem;
    }

    .page-card-body {
        padding: 1.1rem;
    }

    .page-container {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }

    .page-title {
        margin-bottom: 1rem;
        font-size: 1.7rem !important;
    }

    .page-content-body {
        font-size: 0.98rem;
        line-height: 1.65;
    }

    .account-page-wrap,
    .wishlist-page-container {
        width: calc(100% - 1.5rem);
    }
}

@media (max-width: 1023px) {
    .wishlist-page-content {
        grid-template-columns: 1fr;
    }

    .wishlist-items-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .wishlist-panel-header,
    .wishlist-panel-body {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .wishlist-panel-header {
        flex-direction: column;
        align-items: flex-start;
        padding-bottom: 0;
    }

    .wishlist-panel h2,
    .wishlist-panel h3 {
        font-size: 1.45rem;
    }

    .wishlist-items-grid {
        grid-template-columns: 1fr;
    }

    .wishlist-form-actions,
    .wishlist-table-actions {
        flex-direction: column;
        align-items: stretch;
    }
}

.footer-socials .footer-social:hover {
    background: var(--theme-color-accent);
    transform: translateY(-2px);
}

.footer-payment span {
    display: block;
    margin-bottom: 0.75rem;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #94a3b8;
}

.footer-payment-icons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-payment-icons li {
    margin: 0;
}

.footer-payment-icons li a {
    display: inline-block;
    width: 56px;
    height: 36px;
    text-indent: -9999px;
    overflow: hidden;
    background-color: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
    background-image: url(/templates/template/images/list_sprite6.png);
    background-repeat: no-repeat;
}

.footer-payment-icons .pp-1 a { background-position: -1px -254px; }
.footer-payment-icons .pp-3 a { background-position: -129px -254px; width: 78px; }
.footer-payment-icons .pp-4 a { background-position: -220px -254px; width: 62px; }
.footer-payment-icons .pp-7 a { background-position: -258px -374px; width: 40px; }

.footer-meta {
    align-items: center;
}

.footer-meta a {
    text-decoration: none;
}

@media (max-width: 767px) {
    .footer-inner-panel {
        padding-top: 3.5rem;
        padding-bottom: 3rem;
    }

    .footer-hero-actions,
    .footer-payment-icons {
        gap: 0.6rem;
    }

    .footer-cta {
        width: 100%;
    }
}

.text-primary {
    color: var(--theme-color-accent) !important;
}

.form-radio {
    accent-color: var(--theme-color-accent);
    width: 1.25rem;
    height: 1.25rem;
}

.textbox, .Textbox, input.Textbox, select.Textbox {
    border: 1px solid #cbd5f5;
    background: #f8fafc;
}

.btn, .button {
    background: var(--theme-color-accent);
    color: #fff;
    padding: 0.5rem 1.25rem;
    border: none;
}
.ISSelect {
    border: 1px solid #7f9db9;
    background: #fff;
    width: 100%;
    max-width: 28rem;
    overflow-y: auto;
    max-height: 14rem;
}

.ISSelect ul,
.ISSelect li {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ISSelect li {
    cursor: default;
    padding: 0.35rem 0.75rem;
    border-bottom: 1px solid #f1f5f9;
}

.ISSelect li:first-child {
}

.ISSelect li:last-child {
    border-bottom-width: 0;
}

.ISSelect li.ISSelectGroup {
    padding-left: 0;
    font-weight: 600;
    font-style: italic;
    border-bottom: none;
    border-top: none;
}

.ISSelect input {
    margin-right: 0.35rem;
}

.ISSelect .ISSelectOptionHover {
    background: #f1f5f9;
}

.ISSelect .SelectedRow {
    background: var(--theme-color-accent);
    color: #ffffff;
}

.RTL .ISSelect {
    float: right;
}

#SideCategoryList li[style] {
    z-index: auto !important;
}

.PageMenu .side-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.PageMenu .side-menu > #Menu > ul,
.PageMenu .side-menu > ul {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none;
}

.PageMenu .side-menu > #Menu > ul > li,
.PageMenu .side-menu > ul > li {
    position: relative;
    margin: 0;
    list-style: none;
}

.PageMenu .side-menu > #Menu > ul > li > a,
.PageMenu .side-menu > ul > li > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--theme-control-height);
    padding: 0.75rem 1.1rem;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff !important;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.22em;
    border: 1px solid rgba(255, 255, 255, 0.16);
    transition: background var(--theme-transition-fast), border-color var(--theme-transition-fast), color var(--theme-transition-fast);
}

.PageMenu .side-menu > #Menu > ul > li.homebutton > a,
.PageMenu .side-menu > #Menu > ul > li.ActivePage > a,
.PageMenu .side-menu > #Menu > ul > li.active > a,
.PageMenu .side-menu > ul > li.homebutton > a,
.PageMenu .side-menu > ul > li.ActivePage > a,
.PageMenu .side-menu > ul > li.active > a {
    background: var(--theme-color-accent);
    border-color: var(--theme-color-accent);
    color: #ffffff !important;
}

.PageMenu .side-menu > #Menu > ul > li > a:hover,
.PageMenu .side-menu > #Menu > ul > li.is-open > a,
.PageMenu .side-menu > ul > li > a:hover,
.PageMenu .side-menu > ul > li.is-open > a {
    background: rgba(255, 255, 255, 0.14);
    border-color: var(--theme-color-accent);
    color: #ffffff !important;
}

.PageMenu .side-menu > #Menu > ul > li.has-submenu > a::after,
.PageMenu .side-menu > ul > li.has-submenu > a::after {
    content: "";
    display: inline-block;
    width: 0.45rem;
    height: 0.45rem;
    margin-left: 0.5rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-1px);
}

.PageMenu .side-menu > #Menu > ul > li > .subcat-expand,
.PageMenu .side-menu > ul > li > .subcat-expand {
    display: none;
}

.PageMenu .side-menu > #Menu > ul > li > ul.page-subcat,
.PageMenu .side-menu > ul > li > ul {
    position: absolute;
    top: calc(100% + 0.6rem);
    left: 0;
    min-width: 18rem;
    max-width: 24rem;
    padding: 0.9rem;
    margin: 0;
    list-style: none;
    background: var(--theme-color-dark-strong);
    border: 1px solid rgba(255, 255, 255, 0.12);
    display: block !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(8px);
    transition: opacity var(--theme-transition-fast), transform var(--theme-transition-fast), visibility var(--theme-transition-fast);
    z-index: 40;
}

.PageMenu .side-menu > #Menu > ul > li.is-open > ul.page-subcat,
.PageMenu .side-menu > ul > li.is-open > ul {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0);
}

.PageMenu .side-menu > #Menu > ul > li:hover > ul.page-subcat,
.PageMenu .side-menu > #Menu > ul > li:focus-within > ul.page-subcat,
.PageMenu .side-menu > ul > li:hover > ul,
.PageMenu .side-menu > ul > li:focus-within > ul {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0);
}

.PageMenu .side-menu > #Menu > ul > li > ul.page-subcat > li,
.PageMenu .side-menu > ul > li > ul > li {
    margin: 0;
    list-style: none;
}

.PageMenu .side-menu > #Menu > ul > li > ul.page-subcat > li + li,
.PageMenu .side-menu > ul > li > ul > li + li {
    margin-top: 0.35rem;
}

.PageMenu .side-menu > #Menu > ul > li > ul.page-subcat > li > a,
.PageMenu .side-menu > ul > li > ul > li > a {
    display: block;
    width: 100%;
    padding: 0.7rem 0.85rem;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #ffffff;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
    text-align: left;
}

.PageMenu .side-menu > #Menu > ul > li > ul.page-subcat > li > a:hover,
.PageMenu .side-menu > ul > li > ul > li > a:hover {
    background: var(--theme-color-accent);
    border-color: var(--theme-color-accent);
    color: #ffffff;
}

#Header {
    background: #ffffff;
}

#social-btn-top a {
    display: inline-flex;
    height: 2.75rem;
    width: 2.75rem;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(15, 23, 42, 0.12);
    background: #ffffff;
    color: var(--theme-color-text);
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

#social-btn-top a:hover {
    transform: translateY(-1px);
    border-color: var(--theme-color-accent);
}

#social-btn-top svg {
    height: 1.1rem;
    width: 1.1rem;
    fill: currentColor;
}

#social-btn-top a[data-brand="facebook"] {
    color: #1877f2;
}

#social-btn-top a[data-brand="instagram"] {
    color: #cc2366;
}

#social-btn-top a[data-brand="tiktok"] {
    color: #0f172a;
}

#social-btn-top a[data-brand="whatsapp"] {
    color: #25d366;
}

.header-logo svg {
    display: block;
    width: 100%;
    height: auto;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

#SearchForm {
    position: relative;
    width: 100%;
}

#SearchForm .QuickSearch {
    position: absolute;
    top: calc(100% + 0.75rem);
    right: 0;
    left: 0;
    width: 100%;
    min-width: 100%;
    margin: 0;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    background: #ffffff;
    z-index: 60;
}

#SearchForm .QuickSearch tbody {
    background: #fff;
}

#SearchForm .QuickSearch tbody,
#SearchForm .QuickSearch tr,
#SearchForm .QuickSearch td {
    display: block;
    width: 100%;
    border: 0;
}

#SearchForm .QuickSearch tr {
    padding: 0;
    background: transparent;
}

#SearchForm .QuickSearchResult,
#SearchForm .QuickSearchAllResults {
    border-top: 1px solid var(--theme-color-border);
}

#SearchForm .QuickSearchResult {
    position: relative;
}

#SearchForm .QuickSearch tr:first-child {
    border-top: 0;
}

#SearchForm .QuickSearchResult td,
#SearchForm .QuickSearchAllResults td,
#SearchForm .QuickSearchTitle td {
    padding: 0;
}

#SearchForm .QuickSearchResult a,
#SearchForm .QuickSearchAllResults a {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 0.9rem;
    padding: 0.95rem 1rem;
    color: var(--theme-color-text-muted);
    text-decoration: none;
}

#SearchForm .QuickSearchResult:hover,
#SearchForm .QuickSearchHover,
#SearchForm .QuickSearchAllResults:hover {
    background: var(--theme-color-surface-muted);
}

#SearchForm .QuickSearchResultImage {
    display: flex !important;
    height: 4.25rem;
    width: 4.25rem !important;
    min-width: 4.25rem;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface-muted);
    margin: 0;
}

#SearchForm .QuickSearchResultImage img {
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
}

#SearchForm .QuickSearchResultMeta {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    gap: 0.35rem;
    padding: 1rem 1rem 1rem 0;
}

#SearchForm .QuickSearchResultName,
#SearchForm .QuickSearchResultName a {
    display: block;
    font-size: 0.96rem;
    font-weight: 700;
    color: var(--theme-color-text);
    line-height: 1.35;
}

#SearchForm .QuickSearchResultDetails {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
}

#SearchForm .QuickSearchResultType {
    display: inline-flex;
    align-items: center;
    min-height: 1.6rem;
    padding: 0.15rem 0.55rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface-muted);
    color: var(--theme-color-text-muted);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

#SearchForm .QuickSearchResultMeta .Price,
#SearchForm .QuickSearchResultMeta em {
    font-size: 0.88rem;
    font-style: normal;
    color: var(--theme-color-accent);
    font-weight: 700;
}

#SearchForm .QuickSearchResultExcerpt {
    margin: 0;
    color: var(--theme-color-text-soft);
    font-size: 0.85rem;
    line-height: 1.55;
}

#SearchForm .QuickSearchResultRating {
    min-height: 0.9rem;
}

#SearchForm .QuickSearchResultRating img {
    display: block;
}

#SearchForm .QuickSearchAllResults a {
    justify-content: center;
    font-weight: 600;
    color: var(--theme-color-text);
    padding: 1rem;
}

.search-page-shell {
    padding: var(--theme-space-10) 0;
}

.search-page-wrap {
    width: calc(100% - 2rem);
    max-width: none;
    margin: 0 auto;
}

.search-page-card {
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
    padding: var(--theme-space-6);
}

.search-page-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
}

.search-page-eyebrow {
    margin: 0 0 0.5rem;
    color: var(--theme-color-accent);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.search-page-title {
    margin: 0;
    color: var(--theme-color-text);
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1.02;
    letter-spacing: -0.03em;
}

.search-page-banner,
.search-page-footer-banner {
    color: var(--theme-color-text-soft);
    font-size: 0.92rem;
}

.search-page-main {
    display: grid;
    gap: 1.5rem;
    margin-top: 1.25rem;
    padding: 1.25rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface-muted);
}

.search-page-footer-banner {
    margin-top: 1.25rem;
}

.search-page-header-card,
#SearchPage {
    margin: 0 !important;
}

.search-page-header-card {
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
    padding: 1.25rem;
}

.search-page-header-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.search-page-summary-label {
    margin: 0 0 0.35rem;
    color: var(--theme-color-text-soft);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.search-page-summary-title {
    margin: 0;
    color: var(--theme-color-text);
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.3;
}

.search-toggle-link,
.btn.search-toggle-link,
.search-submit-button,
.btn.search-submit-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.9rem;
    padding: 0.7rem 1.1rem;
    border: 1px solid var(--theme-color-accent);
    background: var(--theme-color-accent);
    color: var(--theme-color-surface) !important;
    font-weight: 700;
    text-decoration: none;
}

.search-toggle-link:hover,
.search-toggle-link:focus,
.search-submit-button:hover,
.search-submit-button:focus,
.btn.search-toggle-link:hover,
.btn.search-submit-button:hover {
    background: var(--theme-color-accent-strong);
    border-color: var(--theme-color-accent-strong);
    color: var(--theme-color-surface) !important;
}

.search-page-header-content {
    margin-top: 1rem;
}

.search-advanced-card {
    display: grid;
    gap: 1rem;
}

.search-form-section-title {
    margin: 0;
    color: var(--theme-color-text);
    font-size: 1rem;
    font-weight: 800;
}

.search-form-shell {
    padding: 1rem 1.1rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface-muted);
}

.search-form-shell dl {
    display: grid;
    grid-template-columns: 12rem minmax(0, 1fr);
    gap: 0.9rem 1rem;
    margin: 0;
    align-items: center;
}

.search-form-shell dt,
.search-form-shell dd {
    margin: 0;
}

.search-form-shell dt {
    color: var(--theme-color-text);
    font-weight: 700;
}

.search-form-shell input[type="text"],
.search-form-shell select,
.search-form-shell .Textbox,
.search-form-shell .Field250,
.search-form-shell .categoryPicker {
    width: 100%;
    min-height: 3rem;
    box-sizing: border-box;
}

.search-related-message,
.search-suggest-message {
    margin: 1rem 0 0;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
    padding: 0.9rem 1rem;
}

.search-suggest-message {
    border-color: #bfdbfe;
    background: #eff6ff;
    color: #1d4ed8;
}

.search-suggest-message a {
    color: #1d4ed8;
    font-weight: 700;
}

.search-tabs-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 0 0 1rem;
    padding: 0;
    list-style: none;
}

.search-tabs-nav li {
    margin: 0 !important;
    border: 0 !important;
}

.search-tabs-nav li a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.9rem;
    padding: 0.7rem 1rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
    color: var(--theme-color-text-muted);
    font-weight: 700;
    text-decoration: none;
}

.search-tabs-nav li.Active a,
.search-tabs-nav li.current a,
.search-tabs-nav li.active a,
.search-tabs-nav li a:hover,
.search-tabs-nav li a:focus {
    border-color: var(--theme-color-accent);
    background: var(--theme-color-accent-soft);
    color: var(--theme-color-accent-strong);
}

.search-results-panel,
.search-results-card {
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
    padding: 1.25rem;
}

.search-result-meta-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.search-result-meta-item {
    display: inline-flex;
    align-items: center;
    min-height: 2.2rem;
    padding: 0.4rem 0.8rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface-muted);
    color: var(--theme-color-text-muted);
    font-size: 0.86rem;
}

.search-empty-state .ErrorMessage,
.search-empty-state .InfoMessage {
    margin: 0;
}

.search-empty-state {
    display: grid;
    gap: 1rem;
}

.search-results-content-list {
    color: var(--theme-color-text-muted);
}

.search-results-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.search-results-list.ProductList {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.search-results-list.ProductList > li {
    display: flex;
    flex-direction: column;
    float: none !important;
    width: auto !important;
    min-height: 0 !important;
    margin: 0;
    padding: 1rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
}

.search-results-list.ProductList.List {
    grid-template-columns: 1fr;
}

.search-results-list.ProductList.List > li {
    display: grid;
    grid-template-columns: 8rem minmax(0, 1fr) auto auto;
    gap: 1rem;
    align-items: center;
}

.search-results-list.ProductList .ProductImage,
.search-results-list.ProductList .ProductDetails,
.search-results-list.ProductList .ProductPriceRating,
.search-results-list.ProductList .ProductCompareButton,
.search-results-list.ProductList .ProductActionAdd {
    float: none !important;
    width: auto !important;
    margin: 0;
}

.search-results-list.ProductList .ProductImage {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 11rem;
    padding: 0.75rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface-muted);
}

.search-results-list.ProductList .ProductImage > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: auto !important;
}

.search-results-list.ProductList .ProductImage img {
    max-width: 100%;
    max-height: 11rem;
    object-fit: contain;
}

.search-results-list.ProductList .ProductDetails {
    padding: 0;
    text-align: left;
}

.search-results-list.ProductList .ProductDetails a {
    color: var(--theme-color-text);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.45;
    text-decoration: none;
}

.search-results-list.ProductList .ProductSummary {
    display: -webkit-box;
    margin: 0.5rem 0 0;
    overflow: hidden;
    color: var(--theme-color-text-soft);
    font-size: 0.88rem;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.search-results-list.ProductList .ProductPriceRating {
    padding: 0;
    text-align: left;
}

.search-results-list.ProductList .ProductPriceRating em {
    display: block;
    padding: 0;
    color: var(--theme-color-accent);
    font-size: 1rem;
    font-style: normal;
    font-weight: 800;
}

.search-results-list.ProductList .Rating {
    display: block;
    margin-top: 0.35rem;
    text-align: left;
}

.search-results-list.ProductList .ProductCompareButton {
    padding: 0;
    text-align: left;
}

.search-results-list.ProductList .ProductActionAdd {
    position: static;
    padding: 0;
    margin-top: auto;
    text-align: left;
}

.search-results-list.ProductList .ProductActionAdd .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.9rem;
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid var(--theme-color-accent);
    background: var(--theme-color-accent);
    color: var(--theme-color-surface) !important;
    font-weight: 700;
    font-size: 0.92rem;
    line-height: 1;
    white-space: nowrap;
    text-decoration: none;
}

.search-results-list.ContentList {
    display: grid;
    gap: 1rem;
}

.search-results-list.ContentList > li {
    padding: 1rem 1.1rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
    color: var(--theme-color-text-muted);
}

.search-results-list.ContentList > li > a {
    color: var(--theme-color-text);
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
}

.search-results-list.ContentList > li em {
    color: var(--theme-color-text-soft);
    font-style: normal;
}

.search-results-list.ContentList > li p {
    margin: 0.5rem 0 0;
    line-height: 1.65;
}

.search-results-card .product-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 0 1rem;
    padding: 1rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface-muted);
}

.search-results-card .product-nav.btm {
    margin: 1rem 0 0;
}

.search-results-card .CategoryPagination {
    align-items: center;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin: 0;
}

.search-results-card .PagingList {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.search-results-card .PagingList li,
.search-results-card .PagingList a,
.search-results-card .PagingList span {
    margin: 0;
}

.search-results-card .PagingList a,
.search-results-card .PagingList span,
.search-results-card .CategoryPagination .PrevLink,
.search-results-card .CategoryPagination .NextLink {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    min-height: 2.5rem;
    padding: 0.45rem 0.8rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
    color: var(--theme-color-text-muted);
    font-weight: 700;
    text-decoration: none;
}

.search-results-card .PagingList .ActivePage span,
.search-results-card .PagingList .current span,
.search-results-card .PagingList a:hover,
.search-results-card .CategoryPagination .PrevLink:hover,
.search-results-card .CategoryPagination .NextLink:hover {
    border-color: var(--theme-color-accent);
    background: #ecfdf5;
    color: #115e59;
}

.search-results-card .SearchSorting {
    display: flex !important;
    align-items: center;
    margin-left: auto;
}

.search-results-card #SearchSortingSelectContainer {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.search-results-card #SearchSortingSelectContainer label {
    color: #475467;
    font-size: 0.88rem;
    font-weight: 700;
}

.search-results-card .SearchSortingList {
    min-width: 14rem;
    min-height: 2.8rem;
    padding: 0.55rem 2.5rem 0.55rem 0.9rem;
    border: 1px solid #dbe4ee;
    background: #fff;
    color: #0f172a;
    font-weight: 600;
}

.compare-shell {
    padding: 2.5rem 0;
}

.compare-page-wrap {
    width: 100%;
    max-width: none;
    margin: 0 auto;
    padding: 0 1.75rem;
    box-sizing: border-box;
}

.compare-route-main,
.compare-route-content {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#CompareBreadcrumb {
    margin-bottom: 1rem;
}

#CompareBreadcrumb .breadcrumb-shell,
#CompareBreadcrumb .container {
    max-width: 68rem;
    margin: 0 auto;
    padding: 0 1.75rem;
    box-sizing: border-box;
}

.compare-page-card {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    border: 0;
    background: transparent;
    padding: 0;
}

.compare-page-head {
    display: grid;
    gap: 0.65rem;
    margin-bottom: 1.25rem;
}

.compare-page-eyebrow {
    margin: 0;
    color: #0f766e;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.compare-page-title {
    margin: 0;
    color: #0f172a;
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1.02;
    letter-spacing: -0.03em;
}

.compare-page-intro {
    margin: 0;
    border: 1px solid #dbe4ee;
    background: #f8fafc;
    color: #475467;
    padding: 0.95rem 1rem;
}

.compare-page-content .ErrorMessage {
    margin: 0 0 1rem;
}

.compare-table-shell {
    overflow-x: auto;
    border: 1px solid #e2e8f0;
    background: #fff;
}

.ComparisonTable {
    width: max-content;
    min-width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
}

.ComparisonTable th,
.ComparisonTable td {
    border-right: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
    vertical-align: top;
    background: #fff;
}

.ComparisonTable tr:last-child td,
.ComparisonTable tr:last-child th {
    border-bottom: 0;
}

.ComparisonTable th:last-child,
.ComparisonTable td:last-child {
    border-right: 0;
}

.CompareFieldTop {
    width: 11rem;
    min-width: 11rem;
    max-width: 11rem;
    padding: 0.75rem !important;
    background: #f8fafc !important;
    text-align: left;
}

.CompareFieldTop a {
    color: #0f172a;
    font-size: 0.95rem;
    font-weight: 700;
    text-decoration: none;
}

.CompareFieldName {
    width: 10rem;
    min-width: 10rem;
    padding: 0.75rem !important;
    background: #f8fafc;
    color: #475467;
    font-size: 0.88rem;
    font-weight: 700;
    vertical-align: middle !important;
}

.CompareLeft,
.CompareCenter {
    width: 11rem;
    min-width: 11rem;
    max-width: 11rem;
    padding: 0.75rem !important;
    color: #0f172a;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.CompareLeft a,
.CompareCenter a {
    color: #0f172a;
    font-weight: 700;
    line-height: 1.45;
    text-decoration: none;
}

.CompareCenter {
    text-align: center;
}

.CompareCenter .ProductPrice {
    color: var(--theme-color-accent);
    font-size: 1rem;
    font-weight: 800;
}

.CompareRating img {
    display: inline-block;
}

.ComparisonTable .ProductThumbImage,
.ComparisonTable .ProductThumbImage a,
.ComparisonTable .ProductThumbImage img {
    display: block;
    margin: 0 auto;
}

.ComparisonTable .ProductThumbImage img {
    max-width: 7rem;
    max-height: 7rem;
    object-fit: contain;
}

.compare-summary-cell {
    color: #64748b;
    font-size: 0.88rem;
    line-height: 1.55;
}

.compare-table-shell .CompareFieldTop:first-child,
.compare-table-shell .CompareFieldName:first-child {
    position: sticky;
    left: 0;
    z-index: 2;
}

.compare-table-shell .CompareFieldTop:first-child {
    z-index: 3;
}

@media (max-width: 767px) {
    #SearchForm .QuickSearchResult a,
    #SearchForm .QuickSearchAllResults a {
        padding: 0.85rem;
    }

    #SearchForm .QuickSearchResultImage {
        width: 3.6rem !important;
        min-width: 3.6rem;
        height: 3.6rem;
    }

    #SearchForm .QuickSearchResultMeta {
        padding: 0.85rem 0.85rem 0.85rem 0;
    }

    .search-page-shell {
        padding: 1.5rem 0;
    }

    .search-page-wrap {
        width: calc(100% - 1rem);
    }

    .search-page-card,
    .search-page-main,
    .search-page-header-card,
    .search-results-card,
    .search-results-panel {
        padding: 1rem;
    }

    .search-page-heading,
    .search-page-header-top {
        align-items: flex-start;
        flex-direction: column;
    }

    .search-form-shell dl {
        grid-template-columns: 1fr;
    }

    .search-results-card .product-nav,
    .search-results-card #SearchSortingSelectContainer {
        flex-direction: column;
        align-items: stretch;
    }

    .search-results-card .SearchSorting {
        width: 100%;
        margin-left: 0;
    }

    .search-results-card .SearchSortingList {
        width: 100%;
        min-width: 0;
    }

    .compare-shell {
        padding: 1.5rem 0;
    }

    .compare-page-wrap {
        width: 100%;
        padding: 0 0.75rem;
    }

    .compare-page-card {
        padding: 0;
    }

    .search-results-list.ProductList {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .search-results-list.ProductList.List > li {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .search-results-list.ProductList {
        grid-template-columns: 1fr;
    }
}

.checkout-shell {
    padding: var(--theme-space-10) 0;
}

.checkout-page-wrap {
    max-width: var(--theme-container-wide);
    margin: 0 auto;
    padding: 0 var(--theme-space-4);
}

.checkout-shell #LayoutColumn1,
.checkout-shell .Content,
.checkout-shell .Content.Widest,
.checkout-shell .fullwidth,
.checkout-route-main,
.checkout-route-content {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: visible !important;
    display: block !important;
}

.checkout-express-shell,
.checkout-express-shell .ExpressCheckoutBlock,
.checkout-express-shell .ExpressCheckoutTitle,
.checkout-express-shell .ExpressCheckoutContent,
#CheckoutStepBillingAddress,
#CheckoutStepBillingAddress .ExpressCheckoutContent {
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
}

.checkout-breadcrumb-card,
.checkout-main-card {
    border: 1px solid #e2e8f0;
    background: #fff;
}

.checkout-breadcrumb-card {
    padding: 1rem 1.25rem;
}

.checkout-main-card {
    padding: 1.5rem;
}

.cart-page-shell {
    padding: var(--theme-space-8) 0 4rem;
}

.cart-page-wrap {
    width: calc(100% - 2rem);
    max-width: none;
    margin: 0 auto;
}

#CartBreadcrumb {
    padding: 0;
    background: transparent;
}

.cart-page-main {
    display: grid;
    gap: 1.5rem;
}

.cart-page-header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.25rem;
}

.cart-page-header-copy {
    display: grid;
    gap: 0.55rem;
    max-width: 42rem;
}

.cart-page-eyebrow {
    margin: 0;
    color: var(--theme-color-accent);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.cart-page-title {
    margin: 0;
    color: var(--theme-color-text);
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.02;
    letter-spacing: -0.04em;
}

.cart-page-intro {
    margin: 0;
    color: var(--theme-color-text-muted);
    font-size: 1rem;
    line-height: 1.7;
}

.cart-page-header-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}

.cart-page-header-actions > .btn,
.cart-page-header-actions > a,
.cart-page-header-actions > div[class*="Checkout"],
.cart-page-header-actions > .GoogleCheckout,
.cart-page-header-actions > .AmazonPayCheckout,
.cart-page-header-actions > .AlternativeCheckoutButtons {
    display: inline-flex;
}

.cart-support-grid .checkout-subcard {
    background: #fff;
}

.cart-support-grid .checkout-code-card {
    display: grid;
    gap: 1rem;
}

.cart-support-grid .checkout-section-title {
    margin: 0;
    padding-bottom: 0.8rem;
    border-bottom: 1px solid #e2e8f0;
}

.cart-support-grid .checkout-form-intro {
    margin: 0;
    color: #64748b;
}

.cart-support-grid .checkout-code-form {
    display: grid;
    gap: 0.9rem;
}

.cart-support-grid .checkout-code-form input[type="text"] {
    width: 100%;
}

.cart-support-grid .checkout-code-form .checkout-secondary-button {
    width: 100%;
    min-height: 3rem;
}

.checkout-stack {
    display: grid;
    gap: 1.25rem;
}

.checkout-subcard {
    padding: 1.25rem;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
}

.checkout-table-card {
    border: 1px solid #e2e8f0;
    overflow: hidden;
    background: #fff;
}

.checkout-code-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.checkout-page-title {
    margin: 0;
    color: #0f172a;
    font-size: 2rem;
    line-height: 1.08;
    letter-spacing: -0.03em;
}

.checkout-actions-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1rem;
}

.checkout-primary-button,
.checkout-secondary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--theme-control-height);
    padding: 0 1.15rem;
    font-size: 0.95rem;
    font-weight: 700;
    text-decoration: none;
}

.checkout-primary-button {
    background: var(--theme-color-accent) !important;
    color: var(--theme-color-surface) !important;
    border: 0;
}

.checkout-primary-button,
.checkout-primary-button:hover,
.checkout-primary-button:focus,
.checkout-primary-button:visited,
.btn.checkout-primary-button,
.btn.checkout-primary-button:hover,
.btn.checkout-primary-button:focus,
.btn.checkout-primary-button:visited,
.checkout-primary-button span,
.btn.checkout-primary-button span {
    color: #fff !important;
}

.checkout-secondary-button {
    background: var(--theme-color-surface);
    color: var(--theme-color-text-muted) !important;
    border: 1px solid var(--theme-color-border-strong);
}

.checkout-status-message .ErrorMessage,
.checkout-status-message .SuccessMessage,
.checkout-status-message .InfoMessage {
    margin: 0;
}

.checkout-code-card {
    display: grid;
    gap: 0.75rem;
}

.checkout-section-title {
    margin: 0;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 800;
}

.checkout-form-intro {
    color: #475467;
    line-height: 1.7;
}

.checkout-code-form {
    display: grid;
    gap: 0.75rem;
}

.checkout-input {
    display: block;
    width: 100%;
    min-height: 3rem;
    border: 1px solid rgba(15, 23, 42, 0.18);
    background: #fff;
    color: #0f172a;
    padding: 0.8rem 0.95rem;
    font-size: 1rem;
    line-height: 1.5;
}

#CartContent .checkout-cart-table,
.checkout-confirm-order-table {
    width: 100%;
    border-collapse: collapse;
}

#CartContent .cart-route-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(20rem, 24rem);
    gap: 2rem;
    align-items: start;
}

#CartContent .cart-route-main,
#CartContent .cart-route-sidebar {
    min-width: 0;
}

#CartContent .cart-items-card,
#CartContent .cart-summary-card {
    display: grid;
    gap: 1rem;
    padding: 1.5rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
}

#CartContent .cart-items-card {
    gap: 1.25rem;
}

#CartContent .cart-summary-card {
    position: sticky;
    top: 1.5rem;
}

#CartContent .cart-items-card-header {
    display: grid;
    gap: 0.35rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--theme-color-border);
}

#CartContent .cart-items-kicker {
    margin: 0;
    color: var(--theme-color-accent);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

#CartContent .cart-items-title {
    margin: 0;
    color: var(--theme-color-text);
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1.3;
}

#CartContent .cart-table-shell {
    overflow-x: auto;
}

#CartContent .cart-summary-header {
    display: grid;
    gap: 0.35rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--theme-color-border);
}

#CartContent .cart-summary-kicker {
    margin: 0;
    color: var(--theme-color-accent);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

#CartContent .cart-summary-title {
    margin: 0;
    color: var(--theme-color-text);
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1.3;
}

#CartContent .checkout-cart-summary-table {
    width: 100%;
    border-collapse: collapse;
}

#CartContent .checkout-cart-summary-table .checkout-cart-summary-row td {
    border-bottom: 1px solid var(--theme-color-border);
}

#CartContent .checkout-cart-summary-table .checkout-cart-summary-row:last-child td,
#CartContent .checkout-cart-summary-table .checkout-cart-summary-row.gtotal td {
    border-bottom: 0;
}

#CartContent .checkout-cart-summary-table .gtotal td {
    padding-top: 1rem;
}

#CartContent .checkout-cart-summary-table {
    width: 100%;
    border-collapse: collapse;
}

#CartContent .checkout-cart-summary-table tfoot td {
    padding: 0.85rem 0;
}

#CartContent .checkout-cart-summary-table .checkout-cart-summary-row:first-child td {
    padding-top: 0;
}

#CartContent .cart-route-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.875rem;
    margin-top: 0.25rem;
    align-items: center;
    justify-content: space-between;
}

#CartContent .checkout-cart-table th,
#CartContent .checkout-cart-table td,
.checkout-confirm-order-table th,
.checkout-confirm-order-table td {
    padding: 1rem;
    border-bottom: 1px solid var(--theme-color-border);
    vertical-align: top;
}

#CartContent .checkout-cart-table th,
.checkout-confirm-order-table th {
    color: #334155;
    font-size: 0.85rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    text-align: left;
}

.checkout-cart-product-link {
    color: #0f172a;
    text-decoration: none;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.35;
}

.checkout-cart-meta {
    color: #64748b;
    margin-top: 0.35rem;
}

.checkout-cart-fields {
    margin-top: 0.6rem;
}

.checkout-cart-field-list {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 0.25rem 0.65rem;
    margin: 0;
}

.checkout-cart-field-list .cart-field-label,
.checkout-cart-field-list .cart-field-value {
    margin: 0;
    color: #64748b;
    font-size: 0.92rem;
    line-height: 1.45;
}

.checkout-cart-field-list .fieldLabel {
    font-weight: 700;
    color: #475569;
}

.checkout-cart-edit-row {
    margin-top: 0.55rem;
}

.checkout-edit-link {
    display: inline-flex;
    align-items: center;
    color: #0f172a;
    text-decoration: none;
    font-weight: 700;
}

.checkout-edit-link:hover,
.checkout-edit-link:focus {
    color: var(--color-accent, #ff0042);
}

.checkout-remove-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.25rem;
    margin-top: 0.75rem;
    color: #b42318;
    text-decoration: none;
    font-weight: 700;
}

.checkout-cart-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.checkout-save-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    color: #0f172a;
    text-decoration: none;
    font-weight: 700;
}

.checkout-save-link:hover,
.checkout-save-link:focus {
    color: var(--color-accent, #ff0042);
}

.saved-items-card {
    margin-top: 2rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: #fff;
    padding: 1.5rem;
    width: 100%;
}

.saved-items-header {
    margin-bottom: 1.25rem;
}

.responsive-video {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    overflow: hidden;
    border-radius: 0.5rem;
    background: #000;
}

.responsive-video iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.product-video-sidebar {
    display: none;
}

.product-video-list-wrap {
    display: block;
}

@media (min-width: 1024px) {
    .product-video-sidebar {
        display: block;
    }

    .product-video-list-wrap {
        display: none;
    }
}

.saved-items-kicker {
    margin: 0 0 0.35rem;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #64748b;
}

.saved-items-title {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 800;
    color: #0f172a;
}

.saved-items-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
    width: 100%;
}

.saved-item-card {
    display: grid;
    gap: 0.75rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: #fff;
    padding: 1rem;
    border-radius: 0.75rem;
    box-shadow: 0 10px 25px -15px rgba(15, 23, 42, 0.7);
    min-height: 100%;
}

.saved-item-media {
    border-radius: 0.5rem;
    overflow: hidden;
    position: relative;
    padding-top: 75%;
    background: rgba(15, 23, 42, 0.04);
}

.saved-item-media a,
.saved-item-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.saved-item-media img {
    object-fit: cover;
    object-position: center;
}

.saved-item-copy {
    display: grid;
    gap: 0.45rem;
}

.saved-item-name {
    color: #0f172a;
    text-decoration: none;
    font-size: 0.98rem;
    font-weight: 800;
    line-height: 1.4;
}

.saved-item-price {
    margin: 0;
    color: #0f172a;
    font-weight: 800;
}

.saved-item-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.saved-item-move {
    flex: 1 1 60%;
}

.saved-item-remove {
    flex: 1 1 35%;
    text-align: center;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 0.9rem;
}

@media (max-width: 1024px) {
    .saved-items-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .saved-items-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

.checkout-qty-input {
    width: 5rem;
    min-height: 2.75rem;
    border: 1px solid rgba(15, 23, 42, 0.18);
    background: #fff;
    padding: 0.5rem 0.75rem;
    text-align: center;
}

.checkout-cart-price,
.checkout-cart-total {
    white-space: nowrap;
}

.checkout-cart-product {
    display: grid;
    grid-template-columns: 4.75rem minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.checkout-cart-thumb {
    width: 4.75rem;
}

.checkout-cart-thumb a,
.checkout-cart-thumb .ProductImage,
.checkout-cart-thumb img {
    display: block;
}

.checkout-cart-thumb img {
    width: 4.75rem;
    height: 4.75rem;
    object-fit: contain;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface-alt);
    padding: 0.35rem;
}

.checkout-cart-description {
    min-width: 0;
}

.checkout-cart-meta-group {
    display: grid;
    gap: 0.3rem;
    margin-top: 0.35rem;
}

.checkout-cart-meta-group br {
    display: none;
}

.checkout-cart-meta-group .CartItemDetails,
.checkout-cart-meta-group .productAttributeRow,
.checkout-cart-meta-group .checkout-cart-meta,
.checkout-cart-meta-group .WrappingOptions {
    margin: 0;
    color: #64748b;
    font-size: 0.9rem;
    line-height: 1.5;
}

.checkout-order-table .checkout-cart-qty,
.checkout-order-table .checkout-cart-price,
.checkout-order-table .checkout-cart-total {
    vertical-align: middle;
    font-weight: 700;
}

#CartContent .KeepShopping,
#CartContent .updateCart,
#CartContent .ProceedToCheckout {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1.25rem;
}

#CartContent .ProceedToCheckout {
    justify-content: flex-end;
}

#CartContent .KeepShopping a,
#CartContent .updateCart input,
#CartContent .CheckoutButton a,
#CartContent .AlternativeCheckout a,
#ConfirmOrder #bottom_payment_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: 0 1.15rem;
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 700;
}

#CartContent .KeepShopping a,
#CartContent .AlternativeCheckout a {
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #334155 !important;
}

#CartContent .updateCart input,
#CartContent .CheckoutButton a,
#ConfirmOrder #bottom_payment_button {
    border: 0;
    background: var(--theme-color-accent) !important;
    color: #fff !important;
}

#ConfirmOrder .BillingDetails,
#ConfirmOrder .ShippingDetails {
    padding: 1rem;
    border: 1px solid #e2e8f0;
    background: #fff;
    margin-bottom: 1rem;
}

#ConfirmOrder .BillingDetails h4,
#ConfirmOrder .ShippingDetails h4 {
    margin: 0 0 0.75rem;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 800;
}

#ConfirmOrder textarea,
#ConfirmOrder input[type="text"] {
    display: block;
    width: 100%;
    min-height: 3rem;
    border: 1px solid rgba(15, 23, 42, 0.18);
    background: #fff;
    color: #0f172a;
    padding: 0.8rem 0.95rem;
    font-size: 1rem;
    line-height: 1.5;
}

#ConfirmOrder textarea {
    min-height: 8rem;
}

.checkout-confirm-heading {
    display: grid;
    gap: 0.5rem;
}

.checkout-confirm-step {
    margin: 0;
    color: #94a3b8;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.3em;
    text-transform: uppercase;
}

.checkout-confirm-title {
    margin: 0;
    color: #0f172a;
    font-size: 1.85rem;
    line-height: 1.1;
    letter-spacing: -0.03em;
}

.checkout-confirm-shell {
    display: grid;
    gap: 1.25rem;
}

.checkout-confirm-addresses {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.checkout-address-card {
    margin: 0 !important;
}

.checkout-table-title {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
    color: #334155;
    font-size: 0.9rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.checkout-order-table-card {
    overflow: hidden;
}

.checkout-order-table tfoot td {
    background: #fff;
}

.checkout-col-center {
    text-align: center !important;
}

.checkout-col-right {
    text-align: right !important;
}

.checkout-inline-form {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.checkout-inline-form .checkout-input {
    flex: 1;
}

.checkout-payment-options,
.checkout-choice-group {
    display: grid;
    gap: 1rem;
}

.checkout-provider-list {
    display: grid;
    gap: 0.85rem;
}

.checkout-provider-option {
    padding: 1rem 1.1rem;
    border: 1px solid #dbe3ee;
    background: #fff;
}

.checkout-provider-label {
    color: #0f172a;
    font-weight: 700;
}

.checkout-credit-summary {
    display: grid;
    gap: 0.65rem;
}

.checkout-credit-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: #334155;
}

.checkout-credit-positive {
    color: var(--theme-color-accent);
    font-weight: 700;
}

.checkout-choice-row {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    color: #334155;
    font-weight: 500;
    line-height: 1.6;
}

.checkout-choice-row input {
    margin-top: 0.2rem;
    flex: 0 0 auto;
}

.checkout-inline-link {
    color: #475467;
}

.checkout-actions-row-end {
    justify-content: flex-end;
}

.checkout-cart-description {
    display: grid;
    gap: 0.5rem;
}

.checkout-cart-meta-group {
    display: grid;
    gap: 0.35rem;
}

.checkout-cart-fields {
    margin-top: 0.5rem;
}

.checkout-cart-summary-row td {
    padding-top: 0.85rem !important;
    padding-bottom: 0.85rem !important;
}

.checkout-cart-summary-inner {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
}

.checkout-cart-summary-label {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
    color: #334155;
}

.checkout-cart-summary-value {
    flex: 0 0 auto;
    color: #0f172a;
    font-style: normal;
    font-weight: 800;
    white-space: nowrap;
    text-align: right;
}

.checkout-cart-summary-note {
    display: block;
    color: #64748b;
    font-size: 0.8rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.5;
}

.checkout-cart-summary-note a {
    color: var(--theme-color-accent);
    text-decoration: none;
    font-weight: 700;
}

#CartContent .checkout-cart-summary-table .titTotal,
#CartContent .checkout-cart-summary-table .titGTotal,
#CartContent .checkout-cart-summary-table .checkout-cart-summary-row td > div {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
}

#CartContent .checkout-cart-summary-table .titTotal {
    color: #334155;
    font-size: 0.98rem;
    font-weight: 700;
}

#CartContent .checkout-cart-summary-table .titGTotal {
    padding-top: 0.35rem;
    color: #0f172a;
    font-size: 1.05rem;
    font-weight: 800;
}

#CartContent .checkout-cart-summary-table .titTotal em,
#CartContent .checkout-cart-summary-table .titGTotal em,
#CartContent .checkout-cart-summary-table .checkout-cart-summary-row td em {
    margin-left: 0;
    color: #0f172a;
    font-style: normal;
    text-align: right;
}

#CartContent .checkout-cart-summary-table .gtotal .titGTotal em {
    font-size: 1.15rem;
}

#CartContent .cart-summary-card .checkout-shipping-estimator {
    gap: 0.9rem;
    padding-top: 0.25rem;
}

#CartContent .cart-summary-card .EstimateShippingLink {
    width: 100%;
}

#CartContent .cart-summary-card .EstimateShipping {
    display: grid;
    gap: 0.9rem;
    padding: 1rem;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface-alt);
}

#CartContent .cart-summary-card .checkout-estimate-form {
    margin-top: 0;
    grid-template-columns: 1fr;
    gap: 0.5rem;
}

#CartContent .cart-summary-card .checkout-estimate-form dt {
    color: #334155;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

#CartContent .cart-summary-card .checkout-estimate-form dd {
    margin: 0;
}

#CartContent .cart-summary-card .EstimatedShippingMethods {
    display: grid;
    gap: 0.85rem;
}

#CartContent .cart-summary-card .checkout-estimated-table thead th {
    padding: 0 0 0.65rem;
    border-bottom: 1px solid #e2e8f0;
    color: #64748b;
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

#CartContent .cart-summary-card .checkout-estimated-table tbody td {
    padding: 0.85rem 0;
}

#CartContent .cart-summary-card .checkout-shipping-option-label {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

#CartContent .cart-summary-card .checkout-shipping-option-main {
    display: grid;
    gap: 0.15rem;
}

#CartContent .cart-summary-card .checkout-shipping-option-name {
    color: #0f172a;
    font-weight: 700;
}

#CartContent .cart-summary-card .checkout-shipping-option-time {
    color: #64748b;
    font-size: 0.85rem;
}

#CartContent .cart-summary-card .checkout-shipping-option-price {
    font-style: normal;
    font-weight: 800;
}

#CartContent .cart-summary-card .checkout-delivery-disclaimer {
    color: #64748b;
    font-size: 0.85rem;
    line-height: 1.6;
}

.checkout-shipping-provider-shell {
    display: grid;
    gap: 0.85rem;
}

.checkout-shipping-provider-shell ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.checkout-shipping-option {
    margin: 0;
}

.checkout-shipping-option-label {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.85rem;
    padding: 1rem 1.1rem;
    border: 1px solid #dbe3ee;
    background: #fff;
    color: #0f172a;
    text-decoration: none;
}

.checkout-shipping-provider-logo {
    max-width: 3rem;
    max-height: 2rem;
    object-fit: contain;
}

.checkout-shipping-option-main {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
}

.checkout-shipping-option-name {
    color: #0f172a;
    font-weight: 700;
}

.checkout-shipping-option-time {
    color: #64748b;
    font-size: 0.9rem;
}

.checkout-shipping-option-price {
    color: var(--theme-color-accent);
    font-style: normal;
    font-weight: 800;
    white-space: nowrap;
}

.checkout-delivery-disclaimer {
    color: #64748b;
    font-size: 0.9rem;
    line-height: 1.6;
}

.checkout-unavailable-items {
    margin: 0;
    padding-left: 1.25rem;
    color: #475467;
}

.checkout-address-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-bottom: 0.85rem;
}

.checkout-address-link {
    min-height: 2.5rem;
    padding: 0 0.95rem;
    font-size: 0.9rem;
}

.checkout-address-delete.is-loading,
.checkout-address-delete[aria-disabled="true"] {
    opacity: 0.55;
    pointer-events: none;
}

.checkout-address-copy {
    color: #475467;
    line-height: 1.7;
}

.checkout-empty-message {
    margin-bottom: 0.75rem;
}

.checkout-alt-label {
    color: #64748b;
    font-size: 0.9rem;
    font-weight: 600;
}

.checkout-shipping-estimator {
    display: grid;
    gap: 1rem;
}

.checkout-estimate-form {
    display: grid;
    gap: 0.85rem 1rem;
    grid-template-columns: minmax(0, 12rem) minmax(0, 1fr);
    align-items: center;
    margin: 1rem 0 0;
}

.checkout-estimate-form dt,
.checkout-estimate-form dd {
    margin: 0;
}

.checkout-estimated-table {
    width: 100%;
    border-collapse: collapse;
}

.checkout-estimated-table th,
.checkout-estimated-table td {
    padding: 0.85rem 1rem;
    border-bottom: 1px solid #e2e8f0;
    text-align: left;
}

.checkout-shipping-method-list {
    margin-top: 1rem;
}

.side-cart-panel,
.side-cart-panel .inner-wrapper {
    display: grid;
    gap: 1rem;
}

.side-cart-title {
    margin: 0;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 800;
}

.side-cart-content {
    display: grid;
    gap: 1rem;
}

.side-cart-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 1rem;
}

.side-cart-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.85rem;
    align-items: start;
}

.side-cart-thumb img {
    width: 4.5rem;
    height: 4.5rem;
    object-fit: cover;
}

.side-cart-item-meta {
    display: grid;
    gap: 0.35rem;
}

.side-cart-item-title {
    margin: 0;
    color: #0f172a;
    font-weight: 700;
    line-height: 1.4;
}

.side-cart-item-copy,
.side-cart-item-options {
    margin: 0;
    color: #64748b;
    font-size: 0.9rem;
    line-height: 1.6;
}

.side-cart-item-price {
    margin: 0;
    color: #0f172a;
}

.side-cart-total,
.side-cart-actions,
.side-cart-extra-actions {
    display: grid;
    gap: 0.75rem;
    margin: 0;
}

.fast-cart-wrapper {
    padding: 1.5rem;
    background: #fff;
}

.fast-cart-content,
.fast-cart-summary,
.fast-cart-actions,
.fast-cart-bottom {
    display: grid;
    gap: 1rem;
}

.fast-cart-top {
    display: grid;
    grid-template-columns: minmax(10rem, 12rem) minmax(0, 1fr) minmax(16rem, 20rem);
    gap: 1.5rem;
    align-items: start;
}

.fast-cart-thumb {
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.fast-cart-thumb img {
    display: block;
    width: 11rem;
    height: 11rem;
    object-fit: contain;
    background: #f8fafc;
    padding: 0.75rem;
}

.fast-cart-title,
.fast-cart-copy,
.fast-cart-product-link {
    margin: 0;
}

.fast-cart-title-row {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin: 0;
    padding: 0 0 1rem;
    border-bottom: 1px solid #e2e8f0;
}

.fast-cart-title-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: 0 0.85rem;
    background: var(--theme-color-accent);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.fast-cart-product-link a,
.fast-cart-product-link {
    color: #0f172a;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.4;
    text-decoration: none;
}

.fast-cart-copy {
    color: #64748b;
}

.fast-cart-title {
    color: #0f172a;
    font-size: 1.35rem;
    line-height: 1.25;
}

.fast-cart-price {
    color: var(--theme-color-accent);
    font-size: 1.1rem;
    font-weight: 800;
}

.fast-cart-checkout,
.fast-cart-extra-buttons,
.fast-cart-action-links {
    display: grid;
    gap: 0.75rem;
}

.fast-cart-subtotal {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 0;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
    color: #334155;
    font-weight: 700;
}

#fastCartSuggestive {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    padding-bottom: 1.5rem;
}

#fastCartSuggestive > li {
    width: auto !important;
    min-width: 0 !important;
    padding: 0.85rem;
    gap: 0.65rem;
}

#fastCartSuggestive .category-product-thumb {
    aspect-ratio: auto;
    padding: 0.75rem;
}

#fastCartSuggestive .category-product-thumb img {
    width: 100%;
    height: 7rem;
    object-fit: contain;
}

#fastCartSuggestive .category-product-media {
}

#fastCartSuggestive .ProductDetails {
    height: auto !important;
}

#fastCartSuggestive .pname {
    font-size: 0.95rem;
    line-height: 1.35;
}

#fastCartSuggestive .p-price {
    font-size: 1rem;
}

#ModalContainer {
    position: fixed !important;
    left: 50% !important;
    top: 50% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: translate(-50%, -50%) !important;
    z-index: 9999 !important;
}

#ModalContentContainer {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    width: min(47.5rem, calc(100vw - 3rem)) !important;
    max-width: 47.5rem !important;
    margin: 0 auto !important;
    overflow: hidden !important;
}

#ModalContent,
.ModalContent {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    box-sizing: border-box !important;
}

#fastCartContainer {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    max-height: min(80vh, 56rem) !important;
    overflow: hidden !important;
}

#fastCartWrapper {
    width: 100%;
    max-width: 100%;
    max-height: inherit;
}

.fastCartContent {
    max-height: min(80vh, 56rem) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 0 !important;
    padding-bottom: 2rem !important;
}

#ModalContainer .modalClose {
    position: absolute !important;
    top: 1rem !important;
    right: 1rem !important;
    z-index: 2 !important;
    width: 2.5rem !important;
    height: 2.5rem !important;
    margin: 0 !important;
    border: 1px solid #dbe3ee !important;
    background: #fff !important;
    color: #0f172a !important;
    text-indent: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1.5rem !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    overflow: hidden !important;
}

.checkout-address-selector .no-sel {
    width: 100%;
}

.checkout-address-toggle {
    margin: 0.35rem 0;
}

.checkout-address-form-shell dl {
    display: grid;
    gap: 0.9rem;
    margin: 0 0 1rem;
}

.checkout-address-form-shell dt,
.checkout-address-form-shell dd {
    margin: 0;
}

.checkout-address-map {
    min-height: 16rem;
    border: 1px solid #dbe3ee;
    background: #e2e8f0;
}

.checkout-delivery-table {
    width: 100%;
    border-collapse: collapse;
}

.checkout-delivery-table th,
.checkout-delivery-table td {
    padding: 0.85rem 1rem;
    border-bottom: 1px solid #e2e8f0;
    text-align: left;
}

.cart-edit-modal-content {
    display: grid;
    gap: 1rem;
    max-height: 70vh;
    overflow: auto;
    padding-right: 0.25rem;
}

.cart-edit-product-fields,
.productAttributeList {
    display: grid;
    gap: 1rem;
}

.cart-edit-modal-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.25rem;
}

.cart-field-label,
.cart-attribute-label {
    color: #0f172a;
    font-weight: 700;
}

.cart-field-value,
.cart-attribute-value {
    color: #475467;
}

.cart-field-help {
    color: #64748b;
    font-size: 0.85rem;
    font-style: normal;
}

.checkout-attribute-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 0.5rem;
}

.checkout-attribute-table td {
    padding: 0.3rem 0.5rem 0.3rem 0;
    border: 0;
    vertical-align: top;
}

.checkout-attribute-name {
    color: #475467;
    font-weight: 600;
    white-space: nowrap;
}

.checkout-attribute-value {
    color: #0f172a;
}

.checkout-mail-format {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
    color: #475467;
}

.checkout-mail-format-spacer {
    visibility: hidden;
}

.checkout-express-page {
    display: grid;
    gap: 2rem;
}

.checkout-express-shell {
    display: grid;
    gap: 1.5rem;
}

.ExpressCheckoutBlock {
    border: 1px solid #e2e8f0;
    background: #fff;
}

.ExpressCheckoutTitle {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.ExpressCheckoutContent {
    display: block;
    padding: 1.25rem;
}

.ExpressCheckoutBlockCollapsed .ExpressCheckoutContent {
    display: none;
}

#CheckoutStepBillingAddress,
#CheckoutStepAccountDetails {
    display: block;
}

#CheckoutStepBillingAddress .ExpressCheckoutContent,
#CheckoutStepAccountDetails .ExpressCheckoutContent {
    display: block;
}

#CheckoutStepShippingAddress.ExpressCheckoutBlockCollapsed .ExpressCheckoutContent,
#CheckoutStepShippingProvider.ExpressCheckoutBlockCollapsed .ExpressCheckoutContent,
#CheckoutStepConfirmation.ExpressCheckoutBlockCollapsed .ExpressCheckoutContent,
#CheckoutStepPaymentDetails.ExpressCheckoutBlockCollapsed .ExpressCheckoutContent {
    display: none;
}

.ExpressCheckoutContent .CreateAccount,
.ExpressCheckoutContent .AccountLogin {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ExpressCheckoutContent .CreateAccount.checkout-code-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
    align-items: start;
}

.ExpressCheckoutContent .FormContainer,
.ExpressCheckoutContent form,
.ExpressCheckoutContent .checkout-subcard,
.ExpressCheckoutContent .checkout-address-form-shell {
    max-width: 100%;
}

.ExpressCheckoutContent dl,
.ExpressCheckoutContent dd {
    margin: 0;
}

.checkout-express-step {
    border: 1px solid #e2e8f0;
    background: #fff;
}

.checkout-express-step-title {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.checkout-express-step-content {
    padding: 1.25rem;
}

.checkout-express-list {
    list-style: disc;
    margin: 0;
    padding-left: 1.25rem;
    color: #475467;
}

.account-order-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.account-paging-prev,
.account-paging-next {
    display: flex;
    align-items: center;
}

.contact-page-shell {
    display: grid;
    gap: 1.75rem;
}

.contact-hero-card,
.contact-form-card,
.contact-info-card {
    border: 1px solid #dbe4ee;
    background: #fff;
}

.contact-hero-card {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
    overflow: hidden;
}

.contact-hero-copy {
    padding: 2rem;
}

.contact-eyebrow {
    margin: 0 0 0.75rem;
    color: #0f766e;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.contact-title {
    margin: 0;
    color: #0f172a;
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    line-height: 1.1;
}

.contact-copy {
    margin: 1rem 0 0;
    max-width: 42rem;
    color: #475467;
    font-size: 1rem;
    line-height: 1.75;
}

.contact-meta-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
    margin-top: 1.5rem;
}

.contact-meta-card {
    display: grid;
    gap: 0.35rem;
    padding: 1rem 1.1rem;
    border: 1px solid #dbe4ee;
    background: #f8fafc;
}

.contact-meta-label {
    color: #64748b;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.contact-meta-card a,
.contact-meta-card span:last-child {
    color: #0f172a;
    font-weight: 600;
    line-height: 1.5;
}

.contact-map-card {
    min-height: 100%;
    background: #e2e8f0;
}

.contact-map-card iframe {
    display: block;
    width: 100%;
    min-height: 100%;
}

.contact-layout-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.75fr);
    gap: 1.5rem;
    align-items: start;
}

.contact-form-card,
.contact-info-card {
    padding: 1.75rem;
}

.contact-form-head h3,
.contact-info-card h3 {
    margin: 0;
    color: #0f172a;
    font-size: 1.35rem;
    line-height: 1.2;
}

.contact-form-head p {
    margin: 0.65rem 0 0;
    color: #475467;
    line-height: 1.65;
}

.contact-form-error {
    margin: 1.25rem 0 0;
    border: 1px solid #fecaca;
    background: #fef2f2;
    color: #991b1b;
    padding: 0.9rem 1rem;
}

.contact-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 1.1rem;
    margin-top: 1.35rem;
}

.contact-form-row {
    display: grid;
    gap: 0.45rem;
}

.contact-form-row-wide,
.contact-form-actions {
    grid-column: 1 / -1;
}

.contact-form-row label {
    color: #0f172a;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.4;
}

.contact-form-row .Required {
    margin-right: 0.2rem;
    color: #b91c1c;
}

.contact-form-row .form-control,
.contact-form-row input[type="text"],
.contact-form-row input[type="email"],
.contact-form-row input[type="tel"],
.contact-form-row textarea {
    width: 100%;
    min-height: 3.25rem;
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #0f172a;
    box-sizing: border-box;
    font-size: 1rem;
    line-height: 1.5;
    padding: 0.85rem 1rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.contact-form-row textarea {
    min-height: 9rem;
    resize: vertical;
}

.contact-form-row .form-control:focus,
.contact-form-row input[type="text"]:focus,
.contact-form-row input[type="email"]:focus,
.contact-form-row input[type="tel"]:focus,
.contact-form-row textarea:focus {
    border-color: #0f766e;
    outline: none;
}

.contact-form-actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding-top: 0.35rem;
}

.contact-submit-button,
.btn.contact-submit-button,
input.contact-submit-button[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.25rem;
    padding: 0.9rem 1.6rem;
    border: 1px solid #0f766e;
    background: #0f766e;
    color: #fff !important;
    font-size: 0.98rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.contact-submit-button:hover,
.contact-submit-button:focus,
.btn.contact-submit-button:hover,
.btn.contact-submit-button:focus,
input.contact-submit-button[type="submit"]:hover,
input.contact-submit-button[type="submit"]:focus {
    background: #115e59;
    border-color: #115e59;
    color: #fff !important;
    transform: translateY(-1px);
}

.contact-info-stack {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
}

.contact-info-stack p {
    margin: 0;
    color: #475467;
    line-height: 1.75;
}

.contact-info-stack strong {
    display: inline-block;
    margin-bottom: 0.2rem;
    color: #0f172a;
}

.contact-info-stack a {
    color: #0f766e;
    font-weight: 600;
}

@media (max-width: 1023px) {
    .checkout-code-grid {
        grid-template-columns: 1fr;
    }

    .checkout-confirm-addresses {
        grid-template-columns: 1fr;
    }

    .contact-hero-card,
    .contact-layout-grid,
    .contact-meta-grid,
    .contact-form-grid {
        grid-template-columns: 1fr;
    }

    .contact-map-card {
        min-height: 18rem;
    }
}

@media (max-width: 767px) {
    .checkout-shell {
        padding: 1.5rem 0;
    }

    .checkout-main-card,
    .checkout-breadcrumb-card,
    .checkout-subcard {
        padding: 1rem;
    }

    #CartContent .checkout-cart-table,
    #CartContent .checkout-cart-table thead,
    #CartContent .checkout-cart-table tbody,
    #CartContent .checkout-cart-table tr,
    #CartContent .checkout-cart-table th,
    #CartContent .checkout-cart-table td,
    .checkout-confirm-order-table,
    .checkout-confirm-order-table thead,
    .checkout-confirm-order-table tbody,
    .checkout-confirm-order-table tr,
    .checkout-confirm-order-table th,
    .checkout-confirm-order-table td {
        display: block;
        width: 100%;
    }

    .checkout-inline-form,
    .checkout-cart-summary-inner,
    .checkout-shipping-option-label {
        grid-template-columns: 1fr;
        display: grid;
    }

    .checkout-credit-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .checkout-estimate-form {
        grid-template-columns: 1fr;
    }

    .fast-cart-top {
        grid-template-columns: 1fr;
    }

    .fast-cart-thumb {
        justify-content: flex-start;
    }

    .fast-cart-thumb img {
        width: 8rem;
        height: 8rem;
    }

    .fast-cart-title-row {
        align-items: flex-start;
        flex-direction: column;
    }

    #fastCartSuggestive {
        grid-template-columns: 1fr;
    }

    #ModalContainer {
        top: 1rem !important;
        transform: translateX(-50%) !important;
    }

    #ModalContentContainer {
        width: min(100vw - 2rem, 42rem) !important;
        max-height: calc(100vh - 2rem) !important;
    }

    #fastCartContainer,
    .fastCartContent {
        max-height: calc(100vh - 3rem) !important;
    }

    .account-order-actions {
        justify-content: flex-start;
    }

    .cart-edit-modal-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .checkout-actions-row-end {
        justify-content: stretch;
    }

    .checkout-col-center,
    .checkout-col-right {
        text-align: left !important;
    }

    #CartContent .ProceedToCheckout,
    #CartContent .KeepShopping,
    #CartContent .updateCart {
        justify-content: stretch;
    }

    #CartContent .KeepShopping a,
    #CartContent .updateCart input,
    #CartContent .CheckoutButton a,
    #CartContent .AlternativeCheckout a,
    #ConfirmOrder #bottom_payment_button,
    .checkout-primary-button,
    .checkout-secondary-button {
        width: 100%;
    }

    .contact-hero-copy,
    .contact-form-card,
    .contact-info-card {
        padding: 1.25rem;
    }

    .contact-title {
        font-size: 1.7rem;
    }

    .contact-submit-button,
    .btn.contact-submit-button,
    input.contact-submit-button[type="submit"] {
        width: 100%;
    }

    .product-image-popup-shell {
        padding: 1rem 0.75rem 1.5rem;
    }

    .product-image-popup-topbar {
        flex-direction: column;
        align-items: stretch;
    }

    .product-image-popup-close {
        width: 100%;
    }

    .product-image-popup-frame .ProductZoomImage {
        min-height: 20rem;
        padding: 1rem;
    }

    .product-image-popup-carousel {
        padding: 0.75rem;
    }
}

/* Cart Route */
.checkout-cart-table {
    width: 100%;
    margin: 1.25rem 0;
    border-collapse: collapse;
    table-layout: fixed;
}

.checkout-cart-table thead th {
    padding: 0.75rem 1rem;
    text-align: left;
    white-space: nowrap;
}

.checkout-cart-table thead th.checkout-col-center {
    text-align: center;
}

.checkout-cart-table thead th.checkout-col-right {
    text-align: right;
}

.checkout-cart-row td {
    padding: 0.875rem 1rem;
    text-align: center;
    vertical-align: top;
}

.checkout-cart-table tbody td:first-child,
.checkout-cart-table tbody td.ProductName,
.checkout-cart-table .checkout-cart-product {
    text-align: left;
}

.checkout-cart-thumb {
    width: 6rem;
}

.checkout-cart-thumb img,
.checkout-cart-table .CartItemImage img,
.checkout-cart-table .CartThumb img {
    width: 5rem;
    max-width: 100%;
    height: auto;
    display: block;
}

.checkout-cart-product-link {
    display: inline-block;
    margin-bottom: 0.375rem;
}

.checkout-cart-mobile-label {
    display: none;
    font-size: 0.75rem;
    line-height: 1.2;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--theme-color-text-soft);
    margin-bottom: 0.35rem;
}

.checkout-cart-table .KeepShopping,
.checkout-cart-table + .KeepShopping,
#CartContent .KeepShopping,
#CartContent .updateCart,
#CartContent .ProceedToCheckout {
    display: flex;
    flex-wrap: wrap;
    gap: 0.875rem;
    align-items: center;
}

#CartContent .KeepShopping,
#CartContent .updateCart {
    margin-top: 1rem;
}

#CartContent .ProceedToCheckout {
    margin-top: 1.25rem;
    display: grid;
    gap: 0.85rem;
    justify-content: stretch;
}

#CartContent .CheckoutButton,
#CartContent .AlternativeCheckout,
#CartContent .KeepShopping a,
#CartContent .updateCart button {
    max-width: 100%;
}

#CartContent .CheckoutButton .checkout-primary-button,
#CartContent .updateCart .checkout-primary-button,
#CartContent .KeepShopping .checkout-secondary-button {
    width: auto;
}

#CartContent .CheckoutButton,
#CartContent .AlternativeCheckout {
    width: 100%;
}

#CartContent .CheckoutButton .checkout-primary-button,
#CartContent .AlternativeCheckout a {
    width: 100%;
}

#CartContent .AlternativeCheckout {
    padding-top: 0.85rem;
    border-top: 1px solid #e2e8f0;
}

#CartContent .AlternativeCheckout .PTB20 {
    margin: 0;
}

#CartContent .AlternativeCheckout a {
    color: var(--theme-color-accent);
    text-decoration: none;
    font-weight: 700;
}

#CartContent .ProceedToCheckout > .PayPalExpressCheckout,
#CartContent .ProceedToCheckout > .GoogleCheckout,
#CartContent .ProceedToCheckout > .AmazonPayCheckout,
#CartContent .ProceedToCheckout > .AlternativeCheckoutButtons,
#CartContent .ProceedToCheckout > div[class*="Checkout"] {
    width: 100%;
}

#CartContent .ProceedToCheckout input[type="image"],
#CartContent .ProceedToCheckout img {
    max-width: 100%;
    height: auto;
}

#CartContent .ProceedToCheckout .FloatRight,
#CartContent .ProceedToCheckout .FloatLeft {
    float: none !important;
}

.cart-support-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 767px) {
    .checkout-cart-table > thead,
    .checkout-cart-table > thead > tr,
    .checkout-cart-table > thead > tr > th {
        display: none !important;
    }

    .checkout-cart-table {
        border-collapse: separate;
        border-spacing: 0;
    }

    .checkout-page-wrap {
        padding-left: 0.875rem;
        padding-right: 0.875rem;
    }

    .cart-support-grid {
        grid-template-columns: 1fr;
    }

    #CartContent .BlockContent {
        padding: 0;
    }

    #CartContent .cart-route-layout {
        grid-template-columns: 1fr;
    }

    #CartContent .cart-summary-card {
        position: static;
    }

    .checkout-cart-table,
    .checkout-cart-table thead,
    .checkout-cart-table tbody,
    .checkout-cart-table tfoot,
    .checkout-cart-table tr,
    .checkout-cart-table th,
    .checkout-cart-table td {
        display: block;
        width: 100% !important;
    }

    .checkout-cart-table tbody {
        display: grid;
        gap: 1rem;
    }

    .checkout-cart-table tbody .checkout-cart-row {
        display: grid;
        grid-template-columns: 5rem minmax(0, 1fr);
        gap: 0.875rem 1rem;
        padding: 0.75rem;
        border: 1px solid var(--theme-color-border);
        background: var(--theme-color-surface);
    }

    .checkout-cart-table tbody .checkout-cart-thumb {
        grid-column: 1;
        grid-row: 1 / span 4;
        width: 5rem !important;
        padding: 0 !important;
    }

    .checkout-cart-table tbody .checkout-cart-product {
        grid-column: 2;
        grid-row: 1;
        padding: 0 !important;
    }

    .checkout-cart-table tbody .checkout-cart-qty,
    .checkout-cart-table tbody .checkout-cart-price,
    .checkout-cart-table tbody .checkout-cart-total {
        grid-column: 2;
        padding: 0 !important;
        text-align: left !important;
    }

    .checkout-cart-table tbody .checkout-cart-price,
    .checkout-cart-table tbody .checkout-cart-total {
        padding-top: 0.25rem !important;
        padding-bottom: 0.25rem !important;
    }

    .checkout-cart-mobile-label {
        display: block;
    }

    .checkout-cart-table .checkout-cart-qty .selector,
    .checkout-cart-table .checkout-cart-qty .quantityInput,
    .checkout-cart-table .checkout-cart-qty select,
    .checkout-cart-table .checkout-cart-qty input[type="text"] {
        width: auto;
        min-width: 4.25rem;
        max-width: 100%;
    }

    .checkout-cart-table tbody td .ProductPrice,
    .checkout-cart-table tbody .checkout-cart-total em {
        font-size: 1rem;
    }

    .checkout-cart-table tfoot {
        margin-top: 0.75rem;
    }

    .checkout-cart-table tfoot tr {
        border-top: 1px solid var(--theme-color-border);
    }

    .checkout-cart-table tfoot td {
        padding: 0.625rem 0 !important;
    }

    .checkout-cart-table tfoot td > div,
    .checkout-cart-table tfoot .titTotal,
    .checkout-cart-table tfoot .titGTotal {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 1rem;
        width: 100%;
    }

    .checkout-cart-table tfoot .titTotal em,
    .checkout-cart-table tfoot .titGTotal em,
    .checkout-cart-table tfoot td em {
        margin-left: 0 !important;
        min-width: 0 !important;
        width: auto !important;
        text-align: right;
    }

    #CartContent .KeepShopping,
    #CartContent .updateCart,
    #CartContent .ProceedToCheckout {
        display: grid;
        gap: 0.625rem;
    }

    #CartContent .cart-route-actions {
        display: grid;
        gap: 0.625rem;
    }

    #CartContent .CheckoutButton,
    #CartContent .AlternativeCheckout,
    #CartContent .KeepShopping a,
    #CartContent .updateCart button,
    #CartContent .CheckoutButton .checkout-primary-button,
    #CartContent .updateCart .checkout-primary-button,
    #CartContent .KeepShopping .checkout-secondary-button {
        width: 100%;
    }

    #CartContent .txtInfo-2 {
        text-align: center;
    }

    .checkout-shipping-estimator {
        padding: 0;
    }

    .checkout-estimate-form dt,
    .checkout-estimate-form dd {
        display: block;
        width: 100%;
    }
}

/* Account Data Tables */
.account-data-table {
    width: 100%;
    margin: 1.25rem 0;
    border-collapse: collapse;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
}

.account-data-table thead {
    background: var(--theme-color-surface-muted);
}

.account-data-table thead th {
    padding: 0.875rem 1rem;
    text-align: left;
    font-size: 0.75rem;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--theme-color-text-soft);
    border-bottom: 1px solid var(--theme-color-border);
}

.account-data-table tbody td,
.account-data-table tfoot td {
    padding: 1rem;
    vertical-align: top;
    border-top: 1px solid var(--theme-color-border);
    color: var(--theme-color-text);
}

.account-data-table tbody tr:first-child td {
    border-top: 0;
}

.account-data-table .ProductName,
.account-data-table td:first-child,
.account-data-table th:first-child {
    text-align: left;
}

.account-data-table .ProductPrice,
.account-data-table .CartItemTotalPrice em,
.account-data-table .OrderItemPrice {
    font-style: normal;
    font-weight: 700;
}

.account-order-table tfoot td {
    font-weight: 600;
    text-align: right;
}

.account-order-table tfoot td:first-child {
    text-align: left;
}

.account-order-table .CustomizeItemLink,
.account-order-table .CartProductFieldsLink {
    display: inline-block;
    margin-top: 0.375rem;
}

.account-shipment-table .TrackingNumber,
.account-shipment-table td:last-child {
    word-break: break-word;
}

@media (max-width: 767px) {
    .account-data-table,
    .account-data-table thead,
    .account-data-table tbody,
    .account-data-table tfoot,
    .account-data-table tr,
    .account-data-table th,
    .account-data-table td {
        display: block;
        width: 100% !important;
    }

    .account-data-table thead {
        display: none;
    }

    .account-data-table tbody,
    .account-data-table tfoot {
        display: grid;
        gap: 0.875rem;
    }

    .account-data-table tbody tr,
    .account-data-table tfoot tr {
        display: grid;
        gap: 0.5rem;
        padding: 0.875rem;
        border: 1px solid var(--theme-color-border);
        background: var(--theme-color-surface);
    }

    .account-data-table tbody td,
    .account-data-table tfoot td {
        border-top: 0;
        padding: 0;
        text-align: left !important;
    }
}

/* Wishlist Tables */
.wishlist-data-table {
    width: 100%;
    margin: 1.25rem 0;
    border-collapse: collapse;
    border: 1px solid var(--theme-color-border);
    background: var(--theme-color-surface);
}

.wishlist-data-table thead {
    background: var(--theme-color-surface-muted);
}

.wishlist-data-table thead th:first-child,
.wishlist-data-table tbody td:first-child {
    width: 3rem;
    text-align: center;
}

.wishlist-data-table tbody td {
    vertical-align: middle;
}

.wishlist-data-table .wishlist-table-actions {
    justify-content: flex-start;
}

@media (max-width: 767px) {
    .wishlist-data-table,
    .wishlist-data-table thead,
    .wishlist-data-table tbody,
    .wishlist-data-table tr,
    .wishlist-data-table th,
    .wishlist-data-table td {
        display: block;
        width: 100% !important;
    }

    .wishlist-data-table thead {
        display: none;
    }

    .wishlist-data-table tbody {
        display: grid;
        gap: 0.875rem;
    }

    .wishlist-data-table .wishlist-table-row {
        display: grid;
        gap: 0.625rem;
        padding: 0.875rem;
        border: 1px solid var(--theme-color-border);
        background: var(--theme-color-surface);
    }

    .wishlist-data-table .wishlist-table-row td {
        padding: 0;
        border-bottom: 0;
        text-align: left !important;
    }

    .wishlist-data-table thead th:first-child,
    .wishlist-data-table tbody td:first-child {
        width: 100% !important;
        text-align: left;
    }

    .wishlist-data-table .wishlist-table-actions {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0.625rem;
    }
}

/* Checkout Confirmation Table */
.checkout-confirmation-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--theme-color-surface);
}

.checkout-confirmation-table thead th {
    padding: 0.875rem 1rem;
    text-align: left;
    font-size: 0.75rem;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--theme-color-text-soft);
    border-bottom: 1px solid var(--theme-color-border);
}

.checkout-confirmation-table thead th.checkout-col-center {
    text-align: center;
}

.checkout-confirmation-table thead th.checkout-col-right {
    text-align: right;
}

.checkout-confirmation-table tbody td,
.checkout-confirmation-table tfoot td {
    padding: 1rem;
    vertical-align: top;
    border-top: 1px solid var(--theme-color-border);
}

.checkout-confirmation-table tbody tr:first-child td {
    border-top: 0;
}

.checkout-confirmation-table .checkout-cart-product,
.checkout-confirmation-table td:first-child {
    text-align: left;
}

.checkout-confirmation-table .checkout-cart-qty {
    text-align: center;
}

.checkout-confirmation-table .checkout-cart-price,
.checkout-confirmation-table .checkout-cart-total,
.checkout-confirmation-table tfoot td {
    text-align: right;
}

.checkout-confirmation-table .ProductPrice,
.checkout-confirmation-table .checkout-cart-total em {
    font-style: normal;
    font-weight: 700;
}

@media (max-width: 767px) {
    .checkout-confirmation-table,
    .checkout-confirmation-table thead,
    .checkout-confirmation-table tbody,
    .checkout-confirmation-table tfoot,
    .checkout-confirmation-table tr,
    .checkout-confirmation-table th,
    .checkout-confirmation-table td {
        display: block;
        width: 100% !important;
    }

    .checkout-confirmation-table thead {
        display: none;
    }

    .checkout-confirmation-table tbody,
    .checkout-confirmation-table tfoot {
        display: grid;
        gap: 0.875rem;
    }

    .checkout-confirmation-table tbody tr,
    .checkout-confirmation-table tfoot tr {
        display: grid;
        gap: 0.5rem;
        padding: 0.875rem;
        border: 1px solid var(--theme-color-border);
        background: var(--theme-color-surface);
    }

    .checkout-confirmation-table tbody td,
    .checkout-confirmation-table tfoot td {
        padding: 0;
        border-top: 0;
        text-align: left !important;
    }
}

/* Inline Style Cleanup */
.checkout-guest-options {
    line-height: 2;
}

.checkout-inline-submit {
    margin-top: 0.25rem;
}

.checkout-create-account-list {
    margin: 0;
    padding-left: 0;
    line-height: 1.4;
    list-style-position: inside;
}

.checkout-create-account-list li {
    margin-left: 0;
    padding-left: 0;
}

.checkout-create-account-list-compact {
    line-height: 1.4;
}

.checkout-legacy-button {
    padding: 2px 10px;
}

.newsletter-popup-kicker,
.newsletter-popup-offer {
    font-family: 'STIX Two Text', serif;
}

.newsletter-popup-kicker {
    font-size: x-large;
}

.newsletter-popup-offer {
    font-size: xx-large;
}

.newsletter-popup-decline {
    display: inline-block;
    margin: 25px;
    padding: 25px;
}

.product-tagline-text {
    font-size: 1rem;
}

.search-facets-header {
    margin: 1rem 0 0;
}

.search-faceted-layout {
    margin-top: 1rem;
}

.search-faceted-main > .search-results-card {
    margin: 0 !important;
}

.search-content-tab-panel {
    margin-top: 1rem;
}

#SearchContent_Container > .search-results-card {
    margin: 0 !important;
}

.facet-container {
    overflow: hidden;
}

.facet-header.js-facet-accordion-action {
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.facet-header.js-facet-accordion-action:hover {
    background: var(--theme-color-surface-muted);
}

.facet-header.js-facet-accordion-action::after {
    content: "+";
    flex: 0 0 auto;
    color: var(--theme-color-text-soft);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
}

.facet-container.is-open .facet-header.js-facet-accordion-action::after,
.facet-container.open .facet-header.js-facet-accordion-action::after,
.facet-container.expanded .facet-header.js-facet-accordion-action::after {
    content: "−";
}

.facet-body {
    display: grid;
    gap: 0.85rem;
}

.facet-options-list,
.facet-labels-list {
    gap: 0.6rem;
}

.facet-option a,
.facet-option label,
.facet-label a {
    align-items: flex-start;
    padding: 0.8rem 0.95rem;
    transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.facet-option a:hover,
.facet-option label:hover,
.facet-label a:hover {
    border-color: var(--theme-color-border-strong);
    background: var(--theme-color-surface-muted);
}

.facet-option.selected a,
.facet-option.selected label {
    color: var(--theme-color-text);
    border-color: color-mix(in srgb, var(--theme-color-accent) 30%, var(--theme-color-border));
    background: color-mix(in srgb, var(--theme-color-accent) 7%, #ffffff);
}

.facet-category-option,
.js-facet-range-option,
.js-facet-label {
    font-weight: 600;
}

.facet-option .js-facet-option-checkbox {
    margin-top: 0.15rem;
}

.facet-option-product-count {
    margin-left: auto;
    padding-left: 0.75rem;
    white-space: nowrap;
    color: var(--theme-color-text-soft);
    font-size: 0.78rem;
    font-weight: 700;
}

.facet-option.selected .facet-option-product-count {
    color: var(--theme-color-accent-strong);
}

.facet-option.level1 a,
.facet-option.level1 label { padding-left: 1.25rem; }
.facet-option.level2 a,
.facet-option.level2 label { padding-left: 1.75rem; }
.facet-option.level3 a,
.facet-option.level3 label { padding-left: 2.25rem; }
.facet-option.level4 a,
.facet-option.level4 label { padding-left: 2.75rem; }

.facet-category-option-has-children::before {
    content: "•";
    flex: 0 0 auto;
    color: var(--theme-color-accent);
    font-size: 0.8rem;
    line-height: 1.4;
}

.facet-label a {
    font-weight: 600;
}

.js-facet-clear,
.js-facet-clear-all {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.js-facet-clear:hover,
.js-facet-clear-all:hover {
    color: var(--theme-color-accent-strong);
}

.js-facet-clear-all {
    width: fit-content;
}

.js-facet-more-options {
    margin-top: 0;
}

.btn-facet-more-options,
.js-btn-facet-range-update,
.js-btn-facet-range-clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.btn-facet-more-options:hover,
.js-btn-facet-range-clear:hover {
    border-color: var(--theme-color-border-strong);
    background: var(--theme-color-surface-muted);
}

.js-btn-facet-range-update {
    border-color: var(--theme-color-accent);
    background: var(--theme-color-accent);
    color: #ffffff;
}

.js-btn-facet-range-update:hover {
    background: var(--theme-color-accent-strong);
    border-color: var(--theme-color-accent-strong);
    color: #ffffff;
}

.facet-form fieldset {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: stretch;
}

.facet-form fieldset > .js-facet-range-input-from,
.facet-form fieldset > .js-facet-range-input-to {
    min-width: 0;
}

.facet-form fieldset > .js-btn-facet-range-update,
.facet-form fieldset > .js-btn-facet-range-clear {
    grid-column: span 3;
}

.facet-form fieldset > a.js-btn-facet-range-clear {
    margin-top: -0.1rem;
}

.recent-blogs-owl {
    padding-top: 0;
}

.recent-blogs-owl .swiper-button-prev,
.recent-blogs-owl .swiper-button-next {
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
}

.recent-blogs-owl .swiper-button-prev {
    left: 0.75rem;
    right: auto;
}

.recent-blogs-owl .swiper-button-next {
    right: 0.75rem;
}

.recent-blogs-owl .swiper-pagination {
    margin-top: 1rem;
}

.recent-blogs-owl .swiper-button-prev::before,
.recent-blogs-owl .swiper-button-next::before {
    transform: none;
}

.recent-blogs-owl .swiper-button-prev::before {
    transform: rotate(-135deg);
}

.recent-blogs-owl .swiper-button-next::before {
    transform: rotate(45deg);
}

body.mini-order-drawer-open {
    overflow: hidden;
}

.mini-order-drawer {
    position: fixed;
    inset: 0;
    z-index: 1200;
    pointer-events: none;
}

.mini-order-drawer-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.48);
    opacity: 0;
    transition: opacity 0.2s ease;
}

.mini-order-drawer-panel {
    position: absolute;
    top: 0;
    right: 0;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    width: min(28rem, 100vw);
    height: 100vh;
    background: #ffffff;
    border-left: 1px solid var(--theme-color-border);
    transform: translateX(100%);
    transition: transform 0.24s ease;
    box-sizing: border-box;
}

.mini-order-drawer.is-open {
    pointer-events: auto;
}

.mini-order-drawer.is-open .mini-order-drawer-backdrop {
    opacity: 1;
}

.mini-order-drawer.is-open .mini-order-drawer-panel {
    transform: translateX(0);
}

.mini-order-drawer-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 1.25rem 1rem;
    border-bottom: 1px solid var(--theme-color-border);
}

.mini-order-drawer-kicker {
    margin: 0 0 0.35rem;
    color: var(--theme-color-accent);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.mini-order-drawer-title {
    margin: 0;
    color: var(--theme-color-text);
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.1;
}

.mini-order-drawer-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid var(--theme-color-border);
    background: #ffffff;
    color: var(--theme-color-text);
    font-size: 1rem;
    cursor: pointer;
}

.mini-order-drawer-status {
    padding: 0.85rem 1.25rem;
    border-bottom: 1px solid var(--theme-color-border);
    background: color-mix(in srgb, var(--theme-color-accent) 7%, #ffffff);
    color: var(--theme-color-text);
    font-size: 0.92rem;
    font-weight: 600;
}

.mini-order-drawer-content {
    min-height: 0;
    overflow-y: auto;
    padding: 1.25rem;
}

.mini-order-drawer.is-loading .mini-order-drawer-content {
    opacity: 0.55;
}

.mini-order-drawer .side-cart-panel {
    display: grid !important;
    gap: 1rem;
}

.mini-order-drawer .side-cart-panel,
.mini-order-drawer .side-cart-panel .inner-wrapper {
    height: auto;
}

.mini-order-drawer .side-cart-title {
    font-size: 1.05rem;
}

.side-cart-item {
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--theme-color-border);
}

.side-cart-item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.side-cart-thumb a,
.side-cart-thumb img {
    display: block;
}

.side-cart-item-options small {
    color: var(--theme-color-text-soft);
}

.side-cart-item-qty-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.side-cart-item-qty-label {
    color: var(--theme-color-text-soft);
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.side-cart-item-qty-controls {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.side-cart-qty-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: 1px solid var(--theme-color-border);
    background: #ffffff;
    color: var(--theme-color-text);
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
}

.side-cart-item-qty-value {
    min-width: 1.5rem;
    text-align: center;
    color: var(--theme-color-text);
    font-weight: 700;
}

.side-cart-item-actions {
    display: flex;
    justify-content: flex-start;
}

.side-cart-remove-link {
    color: var(--theme-color-accent);
    font-size: 0.88rem;
    font-weight: 700;
    text-decoration: none;
}

.side-cart-empty-state {
    display: grid;
    gap: 0.9rem;
    padding: 1.25rem;
    border: 1px solid var(--theme-color-border);
    background: #ffffff;
}

.side-cart-empty-title {
    margin: 0;
    color: var(--theme-color-text);
    font-size: 1rem;
    font-weight: 800;
}

.side-cart-empty-copy {
    margin: 0;
    color: var(--theme-color-text-soft);
}

.cart-free-shipping-progress {
    display: grid;
    gap: 0.75rem;
    padding: 1rem;
    margin: 0 0 1.25rem;
    border: 1px solid #fbcfe8;
    background: #fff1f2;
}

.cart-free-shipping-progress.is-unlocked {
    border-color: #86efac;
    background: #f0fdf4;
}

.cart-free-shipping-copy {
    display: grid;
    gap: 0.25rem;
}

.cart-free-shipping-title {
    margin: 0;
    color: var(--theme-color-text);
    font-size: 0.95rem;
    font-weight: 700;
}

.cart-free-shipping-note {
    margin: 0;
    color: var(--theme-color-text-soft);
    font-size: 0.8125rem;
    line-height: 1.5;
}

.cart-free-shipping-meter {
    position: relative;
    height: 0.5rem;
    overflow: hidden;
    background: rgba(17, 24, 39, 0.08);
}

.cart-free-shipping-meter-fill {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, #ff0042 0%, #fb7185 100%);
}

.cart-free-shipping-progress.is-unlocked .cart-free-shipping-meter-fill {
    background: linear-gradient(90deg, #16a34a 0%, #4ade80 100%);
}

.mini-order-drawer .cart-free-shipping-progress {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

@media (max-width: 767px) {
    .mini-order-drawer-panel {
        width: 100vw;
        border-left: 0;
    }

    .mini-order-drawer-content {
        padding: 1rem;
    }
}
