/*
 * CyberMS Storefront Design System - S1
 * Keep storefront-specific styling here. Avoid inline styles in new templates.
 */

:root {
    --cyberms-bg: #f5f7fa;
    --cyberms-surface: #ffffff;
    --cyberms-surface-subtle: #f8fafc;
    --cyberms-text: #111827;
    --cyberms-text-muted: #64748b;
    --cyberms-border: #e2e8f0;
    --cyberms-border-strong: #cbd5e1;
    --cyberms-primary: #111827;
    --cyberms-primary-hover: #020617;
    --cyberms-accent: #f59e0b;
    --cyberms-accent-soft: #fff7e6;
    --cyberms-success: #16803c;
    --cyberms-danger: #c62828;
    --cyberms-radius-sm: 8px;
    --cyberms-radius: 12px;
    --cyberms-radius-lg: 18px;
    --cyberms-shadow-sm: 0 1px 2px rgba(15, 23, 42, .06), 0 1px 3px rgba(15, 23, 42, .08);
    --cyberms-shadow: 0 10px 30px rgba(15, 23, 42, .10);
    --cyberms-container: 1480px;
    --cyberms-transition: 160ms ease;
}

html {
    scroll-behavior: smooth;
}

body.cyberms-storefront {
    margin: 0;
    background: var(--cyberms-bg);
    color: var(--cyberms-text);
    font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
}

body.cyberms-storefront a {
    color: inherit;
}

body.cyberms-storefront .container {
    width: min(100% - 32px, var(--cyberms-container));
    max-width: var(--cyberms-container);
}

body.cyberms-storefront .page {
    padding-top: 0 !important;
}

.cyberms-page-shell {
    min-height: 55vh;
}

/* ---------- shared controls ---------- */

.cyberms-storefront .btn-dark,
.cyberms-storefront .btn-primary {
    --bs-btn-bg: var(--cyberms-primary);
    --bs-btn-border-color: var(--cyberms-primary);
    --bs-btn-hover-bg: var(--cyberms-primary-hover);
    --bs-btn-hover-border-color: var(--cyberms-primary-hover);
    border-radius: var(--cyberms-radius-sm);
    font-weight: 600;
}

.cyberms-storefront .form-control,
.cyberms-storefront .form-select {
    border-color: var(--cyberms-border);
    border-radius: var(--cyberms-radius-sm);
}

.cyberms-storefront .form-control:focus,
.cyberms-storefront .form-select:focus {
    border-color: #94a3b8;
    box-shadow: 0 0 0 .2rem rgba(15, 23, 42, .08);
}

/* ---------- top bar ---------- */

.cyberms-topbar {
    background: #0b1220;
    color: #dbe4f0;
    font-size: 12px;
}

.cyberms-topbar__inner {
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.cyberms-topbar__benefits,
.cyberms-topbar__links,
.cyberms-topbar__item {
    display: flex;
    align-items: center;
}

.cyberms-topbar__benefits {
    gap: 22px;
}

.cyberms-topbar__item {
    gap: 7px;
    white-space: nowrap;
}

.cyberms-topbar svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.cyberms-topbar__links {
    gap: 18px;
}

.cyberms-topbar__links a {
    text-decoration: none;
    color: #e5edf7;
    transition: opacity var(--cyberms-transition);
}

.cyberms-topbar__links a:hover {
    opacity: .72;
}

/* ---------- main header ---------- */

.cyberms-header {
    position: relative;
    z-index: 1040;
    background: var(--cyberms-surface);
    box-shadow: 0 1px 0 var(--cyberms-border);
}

.cyberms-header-main {
    background: var(--cyberms-surface);
}

.cyberms-header-main__inner {
    min-height: 82px;
    display: grid;
    grid-template-columns: auto minmax(320px, 1fr) auto;
    align-items: center;
    gap: 32px;
}

.cyberms-brand {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    text-decoration: none;
    color: var(--cyberms-text);
    flex-shrink: 0;
}

.cyberms-brand img {
    width: 48px;
    height: 43px;
    object-fit: contain;
    image-rendering: auto;
}

.cyberms-brand__wordmark {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -.7px;
}

.cyberms-brand__wordmark span {
    color: #475569;
}

.cyberms-search {
    height: 48px;
    min-width: 0;
    border: 1px solid var(--cyberms-border-strong);
    border-radius: 12px;
    background: var(--cyberms-surface);
    align-items: center;
    overflow: hidden;
    transition: border-color var(--cyberms-transition), box-shadow var(--cyberms-transition);
}

.cyberms-search:focus-within {
    border-color: #64748b;
    box-shadow: 0 0 0 3px rgba(100, 116, 139, .12);
}

.cyberms-search__icon {
    width: 20px;
    height: 20px;
    margin-left: 16px;
    flex: 0 0 auto;
    fill: none;
    stroke: #64748b;
    stroke-width: 2;
    stroke-linecap: round;
}

.cyberms-search input {
    min-width: 0;
    flex: 1;
    height: 100%;
    border: 0;
    outline: 0;
    padding: 0 14px;
    background: transparent;
    color: var(--cyberms-text);
    font-size: 14px;
}

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

.cyberms-search button {
    align-self: stretch;
    border: 0;
    background: var(--cyberms-primary);
    color: #fff;
    padding: 0 22px;
    font-size: 13px;
    font-weight: 700;
    transition: background var(--cyberms-transition);
}

.cyberms-search button:hover {
    background: var(--cyberms-primary-hover);
}

.cyberms-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.cyberms-header-action {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 5px 9px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--cyberms-text);
    text-decoration: none;
    cursor: pointer;
    transition: background var(--cyberms-transition);
}

.cyberms-header-action:hover {
    background: var(--cyberms-surface-subtle);
}

.cyberms-header-action > span:not(.cyberms-header-action__icon) {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}

.cyberms-header-action small {
    color: var(--cyberms-text-muted);
    font-size: 10px;
    font-weight: 500;
}

.cyberms-header-action strong {
    margin-top: 4px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.cyberms-header-action__icon,
.cyberms-icon-button {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: inline-grid;
    place-items: center;
}

.cyberms-header-action__icon {
    background: #f1f5f9;
}

.cyberms-header-action svg,
.cyberms-icon-button svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.cyberms-account-menu,
.cyberms-mega-menu,
.cyberms-mobile-menu details {
    position: relative;
}

.cyberms-account-menu > summary,
.cyberms-mega-menu > summary,
.cyberms-mobile-menu summary {
    list-style: none;
}

.cyberms-account-menu > summary::-webkit-details-marker,
.cyberms-mega-menu > summary::-webkit-details-marker,
.cyberms-mobile-menu summary::-webkit-details-marker {
    display: none;
}

.cyberms-account-menu__dropdown {
    position: absolute;
    top: calc(100% + 9px);
    right: 0;
    width: 190px;
    padding: 8px;
    border: 1px solid var(--cyberms-border);
    border-radius: var(--cyberms-radius);
    background: #fff;
    box-shadow: var(--cyberms-shadow);
}

.cyberms-account-menu__dropdown a {
    display: block;
    padding: 10px 12px;
    border-radius: 8px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
}

.cyberms-account-menu__dropdown a:hover {
    background: var(--cyberms-surface-subtle);
}

/* ---------- category bar / mega menu ---------- */

.cyberms-category-bar {
    border-top: 1px solid var(--cyberms-border);
    background: var(--cyberms-surface);
}

.cyberms-category-bar__inner {
    min-height: 48px;
    display: flex;
    align-items: stretch;
    gap: 22px;
}

.cyberms-mega-menu > summary {
    height: 48px;
    min-width: 215px;
    padding: 0 18px;
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--cyberms-primary);
    color: #fff;
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
}

.cyberms-mega-menu > summary > svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
}

.cyberms-mega-menu__chevron {
    width: 15px !important;
    height: 15px !important;
    margin-left: auto;
}

.cyberms-mega-menu__panel {
    position: absolute;
    top: calc(100% + 1px);
    left: 0;
    width: min(900px, 78vw);
    padding: 24px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px 34px;
    border: 1px solid var(--cyberms-border);
    border-top: 0;
    border-radius: 0 0 var(--cyberms-radius-lg) var(--cyberms-radius-lg);
    background: #fff;
    box-shadow: var(--cyberms-shadow);
}

.cyberms-mega-menu__group {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.cyberms-mega-menu__group a {
    text-decoration: none;
    color: #475569;
    font-size: 12px;
}

.cyberms-mega-menu__group a:hover {
    color: #020617;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.cyberms-mega-menu__group .cyberms-mega-menu__title {
    margin-bottom: 4px;
    color: var(--cyberms-text);
    font-size: 13px;
    font-weight: 700;
}

.cyberms-mega-menu__empty {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.cyberms-mega-menu__empty span {
    color: var(--cyberms-text-muted);
    font-size: 12px;
}

.cyberms-mega-menu__empty a {
    width: fit-content;
    margin-top: 6px;
    font-size: 12px;
    font-weight: 700;
}

.cyberms-category-bar__links {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 2px;
    overflow: hidden;
}

.cyberms-category-bar__links a {
    height: 48px;
    padding: 0 13px;
    display: inline-flex;
    align-items: center;
    color: #334155;
    text-decoration: none;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    transition: color var(--cyberms-transition), background var(--cyberms-transition);
}

.cyberms-category-bar__links a:hover {
    color: #020617;
    background: var(--cyberms-surface-subtle);
}

.cyberms-category-bar__links .cyberms-category-bar__promo {
    margin-left: auto;
    color: #b45309;
}

/* ---------- mobile header ---------- */

.cyberms-mobile-menu {
    position: relative;
}

.cyberms-icon-button {
    padding: 0;
    border: 0;
    background: #f1f5f9;
    color: #0f172a;
    cursor: pointer;
}

.cyberms-mobile-menu__panel {
    position: fixed;
    z-index: 1080;
    top: 0;
    left: 0;
    width: min(88vw, 380px);
    height: 100vh;
    padding: 22px;
    overflow-y: auto;
    background: #fff;
    box-shadow: 20px 0 50px rgba(15, 23, 42, .24);
}

.cyberms-mobile-menu__header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--cyberms-border);
}

.cyberms-mobile-menu__header strong {
    font-size: 20px;
}

.cyberms-mobile-menu__header span {
    color: var(--cyberms-text-muted);
    font-size: 12px;
}

.cyberms-mobile-menu__links {
    display: flex;
    flex-direction: column;
    padding-top: 12px;
}

.cyberms-mobile-menu__links > a,
.cyberms-mobile-menu__categories > summary {
    display: flex;
    align-items: center;
    min-height: 46px;
    border-bottom: 1px solid #eef2f7;
    color: var(--cyberms-text);
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
}

.cyberms-mobile-menu__categories > summary {
    cursor: pointer;
}

.cyberms-mobile-menu__categories > div {
    padding: 8px 0 12px 14px;
}

.cyberms-mobile-menu__categories > div > a,
.cyberms-mobile-menu__children a {
    display: block;
    padding: 8px 0;
    color: #334155;
    text-decoration: none;
    font-size: 13px;
}

.cyberms-mobile-menu__children {
    padding-left: 14px;
    border-left: 1px solid var(--cyberms-border);
}

.cyberms-search--mobile {
    margin-bottom: 14px;
    height: 44px;
}

.cyberms-search--mobile button {
    width: 46px;
    padding: 0;
    display: grid;
    place-items: center;
}

.cyberms-search--mobile button svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

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

.cyberms-footer {
    margin-top: 64px;
    padding: 58px 0 22px;
    background: #0b1220;
    color: #cbd5e1;
}

.cyberms-footer__top {
    display: grid;
    grid-template-columns: minmax(260px, 1.45fr) repeat(3, minmax(150px, 1fr));
    gap: 54px;
}

.cyberms-footer__brand p {
    max-width: 420px;
    margin: 20px 0 14px;
    color: #94a3b8;
    font-size: 13px;
    line-height: 1.75;
}

.cyberms-footer__logo {
    width: fit-content;
    display: flex;
    align-items: center;
    gap: 9px;
    color: #fff;
    text-decoration: none;
    font-size: 23px;
    font-weight: 700;
}

.cyberms-footer__logo span span {
    color: #94a3b8;
}

.cyberms-footer__logo img {
    object-fit: contain;
}

.cyberms-footer__contact {
    color: #fff;
    text-underline-offset: 4px;
    font-size: 12px;
    font-weight: 600;
}

.cyberms-footer__column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 9px;
}

.cyberms-footer__column h2 {
    margin: 3px 0 10px;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
}

.cyberms-footer__column a {
    color: #94a3b8;
    text-decoration: none;
    font-size: 12px;
    line-height: 1.55;
}

.cyberms-footer__column a:hover {
    color: #fff;
}

.cyberms-footer__trust {
    margin-top: 42px;
    padding: 24px 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid #1e293b;
    border-bottom: 1px solid #1e293b;
}

.cyberms-footer__trust-item {
    padding: 0 24px;
    display: flex;
    align-items: center;
    gap: 14px;
    border-right: 1px solid #1e293b;
}

.cyberms-footer__trust-item:first-child {
    padding-left: 0;
}

.cyberms-footer__trust-item:last-child {
    padding-right: 0;
    border-right: 0;
}

.cyberms-footer__trust-item svg {
    width: 30px;
    height: 30px;
    flex: 0 0 auto;
    fill: none;
    stroke: #e2e8f0;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.cyberms-footer__trust-item div {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.cyberms-footer__trust-item strong {
    color: #f8fafc;
    font-size: 12px;
}

.cyberms-footer__trust-item span {
    color: #64748b;
    font-size: 10px;
}

.cyberms-footer__eu {
    padding: 24px 0 4px;
    display: flex;
    justify-content: center;
}

.cyberms-footer__eu img {
    max-width: min(650px, 100%);
    height: auto;
    border-radius: 5px;
    background: #fff;
}

.cyberms-footer__bottom {
    margin-top: 24px;
    padding-top: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-top: 1px solid #1e293b;
    color: #64748b;
    font-size: 10px;
}

/* ---------- compatibility styling for legacy screens until S2-S7 ---------- */

.cyberms-storefront .clean-block.dark,
.cyberms-storefront .clean-catalog.dark,
.cyberms-storefront .clean-cart.dark,
.cyberms-storefront .clean-form.dark {
    background: var(--cyberms-bg);
}

.cyberms-storefront .clean-block .content,
.cyberms-storefront .clean-catalog .content,
.cyberms-storefront .clean-cart .content,
.cyberms-storefront .clean-form form {
    border-color: var(--cyberms-border) !important;
    box-shadow: var(--cyberms-shadow-sm);
}

.cyberms-storefront .clean-product-item {
    background: #fff;
    transition: transform var(--cyberms-transition), box-shadow var(--cyberms-transition);
}

.cyberms-storefront .clean-product-item:hover {
    transform: translateY(-2px);
    box-shadow: var(--cyberms-shadow-sm);
}

/* ---------- responsive ---------- */

@media (max-width: 1199.98px) {
    .cyberms-header-main__inner {
        gap: 20px;
    }

    .cyberms-category-bar__links a {
        padding-inline: 9px;
        font-size: 11px;
    }
}

@media (max-width: 991.98px) {
    .cyberms-topbar__links {
        display: none;
    }

    .cyberms-topbar__inner {
        justify-content: center;
    }

    .cyberms-header-main__inner {
        min-height: 68px;
        grid-template-columns: auto 1fr auto;
        gap: 12px;
    }

    .cyberms-brand {
        justify-self: center;
    }

    .cyberms-brand img {
        width: 41px;
        height: 37px;
    }

    .cyberms-brand__wordmark {
        font-size: 20px;
    }

    .cyberms-header-actions {
        gap: 0;
    }

    .cyberms-header-action {
        padding: 3px;
    }

    .cyberms-header-action__icon,
    .cyberms-icon-button {
        width: 40px;
        height: 40px;
    }

    .cyberms-footer__top {
        grid-template-columns: 1.4fr repeat(2, 1fr);
    }

    .cyberms-footer__column:last-child {
        grid-column: 2 / -1;
    }
}

@media (max-width: 767.98px) {
    body.cyberms-storefront .container {
        width: min(100% - 24px, var(--cyberms-container));
    }

    .cyberms-topbar__inner {
        min-height: 30px;
    }

    .cyberms-topbar__benefits {
        width: 100%;
        justify-content: center;
    }

    .cyberms-topbar__item {
        font-size: 10px;
    }

    .cyberms-brand__wordmark {
        display: none;
    }

    .cyberms-footer {
        margin-top: 42px;
        padding-top: 42px;
    }

    .cyberms-footer__top {
        grid-template-columns: repeat(2, 1fr);
        gap: 34px 24px;
    }

    .cyberms-footer__brand {
        grid-column: 1 / -1;
    }

    .cyberms-footer__column:last-child {
        grid-column: auto;
    }

    .cyberms-footer__trust {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .cyberms-footer__trust-item,
    .cyberms-footer__trust-item:first-child,
    .cyberms-footer__trust-item:last-child {
        padding: 0;
        border-right: 0;
    }

    .cyberms-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 479.98px) {
    .cyberms-header-main__inner {
        grid-template-columns: 40px 1fr 40px;
    }

    .cyberms-header-action--cart .cyberms-header-action__icon {
        background: transparent;
    }

    .cyberms-footer__top {
        grid-template-columns: 1fr 1fr;
    }

    .cyberms-footer__column h2 {
        font-size: 12px;
    }
}

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

.cyberms-mobile-menu__backdrop {
    position: fixed;
    z-index: 1070;
    inset: 0;
    border: 0;
    background: rgba(2, 6, 23, .45);
    cursor: default;
}

.cyberms-mobile-menu__panel {
    z-index: 1080;
}

.cyberms-mobile-menu__header > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.cyberms-mobile-menu__close {
    width: 38px;
    height: 38px;
    padding: 0;
    display: grid;
    place-items: center;
    border: 1px solid var(--cyberms-border);
    border-radius: 9px;
    background: #fff;
    color: var(--cyberms-text);
}

.cyberms-mobile-menu__close svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
}

/* ==========================================================
   S2 - sales homepage
   ========================================================== */

.cyberms-home {
    overflow: hidden;
}

.cyberms-home-eyebrow {
    display: inline-block;
    color: #64748b;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .11em;
    line-height: 1.4;
    text-transform: uppercase;
}

.cyberms-button {
    min-height: 46px;
    padding: 0 20px;
    border: 1px solid transparent;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    transition: transform var(--cyberms-transition), background var(--cyberms-transition), border-color var(--cyberms-transition), color var(--cyberms-transition);
}

.cyberms-button:hover {
    transform: translateY(-1px);
}

.cyberms-button--primary {
    background: var(--cyberms-primary);
    color: #fff !important;
}

.cyberms-button--primary:hover {
    background: var(--cyberms-primary-hover);
}

.cyberms-button--secondary {
    border-color: var(--cyberms-border-strong);
    background: #fff;
    color: var(--cyberms-text) !important;
}

.cyberms-button--secondary:hover {
    border-color: #94a3b8;
    background: var(--cyberms-surface-subtle);
}

.cyberms-button--light {
    background: #fff;
    color: #111827 !important;
}

/* hero */

.cyberms-home-hero {
    position: relative;
    padding: 50px 0 54px;
    background:
        radial-gradient(circle at 82% 15%, rgba(245, 158, 11, .12), transparent 30%),
        radial-gradient(circle at 62% 90%, rgba(59, 130, 246, .08), transparent 32%),
        linear-gradient(180deg, #fff 0%, #f7f9fc 100%);
    border-bottom: 1px solid var(--cyberms-border);
}

.cyberms-home-hero__grid {
    min-height: 460px;
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(430px, .98fr);
    align-items: center;
    gap: 68px;
}

.cyberms-home-hero__copy {
    position: relative;
    z-index: 2;
    max-width: 690px;
}

.cyberms-home-hero__copy h1 {
    max-width: 690px;
    margin: 12px 0 20px;
    color: #0f172a;
    font-size: clamp(38px, 4vw, 62px);
    font-weight: 700;
    letter-spacing: -.045em;
    line-height: 1.03;
}

.cyberms-home-hero__copy > p {
    max-width: 630px;
    margin: 0;
    color: #526174;
    font-size: 16px;
    line-height: 1.75;
}

.cyberms-home-hero__actions {
    margin-top: 30px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.cyberms-home-hero__benefits {
    margin-top: 29px;
    display: flex;
    flex-wrap: wrap;
    gap: 18px 24px;
    color: #475569;
    font-size: 12px;
    font-weight: 600;
}

.cyberms-home-hero__benefits span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.cyberms-home-hero__benefits svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: #334155;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.cyberms-home-hero__visual {
    position: relative;
    min-height: 420px;
}

.cyberms-home-hero__glow {
    position: absolute;
    inset: 30px 16px 10px 40px;
    border-radius: 46% 54% 48% 52%;
    background: linear-gradient(145deg, #e9eef5, #fff7e8);
    transform: rotate(-5deg);
}

.cyberms-home-hero__robot {
    position: absolute;
    right: 2%;
    top: 5%;
    width: 62px;
    height: 62px;
    border: 1px solid rgba(255,255,255,.8);
    border-radius: 18px;
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.9);
    box-shadow: var(--cyberms-shadow);
    transform: rotate(6deg);
    z-index: 4;
}

.cyberms-home-hero__robot img {
    width: 42px;
    height: auto;
}

.cyberms-home-hero-product {
    position: absolute;
    width: 205px;
    padding: 12px;
    border: 1px solid rgba(226, 232, 240, .9);
    border-radius: 18px;
    background: rgba(255,255,255,.95);
    box-shadow: 0 18px 45px rgba(15, 23, 42, .13);
    backdrop-filter: blur(12px);
    z-index: 3;
}

.cyberms-home-hero-product--1 {
    left: 7%;
    top: 9%;
    transform: rotate(-4deg);
}

.cyberms-home-hero-product--2 {
    right: 3%;
    top: 36%;
    transform: rotate(3deg);
}

.cyberms-home-hero-product--3 {
    left: 20%;
    bottom: 3%;
    transform: rotate(2deg);
}

.cyberms-home-hero-product__image {
    height: 145px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 12px;
    background: #f8fafc;
}

.cyberms-home-hero-product__image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.cyberms-home-hero-product > span {
    height: 35px;
    margin-top: 10px;
    display: -webkit-box;
    overflow: hidden;
    color: #334155;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.cyberms-home-hero-product > strong {
    display: block;
    margin-top: 7px;
    color: #0f172a;
    font-size: 15px;
}

.cyberms-home-hero-placeholder {
    position: absolute;
    inset: 90px 100px;
    display: grid;
    place-items: center;
    gap: 12px;
    color: #64748b;
}

.cyberms-home-hero-placeholder svg {
    width: 100px;
    height: 100px;
    fill: none;
    stroke: #94a3b8;
    stroke-width: 1.3;
}

/* shared homepage section headings */

.cyberms-home-section {
    padding: 58px 0;
}

.cyberms-home-section--categories {
    background: #fff;
}

.cyberms-home-section--promotions {
    background: #fffaf0;
    border-top: 1px solid #fdecc8;
    border-bottom: 1px solid #fdecc8;
}

.cyberms-section-heading {
    margin-bottom: 24px;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
}

.cyberms-section-heading h2 {
    margin: 4px 0 0;
    color: #0f172a;
    font-size: clamp(24px, 2.5vw, 32px);
    font-weight: 700;
    letter-spacing: -.03em;
}

.cyberms-section-heading > a {
    color: #334155;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.cyberms-section-heading > a:hover {
    color: #0f172a;
}

/* category cards */

.cyberms-category-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.cyberms-category-card {
    min-height: 116px;
    padding: 18px;
    border: 1px solid var(--cyberms-border);
    border-radius: var(--cyberms-radius);
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    background: #fff;
    text-decoration: none;
    box-shadow: var(--cyberms-shadow-sm);
    transition: transform var(--cyberms-transition), border-color var(--cyberms-transition), box-shadow var(--cyberms-transition);
}

.cyberms-category-card:hover {
    transform: translateY(-2px);
    border-color: #b8c4d3;
    box-shadow: 0 10px 25px rgba(15, 23, 42, .09);
}

.cyberms-category-card__icon {
    width: 50px;
    height: 50px;
    border-radius: 13px;
    display: grid;
    place-items: center;
    background: #f1f5f9;
    color: #334155;
}

.cyberms-category-card__icon svg {
    width: 26px;
    height: 26px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.cyberms-category-card__content {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.cyberms-category-card__content strong {
    color: #172033;
    font-size: 14px;
    line-height: 1.35;
}

.cyberms-category-card__content small {
    display: block;
    overflow: hidden;
    color: #7a8798;
    font-size: 10px;
    line-height: 1.45;
}

.cyberms-category-card__arrow {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: #94a3b8;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.cyberms-home-empty {
    grid-column: 1 / -1;
    padding: 28px;
    border: 1px dashed var(--cyberms-border-strong);
    border-radius: var(--cyberms-radius);
    display: flex;
    flex-direction: column;
    gap: 6px;
    color: #64748b;
    background: #fff;
}

.cyberms-home-empty strong {
    color: #334155;
}

/* reusable product cards */

.cyberms-product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.cyberms-product-card {
    min-width: 0;
    border: 1px solid var(--cyberms-border);
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    box-shadow: var(--cyberms-shadow-sm);
    transition: transform var(--cyberms-transition), border-color var(--cyberms-transition), box-shadow var(--cyberms-transition);
}

.cyberms-product-card:hover {
    transform: translateY(-2px);
    border-color: #c3cedb;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .09);
}

.cyberms-product-card__image {
    position: relative;
    height: 220px;
    padding: 18px;
    display: grid;
    place-items: center;
    background: #fff;
    text-decoration: none;
}

.cyberms-product-card__image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    transition: transform 220ms ease;
}

.cyberms-product-card:hover .cyberms-product-card__image img {
    transform: scale(1.025);
}

.cyberms-product-card__badge {
    position: absolute;
    left: 12px;
    top: 12px;
    z-index: 2;
    padding: 5px 8px;
    border-radius: 6px;
    background: #fef3c7;
    color: #92400e;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.cyberms-product-card__body {
    padding: 0 16px 16px;
}

.cyberms-product-card__meta {
    color: #94a3b8;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .025em;
}

.cyberms-product-card__title {
    height: 44px;
    margin: 6px 0 9px;
    display: -webkit-box;
    overflow: hidden;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.cyberms-product-card__title a {
    color: #1e293b;
    text-decoration: none;
}

.cyberms-product-card__availability {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #64748b;
    font-size: 10px;
    font-weight: 600;
}

.cyberms-product-card__availability > span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #94a3b8;
}

.cyberms-product-card__availability--available > span,
.cyberms-product-card__availability--high > span {
    background: #22c55e;
}

.cyberms-product-card__availability--low > span {
    background: #f59e0b;
}

.cyberms-product-card__availability--out_of_stock > span {
    background: #ef4444;
}

.cyberms-product-card__footer {
    min-height: 62px;
    margin-top: 15px;
    border-top: 1px solid #edf1f5;
    padding-top: 12px;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 12px;
}

.cyberms-product-card__price {
    min-width: 0;
    display: grid;
    grid-template-columns: auto auto;
    grid-template-areas:
        "old old"
        "price tax";
    align-items: baseline;
    gap: 1px 6px;
}

.cyberms-product-card__price del {
    grid-area: old;
    color: #94a3b8;
    font-size: 10px;
}

.cyberms-product-card__price strong {
    grid-area: price;
    color: #111827;
    font-size: 18px;
    line-height: 1.1;
}

.cyberms-product-card__price small {
    grid-area: tax;
    color: #94a3b8;
    font-size: 8px;
}

.cyberms-product-card__cart {
    width: 40px;
    height: 40px;
    flex: 0 0 auto;
    border-radius: 10px;
    display: grid;
    place-items: center;
    background: #111827;
    color: #fff !important;
    text-decoration: none;
    transition: background var(--cyberms-transition), transform var(--cyberms-transition);
}

.cyberms-product-card__cart:hover {
    background: #020617;
    transform: translateY(-1px);
}

.cyberms-product-card__cart svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.cyberms-product-card__cart--disabled {
    background: #e2e8f0;
    color: #94a3b8 !important;
}

/* editorial / B2B blocks */

.cyberms-home-story {
    padding: 18px 0 58px;
}

.cyberms-home-story__panel {
    position: relative;
    min-height: 300px;
    border-radius: 24px;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    align-items: center;
    background: #111827;
    color: #fff;
}

.cyberms-home-story__panel::before {
    content: "";
    position: absolute;
    width: 380px;
    height: 380px;
    right: -110px;
    top: -150px;
    border-radius: 50%;
    background: rgba(245, 158, 11, .12);
}

.cyberms-home-story__copy {
    position: relative;
    z-index: 2;
    max-width: 700px;
    padding: 48px 54px;
}

.cyberms-home-story .cyberms-home-eyebrow {
    color: #fbbf24;
}

.cyberms-home-story h2 {
    max-width: 680px;
    margin: 9px 0 14px;
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.12;
}

.cyberms-home-story p {
    max-width: 650px;
    margin: 0;
    color: #cbd5e1;
    font-size: 14px;
    line-height: 1.75;
}

.cyberms-home-story__actions {
    margin-top: 24px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 18px;
}

.cyberms-home-story__link {
    color: #fff !important;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
}

.cyberms-home-story__graphic {
    position: relative;
    z-index: 2;
    min-height: 280px;
    display: grid;
    place-items: center;
}

.cyberms-home-story__graphic svg {
    width: min(88%, 390px);
    fill: rgba(255,255,255,.08);
    stroke: rgba(255,255,255,.45);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.cyberms-home-story__node {
    position: absolute;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 50%;
}

.cyberms-home-story__node--1 {
    width: 110px;
    height: 110px;
    right: 14%;
    top: 16%;
}

.cyberms-home-story__node--2 {
    width: 58px;
    height: 58px;
    left: 18%;
    bottom: 18%;
}

.cyberms-home-story__node--3 {
    width: 18px;
    height: 18px;
    right: 34%;
    bottom: 14%;
    background: #f59e0b;
    border: 0;
}

.cyberms-home-b2b {
    padding: 64px 0;
    background: #fff;
    border-top: 1px solid var(--cyberms-border);
}

.cyberms-home-b2b__grid {
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    gap: 70px;
    align-items: center;
}

.cyberms-home-b2b h2 {
    max-width: 610px;
    margin: 9px 0 15px;
    color: #111827;
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.15;
}

.cyberms-home-b2b p {
    max-width: 620px;
    margin: 0 0 24px;
    color: #64748b;
    font-size: 14px;
    line-height: 1.8;
}

.cyberms-home-b2b__features {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.cyberms-home-b2b__features > div {
    min-height: 130px;
    padding: 20px;
    border: 1px solid var(--cyberms-border);
    border-radius: 14px;
    display: flex;
    flex-direction: column;
    gap: 7px;
    background: #f8fafc;
}

.cyberms-home-b2b__features strong {
    color: #1e293b;
    font-size: 13px;
}

.cyberms-home-b2b__features span {
    color: #64748b;
    font-size: 11px;
    line-height: 1.65;
}

.cyberms-home-trust {
    padding: 26px 0;
    border-top: 1px solid var(--cyberms-border);
    background: #f8fafc;
}

.cyberms-home-trust__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.cyberms-home-trust__item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cyberms-home-trust__item > span {
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    border: 1px solid var(--cyberms-border);
    border-radius: 11px;
    display: grid;
    place-items: center;
    background: #fff;
}

.cyberms-home-trust__item svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: #475569;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.cyberms-home-trust__item div {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.cyberms-home-trust__item strong {
    color: #334155;
    font-size: 11px;
}

.cyberms-home-trust__item small {
    color: #8491a2;
    font-size: 9px;
    line-height: 1.4;
}

@media (max-width: 1199.98px) {
    .cyberms-home-hero__grid {
        grid-template-columns: 1fr .9fr;
        gap: 34px;
    }

    .cyberms-home-hero-product {
        width: 180px;
    }

    .cyberms-home-hero-product__image {
        height: 125px;
    }

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

@media (max-width: 991.98px) {
    .cyberms-home-hero {
        padding: 38px 0 46px;
    }

    .cyberms-home-hero__grid {
        min-height: 0;
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .cyberms-home-hero__copy {
        max-width: 760px;
    }

    .cyberms-home-hero__visual {
        min-height: 360px;
    }

    .cyberms-home-hero-product--1 { left: 8%; }
    .cyberms-home-hero-product--2 { right: 9%; }
    .cyberms-home-hero-product--3 { left: 37%; }

    .cyberms-category-grid,
    .cyberms-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cyberms-home-story__panel,
    .cyberms-home-b2b__grid {
        grid-template-columns: 1fr;
    }

    .cyberms-home-story__graphic {
        display: none;
    }

    .cyberms-home-b2b__grid {
        gap: 30px;
    }

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

@media (max-width: 575.98px) {
    .cyberms-home-hero {
        padding: 28px 0 32px;
    }

    .cyberms-home-hero__copy h1 {
        margin-top: 9px;
        font-size: 34px;
        line-height: 1.07;
    }

    .cyberms-home-hero__copy > p {
        font-size: 14px;
        line-height: 1.7;
    }

    .cyberms-home-hero__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .cyberms-home-hero__benefits {
        gap: 12px;
    }

    .cyberms-home-hero__benefits span {
        width: 100%;
    }

    .cyberms-home-hero__visual {
        min-height: 300px;
    }

    .cyberms-home-hero-product {
        width: 155px;
        padding: 9px;
    }

    .cyberms-home-hero-product__image {
        height: 105px;
    }

    .cyberms-home-hero-product--1 {
        left: 0;
        top: 14%;
    }

    .cyberms-home-hero-product--2 {
        right: 0;
        top: 26%;
    }

    .cyberms-home-hero-product--3 {
        left: 23%;
        bottom: 0;
    }

    .cyberms-home-hero__robot {
        display: none;
    }

    .cyberms-home-section {
        padding: 42px 0;
    }

    .cyberms-section-heading {
        align-items: start;
    }

    .cyberms-section-heading > a {
        display: none;
    }

    .cyberms-category-grid {
        grid-template-columns: 1fr;
    }

    .cyberms-category-card {
        min-height: 94px;
        padding: 14px;
    }

    .cyberms-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
    }

    .cyberms-product-card__image {
        height: 155px;
        padding: 11px;
    }

    .cyberms-product-card__body {
        padding: 0 11px 12px;
    }

    .cyberms-product-card__title {
        height: 42px;
        font-size: 11px;
    }

    .cyberms-product-card__availability {
        min-height: 29px;
        align-items: start;
        font-size: 9px;
        line-height: 1.45;
    }

    .cyberms-product-card__availability > span {
        margin-top: 3px;
        flex: 0 0 auto;
    }

    .cyberms-product-card__footer {
        gap: 5px;
    }

    .cyberms-product-card__price strong {
        font-size: 15px;
    }

    .cyberms-product-card__price small {
        display: none;
    }

    .cyberms-product-card__cart {
        width: 36px;
        height: 36px;
    }

    .cyberms-home-story {
        padding: 6px 0 42px;
    }

    .cyberms-home-story__panel {
        border-radius: 18px;
    }

    .cyberms-home-story__copy {
        padding: 32px 24px;
    }

    .cyberms-home-story h2,
    .cyberms-home-b2b h2 {
        font-size: 28px;
    }

    .cyberms-home-b2b {
        padding: 46px 0;
    }

    .cyberms-home-b2b__features,
    .cyberms-home-trust__grid {
        grid-template-columns: 1fr;
    }

    .cyberms-home-b2b__features > div {
        min-height: 0;
    }
}

/* ==========================================================
   S2.1 - sales-oriented homepage refinements
   ========================================================== */

.cyberms-button--accent {
    background: var(--cyberms-accent);
    color: #111827 !important;
    border-color: var(--cyberms-accent);
    box-shadow: 0 8px 18px rgba(245, 158, 11, .22);
}

.cyberms-button--accent:hover {
    background: #e89208;
    border-color: #e89208;
    color: #111827 !important;
}

/* Main commerce hero */

.cyberms-commerce-hero {
    padding: 24px 0 0;
    background: #f3f5f8;
}

.cyberms-commerce-hero__layout {
    display: grid;
    grid-template-columns: 258px minmax(0, 1fr);
    gap: 16px;
    align-items: stretch;
}

.cyberms-commerce-categories {
    min-height: 462px;
    border: 1px solid var(--cyberms-border);
    border-radius: 14px;
    flex-direction: column;
    background: #fff;
    box-shadow: var(--cyberms-shadow-sm);
    overflow: hidden;
}

.cyberms-commerce-categories__header {
    padding: 17px 18px 14px;
    border-bottom: 1px solid var(--cyberms-border);
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.cyberms-commerce-categories__header strong {
    color: #0f172a;
    font-size: 14px;
    font-weight: 750;
}

.cyberms-commerce-categories__header span {
    color: #94a3b8;
    font-size: 9px;
    line-height: 1.4;
}

.cyberms-commerce-categories__list {
    flex: 1;
    padding: 5px 0;
}

.cyberms-commerce-categories__list > a {
    min-height: 40px;
    padding: 0 15px;
    display: grid;
    grid-template-columns: 29px minmax(0, 1fr) 16px;
    align-items: center;
    gap: 8px;
    color: #334155;
    text-decoration: none;
    font-size: 11px;
    font-weight: 650;
    transition: background var(--cyberms-transition), color var(--cyberms-transition);
}

.cyberms-commerce-categories__list > a:hover {
    background: #f8fafc;
    color: #0f172a;
}

.cyberms-commerce-categories__icon {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    display: grid;
    place-items: center;
    color: #475569;
    background: #f1f5f9;
}

.cyberms-commerce-categories__icon svg,
.cyberms-commerce-categories__list > a > svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.cyberms-commerce-categories__list > a > svg {
    color: #94a3b8;
}

.cyberms-commerce-categories__all {
    margin: 0 14px 14px;
    min-height: 38px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #111827;
    background: #f1f5f9;
    text-decoration: none;
    font-size: 10px;
    font-weight: 750;
}

.cyberms-commerce-promo {
    position: relative;
    min-height: 462px;
    border-radius: 16px;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(330px, .95fr);
    overflow: hidden;
    background:
        radial-gradient(circle at 82% 12%, rgba(245, 158, 11, .18), transparent 26%),
        radial-gradient(circle at 72% 82%, rgba(59, 130, 246, .09), transparent 30%),
        linear-gradient(135deg, #111827 0%, #182337 52%, #202f47 100%);
    box-shadow: 0 14px 36px rgba(15, 23, 42, .15);
}

.cyberms-commerce-promo::after {
    content: "";
    position: absolute;
    width: 430px;
    height: 430px;
    right: -155px;
    bottom: -240px;
    border-radius: 50%;
    border: 70px solid rgba(255,255,255,.035);
    pointer-events: none;
}

.cyberms-commerce-promo__copy {
    position: relative;
    z-index: 2;
    padding: 58px 26px 48px 54px;
    align-self: center;
    color: #fff;
}

.cyberms-commerce-promo__label {
    display: inline-flex;
    padding: 6px 10px;
    border: 1px solid rgba(255,255,255,.17);
    border-radius: 999px;
    color: #f8d99a;
    background: rgba(255,255,255,.06);
    font-size: 9px;
    font-weight: 750;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.cyberms-commerce-promo h1 {
    max-width: 660px;
    margin: 17px 0 17px;
    color: #fff;
    font-size: clamp(33px, 3.1vw, 49px);
    font-weight: 760;
    letter-spacing: -.045em;
    line-height: 1.06;
}

.cyberms-commerce-promo__copy > p {
    max-width: 600px;
    margin: 0;
    color: #cbd5e1;
    font-size: 14px;
    line-height: 1.7;
}

.cyberms-commerce-promo__actions {
    margin-top: 26px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.cyberms-commerce-promo__actions .cyberms-button--secondary {
    border-color: rgba(255,255,255,.24);
    color: #fff !important;
    background: rgba(255,255,255,.07);
}

.cyberms-commerce-promo__actions .cyberms-button--secondary:hover {
    border-color: rgba(255,255,255,.38);
    background: rgba(255,255,255,.12);
}

.cyberms-commerce-promo__facts {
    margin-top: 28px;
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
}

.cyberms-commerce-promo__facts span {
    padding-right: 12px;
    border-right: 1px solid rgba(255,255,255,.14);
    color: #aebbd0;
    font-size: 10px;
}

.cyberms-commerce-promo__facts span:last-child {
    border-right: 0;
}

.cyberms-commerce-promo__facts strong {
    color: #fff;
    font-weight: 800;
}

.cyberms-commerce-promo__visual {
    position: relative;
    z-index: 1;
    min-width: 0;
    display: grid;
    place-items: center;
    padding: 38px 42px 38px 10px;
}

.cyberms-commerce-promo__product {
    width: min(100%, 355px);
    padding: 13px;
    border-radius: 19px;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    color: inherit;
    background: #fff;
    text-decoration: none;
    box-shadow: 0 24px 52px rgba(0, 0, 0, .25);
    transform: rotate(1.2deg);
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.cyberms-commerce-promo__product:hover {
    transform: rotate(0) translateY(-3px);
    box-shadow: 0 28px 60px rgba(0, 0, 0, .30);
}

.cyberms-commerce-promo__product-kicker {
    justify-self: start;
    margin-bottom: 8px;
    padding: 5px 8px;
    border-radius: 6px;
    color: #6f4700;
    background: #fde7b3;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.cyberms-commerce-promo__product-image {
    height: 230px;
    display: contents;
    place-items: center;
    overflow: hidden;
    border-radius: 14px;
    background: #fff;
}

.cyberms-commerce-promo__product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.cyberms-commerce-promo__product-copy {
    padding: 12px 4px 2px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 4px 12px;
    align-items: end;
}

.cyberms-commerce-promo__product-copy > span {
    grid-column: 1 / -1;
    min-height: 34px;
    display: -webkit-box;
    overflow: hidden;
    color: #273449;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.cyberms-commerce-promo__product-copy strong {
    color: #0f172a;
    font-size: 21px;
    font-weight: 800;
}

.cyberms-commerce-promo__product-copy small {
    color: #8b5a00;
    font-size: 9px;
    font-weight: 750;
}

.cyberms-commerce-promo__placeholder {
    width: 300px;
    min-height: 310px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 10px;
    color: #334155;
    background: #fff;
    box-shadow: 0 24px 52px rgba(0,0,0,.24);
}

.cyberms-commerce-promo__placeholder img {
    width: 80px;
    height: auto;
}

/* Quick promotional shortcuts */

.cyberms-quick-links {
    padding: 18px 0 4px;
    background: #f3f5f8;
}

.cyberms-quick-links__grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 10px;
}

.cyberms-quick-link {
    min-height: 82px;
    padding: 12px 13px;
    border: 1px solid var(--cyberms-border);
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #172033;
    background: #fff;
    text-decoration: none;
    box-shadow: var(--cyberms-shadow-sm);
    transition: transform var(--cyberms-transition), border-color var(--cyberms-transition), box-shadow var(--cyberms-transition);
}

.cyberms-quick-link:hover {
    transform: translateY(-2px);
    border-color: #b8c4d3;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .08);
}

.cyberms-quick-link--promo {
    border-color: #f0cc7a;
    background: #fff9ea;
}

.cyberms-quick-link__icon {
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    border-radius: 10px;
    display: grid;
    place-items: center;
    color: #39485c;
    background: #f1f5f9;
}

.cyberms-quick-link--promo .cyberms-quick-link__icon {
    color: #8a5700;
    background: #fde7b3;
}

.cyberms-quick-link__icon svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.cyberms-quick-link > span:last-child {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.cyberms-quick-link strong {
    overflow: hidden;
    color: #1f2937;
    font-size: 10px;
    font-weight: 750;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.cyberms-quick-link small {
    overflow: hidden;
    color: #8794a5;
    font-size: 8px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* Category cards refinements */

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

.cyberms-category-card {
    min-height: 132px;
    align-items: start;
}

.cyberms-category-card__content strong {
    font-size: 14px;
}

.cyberms-category-card__cta {
    margin-top: 3px;
    color: #9a6200;
    font-size: 9px;
    font-weight: 750;
}

/* Product tabs */

.cyberms-home-products {
    background: #f3f5f8;
}

.cyberms-section-heading--products {
    margin-bottom: 14px;
}

.cyberms-product-tabs {
    margin-bottom: 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    border-bottom: 1px solid var(--cyberms-border);
}

.cyberms-product-tab {
    position: relative;
    min-height: 42px;
    padding: 0 16px;
    border: 0;
    color: #64748b;
    background: transparent;
    font: inherit;
    font-size: 11px;
    font-weight: 750;
    cursor: pointer;
}

.cyberms-product-tab::after {
    content: "";
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: -1px;
    height: 3px;
    border-radius: 999px 999px 0 0;
    background: transparent;
}

.cyberms-product-tab:hover,
.cyberms-product-tab.is-active {
    color: #111827;
}

.cyberms-product-tab.is-active::after {
    background: var(--cyberms-accent);
}

.cyberms-product-panel[hidden] {
    display: none !important;
}

.cyberms-product-grid--sales {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

/* Product card refinements */

.cyberms-product-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    border-radius: 12px;
}

.cyberms-product-card__image {
    height: 190px;
    padding: 14px 16px 8px;
    flex: 0 0 auto;
}

.cyberms-product-card__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.cyberms-product-card__body {
    flex: 1;
    padding: 8px 14px 14px;
    display: flex;
    flex-direction: column;
}

.cyberms-product-card__meta {
    min-height: 14px;
    color: #9aa7b8;
    font-size: 8px;
    line-height: 1.35;
}

.cyberms-product-card__title {
    height: auto;
    min-height: 56px;
    margin: 5px 0 9px;
    font-size: 12px;
    font-weight: 720;
    line-height: 1.5;
    -webkit-line-clamp: 3;
}

.cyberms-product-card__title a {
    display: block;
    color: #172033;
}

.cyberms-product-card__sales-info {
    min-height: 45px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 4px;
}

.cyberms-product-card__availability {
    font-size: 9px;
}

.cyberms-product-card__shipping {
    padding-left: 13px;
    color: #748196;
    font-size: 8px;
    font-weight: 650;
}

.cyberms-product-card__footer {
    min-height: auto;
    margin-top: auto;
    padding-top: 12px;
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 10px;
}

.cyberms-product-card__price strong {
    font-size: 19px;
}

.cyberms-product-card__cart {
    width: 100%;
    height: 39px;
    padding: 0 13px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    background: #111827;
    font-size: 10px;
    font-weight: 750;
}

.cyberms-product-card__cart:hover {
    background: #020617;
}

.cyberms-product-card__cart svg {
    width: 16px;
    height: 16px;
}

.cyberms-product-card__cart--disabled {
    color: #8a96a6 !important;
    background: #edf1f5;
}

/* Campaign banner */

.cyberms-home-campaign {
    padding: 14px 0 58px;
    background: #f3f5f8;
}

.cyberms-home-campaign__panel {
    min-height: 325px;
    border-radius: 18px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 80% 35%, rgba(245,158,11,.22), transparent 24%),
        linear-gradient(120deg, #121c2d 0%, #1e2d45 100%);
}

.cyberms-home-campaign__copy {
    padding: 48px 30px 46px 52px;
    align-self: center;
}

.cyberms-home-campaign .cyberms-home-eyebrow {
    color: #e8c982;
}

.cyberms-home-campaign h2 {
    max-width: 700px;
    margin: 8px 0 14px;
    color: #fff;
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 750;
    letter-spacing: -.035em;
    line-height: 1.08;
}

.cyberms-home-campaign p {
    max-width: 700px;
    margin: 0;
    color: #c7d1df;
    font-size: 13px;
    line-height: 1.7;
}

.cyberms-home-campaign__actions {
    margin-top: 22px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
}

.cyberms-home-campaign__link {
    color: #fff !important;
    text-decoration: underline;
    text-decoration-color: rgba(255,255,255,.35);
    text-underline-offset: 4px;
    font-size: 10px;
    font-weight: 700;
}

.cyberms-home-campaign__products {
    position: relative;
    min-height: 325px;
}

.cyberms-home-campaign__product {
    position: absolute;
    width: 190px;
    height: 190px;
    padding: 14px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #fff;
    box-shadow: 0 18px 42px rgba(0,0,0,.22);
}

.cyberms-home-campaign__product img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 50%;
}

.cyberms-home-campaign__product--1 {
    right: 190px;
    top: 38px;
}

.cyberms-home-campaign__product--2 {
    right: 38px;
    bottom: 24px;
    width: 160px;
    height: 160px;
}

.cyberms-home-campaign__robot {
    position: absolute;
    right: 190px;
    bottom: 30px;
    width: 62px;
    height: 62px;
    padding: 9px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.95);
    box-shadow: 0 10px 28px rgba(0,0,0,.20);
}

.cyberms-home-campaign__robot img {
    width: 100%;
    height: auto;
}

@media (max-width: 1399.98px) {
    .cyberms-product-grid--sales {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .cyberms-quick-links__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 1199.98px) {
    .cyberms-commerce-hero__layout {
        grid-template-columns: 228px minmax(0, 1fr);
    }

    .cyberms-commerce-promo {
        grid-template-columns: minmax(0, 1fr) 330px;
    }

    .cyberms-commerce-promo__copy {
        padding-left: 36px;
    }

    .cyberms-commerce-promo__visual {
        padding-right: 26px;
    }

    .cyberms-commerce-promo__product-image {
        height: 205px;
    }

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

    .cyberms-home-campaign__panel {
        grid-template-columns: minmax(0, 1fr) 340px;
    }

    .cyberms-home-campaign__product--1 {
        right: 135px;
    }

    .cyberms-home-campaign__robot {
        right: 145px;
    }
}

@media (max-width: 991.98px) {
    .cyberms-commerce-hero {
        padding-top: 16px;
    }

    .cyberms-commerce-hero__layout {
        grid-template-columns: 1fr;
    }

    .cyberms-commerce-promo {
        min-height: 440px;
    }

    .cyberms-quick-links__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .cyberms-product-grid--sales {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .cyberms-home-campaign__panel {
        grid-template-columns: 1fr;
    }

    .cyberms-home-campaign__products {
        display: none;
    }
}

@media (max-width: 767.98px) {
    .cyberms-commerce-promo {
        grid-template-columns: 1fr;
    }

    .cyberms-commerce-promo__copy {
        padding: 34px 26px 28px;
    }

    .cyberms-commerce-promo h1 {
        font-size: 36px;
    }

    .cyberms-commerce-promo__visual {
        padding: 0 26px 30px;
    }

    .cyberms-commerce-promo__product {
        width: min(100%, 420px);
        transform: none;
    }

    .cyberms-commerce-promo__product-image {
        height: 220px;
    }

    .cyberms-quick-links__grid {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x proximity;
        padding-bottom: 4px;
        scrollbar-width: thin;
    }

    .cyberms-quick-link {
        min-width: 210px;
        scroll-snap-align: start;
    }

    .cyberms-category-grid--sales {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cyberms-product-grid--sales {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cyberms-home-campaign__copy {
        padding: 38px 28px;
    }
}

@media (max-width: 575.98px) {
    .cyberms-commerce-promo h1 {
        font-size: 31px;
    }

    .cyberms-commerce-promo__copy > p {
        font-size: 13px;
    }

    .cyberms-commerce-promo__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .cyberms-commerce-promo__facts {
        gap: 8px;
    }

    .cyberms-commerce-promo__product-image {
        height: 190px;
    }

    .cyberms-category-grid--sales {
        grid-template-columns: 1fr;
    }

    .cyberms-product-tabs {
        overflow-x: auto;
        flex-wrap: nowrap;
        scrollbar-width: none;
    }

    .cyberms-product-tabs::-webkit-scrollbar {
        display: none;
    }

    .cyberms-product-tab {
        flex: 0 0 auto;
    }

    .cyberms-product-card__image {
        height: 145px;
    }

    .cyberms-product-card__body {
        padding: 7px 10px 10px;
    }

    .cyberms-product-card__title {
        min-height: 52px;
        font-size: 10px;
        line-height: 1.55;
    }

    .cyberms-product-card__sales-info {
        min-height: 42px;
    }

    .cyberms-product-card__price strong {
        font-size: 16px;
    }

    .cyberms-product-card__cart {
        height: 36px;
        padding: 0 8px;
        font-size: 9px;
    }

    .cyberms-home-campaign {
        padding-bottom: 42px;
    }

    .cyberms-home-campaign__copy {
        padding: 32px 23px;
    }

    .cyberms-home-campaign h2 {
        font-size: 29px;
    }
}

/* Keep line clamping on the link itself. A block link inside a clamped h3 can
   render partially in Chromium/Firefox and was responsible for broken titles. */
.cyberms-product-card__title {
    display: block;
    overflow: visible;
    -webkit-line-clamp: unset;
}

.cyberms-product-card__title a {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

/* ==========================================================
   S2.2 - wide ecommerce layout
   ========================================================== */

/* The wider token is shared by the header, homepage and future catalog. */
@media (min-width: 1400px) {
    body.cyberms-storefront .container {
        width: min(100% - 48px, var(--cyberms-container));
    }
}

/* ---------- hero: categories + campaign + commercial rail ---------- */

@media (min-width: 1400px) {
    .cyberms-commerce-hero__layout {
        grid-template-columns: 238px minmax(0, 1fr) 238px;
        gap: 14px;
    }

    .cyberms-commerce-promo {
        grid-template-columns: minmax(0, 1fr) minmax(300px, .82fr);
    }

    .cyberms-commerce-promo__copy {
        padding-left: 44px;
        padding-right: 22px;
    }

    .cyberms-commerce-promo h1 {
        font-size: clamp(36px, 2.55vw, 48px);
    }

    .cyberms-commerce-promo__visual {
        padding-right: 28px;
    }

    .cyberms-commerce-promo__product-image {
        height: 215px;
    }
}

.cyberms-home-promo-rail {
    min-width: 0;
    grid-template-rows: minmax(0, 1.08fr) minmax(0, .92fr);
    gap: 14px;
}

.cyberms-home-promo-rail__card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--cyberms-border);
    border-radius: 15px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    color: #172033 !important;
    background: #fff;
    text-decoration: none;
    box-shadow: var(--cyberms-shadow-sm);
    transition: transform var(--cyberms-transition), box-shadow var(--cyberms-transition), border-color var(--cyberms-transition);
}

.cyberms-home-promo-rail__card:hover {
    transform: translateY(-2px);
    border-color: #c4cfdb;
    box-shadow: 0 14px 30px rgba(15, 23, 42, .10);
}

.cyberms-home-promo-rail__eyebrow {
    color: #8b5a00;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.cyberms-home-promo-rail__card strong {
    margin-top: 8px;
    display: -webkit-box;
    overflow: hidden;
    color: #111827;
    font-size: 17px;
    font-weight: 780;
    line-height: 1.25;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.cyberms-home-promo-rail__price {
    margin-top: 6px;
    color: #111827;
    font-size: 20px;
    font-weight: 800;
}

.cyberms-home-promo-rail__image {
    min-height: 0;
    flex: 1;
    margin: 8px -4px 4px;
    display: grid;
    place-items: center;
}

.cyberms-home-promo-rail__image img {
    width: 100%;
    height: 116px;
    object-fit: contain;
}

.cyberms-home-promo-rail__cta {
    margin-top: auto;
    color: #815200;
    font-size: 10px;
    font-weight: 800;
}

.cyberms-home-promo-rail__card--b2b {
    border: 0;
    color: #fff !important;
    background:
        radial-gradient(circle at 85% 10%, rgba(245,158,11,.24), transparent 34%),
        linear-gradient(145deg, #172033, #27364e);
    box-shadow: 0 12px 28px rgba(15, 23, 42, .16);
}

.cyberms-home-promo-rail__card--b2b .cyberms-home-promo-rail__eyebrow {
    color: #f6d38a;
}

.cyberms-home-promo-rail__card--b2b strong {
    color: #fff;
    font-size: 20px;
}

.cyberms-home-promo-rail__card--b2b > span:not(.cyberms-home-promo-rail__eyebrow):not(.cyberms-home-promo-rail__cta) {
    margin-top: 9px;
    color: #cbd5e1;
    font-size: 11px;
    line-height: 1.55;
}

.cyberms-home-promo-rail__card--b2b .cyberms-home-promo-rail__cta {
    color: #f7c65d;
}

/* ---------- denser shortcuts / categories on wide screens ---------- */

@media (min-width: 1400px) {
    .cyberms-quick-links__grid {
        grid-template-columns: repeat(7, minmax(0, 1fr));
        gap: 12px;
    }

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

/* ---------- product cards: fixed visual rhythm and safe title clamp ---------- */

.cyberms-product-card {
    min-width: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.cyberms-product-card__image {
    width: 100%;
    height: 214px;
    min-height: 214px;
    padding: 15px 16px 10px;
    flex: 0 0 214px;
    overflow: hidden;
}

.cyberms-product-card__image img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
}

.cyberms-product-card__body {
    width: 100%;
    min-width: 0;
    flex: 1 1 auto;
    padding: 9px 14px 14px;
    display: flex;
    flex-direction: column;
    overflow: visible;
}

.cyberms-product-card__meta {
    width: 100%;
    min-width: 0;
    min-height: 13px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.cyberms-product-card__title {
    width: 100%;
    min-width: 0;
    height: 58px;
    min-height: 58px;
    max-height: 58px;
    margin: 5px 0 8px;
    padding: 0;
    display: block !important;
    overflow: hidden !important;
    font-size: 12px;
    line-height: 1.55;
    -webkit-line-clamp: unset !important;
}

.cyberms-product-card__title a {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: 58px;
    display: -webkit-box !important;
    overflow: hidden !important;
    color: #172033;
    text-decoration: none;
    overflow-wrap: anywhere;
    word-break: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.cyberms-product-card__sales-info {
    width: 100%;
    min-width: 0;
    min-height: 45px;
    flex: 0 0 45px;
}

.cyberms-product-card__availability,
.cyberms-product-card__shipping {
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.cyberms-product-card__footer {
    width: 100%;
    min-width: 0;
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid #edf1f5;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.cyberms-product-card__price {
    width: 100%;
    min-width: 0;
}

.cyberms-product-card__cart {
    width: 100%;
    flex: 0 0 39px;
}

/* ---------- product section with integrated commercial slot ---------- */

.cyberms-product-showcase {
    min-width: 0;
    display: grid;
    grid-template-columns: 238px minmax(0, 1fr);
    gap: 14px;
    align-items: stretch;
}

.cyberms-product-showcase__promo {
    min-height: 100%;
    border-radius: 14px;
    padding: 26px 22px 22px;
    flex-direction: column;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 85% 18%, rgba(245, 158, 11, .26), transparent 28%),
        linear-gradient(150deg, #101827 0%, #223149 100%);
    box-shadow: var(--cyberms-shadow-sm);
}

.cyberms-product-showcase__eyebrow {
    color: #f8d895;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cyberms-product-showcase__promo h3 {
    margin: 9px 0 10px;
    color: #fff;
    font-size: 24px;
    font-weight: 760;
    letter-spacing: -.035em;
    line-height: 1.12;
}

.cyberms-product-showcase__promo p {
    margin: 0;
    color: #c5d0df;
    font-size: 11px;
    line-height: 1.65;
}

.cyberms-product-showcase__visual {
    min-height: 0;
    flex: 1;
    margin: 18px 0;
    border-radius: 12px;
    padding: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    overflow: hidden;
    color: #172033 !important;
    background: #fff;
    text-decoration: none;
}

.cyberms-product-showcase__visual img {
    width: 100%;
    height: 150px;
    object-fit: contain;
}

.cyberms-product-showcase__visual span {
    display: -webkit-box;
    overflow: hidden;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.cyberms-product-showcase__promo .cyberms-button {
    width: 100%;
    min-height: 40px;
    margin-top: auto;
}

@media (min-width: 1400px) {
    .cyberms-product-grid--sales {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 12px;
    }

    .cyberms-product-grid--with-promo {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 1399.98px) {
    .cyberms-commerce-hero__layout {
        grid-template-columns: 258px minmax(0, 1fr);
    }

    .cyberms-product-showcase {
        display: block;
    }
}

@media (max-width: 1199.98px) {
    .cyberms-commerce-hero__layout {
        grid-template-columns: 228px minmax(0, 1fr);
    }

    .cyberms-product-card__image {
        height: 194px;
        min-height: 194px;
        flex-basis: 194px;
    }
}

@media (max-width: 991.98px) {
    .cyberms-commerce-hero__layout {
        grid-template-columns: 1fr;
    }

    .cyberms-product-card__image {
        height: 185px;
        min-height: 185px;
        flex-basis: 185px;
    }
}

@media (max-width: 575.98px) {
    .cyberms-product-card__image {
        height: 150px;
        min-height: 150px;
        flex-basis: 150px;
        padding: 10px 10px 6px;
    }

    .cyberms-product-card__title,
    .cyberms-product-card__title a {
        height: 51px;
        min-height: 51px;
        max-height: 51px;
        font-size: 10px;
        line-height: 1.55;
    }
}

/* ==========================================================================\n   S3 Catalog\n   ========================================================================== */
.cyberms-catalog-page{background:var(--cyberms-surface-muted,#f4f6f9);min-height:70vh;padding:24px 0 64px}.cyberms-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 22px;color:#75839a;font-size:13px}.cyberms-breadcrumbs a{color:#52627a;text-decoration:none}.cyberms-breadcrumbs a:hover{color:#111b2e}.cyberms-catalog-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}.cyberms-catalog-header h1{margin:4px 0;color:#10192b;font-size:clamp(28px,3vw,42px);font-weight:800;letter-spacing:-.035em}.cyberms-catalog-header p{margin:0;color:#66758c;font-size:14px}.cyberms-catalog-header__actions{display:flex;align-items:center;gap:12px}.cyberms-catalog-sort{display:flex;align-items:center;gap:10px}.cyberms-catalog-sort label{color:#637188;font-size:13px;font-weight:700}.cyberms-catalog-sort select{min-width:220px;height:44px;border:1px solid #d7dee9;border-radius:10px;background:#fff;color:#111b2e;padding:0 38px 0 14px;font-size:13px;font-weight:700}.cyberms-catalog-filter-trigger{display:none;align-items:center;gap:8px;height:44px;border:1px solid #d7dee9;border-radius:10px;background:#fff;color:#111b2e;padding:0 14px;font-weight:800}.cyberms-catalog-filter-trigger svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.cyberms-catalog-filter-trigger>span{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:#ffad00;color:#111b2e;padding:0 6px;font-size:11px}.cyberms-active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px}.cyberms-active-filters__label{margin-right:2px;color:#637188;font-size:12px;font-weight:800}.cyberms-filter-chip{display:inline-flex;align-items:center;min-height:30px;border:1px solid #dfe5ee;border-radius:999px;background:#fff;color:#263650;padding:4px 10px;font-size:12px;font-weight:700}.cyberms-active-filters__clear{color:#b05700;font-size:12px;font-weight:800;text-decoration:none}.cyberms-catalog-layout{display:grid;grid-template-columns:282px minmax(0,1fr);gap:22px;align-items:start}.cyberms-catalog-filters{position:sticky;top:18px;overflow:hidden;border:1px solid #dfe5ee;border-radius:14px;background:#fff;box-shadow:0 5px 20px rgb(16 25 43 / 4%)}.cyberms-catalog-filters__mobile-head{display:none}.cyberms-filter-group{border-bottom:1px solid #edf0f4}.cyberms-filter-group:last-of-type{border-bottom:0}.cyberms-filter-group summary{position:relative;cursor:pointer;list-style:none;padding:17px 18px;color:#111b2e;font-size:14px;font-weight:800}.cyberms-filter-group summary::-webkit-details-marker{display:none}.cyberms-filter-group summary::after{content:'+';position:absolute;top:50%;right:18px;transform:translateY(-50%);color:#77869d;font-size:18px;font-weight:500}.cyberms-filter-group[open] summary::after{content:'−'}.cyberms-filter-group__content{padding:0 18px 18px}.cyberms-filter-categories{max-height:390px;overflow-y:auto;scrollbar-width:thin}.cyberms-filter-check{display:flex;align-items:flex-start;gap:9px;cursor:pointer;margin:0 0 9px;color:#40516a;font-size:13px;line-height:1.4}.cyberms-filter-check:last-child{margin-bottom:0}.cyberms-filter-check--parent{color:#17233a;font-weight:800}.cyberms-filter-check input{flex:0 0 auto;width:17px;height:17px;margin:1px 0 0;accent-color:#ffad00}.cyberms-filter-children{margin:0 0 14px 25px;padding-left:10px;border-left:1px solid #e5eaf1}.cyberms-price-filter{display:grid;grid-template-columns:1fr 1fr;gap:9px}.cyberms-price-filter label>span{display:block;margin-bottom:5px;color:#7a889d;font-size:11px;font-weight:800}.cyberms-price-filter label>div{display:flex;align-items:center;height:40px;border:1px solid #dce2eb;border-radius:9px;background:#fff;overflow:hidden}.cyberms-price-filter input{min-width:0;width:100%;height:100%;border:0;outline:0;padding:0 4px 0 10px;color:#17233a;font-weight:700}.cyberms-price-filter label>div>span{padding-right:9px;color:#8b98a9;font-size:11px;font-weight:700}.cyberms-catalog-filter-actions{display:grid;gap:10px;padding:18px;border-top:1px solid #edf0f4}.cyberms-catalog-filter-actions .cyberms-button{width:100%;justify-content:center}.cyberms-catalog-filter-actions>a{color:#6c7b90;text-align:center;font-size:12px;font-weight:700;text-decoration:none}.cyberms-catalog-results{min-width:0}.cyberms-catalog-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.cyberms-catalog-product-grid>.cyberms-product-card{min-width:0}.cyberms-catalog-empty{display:grid;justify-items:center;min-height:420px;place-content:center;border:1px solid #dfe5ee;border-radius:14px;background:#fff;padding:40px;text-align:center}.cyberms-catalog-empty__icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:14px;border-radius:50%;background:#f1f4f8;color:#73829a;font-size:28px}.cyberms-catalog-empty h2{margin:0 0 8px;color:#111b2e}.cyberms-catalog-empty p{max-width:460px;margin:0 0 20px;color:#6a788c}.cyberms-catalog-pagination{display:grid;grid-template-columns:minmax(100px,1fr) auto minmax(100px,1fr);align-items:center;gap:16px;margin-top:28px;padding:14px 16px;border:1px solid #dfe5ee;border-radius:12px;background:#fff}.cyberms-catalog-pagination__nav{color:#24334a;font-size:13px;font-weight:800;text-decoration:none}.cyberms-catalog-pagination__nav:last-child{text-align:right}.cyberms-catalog-pagination__nav.is-disabled{color:#b3bdca}.cyberms-catalog-pagination__pages{display:flex;align-items:center;justify-content:center;gap:5px}.cyberms-catalog-pagination__pages a,.cyberms-catalog-pagination__pages span{display:grid;place-items:center;min-width:34px;height:34px;border-radius:8px;color:#53627a;font-size:12px;font-weight:800;text-decoration:none}.cyberms-catalog-pagination__pages .is-active{background:#111b2e;color:#fff}.cyberms-catalog-filter-overlay{display:none}@media(max-width:1279px){.cyberms-catalog-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:991px){.cyberms-catalog-page{padding-top:18px}.cyberms-catalog-header{align-items:flex-start}.cyberms-catalog-header__actions{align-items:stretch}.cyberms-catalog-filter-trigger{display:inline-flex}.cyberms-catalog-sort label{display:none}.cyberms-catalog-sort select{min-width:190px}.cyberms-catalog-layout{display:block}.cyberms-catalog-filters{position:fixed;z-index:1002;top:0;left:0;width:min(390px,calc(100vw - 42px));height:100dvh;border:0;border-radius:0;transform:translateX(-102%);transition:transform 180ms ease;overflow-y:auto}.cyberms-catalog-filters.is-open{transform:translateX(0)}.cyberms-catalog-filters__mobile-head{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;min-height:62px;border-bottom:1px solid #e8ecf2;background:#fff;padding:0 18px}.cyberms-catalog-filters__mobile-head button{border:0;background:transparent;color:#23324a;font-size:30px;line-height:1}.cyberms-catalog-filter-overlay{position:fixed;z-index:1001;inset:0;width:100%;height:100%;border:0;background:rgb(5 12 24 / 58%);opacity:0;visibility:hidden;transition:opacity 180ms ease,visibility 180ms ease}.cyberms-catalog-filters-open .cyberms-catalog-filter-overlay{display:block;opacity:1;visibility:visible}.cyberms-catalog-filters-open{overflow:hidden}.cyberms-catalog-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:740px){.cyberms-catalog-header{display:block}.cyberms-catalog-header__actions{display:grid;grid-template-columns:1fr 1fr;margin-top:16px}.cyberms-catalog-filter-trigger,.cyberms-catalog-sort,.cyberms-catalog-sort select{width:100%}.cyberms-catalog-sort select{min-width:0}.cyberms-catalog-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cyberms-catalog-pagination{grid-template-columns:1fr 1fr}.cyberms-catalog-pagination__pages{grid-column:1/-1;grid-row:1}.cyberms-catalog-pagination__nav{grid-row:2}}@media(max-width:479px){.cyberms-catalog-page .cyberms-storefront-container{width:min(100% - 22px,1480px)}.cyberms-breadcrumbs{font-size:11px}.cyberms-catalog-header h1{font-size:28px}.cyberms-catalog-header__actions{gap:8px}.cyberms-catalog-product-grid{grid-template-columns:1fr}.cyberms-active-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.cyberms-filter-chip{white-space:nowrap}}


/* S3.1 - catalog width correction */
.cyberms-catalog-page .cyberms-storefront-container {
    width: min(calc(100% - 48px), 1360px);
    margin-inline: auto;
}

.cyberms-catalog-page .cyberms-catalog-layout {
    grid-template-columns: 250px minmax(0, 1fr);
    gap: 18px;
}

@media (max-width: 991px) {
    .cyberms-catalog-page .cyberms-storefront-container {
        width: min(calc(100% - 28px), 1360px);
    }

    .cyberms-catalog-page .cyberms-catalog-layout {
        display: block;
    }
}

@media (max-width: 479px) {
    .cyberms-catalog-page .cyberms-storefront-container {
        width: min(calc(100% - 22px), 1360px);
    }
}

/* ========================================================================== */
/* S4 - product detail page                                                   */
/* ========================================================================== */

.cyberms-product-page {
    padding: 22px 0 64px;
    background: var(--cyberms-bg);
}

.cyberms-product-page__container {
    width: min(calc(100% - 40px), 1360px);
    margin-inline: auto;
}

.cyberms-product-breadcrumbs {
    margin-bottom: 16px;
}

.cyberms-product-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr);
    gap: 20px;
    align-items: start;
}

.cyberms-product-gallery,
.cyberms-product-buybox,
.cyberms-product-description,
.cyberms-product-content__nav {
    border: 1px solid var(--cyberms-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: var(--cyberms-shadow-sm);
}

.cyberms-product-gallery {
    min-width: 0;
    padding: 18px;
}

.cyberms-product-gallery__stage {
    position: relative;
    height: min(540px, 48vw);
    min-height: 400px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #fff;
}

.cyberms-product-gallery__stage > img {
    width: 100%;
    height: 100%;
    padding: 12px;
    object-fit: contain;
    transition: opacity 120ms ease;
}

.cyberms-product-gallery__stage > img.is-changing {
    opacity: .35;
}

.cyberms-product-gallery__badge {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    border-radius: 999px;
    padding: 7px 11px;
    color: #7c2d12;
    background: #fef3c7;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.cyberms-product-gallery__thumbs {
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
    gap: 9px;
}

.cyberms-product-gallery__thumb {
    height: 76px;
    min-width: 0;
    border: 1px solid var(--cyberms-border);
    border-radius: 10px;
    padding: 5px;
    background: #fff;
    cursor: pointer;
    transition: border-color var(--cyberms-transition), box-shadow var(--cyberms-transition);
}

.cyberms-product-gallery__thumb:hover,
.cyberms-product-gallery__thumb.is-active {
    border-color: var(--cyberms-primary);
    box-shadow: 0 0 0 1px var(--cyberms-primary);
}

.cyberms-product-gallery__thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.cyberms-product-buybox {
    position: sticky;
    top: 14px;
    padding: 26px;
}

.cyberms-product-buybox__eyebrow {
    margin-bottom: 8px;
    color: var(--cyberms-text-muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.cyberms-product-buybox h1 {
    margin: 0;
    color: var(--cyberms-text);
    font-size: clamp(26px, 2.3vw, 38px);
    font-weight: 760;
    letter-spacing: -.04em;
    line-height: 1.14;
}

.cyberms-product-buybox__identifiers {
    margin-top: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    color: var(--cyberms-text-muted);
    font-size: 11px;
}

.cyberms-product-buybox__identifiers strong {
    color: var(--cyberms-text);
    font-weight: 650;
}

.cyberms-product-buybox__availability {
    margin-top: 22px;
    border-radius: 11px;
    padding: 13px 14px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: #f8fafc;
}

.cyberms-product-buybox__availability-dot {
    width: 9px;
    height: 9px;
    margin-top: 5px;
    border-radius: 50%;
    flex: 0 0 9px;
    background: #22c55e;
}

.cyberms-product-buybox__availability--out_of_stock .cyberms-product-buybox__availability-dot {
    background: #ef4444;
}

.cyberms-product-buybox__availability strong,
.cyberms-product-buybox__availability small {
    display: block;
}

.cyberms-product-buybox__availability strong {
    color: var(--cyberms-text);
    font-size: 13px;
}

.cyberms-product-buybox__availability small {
    margin-top: 2px;
    color: var(--cyberms-text-muted);
    font-size: 10px;
    line-height: 1.4;
}

.cyberms-product-buybox__price {
    margin-top: 20px;
    padding: 18px 0;
    border-top: 1px solid var(--cyberms-border);
    border-bottom: 1px solid var(--cyberms-border);
}

.cyberms-product-buybox__regular-price {
    margin-bottom: 4px;
    color: var(--cyberms-text-muted);
    font-size: 11px;
}

.cyberms-product-buybox__current-price {
    color: #0f172a;
    font-size: clamp(31px, 3vw, 43px);
    font-weight: 800;
    letter-spacing: -.04em;
    line-height: 1;
}

.cyberms-product-buybox__tax {
    margin-top: 5px;
    color: var(--cyberms-text-muted);
    font-size: 10px;
}

.cyberms-product-purchase {
    margin-top: 20px;
}

.cyberms-product-purchase__label {
    margin-bottom: 6px;
    display: block;
    color: var(--cyberms-text-muted);
    font-size: 10px;
    font-weight: 700;
}

.cyberms-product-purchase__row {
    display: grid;
    grid-template-columns: 124px minmax(0, 1fr);
    gap: 10px;
}

.cyberms-quantity-stepper {
    height: 48px;
    border: 1px solid var(--cyberms-border-strong);
    border-radius: 10px;
    display: grid;
    grid-template-columns: 37px 1fr 37px;
    overflow: hidden;
    background: #fff;
}

.cyberms-quantity-stepper button,
.cyberms-quantity-stepper input {
    border: 0;
    background: transparent;
    color: var(--cyberms-text);
    text-align: center;
}

.cyberms-quantity-stepper button {
    font-size: 20px;
    cursor: pointer;
}

.cyberms-quantity-stepper button:hover {
    background: #f1f5f9;
}

.cyberms-quantity-stepper input {
    width: 100%;
    min-width: 0;
    appearance: textfield;
    font-size: 13px;
    font-weight: 750;
}

.cyberms-quantity-stepper input::-webkit-inner-spin-button,
.cyberms-quantity-stepper input::-webkit-outer-spin-button {
    margin: 0;
    appearance: none;
}

.cyberms-product-purchase__submit {
    min-height: 48px;
    border: 0;
    border-radius: 10px;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: #111827;
    background: var(--cyberms-accent);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
    transition: transform var(--cyberms-transition), filter var(--cyberms-transition);
}

.cyberms-product-purchase__submit:hover {
    color: #111827;
    filter: brightness(.96);
    transform: translateY(-1px);
}

.cyberms-product-purchase__submit svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
}

.cyberms-product-purchase__submit--disabled {
    width: 100%;
    margin-top: 20px;
    color: #64748b;
    background: #e2e8f0;
    cursor: not-allowed;
}

.cyberms-product-benefits {
    margin-top: 22px;
    display: grid;
    gap: 0;
    border-top: 1px solid var(--cyberms-border);
}

.cyberms-product-benefit {
    padding: 13px 0;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    border-bottom: 1px solid var(--cyberms-border);
}

.cyberms-product-benefit__icon {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #92400e;
    background: var(--cyberms-accent-soft);
    font-size: 9px;
    font-weight: 850;
}

.cyberms-product-benefit strong,
.cyberms-product-benefit small {
    display: block;
}

.cyberms-product-benefit strong {
    color: var(--cyberms-text);
    font-size: 11px;
}

.cyberms-product-benefit small {
    margin-top: 2px;
    color: var(--cyberms-text-muted);
    font-size: 9px;
    line-height: 1.45;
}

.cyberms-product-benefit a {
    color: var(--cyberms-text);
    font-weight: 700;
}

.cyberms-product-content {
    margin-top: 24px;
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.cyberms-product-content__nav {
    position: sticky;
    top: 14px;
    padding: 16px;
    display: grid;
    gap: 5px;
}

.cyberms-product-content__nav strong {
    margin-bottom: 5px;
    color: var(--cyberms-text);
    font-size: 11px;
}

.cyberms-product-content__nav a {
    border-radius: 7px;
    padding: 8px 9px;
    color: var(--cyberms-text-muted);
    font-size: 10px;
    font-weight: 650;
    text-decoration: none;
}

.cyberms-product-content__nav a:hover {
    color: var(--cyberms-text);
    background: #f1f5f9;
}

.cyberms-product-content__main {
    min-width: 0;
    display: grid;
    gap: 16px;
}

.cyberms-product-description {
    min-width: 0;
    padding: clamp(22px, 3vw, 38px);
    scroll-margin-top: 20px;
}

.cyberms-product-section-heading span {
    color: #7c5a12;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.cyberms-product-section-heading h2 {
    margin: 6px 0 22px;
    color: var(--cyberms-text);
    font-size: clamp(22px, 2.3vw, 31px);
    font-weight: 760;
    letter-spacing: -.035em;
}

.cyberms-product-richtext {
    color: #334155;
    font-size: 14px;
    line-height: 1.75;
}

.cyberms-product-richtext + .cyberms-product-richtext {
    margin-top: 28px;
    padding-top: 28px;
    border-top: 1px solid var(--cyberms-border);
}

.cyberms-product-richtext img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
}

.cyberms-product-richtext table {
    width: 100%;
    display: block;
    overflow-x: auto;
    border-collapse: collapse;
}

.cyberms-product-richtext td,
.cyberms-product-richtext th {
    border: 1px solid var(--cyberms-border);
    padding: 9px;
}

.cyberms-product-data {
    margin: 0;
    display: grid;
}

.cyberms-product-data > div {
    min-height: 46px;
    padding: 10px 0;
    display: grid;
    grid-template-columns: minmax(130px, 28%) 1fr;
    gap: 16px;
    align-items: center;
    border-bottom: 1px solid var(--cyberms-border);
}

.cyberms-product-data dt,
.cyberms-product-data dd {
    margin: 0;
}

.cyberms-product-data dt {
    color: var(--cyberms-text-muted);
    font-size: 11px;
    font-weight: 650;
}

.cyberms-product-data dd {
    color: var(--cyberms-text);
    font-size: 12px;
    font-weight: 650;
}

.cyberms-product-data a {
    color: var(--cyberms-text);
}

.cyberms-product-inspirations {
    display: grid;
    gap: 8px;
}

.cyberms-product-inspirations a {
    border: 1px solid var(--cyberms-border);
    border-radius: 10px;
    padding: 13px 14px;
    color: var(--cyberms-text);
    background: #f8fafc;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.cyberms-product-related {
    margin-top: 34px;
}

.cyberms-product-mobile-bar {
    display: none;
}

@media (max-width: 991.98px) {
    .cyberms-product-page__container {
        width: min(calc(100% - 28px), 900px);
    }

    .cyberms-product-hero {
        grid-template-columns: 1fr;
    }

    .cyberms-product-buybox {
        position: static;
    }

    .cyberms-product-gallery__stage {
        height: 500px;
        min-height: 0;
    }

    .cyberms-product-content {
        grid-template-columns: 1fr;
    }

    .cyberms-product-content__nav {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cyberms-product-content__nav strong {
        grid-column: 1 / -1;
    }
}

@media (max-width: 575.98px) {
    .cyberms-product-page {
        padding-top: 10px;
        padding-bottom: 92px;
    }

    .cyberms-product-page__container {
        width: min(calc(100% - 20px), 560px);
    }

    .cyberms-product-breadcrumbs {
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    .cyberms-product-gallery,
    .cyberms-product-buybox,
    .cyberms-product-description,
    .cyberms-product-content__nav {
        border-radius: 12px;
    }

    .cyberms-product-gallery {
        padding: 9px;
    }

    .cyberms-product-gallery__stage {
        height: 330px;
    }

    .cyberms-product-gallery__thumbs {
        display: flex;
        overflow-x: auto;
        scrollbar-width: thin;
    }

    .cyberms-product-gallery__thumb {
        width: 64px;
        height: 64px;
        flex: 0 0 64px;
    }

    .cyberms-product-buybox {
        padding: 20px 16px;
    }

    .cyberms-product-buybox h1 {
        font-size: 24px;
    }

    .cyberms-product-buybox__current-price {
        font-size: 34px;
    }

    .cyberms-product-purchase__row {
        grid-template-columns: 104px minmax(0, 1fr);
    }

    .cyberms-quantity-stepper {
        grid-template-columns: 31px 1fr 31px;
    }

    .cyberms-product-purchase__submit {
        padding-inline: 12px;
        font-size: 11px;
    }

    .cyberms-product-content__nav {
        display: flex;
        overflow-x: auto;
    }

    .cyberms-product-content__nav strong {
        display: none;
    }

    .cyberms-product-content__nav a {
        flex: 0 0 auto;
    }

    .cyberms-product-description {
        padding: 20px 16px;
    }

    .cyberms-product-data > div {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .cyberms-product-mobile-bar {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 50;
        min-height: 66px;
        border-top: 1px solid var(--cyberms-border);
        padding: 9px 12px calc(9px + env(safe-area-inset-bottom));
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 12px;
        align-items: center;
        background: rgba(255,255,255,.97);
        box-shadow: 0 -8px 26px rgba(15, 23, 42, .12);
        backdrop-filter: blur(10px);
    }

    .cyberms-product-mobile-bar strong,
    .cyberms-product-mobile-bar small {
        display: block;
    }

    .cyberms-product-mobile-bar strong {
        color: var(--cyberms-text);
        font-size: 18px;
    }

    .cyberms-product-mobile-bar small {
        color: var(--cyberms-text-muted);
        font-size: 9px;
    }

    .cyberms-product-mobile-bar a {
        min-height: 44px;
        border-radius: 9px;
        padding: 0 18px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #111827;
        background: var(--cyberms-accent);
        font-size: 12px;
        font-weight: 800;
        text-decoration: none;
    }
}

/* ---------- S5 storefront search ---------- */

.cyberms-search {
    position: relative;
    overflow: visible;
}

.cyberms-search > button[type="submit"] {
    border-radius: 0 11px 11px 0;
}

.cyberms-search-suggestions {
    position: absolute;
    z-index: 120;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    max-height: min(640px, calc(100vh - 170px));
    overflow: auto;
    border: 1px solid var(--cyberms-border-strong);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 60px rgba(15, 23, 42, .18);
    color: var(--cyberms-text);
}

.cyberms-search-suggestions[hidden] {
    display: none !important;
}

.cyberms-search-suggestions__loading,
.cyberms-search-suggestions__empty {
    padding: 22px;
    color: var(--cyberms-text-muted);
    font-size: 13px;
}

.cyberms-search-suggestions__empty {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cyberms-search-suggestions__empty strong {
    color: var(--cyberms-text);
    font-size: 14px;
}

.cyberms-search-suggestions__section + .cyberms-search-suggestions__section {
    border-top: 1px solid var(--cyberms-border);
}

.cyberms-search-suggestions__heading {
    padding: 12px 16px 7px;
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.cyberms-search-suggestions__product {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 9px 16px;
    color: inherit;
    text-decoration: none;
    transition: background var(--cyberms-transition);
}

.cyberms-search-suggestions__product:hover,
.cyberms-search-suggestions__product.is-active,
.cyberms-search-suggestions__category:hover,
.cyberms-search-suggestions__category.is-active,
.cyberms-search-suggestions__all:hover,
.cyberms-search-suggestions__all.is-active {
    background: #f8fafc;
}

.cyberms-search-suggestions__image {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid #eef2f7;
    border-radius: 10px;
    background: #fff;
}

.cyberms-search-suggestions__image img {
    width: 100%;
    height: 100%;
    padding: 4px;
    object-fit: contain;
}

.cyberms-search-suggestions__image.is-placeholder {
    background: #f8fafc;
    color: #94a3b8;
    font-size: 10px;
    font-weight: 800;
}

.cyberms-search-suggestions__product-body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cyberms-search-suggestions__product-title {
    overflow: hidden;
    color: #111827;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cyberms-search-suggestions__product-meta {
    overflow: hidden;
    color: #64748b;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cyberms-search-suggestions__price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    white-space: nowrap;
}

.cyberms-search-suggestions__price del {
    color: #94a3b8;
    font-size: 10px;
}

.cyberms-search-suggestions__price strong {
    color: #0f172a;
    font-size: 14px;
}

.cyberms-search-suggestions__category {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 16px;
    color: inherit;
    text-decoration: none;
    transition: background var(--cyberms-transition);
}

.cyberms-search-suggestions__category-icon {
    width: 32px;
    height: 32px;
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 9px;
    background: #f1f5f9;
    color: #64748b;
    font-size: 13px;
    font-weight: 800;
}

.cyberms-search-suggestions__category-body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.cyberms-search-suggestions__category-body strong {
    font-size: 12px;
}

.cyberms-search-suggestions__category-body small {
    overflow: hidden;
    color: #94a3b8;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cyberms-search-suggestions__all {
    display: flex;
    justify-content: center;
    padding: 13px 16px;
    border-top: 1px solid var(--cyberms-border);
    color: #0f172a;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
    transition: background var(--cyberms-transition);
}

@media (max-width: 991.98px) {
    .cyberms-search--mobile {
        z-index: 20;
    }

    .cyberms-search--mobile .cyberms-search-suggestions {
        top: calc(100% + 7px);
        max-height: min(520px, calc(100vh - 150px));
    }

    .cyberms-search-suggestions__product {
        grid-template-columns: 50px minmax(0, 1fr) auto;
        padding-inline: 12px;
    }

    .cyberms-search-suggestions__image {
        width: 50px;
        height: 50px;
    }
}

@media (max-width: 575.98px) {
    .cyberms-search-suggestions__product {
        grid-template-columns: 48px minmax(0, 1fr);
    }

    .cyberms-search-suggestions__price {
        grid-column: 2;
        align-items: flex-start;
        flex-direction: row;
        gap: 8px;
    }
}

/* ========================================================================== */
/* S6 CART                                                                    */
/* ========================================================================== */
.cyberms-cart-page {
    padding: 28px 0 64px;
    background: #f4f7fb;
}

.cyberms-cart-container {
    width: min(100% - 32px, 1360px);
    margin: 0 auto;
}

.cyberms-cart-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    color: #94a3b8;
    font-size: 12px;
}

.cyberms-cart-breadcrumb a {
    color: #64748b;
    text-decoration: none;
}

.cyberms-cart-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
}

.cyberms-cart-heading h1 {
    margin: 4px 0 3px;
    color: #0f172a;
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 800;
    letter-spacing: -0.035em;
}

.cyberms-cart-heading p {
    margin: 0;
    color: #64748b;
    font-size: 13px;
}

.cyberms-eyebrow {
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.cyberms-cart-continue {
    color: #0f172a;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.cyberms-cart-continue:hover {
    text-decoration: underline;
}

.cyberms-cart-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    align-items: start;
    gap: 22px;
}

.cyberms-cart-items {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.cyberms-shipping-progress {
    padding: 18px 20px;
    border: 1px solid #dbe3ed;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .04);
}

.cyberms-shipping-progress.is-qualified {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.cyberms-shipping-progress__copy {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 12px;
}

.cyberms-shipping-progress__copy > div {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.cyberms-shipping-progress__copy strong {
    color: #0f172a;
    font-size: 14px;
}

.cyberms-shipping-progress__copy span:not(.cyberms-shipping-progress__badge) {
    color: #64748b;
    font-size: 11px;
}

.cyberms-shipping-progress__badge {
    flex: 0 0 auto;
    padding: 7px 10px;
    border-radius: 999px;
    background: #fff7ed;
    color: #b45309;
    font-size: 10px;
    font-weight: 800;
}

.cyberms-shipping-progress.is-qualified .cyberms-shipping-progress__badge {
    background: #dcfce7;
    color: #15803d;
}

.cyberms-shipping-progress__track {
    height: 7px;
    overflow: hidden;
    border-radius: 999px;
    background: #e8edf4;
}

.cyberms-shipping-progress__track span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #f59e0b, #fbbf24);
    transition: width .2s ease;
}

.cyberms-shipping-progress.is-qualified .cyberms-shipping-progress__track span {
    background: #22c55e;
}

.cyberms-cart-item {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 20px;
    padding: 18px;
    border: 1px solid #dbe3ed;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .035);
}

.cyberms-cart-item__image {
    display: grid;
    width: 150px;
    height: 150px;
    place-items: center;
    padding: 8px;
    overflow: hidden;
    border-radius: 12px;
    background: #fff;
    text-decoration: none;
}

.cyberms-cart-item__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.cyberms-cart-item__placeholder {
    color: #94a3b8;
    font-size: 11px;
}

.cyberms-cart-item__main {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.cyberms-cart-item__topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 8px;
    color: #94a3b8;
    font-size: 10px;
}

.cyberms-cart-item__topline form {
    margin: 0;
}

.cyberms-cart-item__delete {
    padding: 0;
    border: 0;
    background: transparent;
    color: #64748b;
    font-size: 11px;
    font-weight: 700;
}

.cyberms-cart-item__delete:hover {
    color: #dc2626;
}

.cyberms-cart-item__title {
    max-width: 760px;
    color: #0f172a;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.4;
    text-decoration: none;
}

.cyberms-cart-item__title:hover {
    color: #b45309;
}

.cyberms-cart-item__availability {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 10px;
    color: #64748b;
    font-size: 11px;
}

.cyberms-cart-item__availability-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #22c55e;
}

.cyberms-cart-item__bottom {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-top: auto;
    padding-top: 16px;
}

.cyberms-cart-quantity {
    display: grid;
    grid-template-columns: 38px 46px 38px;
    height: 38px;
    overflow: hidden;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #fff;
}

.cyberms-cart-quantity form {
    margin: 0;
}

.cyberms-cart-quantity button,
.cyberms-cart-quantity span {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    border: 0;
    background: transparent;
    color: #0f172a;
    font-size: 14px;
    font-weight: 800;
}

.cyberms-cart-quantity button:hover {
    background: #f1f5f9;
}

.cyberms-cart-quantity span {
    border-right: 1px solid #e2e8f0;
    border-left: 1px solid #e2e8f0;
}

.cyberms-cart-item__price {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    gap: 2px;
    text-align: right;
}

.cyberms-cart-item__price span,
.cyberms-cart-item__price del {
    color: #64748b;
    font-size: 10px;
}

.cyberms-cart-item__price strong {
    color: #b45309;
    font-size: 11px;
}

.cyberms-cart-item__price b {
    margin-top: 3px;
    color: #0f172a;
    font-size: 20px;
    line-height: 1;
}

.cyberms-cart-summary {
    position: sticky;
    top: 18px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.cyberms-cart-summary__card,
.cyberms-cart-b2b {
    border: 1px solid #dbe3ed;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .04);
}

.cyberms-cart-summary__card {
    padding: 22px;
}

.cyberms-cart-summary__card h2 {
    margin: 5px 0 20px;
    color: #0f172a;
    font-size: 20px;
    font-weight: 800;
}

.cyberms-cart-summary__rows {
    display: flex;
    flex-direction: column;
    gap: 11px;
    margin: 0;
}

.cyberms-cart-summary__rows > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    color: #64748b;
    font-size: 12px;
}

.cyberms-cart-summary__rows dt,
.cyberms-cart-summary__rows dd {
    margin: 0;
    font-weight: 600;
}

.cyberms-cart-summary__rows dd {
    color: #0f172a;
    text-align: right;
}

.cyberms-cart-summary__rows .is-discount dd {
    color: #15803d;
}

.cyberms-cart-summary__total {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 3px 14px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid #e2e8f0;
}

.cyberms-cart-summary__total span {
    align-self: center;
    color: #0f172a;
    font-size: 13px;
    font-weight: 700;
}

.cyberms-cart-summary__total strong {
    color: #0f172a;
    font-size: 24px;
    line-height: 1;
}

.cyberms-cart-summary__total small {
    grid-column: 1 / -1;
    color: #94a3b8;
    font-size: 9px;
}

.cyberms-btn {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 11px 18px;
    border: 1px solid transparent;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
    transition: transform .15s ease, background .15s ease, border-color .15s ease;
}

.cyberms-btn--primary {
    background: #111827;
    color: #fff;
}

.cyberms-btn--primary:hover {
    background: #1f2937;
    color: #fff;
    transform: translateY(-1px);
}

.cyberms-cart-summary__checkout {
    width: 100%;
    margin-top: 20px;
}

.cyberms-cart-summary__benefits {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 12px;
    margin-top: 14px;
    color: #64748b;
    font-size: 9px;
    font-weight: 700;
}

.cyberms-cart-b2b {
    padding: 16px 18px;
}

.cyberms-cart-b2b strong {
    color: #0f172a;
    font-size: 12px;
}

.cyberms-cart-b2b p {
    margin: 5px 0 8px;
    color: #64748b;
    font-size: 10px;
    line-height: 1.5;
}

.cyberms-cart-b2b a {
    color: #b45309;
    font-size: 10px;
    font-weight: 800;
    text-decoration: none;
}

.cyberms-cart-empty {
    display: flex;
    min-height: 390px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 50px 20px;
    border: 1px solid #dbe3ed;
    border-radius: 18px;
    background: #fff;
    text-align: center;
}

.cyberms-cart-empty__icon {
    display: grid;
    width: 84px;
    height: 84px;
    place-items: center;
    margin-bottom: 14px;
    border-radius: 50%;
    background: #f1f5f9;
}

.cyberms-cart-empty__icon img {
    width: 48px;
    height: 48px;
    object-fit: contain;
}

.cyberms-cart-empty h2 {
    margin: 0;
    color: #0f172a;
    font-size: 24px;
    font-weight: 800;
}

.cyberms-cart-empty p {
    margin: 7px 0 18px;
    color: #64748b;
    font-size: 12px;
}

@media (max-width: 991.98px) {
    .cyberms-cart-layout {
        grid-template-columns: 1fr;
    }

    .cyberms-cart-summary {
        position: static;
    }

    .cyberms-cart-summary__card {
        position: relative;
    }
}

@media (max-width: 767.98px) {
    .cyberms-cart-page {
        padding-top: 18px;
    }

    .cyberms-cart-container {
        width: min(100% - 20px, 1360px);
    }

    .cyberms-cart-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 9px;
    }

    .cyberms-cart-item {
        grid-template-columns: 94px minmax(0, 1fr);
        gap: 13px;
        padding: 13px;
    }

    .cyberms-cart-item__image {
        width: 94px;
        height: 94px;
        padding: 4px;
    }

    .cyberms-cart-item__title {
        font-size: 13px;
    }

    .cyberms-cart-item__bottom {
        grid-column: 1 / -1;
        align-items: center;
        margin-top: 12px;
    }

    .cyberms-shipping-progress__copy {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }
}

@media (max-width: 480px) {
    .cyberms-cart-item {
        grid-template-columns: 78px minmax(0, 1fr);
    }

    .cyberms-cart-item__image {
        width: 78px;
        height: 78px;
    }

    .cyberms-cart-item__topline {
        align-items: flex-start;
    }

    .cyberms-cart-item__bottom {
        align-items: stretch;
        flex-direction: column;
    }

    .cyberms-cart-item__price {
        align-items: flex-start;
        text-align: left;
    }

    .cyberms-cart-quantity {
        width: 122px;
    }
}

/* S6.1 cart modal and empty-cart CTA fix */
body.cyberms-storefront a.cyberms-btn--primary,
body.cyberms-storefront a.cyberms-btn--primary:visited {
    color: #fff;
}

body.cyberms-storefront a.cyberms-btn--primary:hover,
body.cyberms-storefront a.cyberms-btn--primary:focus-visible {
    color: #fff;
}

.cyberms-cart-modal-open {
    overflow: hidden;
}

.cyberms-cart-modal-layer {
    position: fixed;
    z-index: 2200;
    inset: 0;
    display: grid;
    align-items: center;
    justify-items: center;
    overflow-y: auto;
    background: rgb(9 16 29 / 58%);
    padding: 24px;
    opacity: 0;
    transition: opacity 180ms ease;
}

.cyberms-cart-modal-layer[hidden] {
    display: none;
}

.cyberms-cart-modal-layer.is-open {
    opacity: 1;
}

.cyberms-cart-modal {
    position: relative;
    width: min(920px, 100%);
    max-height: min(820px, calc(100dvh - 48px));
    overflow-y: auto;
    border: 1px solid #e1e7ef;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 28px 90px rgb(10 20 38 / 28%);
    padding: 28px;
    transform: translateY(12px) scale(.985);
    transition: transform 180ms ease;
}

.cyberms-cart-modal-layer.is-open .cyberms-cart-modal {
    transform: translateY(0) scale(1);
}

.cyberms-cart-modal__close {
    position: absolute;
    top: 18px;
    right: 18px;
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid #e1e7ef;
    border-radius: 50%;
    background: #fff;
    color: #24324a;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}

.cyberms-cart-modal__header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding-right: 52px;
}

.cyberms-cart-modal__success {
    display: grid;
    flex: 0 0 auto;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 50%;
    background: #e7f8ef;
    color: #139a58;
    font-size: 24px;
    font-weight: 900;
}

.cyberms-cart-modal__header span,
.cyberms-cart-modal__suggestions-head > span {
    display: block;
    margin-bottom: 3px;
    color: #6b7b91;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cyberms-cart-modal__header h2 {
    margin: 0;
    color: #10192b;
    font-size: clamp(20px, 2.4vw, 28px);
    font-weight: 850;
    letter-spacing: -.025em;
}

.cyberms-cart-modal__added {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    margin-top: 22px;
    border: 1px solid #e3e8ef;
    border-radius: 14px;
    padding: 14px;
}

.cyberms-cart-modal__added-image {
    display: grid;
    height: 82px;
    place-items: center;
    border-radius: 10px;
    background: #f7f8fa;
    overflow: hidden;
}

.cyberms-cart-modal__added-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.cyberms-cart-modal__added-content {
    min-width: 0;
}

body.cyberms-storefront .cyberms-cart-modal__added-content > a {
    display: -webkit-box;
    overflow: hidden;
    color: #142039;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.35;
    text-decoration: none;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.cyberms-cart-modal__added-content small,
.cyberms-cart-modal__added-content span {
    display: block;
    margin-top: 5px;
    color: #78869a;
    font-size: 11px;
}

.cyberms-cart-modal__added-price {
    text-align: right;
}

.cyberms-cart-modal__added-price strong {
    display: block;
    color: #10192b;
    font-size: 18px;
    font-weight: 900;
}

.cyberms-cart-modal__added-price small {
    color: #8a97a9;
    font-size: 10px;
}

.cyberms-cart-modal__summary {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 14px;
}

.cyberms-cart-modal__summary > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-radius: 11px;
    background: #f5f7fa;
    padding: 12px 14px;
}

.cyberms-cart-modal__summary span {
    color: #6e7d91;
    font-size: 12px;
}

.cyberms-cart-modal__summary strong {
    color: #111b2e;
    font-size: 14px;
    font-weight: 900;
}

.cyberms-cart-modal__shipping {
    margin-top: 14px;
    border-radius: 12px;
    background: #fff8df;
    padding: 13px 15px;
}

.cyberms-cart-modal__shipping strong,
.cyberms-cart-modal__shipping span {
    display: block;
}

.cyberms-cart-modal__shipping strong {
    color: #533a00;
    font-size: 12px;
    font-weight: 850;
}

.cyberms-cart-modal__shipping span {
    margin-top: 2px;
    color: #7c6840;
    font-size: 11px;
}

.cyberms-cart-modal__shipping-progress {
    height: 6px;
    margin-top: 10px;
    border-radius: 999px;
    background: #eadfbe;
    overflow: hidden;
}

.cyberms-cart-modal__shipping-progress span {
    height: 100%;
    border-radius: inherit;
    background: #ffad00;
}

.cyberms-cart-modal__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 18px;
}

.cyberms-cart-modal__actions .cyberms-btn {
    width: 100%;
}

.cyberms-btn--secondary {
    border: 1px solid #d9e0e9;
    background: #fff;
    color: #18243a;
}

.cyberms-btn--secondary:hover {
    border-color: #b8c3d1;
    background: #f7f8fa;
}

.cyberms-cart-modal__suggestions {
    margin-top: 26px;
    border-top: 1px solid #e7ebf1;
    padding-top: 22px;
}

.cyberms-cart-modal__suggestions-head h3 {
    margin: 0 0 14px;
    color: #111b2e;
    font-size: 19px;
    font-weight: 850;
}

.cyberms-cart-modal__suggestions-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.cyberms-cart-modal-product {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr);
    min-width: 0;
    border: 1px solid #e3e8ef;
    border-radius: 12px;
    background: #fff;
    padding: 9px;
}

.cyberms-cart-modal-product__image {
    display: grid;
    height: 78px;
    place-items: center;
    border-radius: 8px;
    background: #f7f8fa;
    overflow: hidden;
}

.cyberms-cart-modal-product__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.cyberms-cart-modal-product__content {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 3px 0 2px 10px;
}

body.cyberms-storefront .cyberms-cart-modal-product__title {
    display: -webkit-box;
    overflow: hidden;
    color: #1a2840;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.35;
    text-decoration: none;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.cyberms-cart-modal-product__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 7px;
    margin-top: auto;
}

.cyberms-cart-modal-product__bottom strong {
    color: #111b2e;
    font-size: 12px;
    font-weight: 900;
}

body.cyberms-storefront .cyberms-cart-modal-product__add {
    border-radius: 7px;
    background: #111827;
    color: #fff;
    padding: 6px 9px;
    font-size: 10px;
    font-weight: 850;
    text-decoration: none;
}

.is-loading[data-ajax-add-to-cart] {
    pointer-events: none;
    opacity: .65;
}

.cyberms-cart-notice {
    position: fixed;
    z-index: 2300;
    right: 20px;
    bottom: 20px;
    max-width: min(390px, calc(100vw - 40px));
    border-radius: 10px;
    background: #a91d2d;
    color: #fff;
    box-shadow: 0 12px 38px rgb(13 20 34 / 22%);
    padding: 13px 16px;
    font-size: 12px;
    font-weight: 750;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 180ms ease, transform 180ms ease;
}

.cyberms-cart-notice.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 760px) {
    .cyberms-cart-modal-layer {
        align-items: flex-end;
        padding: 0;
    }

    .cyberms-cart-modal {
        width: 100%;
        max-height: min(90dvh, 840px);
        border-radius: 20px 20px 0 0;
        border-width: 1px 0 0;
        padding: 22px 18px 24px;
        transform: translateY(24px);
    }

    .cyberms-cart-modal__added {
        grid-template-columns: 74px minmax(0, 1fr);
        gap: 12px;
    }

    .cyberms-cart-modal__added-image {
        height: 68px;
    }

    .cyberms-cart-modal__added-price {
        grid-column: 2;
        text-align: left;
    }

    .cyberms-cart-modal__summary {
        grid-template-columns: 1fr;
    }

    .cyberms-cart-modal__actions {
        grid-template-columns: 1fr;
    }

    .cyberms-cart-modal__actions .cyberms-btn--primary {
        grid-row: 1;
    }

    .cyberms-cart-modal__suggestions-grid {
        grid-template-columns: 1fr;
    }
}

/* S8: below-the-fold rendering hints. */
@supports (content-visibility: auto) {
    .cyberms-home-section,
    .cyberms-product-content,
    .cyberms-product-related {
        content-visibility: auto;
        contain-intrinsic-size: 1px 760px;
    }
}


/* ========================================================================== */
/* S9 - mobile polish, accessibility and storefront edge cases                */
/* ========================================================================== */

html {
    scroll-padding-top: 18px;
}

body.cyberms-storefront {
    overflow-x: clip;
}

.cyberms-skip-link {
    position: fixed;
    z-index: 5000;
    top: 10px;
    left: 10px;
    transform: translateY(-160%);
    border-radius: 8px;
    padding: 10px 14px;
    color: #fff !important;
    background: #111827;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 8px 24px rgb(15 23 42 / 22%);
    transition: transform 140ms ease;
}

.cyberms-skip-link:focus {
    transform: translateY(0);
}

body.cyberms-storefront :where(a, button, input, select, textarea, summary):focus-visible {
    outline: 3px solid rgb(245 158 11 / 52%);
    outline-offset: 3px;
}

#main-content:focus {
    outline: 0;
}

.cyberms-mobile-menu-open {
    overflow: hidden;
}

.cyberms-product-richtext {
    min-width: 0;
    overflow-wrap: anywhere;
}

.cyberms-product-richtext :where(iframe, video, svg, canvas) {
    max-width: 100%;
}

.cyberms-product-richtext iframe,
.cyberms-product-richtext video {
    height: auto;
    aspect-ratio: 16 / 9;
}

.cyberms-product-richtext :where(pre, code) {
    max-width: 100%;
}

.cyberms-product-richtext pre {
    overflow-x: auto;
    border-radius: 9px;
    padding: 12px;
    background: #f8fafc;
    overscroll-behavior-inline: contain;
}

.cyberms-product-richtext :where(ul, ol) {
    padding-inline-start: 1.35rem;
}

.cyberms-product-richtext table {
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}

.cyberms-search-suggestions,
.cyberms-catalog-filters,
.cyberms-cart-modal {
    overscroll-behavior: contain;
}

.cyberms-cart-modal-layer {
    padding-bottom: max(18px, env(safe-area-inset-bottom));
}

.cyberms-cart-modal {
    max-height: 92vh;
    max-height: min(92dvh, 850px);
    overflow-y: auto;
}

.cyberms-cart-modal-product__title,
.cyberms-cart-modal__added-content > a {
    overflow-wrap: anywhere;
}

.cyberms-product-purchase__submit[aria-busy="true"],
.cyberms-product-card__cart[aria-busy="true"],
.cyberms-cart-modal-product__add[aria-busy="true"] {
    pointer-events: none;
    opacity: .68;
}

@media (max-width: 991.98px) {
    .cyberms-mobile-menu__panel {
        padding-top: env(safe-area-inset-top);
        padding-bottom: env(safe-area-inset-bottom);
    }

    .cyberms-search--mobile input {
        font-size: 16px;
    }

    .cyberms-catalog-filters {
        padding-bottom: env(safe-area-inset-bottom);
    }

    .cyberms-catalog-filters__mobile-head {
        min-height: calc(62px + env(safe-area-inset-top));
        padding-top: env(safe-area-inset-top);
    }
}

@media (max-width: 575.98px) {
    body.cyberms-storefront .container,
    .cyberms-product-page__container,
    .cyberms-catalog-page .cyberms-storefront-container {
        max-width: 100%;
    }

    .cyberms-product-gallery__stage {
        height: min(330px, 88vw);
    }

    .cyberms-product-gallery__thumbs,
    .cyberms-product-content__nav,
    .cyberms-active-filters {
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-inline: contain;
    }

    .cyberms-product-gallery__thumbs::-webkit-scrollbar,
    .cyberms-product-content__nav::-webkit-scrollbar,
    .cyberms-active-filters::-webkit-scrollbar {
        display: none;
    }

    .cyberms-quantity-stepper input,
    .cyberms-price-filter input {
        font-size: 16px;
    }

    .cyberms-product-mobile-bar {
        padding-left: max(12px, env(safe-area-inset-left));
        padding-right: max(12px, env(safe-area-inset-right));
    }

    .cyberms-product-mobile-bar a {
        min-width: 120px;
    }

    .cyberms-product-description {
        overflow: hidden;
    }

    .cyberms-product-richtext {
        font-size: 13px;
        line-height: 1.65;
    }

    .cyberms-cart-modal-layer {
        align-items: flex-end;
        padding-right: 0;
        padding-left: 0;
    }

    .cyberms-cart-modal {
        width: 100%;
        max-height: 88vh;
        max-height: 88dvh;
        border-bottom-right-radius: 0;
        border-bottom-left-radius: 0;
    }
}

@media (hover: none) and (pointer: coarse) {
    .cyberms-icon-button,
    .cyberms-mobile-menu__close,
    .cyberms-catalog-filter-trigger,
    .cyberms-catalog-filters__mobile-head button,
    .cyberms-product-gallery__thumb,
    .cyberms-product-purchase__submit,
    .cyberms-product-mobile-bar a,
    .cyberms-cart-modal__close,
    .cyberms-cart-modal-product__add {
        min-height: 44px;
    }
}

/* ---------- C3 category tree storefront ---------- */
.cyberms-category-children{margin:0 0 22px;padding:18px;border:1px solid #dfe5ee;border-radius:14px;background:#fff;box-shadow:0 5px 20px rgb(16 25 43 / 4%)}
.cyberms-category-children__head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}
.cyberms-category-children__head h2{margin:3px 0 0;color:#111b2e;font-size:20px;font-weight:800;letter-spacing:-.02em}
.cyberms-category-children__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.cyberms-category-child-card{position:relative;display:flex;min-height:78px;flex-direction:column;justify-content:center;border:1px solid #e2e7ef;border-radius:11px;background:#f9fafc;padding:13px 38px 13px 14px;color:#16233a;text-decoration:none;transition:border-color 150ms ease,box-shadow 150ms ease,transform 150ms ease,background 150ms ease}
.cyberms-category-child-card:hover{border-color:#ffc247;background:#fff;box-shadow:0 8px 24px rgb(16 25 43 / 7%);transform:translateY(-1px)}
.cyberms-category-child-card__name{font-size:13px;font-weight:800;line-height:1.35}
.cyberms-category-child-card small{margin-top:4px;color:#7b889a;font-size:11px;font-weight:650}
.cyberms-category-child-card__arrow{position:absolute;top:50%;right:14px;transform:translateY(-50%);color:#c77800;font-size:19px;line-height:1}
.cyberms-filter-children{margin-left:calc(16px + (var(--category-depth,0) * 3px))}
.cyberms-filter-check[style]{padding-left:calc(var(--category-depth,0) * 2px)}
.cyberms-category-tree-links{padding-left:10px;padding-right:10px}
.cyberms-category-tree-link{display:flex;align-items:center;min-height:34px;border-radius:8px;margin:1px 0;padding:6px 8px 6px calc(8px + (var(--category-depth,0) * 14px));color:#42526a;font-size:12px;font-weight:700;line-height:1.3;text-decoration:none}
.cyberms-category-tree-link:hover{background:#f5f7fa;color:#17233a}
.cyberms-category-tree-link.is-current{background:#fff4d9;color:#8a4b00;font-weight:850}
.cyberms-category-tree-link--all{margin-bottom:7px;border-bottom:1px solid #edf0f4;border-radius:0;padding-bottom:10px;color:#17233a;font-weight:850}
.cyberms-category-tree-branch{margin:0}
@media(max-width:1279px){.cyberms-category-children__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:740px){.cyberms-category-children{padding:14px}.cyberms-category-children__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:479px){.cyberms-category-children__grid{grid-template-columns:1fr}.cyberms-category-child-card{min-height:64px}}
