/**
 * Mars Modern — Zen Cart 2.2.2 storefront stylesheet.
 *
 * The original Mars visual system is retained (1218px content width, restrained
 * typography, coral accent, thin rules, spacious catalogue cards) while the
 * 2014 float grid, reset, browser hacks and plugin CSS are replaced with modern
 * CSS Grid/Flexbox and accessible interaction states.
 */

:root {
    --mars-content-max: 84rem; /* 1344px: modern desktop canvas, still comfortably readable */
    --mars-gutter: clamp(1rem, 2.5vw, 2rem);

    --mars-bg: #ffffff;
    --mars-surface: #fafafa;
    --mars-surface-2: #f3f3f3;
    --mars-surface-3: #ececec;
    --mars-border: #dedede;
    --mars-border-strong: #c9c9c9;
    --mars-text: #333333;
    --mars-text-muted: #6f6f6f;
    --mars-text-soft: #6f6f6f;
    --mars-accent: #c93f50;
    --mars-accent-hover: #ab3141;
    --mars-accent-contrast: #ffffff;
    --mars-link: #333333;
    --mars-link-hover: #ff6666;

    --mars-success: #2f7d32;
    --mars-warning: #936b00;
    --mars-error: #b42318;
    --mars-info: #2563a7;

    --mars-radius-sm: 0.125rem;
    --mars-radius: 0.25rem;
    --mars-shadow-popover: 0 0.75rem 2.5rem rgb(0 0 0 / 0.12);
    --mars-shadow-card: 0 0.25rem 1rem rgb(0 0 0 / 0.05);
    --mars-transition: 160ms ease;
    --mars-header-z: 100;

    --mars-font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* Mars 1.3 colour-theme parity, rebuilt with WCAG-safe accent values. */
.mars-theme--theme-1 {
    --mars-bg: #ffffff;
    --mars-surface: #f4f7f7;
    --mars-surface-2: #e9efef;
    --mars-surface-3: #dce5e5;
    --mars-border: #ccd7d7;
    --mars-border-strong: #afc0c0;
    --mars-text: #263746;
    --mars-text-muted: #526575;
    --mars-text-soft: #526575;
    --mars-accent: #0f766e;
    --mars-accent-hover: #0b5f59;
    --mars-accent-contrast: #ffffff;
    --mars-link: #263746;
    --mars-link-hover: #0f766e;
}

.mars-theme--theme-2 {
    --mars-bg: #ffffff;
    --mars-surface: #f3f6f4;
    --mars-surface-2: #e7ede9;
    --mars-surface-3: #d9e2dc;
    --mars-border: #cbd6ce;
    --mars-border-strong: #aebcaf;
    --mars-text: #27322c;
    --mars-text-muted: #536158;
    --mars-text-soft: #536158;
    --mars-accent: #1f7a45;
    --mars-accent-hover: #185f36;
    --mars-accent-contrast: #ffffff;
    --mars-link: #27322c;
    --mars-link-hover: #1f7a45;
}

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

html {
    color-scheme: light;
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--mars-bg);
    color: var(--mars-text);
    font-family: var(--mars-font-sans);
    font-size: 0.9375rem;
    line-height: 1.55;
}

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

img,
picture,
svg,
video {
    max-width: 100%;
    height: auto;
}

img {
    vertical-align: middle;
}

button,
input,
select,
textarea {
    font: inherit;
}

button,
[type="button"],
[type="submit"],
[type="reset"] {
    cursor: pointer;
}

a {
    color: var(--mars-link);
    text-decoration-thickness: 0.0625rem;
    text-underline-offset: 0.18em;
    transition: color var(--mars-transition), background-color var(--mars-transition), border-color var(--mars-transition);
}

a:hover {
    color: var(--mars-link-hover);
}

:focus-visible {
    outline: 0.1875rem solid var(--mars-accent);
    outline-offset: 0.1875rem;
}

::selection {
    background: var(--mars-accent);
    color: var(--mars-accent-contrast);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-block: 0 0.75em;
    color: var(--mars-text);
    font-weight: 500;
    line-height: 1.25;
}

h1 { font-size: clamp(1.75rem, 3vw, 2.5rem); }
h2 { font-size: clamp(1.35rem, 2vw, 1.75rem); }
h3 { font-size: 1.1rem; }

p,
ul,
ol,
dl,
blockquote {
    margin-block: 0 1rem;
}

code {
    overflow-wrap: anywhere;
    word-break: break-word;
}

hr {
    border: 0;
    border-top: 0.0625rem solid var(--mars-border);
}

.mars-container {
    width: min(calc(100% - (2 * var(--mars-gutter))), var(--mars-content-max));
    margin-inline: auto;
}

.mars-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.mars-skip-link {
    position: fixed;
    inset-block-start: 0.5rem;
    inset-inline-start: 0.5rem;
    z-index: 9999;
    translate: 0 -200%;
    padding: 0.75rem 1rem;
    background: var(--mars-text);
    color: #fff;
    text-decoration: none;
}

.mars-skip-link:focus {
    translate: 0 0;
}

/* -------------------------------------------------------------------------
   Header
   ------------------------------------------------------------------------- */

.mars-header {
    position: relative;
    z-index: var(--mars-header-z);
    background: var(--mars-bg);
}

.mars-header--sticky {
    position: sticky;
    inset-block-start: 0;
    box-shadow: 0 0.25rem 1rem rgb(0 0 0 / 0.06);
}

.mars-topbar {
    border-bottom: 0.0625rem solid var(--mars-border);
    background: var(--mars-surface);
    color: var(--mars-text-muted);
    font-size: 0.75rem;
}

.mars-topbar__inner {
    display: flex;
    min-height: 2rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.mars-utility-nav ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mars-utility-nav li + li::before {
    content: "|";
    padding-inline: 0.5rem;
    color: var(--mars-border-strong);
}

.mars-utility-nav a,
.mars-topbar__cart-link {
    color: var(--mars-text-muted);
    text-decoration: none;
}

.mars-topbar__selectors {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-inline-start: auto;
}

.mars-currency-form {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin: 0;
}

.mars-currency-form select,
.mars-selector-submit,
.mars-language-switcher > summary {
    min-height: 1.75rem;
    border: 0.0625rem solid var(--mars-border);
    border-radius: var(--mars-radius-sm);
    background: #fff;
    color: var(--mars-text-muted);
    font-size: 0.75rem;
    line-height: 1.2;
}

.mars-currency-form select {
    max-width: 10rem;
    padding: 0.2rem 1.55rem 0.2rem 0.45rem;
}

.mars-selector-submit {
    min-width: 2rem;
    padding: 0.2rem 0.45rem;
}

.mars-language-switcher {
    position: relative;
}

.mars-language-switcher > summary {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.5rem;
    list-style: none;
    cursor: pointer;
}

.mars-language-switcher > summary::-webkit-details-marker {
    display: none;
}

.mars-language-switcher > summary::after {
    content: "▾";
    margin-inline-start: 0.35rem;
    font-size: 0.65rem;
}

.mars-language-switcher[open] > summary::after {
    content: "▴";
}

.mars-language-switcher ul {
    position: absolute;
    inset-block-start: calc(100% + 0.25rem);
    inset-inline-end: 0;
    z-index: calc(var(--mars-header-z) + 5);
    min-width: 9rem;
    margin: 0;
    border: 0.0625rem solid var(--mars-border);
    padding: 0.35rem;
    background: #fff;
    box-shadow: var(--mars-shadow-popover);
    list-style: none;
}

.mars-language-switcher li + li {
    margin-top: 0.15rem;
}

.mars-language-switcher a {
    display: block;
    min-height: 1.75rem;
    padding: 0.35rem 0.5rem;
    color: var(--mars-text);
    text-decoration: none;
}

.mars-language-switcher a:hover,
.mars-language-switcher a:focus-visible,
.mars-selector-submit:hover,
.mars-selector-submit:focus-visible {
    background: var(--mars-surface-2);
    color: var(--mars-text);
}

.mars-topbar__cart-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    white-space: nowrap;
}

.mars-cart-count {
    display: inline-grid;
    min-width: 1.35rem;
    min-height: 1.35rem;
    place-items: center;
    border-radius: 999px;
    background: var(--mars-accent);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
}

.mars-branding {
    border-bottom: 0.0625rem solid var(--mars-border);
}

.mars-branding__inner {
    display: flex;
    min-height: 6.5rem;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.mars-brand {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    min-width: 0;
}

.mars-brand__logo {
    display: inline-flex;
    flex: 0 0 auto;
}

.mars-brand__logo img {
    width: auto;
    max-width: min(10.125rem, 42vw);
    height: auto;
}

.mars-brand__tagline {
    margin: 0;
    padding-inline-start: 1.25rem;
    border-inline-start: 0.0625rem solid var(--mars-border);
    color: var(--mars-text);
    font-size: clamp(0.9rem, 1.5vw, 1.2rem);
    white-space: nowrap;
}

.mars-header-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.mars-search-form {
    display: flex;
    min-width: min(19rem, 30vw);
    border: 0.0625rem solid var(--mars-border);
    background: #fff;
}

.mars-search-form input[type="text"],
.mars-search-form input[type="search"] {
    min-width: 0;
    flex: 1 1 auto;
    border: 0;
    padding: 0.65rem 0.75rem;
    color: var(--mars-text);
    background: transparent;
    outline: 0;
}

.mars-search-form:focus-within {
    border-color: var(--mars-text);
    box-shadow: 0 0 0 0.125rem rgb(51 51 51 / 0.08);
}

.mars-search-button {
    border: 0;
    border-inline-start: 0.0625rem solid var(--mars-border);
    padding-inline: 0.9rem;
    background: var(--mars-surface);
    color: var(--mars-text);
}

.mars-search-button:hover {
    background: var(--mars-surface-2);
}

.mars-mini-cart {
    position: relative;
}

.mars-mini-cart summary {
    display: flex;
    min-height: 2.65rem;
    align-items: center;
    gap: 0.45rem;
    border: 0.0625rem solid var(--mars-border);
    padding: 0.55rem 0.7rem;
    background: var(--mars-surface);
    color: var(--mars-text);
    list-style: none;
    white-space: nowrap;
    user-select: none;
}

.mars-mini-cart summary::-webkit-details-marker {
    display: none;
}

.mars-mini-cart summary::before {
    content: "🛒";
    font-size: 0.9rem;
}

.mars-mini-cart__total {
    color: var(--mars-text-muted);
}

.mars-mini-cart__panel {
    position: absolute;
    inset-block-start: calc(100% + 0.4rem);
    inset-inline-end: 0;
    z-index: 20;
    width: min(24rem, calc(100vw - 2rem));
    border: 0.0625rem solid var(--mars-border);
    padding: 1rem;
    background: #fff;
    box-shadow: var(--mars-shadow-popover);
}

.mars-mini-cart__items {
    display: grid;
    gap: 0;
    margin: 0 0 0.75rem;
    padding: 0;
    list-style: none;
}

.mars-mini-cart__items li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem;
    padding-block: 0.65rem;
    border-bottom: 0.0625rem solid var(--mars-border);
}

.mars-mini-cart__items a {
    overflow: hidden;
    text-overflow: ellipsis;
    text-decoration: none;
}

.mars-mini-cart__items span {
    color: var(--mars-text-muted);
    white-space: nowrap;
}

.mars-mini-cart__subtotal {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.mars-mini-cart__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
}

.mars-mini-cart__empty {
    margin: 0;
    color: var(--mars-text-muted);
}

/* -------------------------------------------------------------------------
   Primary category navigation
   ------------------------------------------------------------------------- */

.mars-category-nav {
    border-bottom: 0.0625rem solid var(--mars-border);
    background: var(--mars-bg);
}

.mars-category-nav__toggle {
    display: none;
    width: 100%;
    align-items: center;
    gap: 0.6rem;
    border: 0;
    padding: 0.9rem 0;
    background: transparent;
    color: var(--mars-text);
    text-align: start;
    font-weight: 600;
}

.mars-category-nav__tree > ul {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mars-category-nav__tree li {
    position: relative;
    list-style: none;
}

.mars-category-nav__tree a {
    display: block;
    padding: 0.95rem 1.2rem;
    color: var(--mars-text-muted);
    text-decoration: none;
}

.mars-category-nav__tree > ul > li:first-child > a {
    background: var(--mars-accent);
    color: var(--mars-accent-contrast);
}

.mars-category-nav__tree > ul > li > a:hover,
.mars-category-nav__tree > ul > li > a:focus-visible {
    background: var(--mars-surface-2);
    color: var(--mars-text);
}

.mars-category-nav__tree > ul > li:first-child > a:hover,
.mars-category-nav__tree > ul > li:first-child > a:focus-visible {
    background: var(--mars-accent-hover);
    color: #fff;
}

.mars-category-nav__tree li > ul {
    display: none;
    position: absolute;
    inset-block-start: 100%;
    inset-inline-start: 0;
    z-index: 30;
    width: max-content;
    min-width: 13rem;
    max-width: 22rem;
    margin: 0;
    padding: 0.35rem 0;
    border: 0.0625rem solid var(--mars-border);
    background: #fff;
    box-shadow: var(--mars-shadow-popover);
    translate: 0 0.35rem;
    transition: translate var(--mars-transition);
}

.mars-category-nav__tree li:hover > ul,
.mars-category-nav__tree li:focus-within > ul {
    display: block;
    translate: 0 0;
}

.mars-category-nav__tree li > ul ul {
    inset-block-start: -0.35rem;
    inset-inline-start: 100%;
}

.mars-category-nav__tree li > ul a {
    padding: 0.65rem 0.9rem;
}

.mars-category-nav__tree li > ul a:hover,
.mars-category-nav__tree li > ul a:focus-visible {
    background: var(--mars-surface);
    color: var(--mars-accent-hover);
}

#navEZPagesTop {
    border-bottom: 0.0625rem solid var(--mars-border);
    background: var(--mars-surface);
}

#navEZPagesTop ul {
    display: flex;
    flex-wrap: wrap;
    width: min(calc(100% - (2 * var(--mars-gutter))), var(--mars-content-max));
    margin: 0 auto;
    padding: 0.45rem 0;
    gap: 1rem;
    list-style: none;
}

#navEZPagesTop a {
    color: var(--mars-text-muted);
    text-decoration: none;
    font-size: 0.78rem;
}

/* -------------------------------------------------------------------------
   Page layout / sidebars / breadcrumb
   ------------------------------------------------------------------------- */

.mars-site-shell {
    min-height: 100vh;
}

.mars-site-shell--boxed {
    width: min(100%, calc(var(--mars-content-max) + (2 * var(--mars-gutter))));
    margin-inline: auto;
    background: var(--mars-bg);
    box-shadow: 0 0 2.5rem rgb(0 0 0 / 0.08);
}

.mars-page-layout {
    display: grid;
    grid-template-columns: minmax(0, var(--mars-left-column)) minmax(0, 1fr) minmax(0, var(--mars-right-column));
    gap: clamp(1rem, 2vw, 2rem);
    width: min(calc(100% - (2 * var(--mars-gutter))), var(--mars-content-max));
    margin-inline: auto;
    padding-block: clamp(1.25rem, 3vw, 2.25rem);
}

.mars-page-layout--no-left {
    grid-template-columns: minmax(0, 1fr) minmax(0, var(--mars-right-column));
}

.mars-page-layout--no-right {
    grid-template-columns: minmax(0, var(--mars-left-column)) minmax(0, 1fr);
}

.mars-page-layout--single {
    grid-template-columns: minmax(0, 1fr);
}

.mars-main-content,
.mars-sidebar {
    min-width: 0;
}

.mars-breadcrumb {
    margin-bottom: 1.25rem;
    padding-bottom: 0.75rem;
    border-bottom: 0.0625rem solid var(--mars-border);
    color: var(--mars-text-muted);
    font-size: 0.78rem;
}

.mars-breadcrumb a {
    color: inherit;
    text-decoration: none;
}

/* -------------------------------------------------------------------------
   Sideboxes
   ------------------------------------------------------------------------- */

.leftBoxContainer,
.rightBoxContainer {
    width: 100% !important;
    margin-bottom: 1.25rem;
    border: 0.0625rem solid var(--mars-border);
    background: #fff;
}

.leftBoxHeading,
.rightBoxHeading {
    margin: 0;
    padding: 0.8rem 0.9rem;
    border-bottom: 0.0625rem solid var(--mars-border);
    background: var(--mars-surface);
    color: var(--mars-text);
    font-size: 0.9rem;
    font-weight: 600;
}

.sideBoxContent {
    padding: 0.8rem 0.9rem;
    color: var(--mars-text-muted);
}

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

.sideBoxContent li + li {
    border-top: 0.0625rem solid var(--mars-border);
}

.sideBoxContent a {
    display: block;
    padding-block: 0.45rem;
    color: inherit;
    text-decoration: none;
}

.mars-custom-sidebox {
    margin-bottom: 1.25rem;
    border: 0.0625rem solid var(--mars-border);
    border-radius: 0.35rem;
    overflow: hidden;
    background: #fff;
}

.mars-custom-sidebox__title {
    margin: 0;
    border-bottom: 0.0625rem solid var(--mars-border);
    padding: 0.8rem 0.9rem;
    background: var(--mars-surface);
    color: var(--mars-text);
    font-size: 0.9rem;
    font-weight: 600;
}

.mars-custom-sidebox__body {
    padding: 0.8rem 0.9rem;
    color: var(--mars-text-muted);
    font-size: 0.86rem;
    line-height: 1.55;
}

.mars-custom-sidebox__body > :first-child {
    margin-top: 0;
}

.mars-custom-sidebox__body > :last-child {
    margin-bottom: 0;
}

.mars-custom-sidebox__body img,
.mars-custom-sidebox__body video,
.mars-custom-sidebox__body iframe {
    max-width: 100%;
    height: auto;
}

/* -------------------------------------------------------------------------
   Forms / buttons / messages
   ------------------------------------------------------------------------- */

fieldset {
    min-width: 0;
    margin: 0 0 1.25rem;
    border: 0.0625rem solid var(--mars-border);
    padding: 1rem;
}

legend {
    padding-inline: 0.35rem;
    font-weight: 600;
}

label {
    font-weight: 500;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="search"],
input[type="number"],
input[type="date"],
select,
textarea {
    max-width: 100%;
    border: 0.0625rem solid var(--mars-border-strong);
    border-radius: var(--mars-radius-sm);
    padding: 0.62rem 0.7rem;
    background: #fff;
    color: var(--mars-text);
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--mars-accent);
    outline: 0.125rem solid rgb(255 102 102 / 0.15);
    outline-offset: 0;
}

button,
.mars-button,
.buttonRow a,
input[type="submit"],
input[type="button"],
input[type="reset"] {
    display: inline-flex;
    min-height: 2.5rem;
    align-items: center;
    justify-content: center;
    border: 0.0625rem solid var(--mars-accent);
    border-radius: var(--mars-radius-sm);
    padding: 0.55rem 1rem;
    background: var(--mars-accent);
    color: var(--mars-accent-contrast);
    text-decoration: none;
    line-height: 1.2;
}

button:hover,
.mars-button:hover,
.buttonRow a:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover {
    border-color: var(--mars-accent-hover);
    background: var(--mars-accent-hover);
    color: #fff;
}

.mars-button--secondary {
    border-color: var(--mars-border-strong);
    background: var(--mars-surface);
    color: var(--mars-text);
}

.messageStackError,
.messageStackWarning,
.messageStackCaution,
.messageStackSuccess,
.messageStackInfo,
.error,
.caution,
.success {
    margin-block: 0.75rem;
    border: 0.0625rem solid currentColor;
    padding: 0.75rem 0.9rem;
}

.messageStackError,
.error { color: var(--mars-error); background: color-mix(in srgb, var(--mars-error) 7%, white); }
.messageStackWarning,
.messageStackCaution,
.caution { color: var(--mars-warning); background: color-mix(in srgb, var(--mars-warning) 7%, white); }
.messageStackSuccess,
.success { color: var(--mars-success); background: color-mix(in srgb, var(--mars-success) 7%, white); }
.messageStackInfo { color: var(--mars-info); background: color-mix(in srgb, var(--mars-info) 7%, white); }

/* -------------------------------------------------------------------------
   Zen Cart compatibility utilities
   ------------------------------------------------------------------------- */

.clearBoth { clear: both; }
.back { float: left; }
.forward { float: right; }
.centeredContent { text-align: center; }
.leftBoxContainer, .rightBoxContainer, .centerColumn { box-sizing: border-box; }

.hiddenField { display: none; }
.alert { color: var(--mars-error); }
.bold { font-weight: 700; }

table {
    max-width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

th, td {
    vertical-align: top;
}

.mars-columnar-display {
    min-width: 0;
}

.mars-columnar-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(11rem, 100%), 1fr));
    gap: clamp(0.75rem, 2vw, 1.5rem);
    width: 100%;
    margin-bottom: 1rem;
}

/* -------------------------------------------------------------------------
   Centre boxes, product/category grids and catalogue cards
   ------------------------------------------------------------------------- */

.centerColumn {
    min-width: 0;
}

.centerBoxWrapper {
    margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.centerBoxHeading,
.productListing-heading {
    margin: 0 0 1rem;
    padding-bottom: 0.55rem;
    border-bottom: 0.0625rem solid var(--mars-border);
    color: var(--mars-text);
    font-size: 1rem;
    font-weight: 500;
}

.mars-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: clamp(0.9rem, 2vw, 1.5rem);
    width: 100%;
}

.mars-category-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gridlayout,
.centerBoxContentsProducts,
.centerBoxContentsNew,
.centerBoxContentsFeatured,
.centerBoxContentsSpecials,
.categoryListBoxContents {
    width: auto !important;
    min-width: 0;
}

.centerBoxContentsProducts,
.centerBoxContentsNew,
.centerBoxContentsFeatured,
.centerBoxContentsSpecials,
.categoryListBoxContents,
.productListing-data {
    position: relative;
    padding: 0.75rem;
    border: 0.0625rem solid transparent;
    background: #fff;
    text-align: center;
    transition: border-color var(--mars-transition), box-shadow var(--mars-transition), translate var(--mars-transition);
}

.centerBoxContentsProducts:hover,
.centerBoxContentsNew:hover,
.centerBoxContentsFeatured:hover,
.centerBoxContentsSpecials:hover,
.categoryListBoxContents:hover {
    border-color: var(--mars-border);
    box-shadow: var(--mars-shadow-card);
    translate: 0 -0.125rem;
}

.centerBoxContentsProducts img,
.centerBoxContentsNew img,
.centerBoxContentsFeatured img,
.centerBoxContentsSpecials img,
.categoryListBoxContents img,
.productListing-data img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.itemTitle,
.itemTitle a,
.productListing-data h3,
.productListing-data h3 a {
    color: var(--mars-text);
    font-size: 0.86rem;
    font-weight: 400;
    text-decoration: none;
}

.productPrice,
.normalprice,
.productSpecialPrice,
.productSalePrice,
.productSpecialPriceSale,
.productPriceDiscount {
    color: var(--mars-accent);
}

.normalprice {
    color: var(--mars-text-muted);
    text-decoration: line-through;
}

.listingDescription {
    color: var(--mars-text-muted);
    font-size: 0.8rem;
}

.productListing-rowheading {
    background: var(--mars-surface);
}

/* -------------------------------------------------------------------------
   Product page / cart / checkout helpers
   ------------------------------------------------------------------------- */

#productMainImage,
#productAdditionalImages,
#productDescription,
#cartContentsDisplay,
.checkout,
#checkoutConfirmDefault,
#checkoutShippingDefault,
#checkoutPaymentDefault {
    max-width: 100%;
}

#productMainImage {
    margin: 0 1.5rem 1rem 0;
}

#productAdditionalImages.image-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(5rem, 1fr));
    gap: 0.75rem;
    clear: both;
}

.mars-image-trigger {
    display: inline-grid;
    min-width: 2.75rem;
    min-height: 2.75rem;
    place-items: center;
    border: 1px solid var(--mars-border);
    padding: 0.35rem;
    background: #fff;
    color: var(--mars-text);
    cursor: zoom-in;
}

.mars-image-trigger:hover,
.mars-image-trigger:focus-visible {
    border-color: var(--mars-accent);
    background: #fff;
    color: var(--mars-text);
}

.mars-image-dialog {
    width: min(92vw, 64rem);
    max-width: 92vw;
    max-height: 92vh;
    border: 0;
    border-radius: var(--mars-radius);
    padding: 0;
    background: #fff;
    color: var(--mars-text);
    box-shadow: var(--mars-shadow-popover);
}

.mars-image-dialog::backdrop {
    background: rgb(0 0 0 / 0.72);
}

.mars-image-dialog__content {
    position: relative;
    display: grid;
    max-height: 92vh;
    place-items: center;
    gap: 0.75rem;
    padding: clamp(1rem, 3vw, 2rem);
    overflow: auto;
}

.mars-image-dialog__image {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: min(76vh, 60rem);
    object-fit: contain;
}

.mars-image-dialog__title {
    margin: 0;
    text-align: center;
    font-weight: 600;
}

.mars-image-dialog__close {
    position: absolute;
    inset-block-start: 0.6rem;
    inset-inline-end: 0.6rem;
    z-index: 2;
    width: 2.75rem;
    min-width: 2.75rem;
    height: 2.75rem;
    min-height: 2.75rem;
    border-radius: 50%;
    padding: 0;
    font-size: 1.6rem;
    line-height: 1;
}

.mars-image-dialog__zoom {
    position: sticky;
    inset-block-start: 0;
    z-index: 2;
    justify-self: start;
    min-height: 2.5rem;
    padding: 0.55rem 0.85rem;
}

.mars-image-dialog.is-zoomed .mars-image-dialog__content {
    display: block;
    overflow: auto;
    text-align: center;
}

.mars-image-dialog.is-zoomed .mars-image-dialog__image {
    max-width: none;
    max-height: none;
    transform: scale(1.65);
    transform-origin: center center;
    margin: clamp(4rem, 8vw, 8rem);
    cursor: zoom-out;
}

@media (prefers-reduced-motion: no-preference) {
    .mars-image-dialog__image {
        transition: transform 160ms ease-out;
    }
}

#productName,
#productPrices {
    margin-bottom: 0.75rem;
}

.mars-product__rating {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-block: 0.65rem 0.35rem;
}

.mars-product__stars {
    display: inline-flex;
    gap: 0.1rem;
    font-size: 1rem;
    line-height: 1;
}

.mars-product__star {
    color: var(--mars-border);
}

.mars-product__star.is-full {
    color: var(--mars-accent);
}

.mars-product__star.is-half {
    background: linear-gradient(90deg, var(--mars-accent) 50%, var(--mars-border) 50%);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

.mars-product__rating-value {
    color: var(--mars-text-muted);
    font-size: 0.78rem;
}

#productDescription {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 0.0625rem solid var(--mars-border);
}

/* Accessible interaction targets for product navigation and disclosures. */
.navNextPrevList > a,
.mars-product__question > a {
    display: inline-flex;
    min-height: 1.75rem;
    align-items: center;
    padding-block: 0.25rem;
}

.mars-disclosure > summary {
    min-height: 2rem;
    padding-block: 0.35rem;
    cursor: pointer;
}

.mars-product__information,
.mars-product__custom-content {
    margin-top: clamp(1.25rem, 3vw, 2rem);
}

.mars-product__custom-content {
    padding: 1rem;
    border: 0.0625rem solid var(--mars-border);
    background: var(--mars-surface);
}

.mars-product__custom-content h2 {
    margin: 0 0 0.65rem;
    font-size: 1rem;
}

.mars-product__custom-content-body > :last-child {
    margin-bottom: 0;
}

.mars-product__share {
    margin-top: 1rem;
}

.mars-tabs {
    border: 0.0625rem solid var(--mars-border);
    background: #fff;
}

.mars-tabs__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    border-bottom: 0.0625rem solid var(--mars-border);
    background: var(--mars-surface);
}

.mars-tabs__tab {
    min-height: 2.75rem;
    border: 0;
    border-inline-end: 0.0625rem solid var(--mars-border);
    padding: 0.65rem 1rem;
    background: transparent;
    color: var(--mars-text-muted);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.mars-tabs__tab:hover,
.mars-tabs__tab:focus-visible {
    background: var(--mars-surface-2);
    color: var(--mars-text);
}

.mars-tabs__tab.is-active {
    background: #fff;
    color: var(--mars-accent-hover);
    box-shadow: inset 0 -0.125rem 0 var(--mars-accent);
}

.mars-tabs__panel {
    padding: clamp(1rem, 2.5vw, 1.5rem);
}

.mars-tabs__panel[hidden] {
    display: none;
}

.mars-tabs__panel #productDescription {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.mars-product__reviews-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

@media (max-width: 32rem) {
    .mars-tabs__list {
        display: grid;
        grid-template-columns: 1fr;
    }

    .mars-tabs__tab {
        border-inline-end: 0;
        border-bottom: 0.0625rem solid var(--mars-border);
        text-align: start;
    }
}

#cartContentsDisplay,
#orderTotals {
    width: 100%;
}

#cartContentsDisplay td,
#cartContentsDisplay th,
#orderTotals td,
#orderTotals th {
    padding: 0.65rem;
    border-bottom: 0.0625rem solid var(--mars-border);
}

/* -------------------------------------------------------------------------
   Pagination / sorting
   ------------------------------------------------------------------------- */

.navSplitPagesLinks,
.navSplitPagesResult {
    margin-block: 1rem;
}

.navSplitPagesLinks a,
.navSplitPagesLinks strong {
    display: inline-flex;
    min-width: 2rem;
    min-height: 2rem;
    align-items: center;
    justify-content: center;
    margin: 0.15rem;
    border: 0.0625rem solid var(--mars-border);
    padding: 0.2rem 0.45rem;
    text-decoration: none;
}

.navSplitPagesLinks strong {
    border-color: var(--mars-accent);
    background: var(--mars-accent);
    color: #fff;
}

/* -------------------------------------------------------------------------
   Banners / footer
   ------------------------------------------------------------------------- */

.mars-banner {
    max-width: var(--mars-content-max);
    margin-inline: auto;
    text-align: center;
}

.mars-banner img {
    max-width: 100%;
    height: auto;
}

.mars-footer {
    margin-top: clamp(2rem, 5vw, 4rem);
    border-top: 0.0625rem solid var(--mars-border);
    background: var(--mars-surface);
}

.mars-footer__main {
    padding-block: clamp(2rem, 4vw, 3.25rem);
}

.mars-footer--compact {
    margin-top: clamp(1.5rem, 3vw, 2.5rem);
}

.mars-footer--compact .mars-footer__main {
    padding-block: clamp(1.25rem, 2.5vw, 2rem);
}

.mars-footer--compact .mars-footer__grid {
    gap: clamp(1rem, 2vw, 1.75rem);
}

.mars-footer--compact .mars-footer__legal-inner {
    min-height: 2.6rem;
}

.mars-footer__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(13rem, 100%), 1fr));
    gap: clamp(1.5rem, 3vw, 3rem);
}

.mars-footer h2 {
    margin-bottom: 0.8rem;
    font-size: 0.9rem;
    font-weight: 600;
}

.mars-footer p,
.mars-footer li,
.mars-footer a {
    color: var(--mars-text-muted);
    font-size: 0.8rem;
}

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

.mars-footer li + li {
    margin-top: 0.45rem;
}

.mars-footer a {
    text-decoration: none;
}

.mars-footer__legal {
    border-top: 0.0625rem solid var(--mars-border);
    background: #fff;
}

.mars-footer__legal-inner {
    display: flex;
    min-height: 3.2rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: var(--mars-text-muted);
    font-size: 0.75rem;
}

/* -------------------------------------------------------------------------
   Responsive layout
   ------------------------------------------------------------------------- */

@media (max-width: 75rem) {
    .mars-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 62rem) {
    .mars-branding__inner {
        min-height: 6.5rem;
    }

    .mars-brand__tagline {
        display: none;
    }

    .mars-search-form {
        min-width: 13rem;
    }

    .mars-page-layout,
    .mars-page-layout--no-left,
    .mars-page-layout--no-right {
        grid-template-columns: minmax(0, 1fr);
    }

    .mars-sidebar {
        display: none;
    }

    .mars-grid,
    .mars-category-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 62rem) {
    .mars-topbar__inner {
        flex-wrap: wrap;
        align-items: center;
        padding-block: 0.5rem;
    }

    .mars-topbar__selectors {
        order: 3;
        width: 100%;
        justify-content: flex-start;
        margin-inline-start: 0;
    }

    .mars-utility-nav li + li::before {
        padding-inline: 0.3rem;
    }

    .mars-branding__inner {
        flex-direction: column;
        min-height: 0;
        align-items: stretch;
        gap: 1rem;
        padding-block: 1.25rem;
    }

    .mars-brand {
        justify-content: center;
    }

    .mars-header-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: stretch;
    }

    .mars-search-form {
        min-width: 0;
        width: 100%;
    }

    .mars-mini-cart summary {
        height: 100%;
    }

    .mars-mini-cart summary > span:first-of-type,
    .mars-mini-cart__total {
        display: none;
    }

    .mars-category-nav__toggle {
        display: flex;
    }

    .mars-category-nav__tree {
        display: none;
        padding-bottom: 0.75rem;
    }

    .mars-category-nav__tree.is-open {
        display: block;
    }

    .mars-category-nav__tree > ul {
        display: block;
        border-top: 0.0625rem solid var(--mars-border);
    }

    .mars-category-nav__tree > ul > li:first-child > a,
    .mars-category-nav__tree > ul > li > a {
        background: transparent;
        color: var(--mars-text);
    }

    .mars-category-nav__tree li > ul,
    .mars-category-nav__tree li > ul ul {
        display: block;
        position: static;
        width: auto;
        min-width: 0;
        max-width: none;
        margin: 0;
        border: 0;
        border-inline-start: 0.125rem solid var(--mars-border);
        padding: 0 0 0 0.75rem;
        box-shadow: none;
        translate: none;
    }

    .mars-category-nav__tree a {
        padding: 0.7rem 0.4rem;
    }

    .mars-grid,
    .mars-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
    }

    .mars-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 32rem) {
    body {
        font-size: 0.9rem;
    }

    .mars-topbar__inner {
        flex-direction: column;
        align-items: stretch;
        gap: 0.35rem;
    }

    .mars-topbar__selectors {
        width: 100%;
        flex-wrap: wrap;
    }

    .mars-currency-form {
        flex: 1 1 auto;
    }

    .mars-currency-form select {
        flex: 1 1 auto;
        max-width: none;
        min-width: 0;
    }

    .mars-topbar__cart-link {
        align-self: flex-start;
    }

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

    .mars-mini-cart summary {
        justify-content: center;
    }

    .mars-mini-cart__panel {
        inset-inline-end: auto;
        inset-inline-start: 0;
        width: min(24rem, calc(100vw - (2 * var(--mars-gutter))));
    }

    .mars-grid,
    .mars-category-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .mars-footer__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .mars-footer__legal-inner {
        flex-direction: column;
        align-items: flex-start;
        padding-block: 0.9rem;
    }
}

@media (min-width: 100rem) {
    :root {
        --mars-content-max: 92rem;
    }

    .mars-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* Scroll containment for current Zen Cart tabular product/category output. */
.mars-table-scroll {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}

.tabTable {
    width: 100%;
    min-width: 38rem;
    border: 0.0625rem solid var(--mars-border);
    background: #fff;
}

.tabTable th,
.tabTable td {
    padding: 0.7rem 0.8rem;
    border-bottom: 0.0625rem solid var(--mars-border);
    text-align: start;
}

.tabTable th {
    background: var(--mars-surface);
    font-weight: 600;
}

.tabTable tr:last-child td {
    border-bottom: 0;
}

/* -------------------------------------------------------------------------
   Mars home page — hero, feature strip, promotions and brands
   ------------------------------------------------------------------------- */

#indexHomeBody .mars-page-layout {
    padding-top: clamp(1.75rem, 3vw, 2.5rem);
}

.mars-home-hero {
    position: relative;
    overflow: hidden;
    background: #232326;
    color: #fff;
}

.mars-home-hero__viewport {
    min-height: clamp(22rem, 31vw, 30rem);
}

.mars-home-hero__slide {
    min-height: clamp(22rem, 31vw, 30rem);
    background:
        radial-gradient(circle at 74% 38%, rgb(255 255 255 / 0.08), transparent 24rem),
        linear-gradient(115deg, #1f2023 0%, #303136 53%, #18191c 100%);
}

.mars-home-hero__slide--two {
    background:
        radial-gradient(circle at 25% 40%, rgb(255 102 102 / 0.14), transparent 22rem),
        linear-gradient(115deg, #eeeeef 0%, #d7d7da 48%, #b9b9bd 100%);
    color: #29292c;
}

.mars-home-hero__slide--three {
    background:
        radial-gradient(circle at 73% 42%, rgb(255 255 255 / 0.09), transparent 22rem),
        linear-gradient(115deg, #292a2f 0%, #424349 52%, #1d1e22 100%);
}

.mars-home-hero__slide[hidden] {
    display: none;
}

.mars-home-hero__inner {
    display: grid;
    min-height: inherit;
    grid-template-columns: minmax(0, 1.05fr) minmax(18rem, 0.95fr);
    align-items: center;
    gap: clamp(2rem, 6vw, 6rem);
    padding-block: clamp(3.5rem, 6vw, 5.5rem);
}

.mars-home-hero__copy {
    position: relative;
    z-index: 2;
    max-width: 42rem;
    text-align: center;
}

.mars-home-hero__eyebrow {
    margin-bottom: 0.7rem;
    color: var(--mars-accent);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.mars-home-hero h2 {
    margin-bottom: 0.8rem;
    color: inherit;
    font-size: clamp(2rem, 4vw, 3.4rem);
    font-weight: 300;
    letter-spacing: -0.025em;
}

.mars-home-hero__copy > p:not(.mars-home-hero__eyebrow) {
    max-width: 39rem;
    margin-inline: auto;
    color: color-mix(in srgb, currentColor 78%, transparent);
    font-size: clamp(0.9rem, 1.25vw, 1.05rem);
}

.mars-home-hero__rule {
    display: block;
    width: min(100%, 28rem);
    height: 1px;
    margin: 0 auto 1rem;
    background: currentColor;
    opacity: 0.32;
}

.mars-home-hero__cta {
    margin-top: 0.5rem;
}

.mars-home-hero__visual {
    position: relative;
    min-height: clamp(15rem, 23vw, 23rem);
    overflow: hidden;
    border-inline-start: 1px solid rgb(255 255 255 / 0.08);
}

.mars-home-hero__mark {
    position: absolute;
    inset: 50% auto auto 50%;
    translate: -50% -50%;
    color: rgb(255 255 255 / 0.055);
    font-size: clamp(5rem, 12vw, 10rem);
    font-weight: 200;
    letter-spacing: 0.13em;
    line-height: 1;
    user-select: none;
}

.mars-home-hero__slide--two .mars-home-hero__mark {
    color: rgb(0 0 0 / 0.06);
}

.mars-home-hero__orb {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgb(255 255 255 / 0.15);
}

.mars-home-hero__slide--two .mars-home-hero__orb {
    border-color: rgb(0 0 0 / 0.1);
}

.mars-home-hero__orb--one {
    width: clamp(12rem, 22vw, 21rem);
    aspect-ratio: 1;
    inset: 5% 2% auto auto;
}

.mars-home-hero__orb--two {
    width: clamp(8rem, 15vw, 15rem);
    aspect-ratio: 1;
    inset: auto auto 0 8%;
}

.mars-home-hero__controls {
    position: absolute;
    inset: auto 0 1rem;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    pointer-events: none;
}

.mars-home-hero__controls button {
    pointer-events: auto;
}

.mars-home-hero__arrow,
.mars-home-hero__pause,
.mars-home-hero__dot {
    min-width: 0;
    min-height: 0;
    border: 1px solid rgb(255 255 255 / 0.4);
    border-radius: 0;
    padding: 0;
    background: rgb(0 0 0 / 0.2);
    color: #fff;
    box-shadow: none;
}

.mars-home-hero__arrow {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    font-size: 1.45rem;
    line-height: 1;
}

.mars-home-hero__pause {
    min-height: 2rem;
    padding-inline: 0.7rem;
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.mars-home-hero__dots {
    display: flex;
    align-items: center;
    gap: 0.42rem;
}

.mars-home-hero__dot {
    position: relative;
    width: 1.5rem;
    height: 1.5rem;
    border: 0;
    background: transparent;
}

.mars-home-hero__dot::before {
    content: "";
    position: absolute;
    inset: 0.44rem;
    border: 1px solid rgb(255 255 255 / 0.7);
    border-radius: 50%;
    background: transparent;
}

.mars-home-hero__dot.is-active::before {
    border-color: var(--mars-accent);
    background: var(--mars-accent);
}

.mars-home-hero__arrow:hover,
.mars-home-hero__pause:hover,
.mars-home-hero__arrow:focus-visible,
.mars-home-hero__pause:focus-visible {
    border-color: #fff;
    background: rgb(255 255 255 / 0.14);
    color: #fff;
}

.mars-home-features {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(1rem, 2vw, 2rem);
    margin-bottom: clamp(2rem, 4vw, 3rem);
    padding: clamp(0.75rem, 1vw, 1rem) 0 clamp(1.75rem, 3vw, 2.75rem);
    border-bottom: 1px solid var(--mars-border);
}

.mars-home-feature {
    text-align: center;
}

.mars-home-feature img {
    width: 2rem;
    height: 2rem;
    margin-bottom: 0.7rem;
}

.mars-home-feature h2 {
    margin-bottom: 0.2rem;
    font-size: 0.9rem;
    font-weight: 600;
}

.mars-home-feature h3 {
    margin-bottom: 0.55rem;
    color: var(--mars-text-muted);
    font-size: 0.73rem;
    font-weight: 500;
}

.mars-home-feature p {
    margin: 0;
    color: var(--mars-text-soft);
    font-size: 0.72rem;
    line-height: 1.55;
}

.mars-home .centerBoxHeading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 2.2rem;
    margin-bottom: 1rem;
    font-size: 0.88rem;
}

.mars-home .centerBoxWrapper .mars-columnar-row,
.mars-product-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: clamp(0.75rem, 1.5vw, 1.25rem);
}

.mars-product-card,
.mars-home .centerBoxContentsNew,
.mars-home .centerBoxContentsFeatured,
.mars-home .centerBoxContentsSpecials,
.mars-home .centerBoxContentsProducts {
    display: block;
    min-width: 0;
    padding: 0.65rem 0.45rem 0.9rem;
    border: 0;
    border-bottom: 1px solid var(--mars-border);
    text-align: center;
}

.mars-product-card:hover,
.mars-home .centerBoxContentsNew:hover,
.mars-home .centerBoxContentsFeatured:hover,
.mars-home .centerBoxContentsSpecials:hover,
.mars-home .centerBoxContentsProducts:hover {
    border-color: var(--mars-border);
    box-shadow: none;
    translate: none;
}

.mars-product-card img,
.mars-home .centerBoxContentsNew img,
.mars-home .centerBoxContentsFeatured img,
.mars-home .centerBoxContentsSpecials img,
.mars-home .centerBoxContentsProducts img {
    width: auto;
    max-width: 100%;
    max-height: 14rem;
    margin-bottom: 0.75rem;
    object-fit: contain;
}

.mars-product-card .itemTitle,
.mars-product-card .itemTitle a,
.mars-home .centerBoxContentsNew > a,
.mars-home .centerBoxContentsFeatured > a,
.mars-home .centerBoxContentsSpecials > a {
    color: var(--mars-text);
    font-size: 0.78rem;
    text-decoration: none;
}

.mars-product-card .productSpecialPrice,
.mars-home .productSpecialPrice,
.mars-home .productSalePrice,
.mars-home .productPrice {
    color: var(--mars-accent);
    font-size: 0.78rem;
}

.mars-home-promos {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(0.75rem, 1.5vw, 1.25rem);
    margin: clamp(1.5rem, 3vw, 2.6rem) 0;
}

.mars-home-promo {
    position: relative;
    display: block;
    overflow: hidden;
    min-height: 10rem;
    background: var(--mars-surface-2);
    color: #fff;
    text-decoration: none;
}

.mars-home-promo img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 10rem;
    object-fit: cover;
    transition: scale 300ms ease;
}

.mars-home-promo::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 25%, rgb(0 0 0 / 0.62));
}

.mars-home-promo__overlay {
    position: absolute;
    inset: auto 1rem 1rem;
    z-index: 2;
    display: grid;
    gap: 0.12rem;
}

.mars-home-promo__overlay strong {
    font-size: clamp(1rem, 1.7vw, 1.35rem);
    font-weight: 400;
}

.mars-home-promo__overlay span {
    font-size: 0.75rem;
    opacity: 0.88;
}

.mars-home-promo:hover,
.mars-home-promo:focus-visible {
    color: #fff;
}

.mars-home-promo:hover img {
    scale: 1.025;
}

.mars-home-brands {
    min-width: 0;
    max-width: 100%;
    margin-top: clamp(1.75rem, 3vw, 2.75rem);
}

.mars-home-brands__scroller {
    position: relative;
    display: grid;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    grid-auto-flow: column;
    grid-auto-columns: minmax(10rem, 1fr);
    gap: 0.45rem;
    overflow-x: auto;
    padding-bottom: 0.5rem;
    scroll-snap-type: x proximity;
    overscroll-behavior-inline: contain;
}

.mars-home-brand {
    min-width: 0;
    margin: 0;
    border: 1px solid var(--mars-border);
    background: var(--mars-surface);
    scroll-snap-align: start;
}

.mars-home-brand img {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: contain;
}

.mars-home__defined-content:empty {
    display: none;
}

@media (max-width: 75rem) {
    .mars-home .centerBoxWrapper .mars-columnar-row,
    .mars-product-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 62rem) {
    .mars-home-hero__inner {
        grid-template-columns: minmax(0, 1fr) minmax(13rem, 0.65fr);
        gap: 1.5rem;
    }

    .mars-home-features {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 2rem;
    }

    .mars-home .centerBoxWrapper .mars-columnar-row,
    .mars-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 62rem) {
    .mars-home-hero__viewport,
    .mars-home-hero__slide {
        min-height: 25rem;
    }

    .mars-home-hero__inner {
        grid-template-columns: 1fr;
        padding-block: 3.25rem 4.5rem;
    }

    .mars-home-hero__visual {
        display: none;
    }

    .mars-home-promos {
        grid-template-columns: 1fr;
    }

    .mars-home .centerBoxWrapper .mars-columnar-row,
    .mars-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 32rem) {
    .mars-home-features,
    .mars-home .centerBoxWrapper .mars-columnar-row,
    .mars-product-grid {
        grid-template-columns: 1fr;
    }

    .mars-home-hero__controls {
        gap: 0.4rem;
    }

    .mars-home-hero__pause {
        padding-inline: 0.55rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mars-home-promo img {
        transition: none;
    }
}

/* -------------------------------------------------------------------------
   Mars Modern visual refinement — storefront-grade hierarchy and density
   ------------------------------------------------------------------------- */

.mars-category-nav__tree > ul > li > a {
    font-size: 0.84rem;
    font-weight: 500;
}

#navEZPagesTop a {
    font-size: 0.8rem;
}

#indexHomeBody .mars-page-layout {
    padding-top: clamp(1.5rem, 2.5vw, 2.25rem);
    padding-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

#indexHomeBody .mars-breadcrumb {
    display: none;
}

.mars-home .greeting {
    margin: 0 0 clamp(1.75rem, 3vw, 2.5rem);
    color: var(--mars-text-muted);
    font-size: 0.96rem;
    font-weight: 400;
    line-height: 1.5;
}

.mars-home .greeting a {
    color: var(--mars-text);
    font-weight: 600;
    text-decoration: none;
}

.mars-home .greeting a:hover {
    color: var(--mars-accent);
}

.mars-home__defined-content {
    margin-bottom: clamp(2rem, 4vw, 3.5rem);
    color: var(--mars-text-muted);
    font-size: 0.95rem;
    line-height: 1.7;
}

.mars-home__defined-content > :last-child {
    margin-bottom: 0;
}

.mars-home-features {
    gap: 1rem;
    margin: 0 0 clamp(3rem, 5vw, 4.5rem);
    padding: 0;
    border-bottom: 0;
}

.mars-home-feature {
    min-width: 0;
    border: 1px solid var(--mars-border);
    border-radius: 0.5rem;
    padding: clamp(1.1rem, 1.8vw, 1.45rem);
    background: linear-gradient(145deg, #fff 0%, var(--mars-surface) 100%);
    text-align: left;
}

.mars-home-feature img {
    width: 2rem;
    height: 2rem;
    margin-bottom: 1rem;
}

.mars-home-feature h2 {
    margin-bottom: 0.3rem;
    font-size: 1rem;
    font-weight: 650;
    letter-spacing: -0.01em;
}

.mars-home-feature h3 {
    margin-bottom: 0.65rem;
    color: var(--mars-text-muted);
    font-size: 0.82rem;
    font-weight: 600;
}

.mars-home-feature p {
    margin: 0;
    color: var(--mars-text-soft);
    font-size: 0.82rem;
    line-height: 1.6;
}

.mars-home .centerBoxWrapper {
    margin-bottom: clamp(3rem, 5vw, 4.5rem);
}

.mars-home .centerBoxWrapper .mars-columnar-display {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.mars-home .centerBoxWrapper .mars-columnar-display > .centerBoxHeading {
    grid-column: 1 / -1;
}

.mars-home .centerBoxWrapper .mars-columnar-display > .mars-columnar-row {
    display: contents;
}

.mars-home .centerBoxHeading {
    min-height: 0;
    margin: 0 0 0.35rem;
    border-bottom: 1px solid var(--mars-border);
    padding-bottom: 0.9rem;
    font-size: clamp(1.15rem, 1.5vw, 1.35rem);
    font-weight: 650;
    letter-spacing: -0.015em;
}

.mars-home .centerBoxContentsNew,
.mars-home .centerBoxContentsFeatured,
.mars-home .centerBoxContentsSpecials,
.mars-home .centerBoxContentsProducts {
    width: auto !important;
    min-width: 0;
    height: 100%;
    float: none;
    border: 1px solid var(--mars-border);
    border-radius: 0.45rem;
    padding: 0.9rem;
    background: #fff;
    text-align: left;
    transition: border-color var(--mars-transition), box-shadow var(--mars-transition), translate var(--mars-transition);
}

.mars-home .centerBoxContentsNew:hover,
.mars-home .centerBoxContentsFeatured:hover,
.mars-home .centerBoxContentsSpecials:hover,
.mars-home .centerBoxContentsProducts:hover {
    border-color: var(--mars-border-strong);
    box-shadow: var(--mars-shadow-card);
    translate: 0 -0.125rem;
}

.mars-home .centerBoxContentsNew > a:first-child,
.mars-home .centerBoxContentsFeatured > a:first-child,
.mars-home .centerBoxContentsSpecials > a:first-child,
.mars-home .centerBoxContentsProducts > a:first-child {
    display: grid;
    min-height: 11rem;
    margin-bottom: 0.9rem;
    border-radius: 0.35rem;
    padding: 0.75rem;
    place-items: center;
    background: linear-gradient(145deg, var(--mars-surface) 0%, #fff 100%);
    overflow: hidden;
}

.mars-home .centerBoxContentsNew > a:first-child img,
.mars-home .centerBoxContentsFeatured > a:first-child img,
.mars-home .centerBoxContentsSpecials > a:first-child img,
.mars-home .centerBoxContentsProducts > a:first-child img {
    width: auto;
    max-width: 100%;
    max-height: 9.5rem;
    margin: 0;
    object-fit: contain;
}

.mars-home .centerBoxContentsNew > a:not(:first-child),
.mars-home .centerBoxContentsFeatured > a:not(:first-child),
.mars-home .centerBoxContentsSpecials > a:not(:first-child),
.mars-home .centerBoxContentsProducts > a:not(:first-child) {
    display: inline-block;
    margin-bottom: 0.35rem;
    color: var(--mars-text);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.mars-home .centerBoxContentsNew > a:not(:first-child):hover,
.mars-home .centerBoxContentsFeatured > a:not(:first-child):hover,
.mars-home .centerBoxContentsSpecials > a:not(:first-child):hover,
.mars-home .centerBoxContentsProducts > a:not(:first-child):hover {
    color: var(--mars-accent);
}

.mars-home .productBasePrice,
.mars-home .productSpecialPrice,
.mars-home .productSalePrice,
.mars-home .productPrice {
    color: var(--mars-text);
    font-size: 0.95rem;
    font-weight: 700;
}

.mars-home .productSpecialPrice,
.mars-home .productSalePrice {
    color: var(--mars-accent);
}

.mars-home .normalprice {
    color: var(--mars-text-muted);
    font-size: 0.78rem;
}

.mars-home .productPriceDiscount {
    color: var(--mars-accent);
    font-size: 0.78rem;
    font-weight: 600;
}

.mars-home-promos {
    gap: 1rem;
    margin: clamp(3rem, 5vw, 4.5rem) 0;
}

.mars-home-promo {
    position: relative;
    isolation: isolate;
    display: flex;
    min-height: 15rem;
    align-items: flex-end;
    overflow: hidden;
    border: 1px solid rgb(255 255 255 / 0.08);
    border-radius: 0.55rem;
    padding: clamp(1.35rem, 2vw, 1.8rem);
    background: linear-gradient(135deg, #25262a 0%, #17181b 100%);
    color: #fff;
    box-shadow: 0 0.45rem 1.5rem rgb(0 0 0 / 0.08);
    text-decoration: none;
    transition: translate var(--mars-transition), box-shadow var(--mars-transition);
}

.mars-home-promo--new {
    border-color: var(--mars-border);
    background: linear-gradient(135deg, #f6f4f1 0%, #dfdbd5 100%);
    color: #242426;
}

.mars-home-promo--featured {
    background:
        radial-gradient(circle at 92% 10%, rgb(255 255 255 / 0.18), transparent 9rem),
        linear-gradient(135deg, var(--mars-accent) 0%, color-mix(in srgb, var(--mars-accent) 72%, #18191c) 100%);
}

.mars-home-promo:hover,
.mars-home-promo:focus-visible {
    color: inherit;
    box-shadow: 0 0.75rem 2rem rgb(0 0 0 / 0.13);
    translate: 0 -0.15rem;
}

.mars-home-promo__content {
    position: relative;
    z-index: 2;
    display: grid;
    max-width: 18rem;
    gap: 0.35rem;
}

.mars-home-promo__content strong {
    color: inherit;
    font-size: clamp(1.35rem, 2vw, 1.8rem);
    font-weight: 650;
    letter-spacing: -0.02em;
    line-height: 1.15;
}

.mars-home-promo__content > span:not(.mars-home-promo__arrow) {
    color: inherit;
    font-size: 0.88rem;
    opacity: 0.82;
}

.mars-home-promo__arrow {
    display: grid;
    width: 2.3rem;
    height: 2.3rem;
    margin-top: 0.65rem;
    border: 1px solid currentColor;
    border-radius: 50%;
    place-items: center;
    font-size: 1.15rem;
    line-height: 1;
    opacity: 0.9;
}

.mars-home-promo__decor,
.mars-home-promo::after {
    position: absolute;
    z-index: 0;
    border: 1px solid currentColor;
    border-radius: 50%;
    background: transparent;
    content: "";
    opacity: 0.12;
    pointer-events: none;
}

.mars-home-promo__decor {
    width: 13rem;
    aspect-ratio: 1;
    inset: -3.5rem -2rem auto auto;
}

.mars-home-promo::after {
    width: 9rem;
    aspect-ratio: 1;
    inset: auto -2.5rem -3rem auto;
}

.mars-home-brands {
    margin-top: clamp(3rem, 5vw, 4.5rem);
}

.mars-home-brands__scroller {
    grid-auto-columns: minmax(10.5rem, 1fr);
    gap: 0.75rem;
    padding: 0.1rem 0.1rem 0.75rem;
}

.mars-home-brand {
    display: grid;
    min-height: 8.5rem;
    grid-template-rows: minmax(4.25rem, 1fr) auto;
    gap: 0.65rem;
    align-items: center;
    border: 1px solid var(--mars-border);
    border-radius: 0.45rem;
    padding: 1rem;
    background: #fff;
    color: var(--mars-text);
    scroll-snap-align: start;
    text-align: center;
    text-decoration: none;
    transition: border-color var(--mars-transition), box-shadow var(--mars-transition), translate var(--mars-transition);
}

.mars-home-brand:hover,
.mars-home-brand:focus-visible {
    border-color: var(--mars-border-strong);
    color: var(--mars-text);
    box-shadow: var(--mars-shadow-card);
    translate: 0 -0.1rem;
}

.mars-home-brand__visual {
    display: grid;
    min-height: 4.25rem;
    place-items: center;
}

.mars-home-brand img {
    width: auto;
    max-width: 8rem;
    max-height: 3.25rem;
    aspect-ratio: auto;
    object-fit: contain;
}

.mars-home-brand__name {
    color: var(--mars-text-muted);
    font-size: 0.78rem;
    font-weight: 600;
}

.mars-home-brand__monogram {
    display: grid;
    width: 3.25rem;
    aspect-ratio: 1;
    border-radius: 50%;
    place-items: center;
    background: var(--mars-surface-2);
    color: var(--mars-text-muted);
    font-size: 1.1rem;
    font-weight: 700;
}

.mars-home #upcoming-products {
    margin: clamp(3rem, 5vw, 4.5rem) 0 0;
    border: 1px solid var(--mars-border);
    border-radius: 0.5rem;
    padding: clamp(1rem, 2vw, 1.35rem);
    background: var(--mars-surface);
}

.mars-home #upcoming-products legend {
    padding-inline: 0.45rem;
    color: var(--mars-text);
    font-size: 1.05rem;
    font-weight: 650;
}

.mars-home #upcomingProductsTable {
    width: 100%;
    background: #fff;
}

.mars-home #upcomingProductsTable caption {
    padding: 0.25rem 0 0.85rem;
    color: var(--mars-text-muted);
    text-align: left;
}

.mars-home #upcomingProductsTable th,
.mars-home #upcomingProductsTable td {
    border-bottom: 1px solid var(--mars-border);
    padding: 0.65rem 0.75rem;
}

.mars-home #upcomingProductsTable tr:last-child td {
    border-bottom: 0;
}

.mars-footer {
    border-top: 0;
    background: #202124;
    color: #e8eaed;
}

.mars-footer__main {
    padding-block: clamp(2.75rem, 5vw, 4.25rem);
}

.mars-footer h2 {
    margin-bottom: 1rem;
    color: #fff;
    font-size: 1rem;
    font-weight: 650;
}

.mars-footer p,
.mars-footer li,
.mars-footer a {
    color: #b9bdc4;
    font-size: 0.86rem;
}

.mars-footer a:hover,
.mars-footer a:focus-visible {
    color: #fff;
}

.mars-footer__legal {
    border-top: 1px solid rgb(255 255 255 / 0.08);
    background: #17181a;
}

.mars-footer__legal-inner {
    color: #8f949b;
    font-size: 0.76rem;
}

.mars-footer__legal a {
    color: #b9bdc4;
}

.mars-footer__custom img,
.mars-footer__custom video,
.mars-footer__custom iframe {
    max-width: 100%;
    height: auto;
}

.mars-footer__custom > div > :first-child {
    margin-top: 0;
}

.mars-footer__custom > div > :last-child {
    margin-bottom: 0;
}

@media (min-width: 100rem) {
    .mars-home .centerBoxWrapper .mars-columnar-display {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

@media (max-width: 75rem) {
    .mars-home .centerBoxWrapper .mars-columnar-display {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 62rem) {
    .mars-home .centerBoxWrapper .mars-columnar-display {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .mars-home-features {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 48rem) {
    #navEZPagesTop {
        display: none;
    }

    .mars-home .centerBoxWrapper .mars-columnar-display {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
    }

    .mars-home-promos {
        grid-template-columns: 1fr;
    }

    .mars-home-promo {
        min-height: 12.5rem;
    }

    .mars-home-brands__scroller {
        grid-auto-columns: minmax(9rem, 46vw);
    }
}

@media (max-width: 32rem) {
    .mars-topbar__inner {
        flex-direction: row;
        align-items: center;
        gap: 0.45rem 0.75rem;
    }

    .mars-topbar__cart-link {
        align-self: auto;
        margin-inline-start: auto;
    }

    .mars-topbar__selectors {
        order: 3;
        width: 100%;
    }

    #indexHomeBody .mars-page-layout {
        padding-top: 1.25rem;
        padding-bottom: 2.75rem;
    }

    .mars-home .greeting {
        margin-bottom: 1.5rem;
        font-size: 0.9rem;
    }

    .mars-home-features {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.65rem;
        margin-bottom: 2.5rem;
    }

    .mars-home-feature {
        padding: 0.85rem;
    }

    .mars-home-feature img {
        width: 1.8rem;
        height: 1.8rem;
        margin-bottom: 0.7rem;
    }

    .mars-home-feature h2 {
        font-size: 0.88rem;
    }

    .mars-home-feature h3 {
        margin-bottom: 0;
        font-size: 0.74rem;
        line-height: 1.4;
    }

    .mars-home-feature p {
        display: none;
    }

    .mars-home .centerBoxHeading {
        font-size: 1.08rem;
    }

    .mars-home .centerBoxContentsNew,
    .mars-home .centerBoxContentsFeatured,
    .mars-home .centerBoxContentsSpecials,
    .mars-home .centerBoxContentsProducts {
        padding: 0.7rem;
    }

    .mars-home .centerBoxContentsNew > a:first-child,
    .mars-home .centerBoxContentsFeatured > a:first-child,
    .mars-home .centerBoxContentsSpecials > a:first-child,
    .mars-home .centerBoxContentsProducts > a:first-child {
        min-height: 7.75rem;
        margin-bottom: 0.65rem;
        padding: 0.45rem;
    }

    .mars-home .centerBoxContentsNew > a:first-child img,
    .mars-home .centerBoxContentsFeatured > a:first-child img,
    .mars-home .centerBoxContentsSpecials > a:first-child img,
    .mars-home .centerBoxContentsProducts > a:first-child img {
        max-height: 6.5rem;
    }

    .mars-home .centerBoxContentsNew > a:not(:first-child),
    .mars-home .centerBoxContentsFeatured > a:not(:first-child),
    .mars-home .centerBoxContentsSpecials > a:not(:first-child),
    .mars-home .centerBoxContentsProducts > a:not(:first-child) {
        font-size: 0.81rem;
        line-height: 1.35;
    }

    .mars-home .productBasePrice,
    .mars-home .productSpecialPrice,
    .mars-home .productSalePrice,
    .mars-home .productPrice {
        font-size: 0.86rem;
    }

    .mars-home-promo {
        min-height: 11rem;
        padding: 1.15rem;
    }

    .mars-home-promo__content strong {
        font-size: 1.3rem;
    }

    .mars-home #upcoming-products {
        padding: 0.8rem;
    }

    .mars-home #upcomingProductsTable th,
    .mars-home #upcomingProductsTable td {
        padding: 0.55rem 0.4rem;
        font-size: 0.78rem;
    }
}

/* -------------------------------------------------------------------------
   Reusable catalogue cards and product-detail composition
   ------------------------------------------------------------------------- */

.centerColumn > .centerBoxWrapper {
    margin-block: clamp(2.5rem, 5vw, 4rem);
}

.centerColumn > .centerBoxWrapper .mars-columnar-display {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.centerColumn > .centerBoxWrapper .mars-columnar-display > .centerBoxHeading {
    grid-column: 1 / -1;
    min-height: 0;
    margin: 0 0 0.35rem;
    border-bottom: 1px solid var(--mars-border);
    padding-bottom: 0.9rem;
    font-size: clamp(1.08rem, 1.5vw, 1.3rem);
    font-weight: 650;
    letter-spacing: -0.015em;
}

.centerColumn > .centerBoxWrapper .mars-columnar-display > .mars-columnar-row {
    display: contents;
}

.centerColumn > .centerBoxWrapper :is(
    .centerBoxContentsNew,
    .centerBoxContentsFeatured,
    .centerBoxContentsSpecials,
    .centerBoxContentsProducts
) {
    width: auto !important;
    min-width: 0;
    height: 100%;
    float: none;
    border: 1px solid var(--mars-border);
    border-radius: 0.45rem;
    padding: 0.9rem;
    background: #fff;
    text-align: left;
    transition: border-color var(--mars-transition), box-shadow var(--mars-transition), translate var(--mars-transition);
}

.centerColumn > .centerBoxWrapper :is(
    .centerBoxContentsNew,
    .centerBoxContentsFeatured,
    .centerBoxContentsSpecials,
    .centerBoxContentsProducts
):hover {
    border-color: var(--mars-border-strong);
    box-shadow: var(--mars-shadow-card);
    translate: 0 -0.125rem;
}

.centerColumn > .centerBoxWrapper :is(
    .centerBoxContentsNew,
    .centerBoxContentsFeatured,
    .centerBoxContentsSpecials,
    .centerBoxContentsProducts
) > a:first-child {
    display: grid;
    min-height: 8rem;
    margin-bottom: 0.75rem;
    border-radius: 0.35rem;
    padding: 0.7rem;
    place-items: center;
    background: linear-gradient(145deg, var(--mars-surface) 0%, #fff 100%);
    overflow: hidden;
}

.centerColumn > .centerBoxWrapper :is(
    .centerBoxContentsNew,
    .centerBoxContentsFeatured,
    .centerBoxContentsSpecials,
    .centerBoxContentsProducts
) > a:first-child img {
    width: auto;
    max-width: 100%;
    max-height: 6.75rem;
    margin: 0;
    object-fit: contain;
}

.centerColumn > .centerBoxWrapper :is(
    .centerBoxContentsNew,
    .centerBoxContentsFeatured,
    .centerBoxContentsSpecials,
    .centerBoxContentsProducts
) > a:not(:first-child) {
    display: inline-block;
    margin-bottom: 0.35rem;
    color: var(--mars-text);
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.centerColumn > .centerBoxWrapper :is(
    .centerBoxContentsNew,
    .centerBoxContentsFeatured,
    .centerBoxContentsSpecials,
    .centerBoxContentsProducts
) > a:not(:first-child):hover {
    color: var(--mars-accent);
}

.centerColumn > .centerBoxWrapper :is(
    .productBasePrice,
    .productSpecialPrice,
    .productSalePrice,
    .productPrice
) {
    font-size: 0.93rem;
    font-weight: 700;
}

/* Category landing pages: turn Zen Cart's row wrappers into an actual card grid. */
#indexCategories > h1 {
    margin-bottom: 1.25rem;
    font-size: clamp(1.8rem, 3vw, 2.45rem);
    letter-spacing: -0.025em;
}

#indexCategories #categoryImgListing {
    display: grid;
    width: 7rem;
    min-height: 6.25rem;
    float: left;
    margin: 0 1.25rem 1.25rem 0;
    border: 1px solid var(--mars-border);
    border-radius: 0.45rem;
    padding: 0.75rem;
    place-items: center;
    background: var(--mars-surface);
}

#indexCategories #categoryImgListing img {
    width: auto;
    max-width: 100%;
    max-height: 4.75rem;
    margin: 0;
    object-fit: contain;
}

#indexCategories #categoryDescription {
    min-height: 6.25rem;
    margin: 0 0 1.5rem;
    color: var(--mars-text-muted);
    font-size: 0.98rem;
    line-height: 1.65;
}

#indexCategories > .mars-columnar-display {
    display: grid;
    clear: both;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-block: clamp(1.75rem, 4vw, 3rem);
}

#indexCategories > .mars-columnar-display > .mars-columnar-row {
    display: contents;
}

#indexCategories .categoryListBoxContents {
    width: auto !important;
    min-width: 0;
    float: none;
    border: 1px solid var(--mars-border);
    border-radius: 0.45rem;
    padding: 0;
    background: #fff;
    text-align: left;
    transition: border-color var(--mars-transition), box-shadow var(--mars-transition), translate var(--mars-transition);
}

#indexCategories .categoryListBoxContents:hover {
    border-color: var(--mars-border-strong);
    box-shadow: var(--mars-shadow-card);
    translate: 0 -0.125rem;
}

#indexCategories .categoryListBoxContents > a {
    display: grid;
    min-height: 8.75rem;
    grid-template-rows: minmax(5rem, 1fr) auto;
    gap: 0.75rem;
    padding: 1rem;
    color: var(--mars-text);
    font-size: 0.92rem;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
}

#indexCategories .categoryListBoxContents > a br {
    display: none;
}

#indexCategories .categoryListBoxContents img {
    width: auto;
    max-width: 100%;
    max-height: 6rem;
    margin: auto;
    object-fit: contain;
}

#indexCategories .categoryListBoxContents > a:hover {
    color: var(--mars-accent);
}

/* Product detail: deliberate commerce layout instead of legacy floats. */
.mars-product-page #categoryIcon {
    display: none;
}

.mars-product-page .navNextPrevWrapper {
    display: flex;
    min-height: 3.25rem;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-bottom: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid var(--mars-border);
    border-radius: 0.45rem;
    padding: 0.5rem;
    background: var(--mars-surface);
}

.mars-product-page .navNextPrevCounter {
    margin: 0 auto 0 0;
    padding-inline: 0.6rem;
    color: var(--mars-text-muted);
    font-size: 0.8rem;
    font-weight: 600;
}

.mars-product-page .navNextPrevList {
    margin: 0;
}

.mars-product-page .navNextPrevList > a {
    min-height: 2.35rem;
    border: 1px solid var(--mars-border-strong);
    border-radius: 0.3rem;
    padding: 0.45rem 0.7rem;
    background: #fff;
    color: var(--mars-text);
    font-size: 0.8rem;
    text-decoration: none;
}

.mars-product-page .navNextPrevList > a:hover,
.mars-product-page .navNextPrevList > a:focus-visible {
    border-color: var(--mars-accent);
    color: var(--mars-accent-hover);
}

.mars-product-page .navNextPrevList .cssButton,
.mars-product-page .navNextPrevList .cssButtonHover {
    border: 0;
    padding: 0;
    background: transparent;
    color: inherit;
    font: inherit;
}

.mars-product {
    display: grid;
    grid-template-columns: minmax(18rem, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(2rem, 5vw, 4.5rem);
    align-items: start;
    margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.mars-product__gallery {
    display: grid;
    min-height: clamp(20rem, 34vw, 30rem);
    align-content: start;
    border: 1px solid var(--mars-border);
    border-radius: 0.55rem;
    padding: clamp(1.25rem, 3vw, 2rem);
    background: linear-gradient(145deg, var(--mars-surface) 0%, #fff 100%);
}

.mars-product__gallery #productMainImage {
    display: grid;
    min-height: clamp(15rem, 27vw, 23rem);
    margin: 0;
    place-items: center;
}

.mars-product__gallery .mars-image-trigger {
    border: 0;
    padding: 1rem;
    background: transparent;
}

.mars-product__gallery #productMainImage img {
    width: auto;
    max-width: 100%;
    max-height: min(22rem, 55vh);
    object-fit: contain;
}

.mars-product__summary {
    min-width: 0;
    padding-block: 0.35rem;
}

.mars-product__summary #productName {
    margin: 0 0 0.85rem;
    font-size: clamp(2rem, 4vw, 3.15rem);
    font-weight: 500;
    letter-spacing: -0.035em;
    line-height: 1.05;
}

.mars-product__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 1rem;
    margin-bottom: 0.65rem;
    color: var(--mars-text-muted);
    font-size: 0.86rem;
}

.mars-stock--in {
    color: #247344;
    font-weight: 650;
}

.mars-stock--out {
    color: #a93636;
    font-weight: 650;
}

.mars-product__rating-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.8rem;
    margin-bottom: 0.85rem;
    color: var(--mars-text-muted);
    font-size: 0.86rem;
}

.mars-product__price {
    margin-block: 1rem 1.35rem !important;
    color: var(--mars-text);
    font-size: 1.2rem;
    font-weight: 650;
}

.mars-product__price .productBasePrice,
.mars-product__price .productSpecialPrice,
.mars-product__price .productSalePrice {
    font-size: 1.35rem;
}

.mars-product #productAttributes {
    margin-block: 1.25rem;
    border-top: 1px solid var(--mars-border);
    padding-top: 1.25rem;
}

.mars-product #attribsOptionsText {
    margin: 0 0 1rem;
    font-size: 1.05rem;
    font-weight: 650;
}

.mars-product .wrapperAttribsOptions {
    display: grid;
    grid-template-columns: minmax(7rem, 0.4fr) minmax(10rem, 1fr);
    gap: 0.75rem 1rem;
    align-items: center;
    margin-bottom: 0.8rem;
}

.mars-product .wrapperAttribsOptions > br,
.mars-product .attribBlock > br {
    display: none;
}

.mars-product .optionName {
    float: none;
    color: var(--mars-text-muted);
    font-size: 0.86rem;
    font-weight: 600;
}

.mars-product .wrapperAttribsOptions select,
.mars-product .wrapperAttribsOptions input,
.mars-product .wrapperAttribsOptions textarea {
    width: 100%;
    min-height: 2.75rem;
}

.mars-product__purchase {
    margin-top: 1.25rem;
    border-top: 1px solid var(--mars-border);
    padding-top: 1.25rem;
}

.mars-product__buy-controls {
    display: grid;
    grid-template-columns: auto minmax(5rem, 7rem) auto;
    gap: 0.65rem;
    align-items: center;
}

.mars-product__buy-controls input[type="number"] {
    width: 100%;
    min-height: 2.75rem;
}

.mars-product__buy-controls input[type="image"],
.mars-product__purchase input[type="image"] {
    width: auto;
    max-width: 100%;
    min-height: 2.75rem;
}

.mars-product__question {
    margin-block: 0.85rem;
}

.mars-product__share {
    margin-top: 1rem;
}

.mars-product-page .mars-tabs {
    margin-top: clamp(1.5rem, 3vw, 2.5rem);
    border-radius: 0.45rem;
    overflow: hidden;
}

#shoppingCartDefault #cartEmptyText {
    margin: 0 0 clamp(2rem, 4vw, 3rem);
    border: 1px solid var(--mars-border);
    border-radius: 0.5rem;
    padding: clamp(1.5rem, 4vw, 2.5rem);
    background: var(--mars-surface);
    color: var(--mars-text);
    font-size: clamp(1.15rem, 2vw, 1.45rem);
    font-weight: 500;
    text-align: center;
}

@media (min-width: 100rem) {
    .centerColumn > .centerBoxWrapper .mars-columnar-display {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    #indexCategories > .mars-columnar-display {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

@media (max-width: 62rem) {
    .mars-product {
        grid-template-columns: minmax(15rem, 0.85fr) minmax(0, 1.15fr);
        gap: 2rem;
    }
}

@media (max-width: 48rem) {
    .centerColumn > .centerBoxWrapper .mars-columnar-display,
    #indexCategories > .mars-columnar-display {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
    }

    .centerColumn > .centerBoxWrapper :is(
        .centerBoxContentsNew,
        .centerBoxContentsFeatured,
        .centerBoxContentsSpecials,
        .centerBoxContentsProducts
    ) {
        padding: 0.7rem;
    }

    .centerColumn > .centerBoxWrapper :is(
        .centerBoxContentsNew,
        .centerBoxContentsFeatured,
        .centerBoxContentsSpecials,
        .centerBoxContentsProducts
    ) > a:first-child {
        min-height: 7.75rem;
        margin-bottom: 0.65rem;
        padding: 0.45rem;
    }

    .centerColumn > .centerBoxWrapper :is(
        .centerBoxContentsNew,
        .centerBoxContentsFeatured,
        .centerBoxContentsSpecials,
        .centerBoxContentsProducts
    ) > a:first-child img {
        max-height: 6.5rem;
    }

    #indexCategories .categoryListBoxContents > a {
        min-height: 8rem;
        grid-template-rows: minmax(4.5rem, 1fr) auto;
        padding: 0.8rem;
    }

    #indexCategories .categoryListBoxContents img {
        max-height: 4.5rem;
    }

    .mars-product-page .navNextPrevWrapper {
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .mars-product-page .navNextPrevCounter {
        width: 100%;
        margin: 0;
    }

    .mars-product {
        grid-template-columns: 1fr;
        gap: 1.4rem;
    }

    .mars-product__gallery {
        min-height: 15rem;
        padding: 1rem;
    }

    .mars-product__gallery #productMainImage {
        min-height: 11rem;
    }

    .mars-product__summary #productName {
        font-size: clamp(1.75rem, 8vw, 2.25rem);
    }
}

@media (max-width: 32rem) {
    #indexCategories #categoryImgListing {
        width: 5.75rem;
        min-height: 5.25rem;
        margin: 0 1rem 1rem 0;
    }

    #indexCategories #categoryDescription {
        min-height: 5.25rem;
        font-size: 0.9rem;
    }

    #indexCategories .categoryListBoxContents > a {
        font-size: 0.82rem;
    }

    .centerColumn > .centerBoxWrapper :is(
        .centerBoxContentsNew,
        .centerBoxContentsFeatured,
        .centerBoxContentsSpecials,
        .centerBoxContentsProducts
    ) > a:not(:first-child) {
        font-size: 0.8rem;
        line-height: 1.35;
    }

    .mars-product-page .navNextPrevList > a {
        padding-inline: 0.55rem;
        font-size: 0.75rem;
    }

    .mars-product .wrapperAttribsOptions {
        grid-template-columns: 1fr;
        gap: 0.35rem;
    }

    .mars-product__buy-controls {
        grid-template-columns: auto minmax(4.5rem, 1fr);
    }

    .mars-product__buy-controls input[type="image"],
    .mars-product__purchase input[type="image"] {
        grid-column: 1 / -1;
        justify-self: stretch;
    }
}

/* Mobile shopping-cart rows: replace the legacy float/table overlap pattern
   with an explicit touch-safe grid so totals and instructions cannot cover
   quantity/update/remove controls. */
@media (max-width: 32rem) {
    #shoppingCartDefault #cartContentsDisplay,
    #shoppingCartDefault #cartContentsDisplay tbody {
        display: block;
        width: 100%;
    }

    #shoppingCartDefault #cartContentsDisplay tr {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 0.5rem 0.75rem;
        width: 100%;
        height: auto;
        padding: 0.75rem 0;
    }

    #shoppingCartDefault #cartContentsDisplay tr.tableHeading {
        display: none;
    }

    #shoppingCartDefault #cartContentsDisplay td {
        display: block;
        width: auto;
        min-width: 0;
        margin: 0;
        padding: 0.35rem 0;
    }

    #shoppingCartDefault #cartContentsDisplay .cartProductDisplay {
        grid-column: 1 / -1;
        padding-top: 0;
    }

    #shoppingCartDefault #cartContentsDisplay .cartQuantity {
        grid-column: 1;
        padding: 0.35rem 0;
    }

    #shoppingCartDefault #cartContentsDisplay .cartQuantityUpdate {
        grid-column: 2;
        padding: 0.35rem 0;
        justify-self: end;
    }

    #shoppingCartDefault #cartContentsDisplay .cartUnitDisplay {
        grid-column: 1;
        text-align: left;
    }

    #shoppingCartDefault #cartContentsDisplay .cartTotalDisplay {
        grid-column: 2;
        padding: 0.35rem 0;
        text-align: right;
    }

    #shoppingCartDefault #cartContentsDisplay .cartRemoveItemDisplay {
        grid-column: 1 / -1;
        width: auto;
        padding: 0.35rem 0;
        text-align: right;
        justify-self: end;
        position: relative;
        z-index: 1;
    }
}

/* Empty-cart merchandising: keep one useful recommendation rail instead of
   reproducing Zen Cart's default New + Featured + Specials + Upcoming dump. */
#shoppingCartDefault > #featuredProducts,
#shoppingCartDefault > #specialsDefault,
#shoppingCartDefault > #upcoming-products {
    display: none;
}

/* Homepage custom content slots: modern equivalent of Mars 1.x Homepage 1-4. */
.mars-home__custom-content {
    margin-block: clamp(2rem, 4vw, 3.5rem);
    border: 1px solid var(--mars-border);
    border-radius: 0.5rem;
    padding: clamp(1.25rem, 3vw, 2rem);
    background: #fff;
}

.mars-home__custom-content > h2 {
    margin: 0 0 0.85rem;
    font-size: clamp(1.25rem, 2.2vw, 1.75rem);
    font-weight: 600;
    letter-spacing: -0.02em;
}

.mars-home__custom-content-body {
    color: var(--mars-text-muted);
    line-height: 1.65;
}

.mars-home__custom-content-body > :first-child {
    margin-top: 0;
}

.mars-home__custom-content-body > :last-child {
    margin-bottom: 0;
}

.mars-home__custom-content-body img,
.mars-home__custom-content-body video,
.mars-home__custom-content-body iframe {
    max-width: 100%;
    height: auto;
}

/* -------------------------------------------------------------------------
   Licensed editorial imagery — modern replacement for Mars demo placeholders
   ------------------------------------------------------------------------- */

.mars-home-hero__visual {
    min-height: clamp(17rem, 25vw, 24rem);
    border-inline-start: 0;
    background: transparent;
}

.mars-home-hero__media {
    position: absolute;
    inset: 0;
    display: block;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 18%, #000 100%);
    mask-image: linear-gradient(to right, transparent 0%, #000 18%, #000 100%);
}

.mars-home-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    scale: 1.015;
}

.mars-home-hero__media--1 img {
    object-position: 50% 27%;
}

.mars-home-hero__media--2 img {
    object-position: 50% 32%;
}

.mars-home-hero__media--3 img {
    object-position: 50% 29%;
}

.mars-home-hero__controls {
    width: fit-content;
    padding: 0.2rem 0.35rem;
    border: 1px solid rgb(255 255 255 / 0.12);
    border-radius: 0.25rem;
    background: rgb(0 0 0 / 0.28);
    backdrop-filter: blur(8px);
}

.mars-home-promo {
    min-height: 15rem;
    border-color: rgb(255 255 255 / 0.1);
    color: #fff;
}

.mars-home-promo::after {
    inset: 0;
    z-index: 2;
    width: auto;
    aspect-ratio: auto;
    border: 0;
    border-radius: 0;
    background: linear-gradient(180deg, rgb(10 11 13 / 0.04) 20%, rgb(10 11 13 / 0.76) 100%);
    opacity: 1;
}

.mars-home-promo--new::after {
    background: linear-gradient(180deg, rgb(30 24 18 / 0.02) 16%, rgb(32 25 18 / 0.72) 100%);
}

.mars-home-promo--featured::after {
    background: linear-gradient(180deg, rgb(20 18 18 / 0.02) 18%, rgb(22 17 17 / 0.72) 100%);
}

.mars-home-promo__decor {
    display: none;
}

.mars-home-promo__content {
    z-index: 3;
    text-shadow: 0 1px 1px rgb(0 0 0 / 0.24);
}

.mars-home-promo--specials {
    background: image-set(
        url('../images/home/promos/promo-1.webp') type('image/webp'),
        url('../images/home/promos/promo-1.jpg') type('image/jpeg')
    ) center 49% / cover no-repeat !important;
}

.mars-home-promo--new {
    border-color: rgb(255 255 255 / 0.1);
    background: image-set(
        url('../images/home/promos/promo-2.webp') type('image/webp'),
        url('../images/home/promos/promo-2.jpg') type('image/jpeg')
    ) center 62% / cover no-repeat !important;
    color: #fff;
}

.mars-home-promo--featured {
    border-color: rgb(255 255 255 / 0.1);
    background: image-set(
        url('../images/home/promos/promo-3.webp') type('image/webp'),
        url('../images/home/promos/promo-3.jpg') type('image/jpeg')
    ) center 52% / cover no-repeat !important;
    color: #fff;
}
