:root {
    --ink:var(--color-primary);
    --muted:color-mix(in srgb, var(--color-text) 65%, var(--color-background));
    --paper:var(--color-background);
    --paper-2:color-mix(in srgb, var(--color-background) 92%, var(--color-text));
    --white:var(--color-background);
    --sage:var(--color-secondary);
    --moss:var(--color-primary);
    --oak:var(--color-accent);
    --walnut:var(--color-link);
    --charcoal:var(--color-text);
    --line:color-mix(in srgb, var(--color-text) 16%, var(--color-background));
    --technical-success:var(--color-secondary);
    --technical-warning:var(--color-accent);
    --technical-error:var(--color-primary);
    --max:1280px;
    --pad:clamp(16px, 3vw, 40px);
    --serif:'Outfit', sans-serif;
    --sans:'Outfit', sans-serif;
}

html {
    background:var(--paper);
}

body.motrixa-store {
    background:var(--paper);
    color:var(--charcoal);
    font-family:var(--sans);
    font-size:16px;
    line-height:1.5;
}

.motrixa-store h1,
.motrixa-store h2,
.motrixa-store h3,
.motrixa-store h4,
.motrixa-store h5,
.motrixa-store h6 {
    color:var(--ink);
    font-family:var(--sans);
    font-weight:600;
    letter-spacing:-.015em;
}

.motrixa-store .eyebrow,
.motrixa-store label,
.motrixa-store legend {
    color:var(--muted);
    font-size:12px;
    font-weight:700;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.motrixa-store .container {
    width:min(var(--max), calc(100% - (2 * var(--pad))));
}

.motrixa-store .section {
    padding:80px 0;
}

.motrixa-store .section-sm {
    padding:64px 0;
}

.motrixa-store .section-head {
    align-items:center;
    border-bottom:1px solid var(--line);
    margin-bottom:24px;
    padding-bottom:16px;
}

.motrixa-store .section-head h1,
.motrixa-store .section-head h2,
.motrixa-store .page-hero h1 {
    font-size:clamp(2rem, 4vw, 3rem);
    font-weight:700;
    line-height:1.15;
}

.motrixa-store .btn,
.motrixa-store button[type='submit'],
.motrixa-store input[type='submit'] {
    min-height:48px;
    border:1px solid var(--ink);
    border-radius:4px;
    background:var(--ink);
    color:var(--color-button-text);
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.motrixa-store .btn:hover,
.motrixa-store button[type='submit']:hover,
.motrixa-store input[type='submit']:hover {
    border-color:var(--color-text);
    background:var(--color-text);
    color:var(--color-button-text);
}

.motrixa-store .btn.secondary,
.motrixa-store .btn-outline-primary,
.motrixa-store .btn-outline-secondary {
    border-color:var(--line);
    background:var(--color-background);
    color:var(--ink);
}

.motrixa-store:is(a, button, input, select, textarea):focus-visible {
    outline:2px solid var(--sage);
    outline-offset:3px;
}

.site-header {
    position:sticky;
    top:0;
    border-bottom:1px solid var(--line);
    background:color-mix(in srgb, var(--color-background) 97%, transparent);
    box-shadow:none;
}

.site-header .nav-shell {
    min-height:72px;
    grid-template-columns:minmax(160px, .7fr) minmax(480px, 2fr) minmax(230px, .9fr);
}

.site-header .brand,
.footer .brand,
.drawer .brand {
    color:var(--color-text);
    font-size:clamp(1.25rem, 2vw, 1.75rem);
    font-weight:700;
    letter-spacing:-.035em;
}

.site-header .desktop-nav {
    gap:clamp(14px, 2vw, 28px);
    font-size:.95rem;
    font-weight:600;
}

.site-header .desktop-nav-link {
    border-bottom:2px solid transparent;
}

.site-header .desktop-nav-link:hover,
.site-header .desktop-nav-link[aria-current='page'] {
    border-color:var(--ink);
    color:var(--ink);
}

.site-header .header-action,
.site-header .mobile-menu-btn {
    border-radius:4px;
}

.site-header .header-action:hover,
.site-header .mobile-menu-btn:hover {
    background:var(--paper-2);
}

.site-header .header-cart-count {
    background:var(--technical-error);
    color:var(--color-button-text);
}

.mega {
    border-bottom:1px solid var(--line);
    background:var(--color-background);
    box-shadow:none;
}

.drawer .panel {
    border-right:1px solid var(--line);
    background:var(--paper);
}

.drawer-right .panel {
    border-right:0;
    border-left:1px solid var(--line);
}

.motrixa-search .search,
.motrixa-store .search {
    border:1px solid var(--line);
    border-radius:4px;
    background:var(--color-background);
}

.motrixa-store .hero {
    min-height:620px;
    align-items:center;
    border-bottom:1px solid var(--line);
    background-color:var(--color-button-text);
    background-image:linear-gradient(90deg, color-mix(in srgb, var(--color-background) 96%, transparent) 0%, color-mix(in srgb, var(--color-background) 82%, transparent) 50%, color-mix(in srgb, var(--color-background) 25%, transparent) 100%), var(--hero-image);
    color:var(--charcoal);
}

.motrixa-store .hero::before {
    display:none;
}

.motrixa-store .hero-inner {
    max-width:720px;
    padding-bottom:0;
}

.motrixa-store .hero h1 {
    margin:0 0 16px;
    color:var(--color-text);
    font-size:clamp(2.75rem, 5vw, 4.75rem);
    font-weight:700;
    line-height:1.05;
}

.motrixa-store .hero p {
    color:color-mix(in srgb, var(--color-text) 71%, var(--color-background));
    font-size:1.125rem;
}

.motrixa-store .slider-dots button {
    height:3px;
    background:color-mix(in srgb, color-mix(in srgb, var(--color-link) 72%, var(--color-text)) 25%, transparent);
}

.motrixa-store .slider-dots button.active {
    background:var(--ink);
}

.motrixa-store .product-card {
    height:100%;
    border:1px solid var(--line);
    border-radius:4px;
    background:var(--color-background);
    overflow:hidden;
    transition:border-color .2s ease, transform .2s ease;
}

.motrixa-store .product-card:hover {
    border-color:var(--ink);
    transform:translateY(-2px);
}

.motrixa-store .product-card > .wishlist {
    top:12px;
    right:12px;
    border:1px solid var(--line);
    border-radius:4px;
    background:color-mix(in srgb, var(--color-background) 96%, transparent);
}

.motrixa-store .product-media {
    aspect-ratio:1;
    border-bottom:1px solid var(--line);
    background:var(--paper-2);
}

.motrixa-store .product-media img {
    object-fit:contain;
    padding:18px;
}

.motrixa-store .product-copy {
    padding:18px;
}

.motrixa-store .product-copy h3 {
    margin-bottom:8px;
    font-family:var(--sans);
    font-size:1.05rem;
    font-weight:600;
    line-height:1.35;
}

.motrixa-store .product-card-price,
.motrixa-store .price {
    color:var(--color-text);
    font-size:1.35rem;
    font-weight:700;
}

.motrixa-store .product-badge,
.motrixa-store .badge {
    border:0;
    border-radius:2px;
    background:var(--walnut);
    color:var(--color-button-text);
    font-weight:700;
}

.motrixa-store .catalog {
    grid-template-columns:260px minmax(0, 1fr);
    gap:32px;
}

.motrixa-store .catalog-grid {
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:24px;
}

.motrixa-store .filters {
    border-right:0;
    padding-right:8px;
}

.motrixa-store .filter-group {
    border-bottom:1px solid var(--line);
    padding:20px 0;
}

.motrixa-store .catalog-tools {
    border-color:var(--line);
}

.motrixa-store input:not([type='checkbox']):not([type='radio']),
.motrixa-store select,
.motrixa-store textarea {
    border:1px solid var(--line);
    border-radius:4px;
    background:var(--color-background);
    color:var(--charcoal);
}

.motrixa-store input:not([type='checkbox']):not([type='radio']):focus,
.motrixa-store select:focus,
.motrixa-store textarea:focus {
    border-color:var(--ink);
    box-shadow:0 0 0 1px var(--ink);
}

.motrixa-store .products-detail .pdp-grid,
.motrixa-store .pdp-grid {
    grid-template-columns:minmax(0, 1.35fr) minmax(340px, .85fr);
    gap:32px;
}

.motrixa-store .gallery-main {
    aspect-ratio:1;
    border:1px solid var(--line);
    background:var(--color-background);
}

.motrixa-store .gallery-main img {
    object-fit:contain;
    padding:24px;
}

.motrixa-store .thumbs button {
    border:1px solid var(--line);
    background:var(--color-background);
}

.motrixa-store .purchase {
    top:96px;
}

.motrixa-store .purchase h1 {
    font-size:clamp(2rem, 3.2vw, 3rem);
    font-weight:700;
    line-height:1.1;
}

.motrixa-store .motrixa-add-to-cart {
    border-color:var(--color-accent);
    background:var(--color-accent);
    color:var(--color-text);
}

.motrixa-store .motrixa-add-to-cart:hover {
    border-color:var(--color-accent);
    background:var(--color-accent);
    color:var(--color-text);
}

.motrixa-store .auth-panel,
.motrixa-store .modern-order-card,
.motrixa-store .cart-summary-card,
.motrixa-store .checkout-card,
.motrixa-store .error-card,
.motrixa-store .address-card,
.motrixa-store .coupon-card {
    border:1px solid var(--line);
    border-radius:4px;
    background:var(--color-background);
    box-shadow:none;
}

.motrixa-store .article-shell {
    max-width:920px;
}

.motrixa-store .article-shell h1 {
    font-size:clamp(2.5rem, 5vw, 4.5rem);
    font-weight:700;
    line-height:1.05;
}

.motrixa-store .article-shell h2 {
    font-family:var(--sans);
    font-weight:600;
}

.motrixa-store .order-success-aside h2 {
    color:var(--color-button-text);
}

.motrixa-store .journal-card {
    border:1px solid var(--line);
    border-radius:4px;
    background:var(--color-background);
    overflow:hidden;
}

.motrixa-store .journal-card > :not(img) {
    margin-inline:18px;
}

.motrixa-store .footer {
    border-top:1px solid var(--line);
    background:var(--color-background);
}

.motrixa-store .footer-grid {
    gap:32px;
}

.motrixa-store .footer h4 {
    color:var(--ink);
    font-size:.8rem;
    letter-spacing:.05em;
}

.motrixa-store .footer a {
    color:color-mix(in srgb, var(--color-text) 71%, var(--color-background));
}

.motrixa-store .footer-bottom {
    border-top:1px solid var(--line);
    padding-top:24px;
}

.mobile-bottom-nav {
    display:none;
}

.motrixa-campaign-popup {
    position:fixed;
    inset:0;
    z-index:80;
    display:grid;
    place-items:center;
    padding:16px;
    background:color-mix(in srgb, color-mix(in srgb, var(--color-link) 72%, var(--color-text)) 72%, transparent);
}

.motrixa-campaign-popup[hidden] {
    display:none;
}

.motrixa-campaign-popup__dialog {
    position:relative;
    display:flex;
    width:min(92vw, 760px);
    max-height:84vh;
    flex-direction:column;
    border:1px solid var(--line);
    border-radius:4px;
    background:var(--color-background);
    overflow:hidden;
}

.motrixa-campaign-popup__close {
    position:absolute;
    top:12px;
    right:12px;
    z-index:2;
    width:40px;
    height:40px;
    border:1px solid var(--line);
    border-radius:4px;
    background:var(--color-background);
    color:var(--ink);
    font-size:1.5rem;
}

.motrixa-campaign-popup__media img {
    width:100%;
    max-height:72vh;
    object-fit:contain;
}

.motrixa-campaign-popup__footer {
    display:flex;
    align-items:center;
    gap:8px;
    border-top:1px solid var(--line);
    padding:14px 18px;
    background:var(--color-background);
}

body.motrixa-popup-open {
    overflow:hidden;
}

@media (max-width:1100px) {
    .site-header .nav-shell {
        grid-template-columns:minmax(150px, .7fr) minmax(420px, 2fr) minmax(180px, .8fr);
    }

    .site-header .header-account-label {
        display:none;
    }

    .motrixa-store .catalog-grid {
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

@media (max-width:768px) {
    body.motrixa-store {
        padding-bottom:72px;
    }

    .site-header .nav-shell {
        min-height:64px;
        grid-template-columns:auto minmax(0, 1fr) auto;
    }

    .site-header .brand {
        grid-column:2;
        grid-row:1;
        justify-self:center;
    }

    .site-header .nav-actions {
        display:contents;
    }

    .site-header .mobile-menu-btn {
        display:inline-flex;
        grid-column:1;
        grid-row:1;
        align-items:center;
        justify-content:center;
    }

    .site-header .header-action {
        display:none;
    }

    .site-header .header-cart {
        display:inline-flex;
        grid-column:3;
        grid-row:1;
    }

    .site-header button.header-action {
        display:inline-flex;
        grid-column:3;
        grid-row:1;
        transform:translateX(-44px);
    }

    .motrixa-store .hero {
        min-height:520px;
        border:16px solid var(--paper);
        background-image:linear-gradient(color-mix(in srgb, var(--color-background) 88%, transparent), color-mix(in srgb, var(--color-background) 94%, transparent)), var(--hero-image);
        text-align:center;
    }

    .motrixa-store .hero h1 {
        font-size:2.25rem;
    }

    .motrixa-store .hero .btn {
        width:100%;
    }

    .motrixa-store .section,
    .motrixa-store .section-sm {
        padding:48px 0;
    }

    .motrixa-store .catalog,
    .motrixa-store .products-detail .pdp-grid,
    .motrixa-store .pdp-grid {
        grid-template-columns:minmax(0, 1fr);
    }

    .motrixa-store .catalog-grid {
        grid-template-columns:minmax(0, 1fr);
        gap:16px;
    }

    .motrixa-store .catalog-grid .product-card {
        display:grid;
        grid-template-columns:34% minmax(0, 1fr);
    }

    .motrixa-store .catalog-grid .product-card > .wishlist {
        display:none;
    }

    .motrixa-store .catalog-grid .product-media {
        height:100%;
        border-right:1px solid var(--line);
        border-bottom:0;
    }

    .motrixa-store .catalog-grid .product-copy {
        display:flex;
        min-height:150px;
        flex-direction:column;
        justify-content:center;
    }

    .motrixa-store .motrixa-product-carousel.owl-carousel:not(.owl-loaded) {
        display:flex;
        gap:16px;
        overflow-x:auto;
        scroll-snap-type:x mandatory;
    }

    .motrixa-store .motrixa-product-carousel.owl-carousel:not(.owl-loaded) > .product-card {
        min-width:min(82vw, 330px);
        scroll-snap-align:start;
    }

    .motrixa-store .footer {
        padding-bottom:32px;
    }

    .mobile-bottom-nav {
        position:fixed;
        right:0;
        bottom:0;
        left:0;
        z-index:60;
        display:grid;
        min-height:68px;
        grid-template-columns:repeat(4, minmax(0, 1fr));
        border-top:1px solid var(--line);
        background:color-mix(in srgb, var(--color-background) 98%, transparent);
    }

    .mobile-bottom-nav a {
        display:flex;
        min-width:0;
        align-items:center;
        justify-content:center;
        flex-direction:column;
        gap:2px;
        color:var(--muted);
        font-size:.7rem;
    }

    .mobile-bottom-nav a:hover,
    .mobile-bottom-nav a:focus-visible {
        color:var(--ink);
    }
}

@media (max-width:430px) {
    .motrixa-store .section-head {
        display:flex;
        align-items:center;
    }

    .motrixa-store .section-head h1,
    .motrixa-store .section-head h2,
    .motrixa-store .page-hero h1 {
        font-size:1.75rem;
    }

    .motrixa-store .footer-grid,
    .motrixa-store .form-grid {
        grid-template-columns:minmax(0, 1fr);
    }
}

@media (prefers-reduced-motion:reduce) {
    .motrixa-store *,
    .motrixa-store *::before,
    .motrixa-store *::after {
        scroll-behavior:auto;
        transition-duration:.01ms;
        animation-duration:.01ms;
        animation-iteration-count:1;
    }
}

@media (min-width:769px) {
    .motrixa-store .site-header .brand {
        max-width:260px;
    }
}

.motrixa-store .motrixa-checkout-cart-image {
    width:70px;
    height:70px;
    object-fit:contain;
}

/* Tenant palette contract: these rules intentionally load after every Motrixa page stylesheet. */
body.motrixa-store {
    background:var(--color-background);
    color:var(--color-text);
}

.motrixa-store .site-header {
    background:color-mix(in srgb, var(--color-header-bg) 97%, transparent);
}

.motrixa-store .footer {
    background:var(--color-footer-bg);
}

.motrixa-store :is(a, .text-link) {
    color:var(--color-link);
}

.motrixa-store :is(a, .text-link):hover {
    color:var(--color-primary);
}

.motrixa-store :is(
    .btn.primary,
    .motrixa-add-to-cart,
    .motrixa-cart-coupon-apply,
    .motrixa-checkout-action--accent,
    .motrixa-account-action--primary,
    .pay-button,
    .btn-checkout
) {
    border-color:var(--color-button-bg) !important;
    background:var(--color-button-bg) !important;
    color:var(--color-button-text) !important;
}

.motrixa-store :is(
    .btn.primary,
    .motrixa-add-to-cart,
    .motrixa-cart-coupon-apply,
    .motrixa-checkout-action--accent,
    .motrixa-account-action--primary,
    .pay-button,
    .btn-checkout
):hover {
    border-color:var(--color-primary) !important;
    background:var(--color-primary) !important;
    color:var(--color-button-text) !important;
}

.motrixa-store :is(
    .btn.secondary,
    .motrixa-checkout-action--secondary,
    .motrixa-account-action--secondary,
    .motrixa-cart-notice__action--secondary
) {
    border-color:var(--color-link) !important;
    background:var(--color-background) !important;
    color:var(--color-link) !important;
}

.motrixa-store :is(
    .btn.secondary,
    .motrixa-checkout-action--secondary,
    .motrixa-account-action--secondary,
    .motrixa-cart-notice__action--secondary
):hover {
    border-color:var(--color-link) !important;
    background:var(--color-link) !important;
    color:var(--color-button-text) !important;
}

.motrixa-store :is(.btn.motrixa-cart-coupon-apply, .motrixa-cart-notice__action--primary) {
    border-color:var(--color-button-bg) !important;
    background:var(--color-button-bg) !important;
    color:var(--color-button-text) !important;
}

.motrixa-store :is(.btn.motrixa-cart-coupon-apply, .motrixa-cart-notice__action--primary):hover {
    border-color:var(--color-primary) !important;
    background:var(--color-primary) !important;
    color:var(--color-button-text) !important;
}

.motrixa-store :is(.discount-badge, .badge-accent, .header-cart-count) {
    background:var(--color-accent) !important;
    color:var(--color-button-text) !important;
}
