/*
 * Victor Scientific Co. — Victor Home Design.
 * Original implementation for Victor Scientific Co.; no third-party branding/assets.
 */
:root {
    --vsc-red: var(--site-primary, #073c63);
    --vsc-red-dark: var(--site-secondary, #0f6f8f);
    --vsc-navy: var(--site-secondary, #0f6f8f);
    --vsc-ink: #202636;
    --vsc-muted: #697386;
    --vsc-line: #e3e7ed;
    --vsc-soft: #f5f6f8;
    --vsc-green: #149447;
    --vsc-secondary: var(--site-secondary, #0f6f8f);
}

body.victor-homepage {
    --vsc-red: var(--site-primary, #073c63);
    --vsc-red-dark: var(--site-secondary, #0f6f8f);
    --vsc-navy: var(--site-secondary, #0f6f8f);
    --vsc-ink: #202636;
    --vsc-muted: #697386;
    --vsc-line: #e3e7ed;
    --vsc-soft: #f5f6f8;
    --vsc-green: #149447;
    --vsc-secondary: var(--site-secondary, #0f6f8f);
    background: #f5f6f8;
    color: var(--vsc-ink);
}
body.victor-homepage #content {
    margin: 0 !important;
    padding-top: 0 !important;
    background: #f5f6f8;
}
body.victor-homepage header#navbar_top,
body.victor-homepage .main-header,
body.victor-homepage .menu-area { margin-bottom: 0 !important; }
body.victor-homepage .container { width: 100%; max-width: 1340px; }
@media (min-width: 1200px) {
    body.victor-homepage .container { width: calc(100% - 20px) !important; max-width: none !important; }
}
body.victor-homepage footer { margin-top: 0; }
body.victor-homepage .float { left: auto; right: 28px; bottom: 28px; }

/* Homepage utility/header treatment — improved readability without changing banner geometry. */
.vsc-topline {
    position: relative;
    z-index: 101;
    background: var(--vsc-secondary, var(--vsc-red-dark));
    color: #fff;
    font-size: 14px;
    line-height: 1.35;
}
.vsc-topline__inner {
    display: flex;
    min-height: 42px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}
.vsc-topline__message,
.vsc-topline__links { display: flex; align-items: center; gap: 16px; }
.vsc-topline__message { min-width: 0; }
.vsc-topline__message span { font-size: 14px; line-height: 1.35; }
.vsc-topline__message i { color: #fff; flex: 0 0 auto; }
.vsc-topline__links { flex: 0 0 auto; }
.vsc-topline__links a { font-size: 14px; line-height: 1.35; white-space: nowrap; }
.vsc-topline a { color: #fff !important; font-weight: 600; }
.vsc-topline a:hover { text-decoration: underline; }
@media (min-width: 992px) and (max-width: 1199.98px) {
    .vsc-topline { font-size: 13px; }
    .vsc-topline__inner { gap: 14px; min-height: 40px; }
    .vsc-topline__message span,
    .vsc-topline__links a { font-size: 13px; }
    .vsc-topline__message,
    .vsc-topline__links { gap: 11px; }
}

body.victor-homepage header#navbar_top {
    position: relative;
    z-index: 100;
    background: #fff;
    box-shadow: 0 7px 22px rgba(26, 34, 48, .09);
}
body.victor-homepage .main-header .logo-area { padding: 16px 0; background: #fff; }
body.victor-homepage .logo-header { display: grid; grid-template-columns: 220px minmax(330px, 1fr) auto; align-items: center; gap: 28px; }
body.victor-homepage .main-logo { width: 220px; }
body.victor-homepage .main-logo img { width: 100%; max-height: 64px; object-fit: contain; object-position: left center; }
body.victor-homepage .main-search { width: 100%; }
body.victor-homepage .main-search form {
    display: grid;
    grid-template-columns: 1fr 62px;
    overflow: hidden;
    height: 52px;
    border: 2px solid var(--vsc-red);
    border-radius: 7px;
    background: #fff;
    box-shadow: none;
}
body.victor-homepage .main-search form input {
    width: 100%;
    height: 48px;
    padding: 0 18px;
    border: 0 !important;
    outline: 0;
    background: #fff;
    color: #1d2535;
    font-size: 14px;
}
body.victor-homepage .main-search form button {
    display: grid;
    width: 62px;
    height: 50px;
    place-items: center;
    border: 0;
    border-radius: 0;
    background: var(--vsc-red);
    color: #fff;
    font-size: 18px;
}
body.victor-homepage .header-list-items > ul { display: flex; align-items: center; gap: 9px; margin: 0; }
body.victor-homepage .header-list-items > ul > li { margin: 0; }
body.victor-homepage .header-list-items .track_btn > a,
body.victor-homepage .header-list-items .quote_btn > a,
body.victor-homepage .cart-dialog > a {
    display: flex;
    min-height: 48px;
    align-items: center;
    gap: 8px;
    padding: 0 14px;
    border: 1px solid #e2e5ea;
    border-radius: 7px;
    color: #273043 !important;
    background: #fff;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}
body.victor-homepage .header-list-items .quote_btn > a { border-color: var(--vsc-red); color: var(--vsc-red) !important; }
body.victor-homepage .header-list-items i { color: var(--vsc-red); font-size: 16px; }
body.victor-homepage .cart-dialog .margin-shopping { position: relative; margin: 0; }
body.victor-homepage .cart-dialog .margin-shopping span {
    position: absolute;
    top: -14px;
    right: -16px;
    display: grid;
    width: 19px;
    height: 19px;
    place-items: center;
    border-radius: 50%;
    background: var(--vsc-red);
    color: #fff;
    font-size: 9px;
}
body.victor-homepage .menu-area { background: var(--vsc-navy); border: 0; }
body.victor-homepage .catagory_menu { min-height: 48px; }
body.victor-homepage .heder__category { display: flex; min-height: 48px; align-items: center; gap: 3px; }
body.victor-homepage .heder__category > div > li > a,
body.victor-homepage .heder__category .for_order a {
    display: flex;
    min-height: 48px;
    align-items: center;
    padding: 0 17px;
    color: #fff !important;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}
body.victor-homepage .heder__category > div > li > a:hover { background: rgba(255,255,255,.08); }
body.victor-homepage .heder__category > div:first-child { margin-right: 0; }
body.victor-homepage .heder__category .all__category__list > a { min-width: 235px; justify-content: space-between; background: var(--vsc-red); }
body.victor-homepage .vsc-home-category-menu {
    flex: 0 0 252px;
    align-self: stretch;
    position: relative;
    z-index: 30;
}
body.victor-homepage .vsc-home-category-heading { width: 100%; height: 100%; }
body.victor-homepage .vsc-home-category-heading > a {
    position: relative;
    display: flex;
    width: 100%;
    min-width: 0 !important;
    height: 48px;
    align-items: center;
    justify-content: center !important;
    padding: 0 46px !important;
    overflow: hidden;
    border: 0;
    border-radius: 8px 8px 0 0;
    background: var(--vsc-red) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: .015em;
    text-align: center;
    box-shadow: none;
}
body.victor-homepage .vsc-home-category-heading > a::before { content: none; }
body.victor-homepage .vsc-home-category-heading__label {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body.victor-homepage .vsc-home-category-heading__icon,
body.victor-homepage .vsc-home-category-heading__arrow {
    position: absolute;
    top: 50%;
    z-index: 3;
    transform: translateY(-50%);
}
body.victor-homepage .vsc-home-category-heading__icon {
    left: 20px;
    display: inline-flex;
    width: 18px;
    height: 14px;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    line-height: 0;
}
body.victor-homepage .vsc-home-category-heading__icon span {
    display: block;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
}
body.victor-homepage .vsc-home-category-heading__icon span:nth-child(1) { width: 18px; }
body.victor-homepage .vsc-home-category-heading__icon span:nth-child(2) { width: 14px; }
body.victor-homepage .vsc-home-category-heading__icon span:nth-child(3) { width: 10px; }
body.victor-homepage .vsc-home-category-heading__arrow { right: 20px; font-size: 10px; opacity: .9; }

/* Dedicated transition space between the category utility and the main navigation. */
body.victor-homepage .vsc-home-nav-separator {
    position: relative;
    flex: 0 0 42px;
    align-self: stretch;
    min-height: 48px;
    pointer-events: none;
}
body.victor-homepage .vsc-home-nav-separator::before {
    content: "";
    position: absolute;
    top: 12px;
    left: 20px;
    width: 1px;
    height: 24px;
    background: rgba(255,255,255,.24);
}
body.victor-homepage .vsc-home-nav-separator::after {
    content: "";
    position: absolute;
    top: 22px;
    left: 17px;
    width: 7px;
    height: 7px;
    border: 2px solid var(--vsc-navy);
    border-radius: 50%;
    background: rgba(255,255,255,.42);
}

/* Home starts the main-menu flow and intentionally uses the same geometry as
   Shop/Offers, with a restrained active-state marker instead of a second block. */
body.victor-homepage .vsc-home-primary-link {
    position: relative;
    flex: 0 0 auto;
    margin-right: 2px;
}
body.victor-homepage .vsc-home-primary-link > li > a {
    position: relative;
    min-height: 48px !important;
    margin: 0;
    padding: 0 19px !important;
    gap: 0;
    border: 0;
    border-radius: 0;
    background: rgba(255,255,255,.055);
    box-shadow: none;
}
body.victor-homepage .vsc-home-primary-link > li > a::after {
    content: "";
    position: absolute;
    right: 16px;
    bottom: 0;
    left: 16px;
    height: 3px;
    border-radius: 3px 3px 0 0;
    background: var(--vsc-red);
}
body.victor-homepage .vsc-home-primary-link > li > a:hover { background: rgba(255,255,255,.1) !important; }
body.victor-homepage .vsc-home-primary-link > li > a span { line-height: 1; }
body.victor-homepage .right__menu__top { margin-left: auto; }
body.victor-homepage .right__menu__top .for_order p { margin: 0; }
body.victor-homepage .mobile-header,
body.victor-homepage .mobile-search { background: #fff; }
body.victor-homepage .mobile-search form { overflow: hidden; border: 2px solid var(--vsc-red); border-radius: 7px; }
body.victor-homepage .mobile-search button { background: var(--vsc-red); }

/* Homepage base */
.vsc-home,
.vsc-home * { box-sizing: border-box; }
.vsc-home { overflow: hidden; font-family: "Poppins", "Noto Sans Bengali", Arial, sans-serif; }
.vsc-home img { display: block; max-width: 100%; }
.vsc-home a { text-decoration: none; }
.vsc-home ul { margin: 0; padding: 0; list-style: none; }
.vsc-home button,
.vsc-home input,
.vsc-home textarea { font: inherit; }
.vsc-empty-state { grid-column: 1 / -1; padding: 35px; border: 1px dashed #ccd2db; border-radius: 8px; color: var(--vsc-muted); text-align: center; background: #fff; }

/* Storefront: category + wide slider */
.vsc-storefront { padding: 0; background: #f5f6f8; }
.vsc-storefront-grid {
    display: grid;
    grid-template-columns: 252px minmax(0, 1fr);
    gap: 10px;
    align-items: stretch;
}
.vsc-category-panel,
.vsc-main-slider { height: 396px; min-height: 396px; }
.vsc-category-panel {
    position: relative;
    z-index: 20;
    display: flex;
    flex-direction: column;
    overflow: visible;
    border: 1px solid var(--vsc-line);
    border-top: 0;
    border-radius: 0 0 8px 8px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(30, 37, 52, .07);
}
.vsc-category-panel__title {
    display: flex;
    height: 50px;
    align-items: center;
    gap: 11px;
    padding: 0 17px;
    border-bottom: 1px solid #e9ebef;
    color: #202636;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: .01em;
    text-transform: uppercase;
}
.vsc-category-panel__title i { color: var(--vsc-red); }
.vsc-category-panel > ul {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    flex-direction: column;
    padding: 5px 0;
}
.vsc-category-panel > ul > li { position: relative; flex: 1 1 0; min-height: 0; }
.vsc-category-panel > ul > li > a {
    display: grid;
    grid-template-columns: 30px 1fr 12px;
    height: 100%;
    min-height: 0;
    align-items: center;
    gap: 8px;
    padding: 1px 14px;
    color: #394154 !important;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.3;
}
.vsc-category-panel > ul > li > a > span:nth-child(2) {
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.vsc-category-panel > ul > li > a:hover { color: var(--vsc-red) !important; background: var(--site-primary-soft, #f5f6f8); }
.vsc-category-panel__icon { display: grid; width: 27px; height: 27px; place-items: center; overflow: hidden; border-radius: 5px; background: #f4f5f7; color: var(--vsc-red); }
.vsc-category-panel__icon img { width: 23px; height: 23px; object-fit: contain; }
.vsc-category-panel > ul > li > a > i { color: #abb1bc; font-size: 9px; }
.vsc-category-panel__all {
    position: relative;
    display: flex;
    flex: 0 0 40px;
    width: 100%;
    height: 40px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border-top: 1px solid #eceef2;
    border-radius: 0 0 7px 7px;
    color: var(--vsc-red) !important;
    background: #fafbfc;
    font-size: 11.5px;
    font-weight: 800;
    transition: background .2s ease, color .2s ease;
}
.vsc-category-panel__all:hover { color: #fff !important; background: var(--vsc-red); }
.vsc-category-panel__empty { padding: 20px; color: var(--vsc-muted); font-size: 11px; }
.vsc-category-flyout {
    position: absolute;
    top: -6px;
    left: calc(100% + 7px);
    z-index: 60;
    display: none;
    width: 370px;
    min-height: 170px;
    padding: 20px;
    border: 1px solid var(--vsc-line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(25, 34, 50, .18);
}
.vsc-category-panel li:hover > .vsc-category-flyout { display: block; }
.vsc-category-flyout > strong { display: block; margin-bottom: 13px; color: #1f2738; font-size: 15px; }
.vsc-category-flyout > div { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 18px; }
.vsc-category-flyout a { color: #5b6474 !important; font-size: 11px; }
.vsc-category-flyout a:hover { color: var(--vsc-red) !important; }

.vsc-main-slider { position: relative; overflow: hidden; border-radius: 8px; background: #dfe3e8; box-shadow: 0 4px 15px rgba(30, 37, 52, .07); }
.vsc-slider-stage { position: relative; width: 100%; height: 396px; min-height: 396px; overflow: hidden; border-radius: inherit; background: #dfe3e8; }
.vsc-slide { position: absolute; inset: 0; z-index: 0; display: block; overflow: hidden; line-height: 0; opacity: 0; visibility: hidden; transition: opacity .15s ease; pointer-events: none; }
.vsc-slide.is-active { z-index: 2; opacity: 1; visibility: visible; pointer-events: auto; }
.vsc-slide > img { width: 100%; height: 396px; object-fit: contain; object-position: center; background: transparent; }
.vsc-slide--image::before {
    content: "";
    position: absolute;
    inset: -18px;
    z-index: 0;
    background-image: var(--vsc-slide-bg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    filter: blur(16px);
    opacity: .32;
    transform: scale(1.05);
    pointer-events: none;
}
.vsc-slide--image > img { position: relative; z-index: 1; }
.vsc-slide--fallback {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    align-items: center;
    padding: 46px;
    background: radial-gradient(circle at 92% 20%, rgba(255,255,255,.18), transparent 27%), linear-gradient(135deg, var(--vsc-red-dark), var(--vsc-red));
    color: #fff;
}
.vsc-slide--fallback > div { position: relative; z-index: 2; }
.vsc-slide--fallback > div > span { font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.vsc-slide--fallback h1 { margin: 13px 0 14px; color: #fff; font-size: clamp(31px, 3.5vw, 48px); line-height: 1.13; font-weight: 800; }
.vsc-slide--fallback p { max-width: 570px; color: #ffe8ea; font-size: 13px; line-height: 1.7; }
.vsc-slide--fallback > img { width: 100%; height: 290px; object-fit: contain; filter: drop-shadow(0 20px 22px rgba(0,0,0,.22)); }
.vsc-slide-actions { display: flex; gap: 10px; margin-top: 24px; }
.vsc-slider-arrow {
    position: absolute;
    top: 50%;
    z-index: 6;
    display: grid;
    width: 37px;
    height: 50px;
    place-items: center;
    transform: translateY(-50%);
    border: 0;
    background: rgba(15, 20, 31, .55);
    color: #fff;
    cursor: pointer;
    opacity: 0;
    transition: .2s ease;
}
.vsc-main-slider:hover .vsc-slider-arrow { opacity: 1; }
.vsc-slider-arrow--prev { left: 0; border-radius: 0 5px 5px 0; }
.vsc-slider-arrow--next { right: 0; border-radius: 5px 0 0 5px; }
.vsc-slider-dots { position: absolute; z-index: 7; right: 0; bottom: 15px; left: 0; display: flex; justify-content: center; gap: 7px; }
.vsc-slider-dots button { width: 9px; height: 9px; padding: 0; border: 1px solid #fff; border-radius: 50%; background: rgba(255,255,255,.4); cursor: pointer; }
.vsc-slider-dots button.is-active { width: 25px; border-radius: 8px; background: #fff; }

.vsc-quick-links {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 10px;
    border: 1px solid var(--vsc-line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 4px 15px rgba(30, 37, 52, .04);
}
.vsc-quick-links > a { display: flex; min-height: 77px; align-items: center; gap: 12px; padding: 14px 20px; border-right: 1px solid var(--vsc-line); color: #30384a !important; }
.vsc-quick-links > a:last-child { border-right: 0; }
.vsc-quick-links > a > i { display: grid; flex: 0 0 39px; width: 39px; height: 39px; place-items: center; border-radius: 50%; background: var(--site-primary-soft, #f5f6f8); color: var(--vsc-red); font-size: 15px; }
.vsc-quick-links strong,
.vsc-quick-links small { display: block; }
.vsc-quick-links strong { font-size: 12px; }
.vsc-quick-links small { margin-top: 3px; color: #89909d; font-size: 9.5px; }

/* Anchor target hardening: Top Brands is a direct homepage shortcut target.
   Keep its layout measurable so hash navigation lands on the actual section. */
.vsc-home #top-brands {
    scroll-margin-top: 96px;
}

/* Shared sections */
.vsc-section { padding: 44px 0; background: #fff; }
.vsc-section--compact { padding-top: 30px; }
/* Final homepage spacing lock (2026-10-08).
   Keep the gap above Featured Categories visually identical to the 10px gap
   used between the homepage banner and Quick Links on both desktop and mobile.
   This is intentionally isolated to this section so other homepage spacing is untouched. */
body.victor-homepage #featured-categories {
    margin-top: 10px;
    padding-top: 0;
}
.vsc-section--soft { background: #f5f6f8; }
.vsc-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 18px; }
.vsc-section-head > div > span,
.vsc-quote-info > span,
.vsc-info-layout > div:first-child > span { color: var(--vsc-red); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.vsc-section-head h2,
.vsc-quote-info h2,
.vsc-info-layout h2 { margin: 6px 0 0; color: #1d2535; font-size: clamp(25px, 2.5vw, 35px); line-height: 1.22; font-weight: 800; }
.vsc-info-layout > div:first-child > span { font-size: 15px; letter-spacing: .08em; line-height: 1.35; }
.vsc-section-head p { margin: 8px 0 0; color: #566173; font-size: 13px; line-height: 1.65; }
.vsc-section-head > a { display: inline-flex; align-items: center; gap: 8px; padding-bottom: 4px; border-bottom: 1px solid var(--vsc-red); color: var(--vsc-red) !important; font-size: 11px; font-weight: 800; white-space: nowrap; }
.vsc-primary-btn,
.vsc-secondary-btn {
    display: inline-flex;
    min-height: 45px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 20px;
    border: 1px solid transparent;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}
.vsc-primary-btn { border-color: var(--vsc-red); background: var(--vsc-red); color: #fff !important; }
.vsc-primary-btn:hover { background: var(--vsc-red-dark); }
.vsc-primary-btn--block { width: 100%; }
.vsc-secondary-btn { border-color: #fff; background: #fff; color: var(--vsc-red) !important; }

/* Category cards */
.vsc-featured-categories { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.vsc-featured-category {
    display: grid;
    min-height: 177px;
    place-items: center;
    align-content: center;
    padding: 18px 12px;
    border: 1px solid var(--vsc-line);
    border-radius: 8px;
    color: #273043 !important;
    background: #fff;
    text-align: center;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.vsc-featured-category:hover { transform: translateY(-4px); border-color: var(--site-primary-line, var(--vsc-red)); box-shadow: 0 12px 28px rgba(28, 36, 51, .08); }
.vsc-featured-category > span { display: grid; width: 91px; height: 91px; place-items: center; overflow: hidden; margin-bottom: 12px; border-radius: 50%; background: #f5f6f8; color: var(--vsc-red); font-size: 30px; }
.vsc-featured-category img { width: 76px; height: 76px; object-fit: contain; }
.vsc-featured-category strong { min-height: 34px; font-size: 12px; line-height: 1.4; }
.vsc-featured-category small { margin-top: 3px; color: #9097a4; font-size: 9px; }

/* Promo banners */
.vsc-promo-banner { padding: 0 0 30px; background: #fff; }
.vsc-promo-banner a { display: block; overflow: hidden; border-radius: 8px; background: #eceff2; }
.vsc-promo-banner img { width: 100%; max-height: 265px; object-fit: cover; }
.vsc-corporate-banner { padding: 0 0 40px; background: #f5f6f8; }
.vsc-corporate-banner__inner {
    display: grid;
    grid-template-columns: 82px 1fr auto;
    align-items: center;
    gap: 24px;
    min-height: 180px;
    padding: 32px 38px;
    overflow: hidden;
    border-radius: 9px;
    background: radial-gradient(circle at 86% 0%, rgba(255,255,255,.13), transparent 28%), linear-gradient(135deg, var(--vsc-navy), var(--vsc-red-dark));
    color: #fff;
}
.vsc-corporate-banner__icon { display: grid; width: 76px; height: 76px; place-items: center; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; background: rgba(255,255,255,.08); color: #fff; font-size: 30px; }
.vsc-corporate-banner span { color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.vsc-corporate-banner h2 { max-width: 850px; margin: 7px 0 5px; color: #fff; font-size: clamp(23px, 2.4vw, 34px); line-height: 1.25; }
.vsc-corporate-banner p { margin: 0; color: #bbc3d0; font-size: 11px; }
.vsc-corporate-banner__inner > a { display: inline-flex; min-height: 46px; align-items: center; gap: 8px; padding: 0 21px; border-radius: 6px; color: #fff !important; background: var(--vsc-red); font-size: 12px; font-weight: 800; white-space: nowrap; }

/* Product cards: compact five-column ecommerce layout */
.vsc-product-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.vsc-product-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #dfe3e8;
    border-radius: 7px;
    background: #fff;
}
.vsc-product-card:hover { transform: translateY(-4px); border-color: var(--site-primary-line, var(--vsc-red)); box-shadow: 0 13px 30px rgba(27, 35, 50, .1); }
.vsc-product-card__media { position: relative; display: block; padding: 15px; border-bottom: 1px solid #edf0f3; background: #fff; }
.vsc-product-card__media img { width: 100%; height: 190px; object-fit: contain; }
.vsc-product-badge { position: absolute; z-index: 2; top: 11px; left: 10px; padding: 5px 7px; border-radius: 3px; background: var(--vsc-red); color: #fff; font-weight: 800; text-transform: uppercase; }
.vsc-product-card__body { display: flex; flex: 1; flex-direction: column; padding: 14px; }
.vsc-product-meta { display: flex; min-height: 18px; justify-content: space-between; gap: 8px; color: #8b93a0; font-size: 8.5px; }
.vsc-product-meta > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vsc-product-meta i { color: #efb21a; }
.vsc-product-card h3 { min-height: 58px; margin: 8px 0 7px; font-size: 12px; line-height: 1.55; font-weight: 700; }
.vsc-product-card h3 a { color: #293143 !important; }
.vsc-product-card h3 a:hover { color: var(--vsc-red) !important; }
.vsc-product-points { min-height: 40px; margin: 0 0 10px !important; color: #717b8b; font-size: 9px; line-height: 1.5; }
.vsc-product-points li { position: relative; padding-left: 10px; }
.vsc-product-points li::before { content: "•"; position: absolute; left: 0; color: #a6aeba; }
.vsc-product-price { display: flex; min-height: 28px; flex-direction: column; justify-content: flex-end; margin-top: auto; }
.vsc-product-price__row { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 8px; }
.vsc-product-price__values { display: flex; min-width: 0; align-items: center; flex-wrap: wrap; gap: 7px; }
.vsc-product-price strong { color: var(--vsc-red); font-size: 15px; }
.vsc-product-price del { color: #999fab; font-size: 9.5px; }
.vsc-product-stock-inline { display: inline-flex; flex: 0 0 auto; align-items: center; margin-left: auto; padding: 0; border: 0; background: transparent; color: #198754; box-shadow: none; font-size: 9px; font-weight: 800; line-height: 1.25; white-space: nowrap; }
.vsc-product-stock-inline.is-in::before { content: '✓'; display: inline-grid; width: 14px; height: 14px; place-items: center; margin-right: 4px; border-radius: 50%; background: #198754; color: #fff; font-size: 8px; font-weight: 900; line-height: 1; }
.vsc-product-stock-inline.is-out { color: #b51622; }
.vsc-product-stock-inline.is-out::before { content: '✕'; display: inline-grid; width: 14px; height: 14px; place-items: center; margin-right: 4px; border-radius: 50%; background: #b51622; color: #fff; font-size: 8px; font-weight: 900; line-height: 1; }
.vsc-product-actions { display: grid; grid-template-columns: 39px 1fr; gap: 7px; margin-top: 8px; }
.vsc-product-actions form { width: 100%; }
.vsc-icon-btn,
.vsc-cart-btn,
.vsc-order-btn { display: flex; width: 100%; min-height: 39px; align-items: center; justify-content: center; gap: 6px; border: 1px solid #dfe3e8; border-radius: 999px; font-size: 10px; font-weight: 800; cursor: pointer; }
.vsc-icon-btn { color: #111111 !important; background: #fff; }
.vsc-cart-btn {
    position: relative;
    z-index: 1;
    border-color: var(--site-cart, #0f6f8f) !important;
    color: #fff !important;
    background-color: var(--site-cart, #0f6f8f) !important;
    background-image: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-decoration: none !important;
    -webkit-text-fill-color: #fff;
    box-shadow: 0 3px 8px rgba(20, 30, 45, .18);
}
.vsc-cart-btn i,
.vsc-cart-btn svg,
.vsc-order-btn i,
.vsc-order-btn svg { color: #fff !important; fill: currentColor; opacity: 1 !important; visibility: visible !important; }
.vsc-cart-btn:hover,
.vsc-cart-btn:focus,
.vsc-cart-btn:active {
    border-color: var(--site-accent, var(--site-secondary, #0f6f8f)) !important;
    color: #fff !important;
    background-color: var(--site-accent, var(--site-secondary, #0f6f8f)) !important;
    background-image: none !important;
    -webkit-text-fill-color: #fff;
    outline: 0;
}
 .vsc-cart-btn:focus-visible { box-shadow: 0 0 0 3px rgba(15, 23, 42, .18); }

.vsc-order-btn {
    border-color: var(--site-buy-now, var(--site-primary, #073c63)) !important;
    color: #fff !important;
    background-color: var(--site-buy-now, var(--site-primary, #073c63)) !important;
}
.vsc-order-btn:hover,
.vsc-order-btn:focus,
.vsc-order-btn:active {
    border-color: var(--site-secondary, var(--site-buy-now, #073c63)) !important;
    color: #fff !important;
    background-color: var(--site-secondary, var(--site-buy-now, #073c63)) !important;
}

/* Brands */
.vsc-brand-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
.vsc-brand-card { display: grid; min-height: 112px; place-items: center; align-content: center; gap: 9px; padding: 13px; border: 1px solid #d8dde5; border-radius: 8px; color: #273144 !important; background: #fff; text-align: center; transition: .2s ease; box-shadow: 0 2px 8px rgba(29,37,52,.04); }
.vsc-brand-card:hover { transform: translateY(-3px); border-color: var(--site-primary-line, var(--vsc-red)); box-shadow: 0 9px 20px rgba(29, 37, 52, .07); }
.vsc-brand-card img { width: 100%; height: 49px; object-fit: contain; }
.vsc-brand-card span { color: #273144 !important; font-size: 11px; line-height: 1.35; font-weight: 800; }

/* Quote */
.vsc-quote-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 58px; align-items: start; }
.vsc-quote-info > p { max-width: 560px; margin: 16px 0 23px; color: #687285; font-size: 13px; line-height: 1.75; }
.vsc-contact-cards { display: grid; gap: 9px; }
.vsc-contact-cards a { display: flex; align-items: center; gap: 12px; min-height: 60px; padding: 10px 14px; border: 1px solid var(--vsc-line); border-radius: 7px; color: #384154 !important; background: #fff; }
.vsc-contact-cards a > i { display: grid; flex: 0 0 38px; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: var(--site-primary-soft, #f5f6f8); color: var(--vsc-red); }
.vsc-contact-cards small { display: block; margin-bottom: 2px; color: #9198a4; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.vsc-contact-cards span { overflow-wrap: anywhere; font-size: 11px; font-weight: 700; }
.vsc-quote-form { padding: 27px; border: 1px solid var(--vsc-line); border-radius: 9px; background: #fff; box-shadow: 0 18px 45px rgba(29, 37, 52, .09); }
.vsc-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.vsc-form-grid label { display: block; }
.vsc-form-grid label > span { display: block; margin-bottom: 6px; color: #4d5667; font-size: 10px; font-weight: 700; }
.vsc-form-grid input,
.vsc-form-grid textarea { width: 100%; padding: 11px 13px; border: 1px solid #dce1e7 !important; border-radius: 5px; outline: 0; color: #273043; background: #fafbfc; font-size: 12px; }
.vsc-form-grid input { height: 44px; }
.vsc-form-grid textarea { min-height: 132px; resize: vertical; }
.vsc-form-grid input:focus,
.vsc-form-grid textarea:focus { border-color: var(--vsc-red) !important; background: #fff; box-shadow: 0 0 0 3px rgba(15, 23, 42, .10); }
.vsc-field-full { grid-column: 1 / -1; }
.vsc-quote-form > .vsc-primary-btn { margin-top: 15px; }
.vsc-form-note { margin: 9px 0 0; color: #939aa5; font-size: 8.5px; text-align: center; }

/* SEO copy and FAQs */
.vsc-info-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 62px; align-items: start; }
.vsc-info-layout > div:first-child p { margin: 17px 0 0; color: #687285; font-size: 12px; line-height: 1.9; }
.vsc-faq-list { display: grid; gap: 8px; }
.vsc-faq-list details { overflow: hidden; border: 1px solid var(--vsc-line); border-radius: 7px; background: #fff; }
.vsc-faq-list summary { position: relative; padding: 15px 42px 15px 16px; color: #313a4c; font-size: 11px; font-weight: 700; cursor: pointer; list-style: none; }
.vsc-faq-list summary::-webkit-details-marker { display: none; }
.vsc-faq-list summary::after { content: "+"; position: absolute; top: 50%; right: 16px; transform: translateY(-50%); color: var(--vsc-red); font-size: 18px; }
.vsc-faq-list details[open] summary::after { content: "−"; }
.vsc-faq-list details p { padding: 0 16px 15px; color: #70798a; font-size: 10px; line-height: 1.7; }

/* Responsive */
@media (max-width: 1240px) {
    body.victor-homepage .logo-header { grid-template-columns: 190px minmax(270px, 1fr) auto; gap: 18px; }
    body.victor-homepage .main-logo { width: 190px; }
    body.victor-homepage .header-list-items .quote_btn { display: none; }
    .vsc-storefront-grid { grid-template-columns: 240px minmax(0, 1fr); }
    body.victor-homepage .vsc-home-category-menu { flex-basis: 240px; }
    body.victor-homepage .vsc-home-nav-separator { flex-basis: 34px; }
    .vsc-product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .vsc-featured-categories { grid-template-columns: repeat(5, 1fr); }
    .vsc-brand-grid { grid-template-columns: repeat(6, 1fr); }
}
@media (max-width: 1050px) {
    .vsc-storefront-grid { grid-template-columns: 230px minmax(0, 1fr); }
    body.victor-homepage .vsc-home-category-menu { flex-basis: 230px; }
    body.victor-homepage .vsc-home-nav-separator { flex-basis: 26px; }
    .vsc-category-panel,
    .vsc-main-slider { height: 396px; min-height: 396px; }
    .vsc-slider-stage { height: 396px; min-height: 396px; }
    .vsc-slide > img { height: 396px; }
    .vsc-quick-links { grid-template-columns: repeat(2, 1fr); }
    .vsc-quick-links > a { border-top: 1px solid var(--vsc-line); }
    .vsc-quick-links > a:nth-child(-n+2) { border-top: 0; }
    .vsc-quick-links > a:nth-child(odd) { border-right: 1px solid var(--vsc-line); }
    .vsc-quick-links > a:nth-child(even) { border-right: 0; }
    .vsc-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .vsc-featured-categories { grid-template-columns: repeat(4, 1fr); }
    .vsc-brand-grid { grid-template-columns: repeat(5, 1fr); }
}
@media (max-width: 991px) {
    .vsc-topline { display: none; }
    .vsc-storefront { padding-top: 0; }
    .vsc-storefront-grid { grid-template-columns: 1fr; }
    .vsc-category-panel { display: none; }
    .vsc-main-slider,
    .vsc-slider-stage {
        width: 100%;
        height: auto;
        min-height: 0;
        aspect-ratio: 3312 / 1234;
    }
    .vsc-slide > img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center;
    }
    .vsc-slide--image::before { display: none; }
    .vsc-slide--fallback { padding: 35px; }
    .vsc-quote-layout,
    .vsc-info-layout { grid-template-columns: 1fr; gap: 35px; }
    .vsc-corporate-banner__inner { grid-template-columns: 70px 1fr; }
    .vsc-corporate-banner__inner > a { grid-column: 2; justify-self: start; }
}
@media (max-width: 767px) {
    .vsc-info-layout > div:first-child > span { font-size: 14px; letter-spacing: .06em; }
    body.victor-homepage .main-header { display: none; }
    body.victor-homepage .mobile-header { display: block; border-bottom: 0; }
    body.victor-homepage .mobile-logo { min-height: 62px; }
    body.victor-homepage .menu-logo img { max-height: 47px; object-fit: contain; }
    body.victor-homepage .container { padding-right: 12px; padding-left: 12px; }
    body.victor-homepage .mobile-search { padding: 0 12px 6px; }
    .vsc-slide--fallback { grid-template-columns: 1fr .45fr; padding: 24px; }
    .vsc-slide--fallback h1 { font-size: 27px; }
    .vsc-slide--fallback p { display: none; }
    .vsc-slide--fallback > img { height: 185px; }
    .vsc-slider-arrow { display: none; }
    .vsc-quick-links { grid-template-columns: repeat(2, 1fr); }
    .vsc-quick-links > a { min-height: 68px; padding: 11px; border-top: 1px solid var(--vsc-line); }
    .vsc-quick-links > a:nth-child(-n+2) { border-top: 0; }
    .vsc-quick-links > a:nth-child(odd) { border-right: 1px solid var(--vsc-line); }
    .vsc-quick-links > a:nth-child(even) { border-right: 0; }
    .vsc-section { padding: 32px 0; }
    .vsc-section--compact { padding-top: 24px; }
    .vsc-section-head { align-items: flex-start; flex-direction: column; gap: 9px; margin-bottom: 15px; }
    .vsc-featured-categories { grid-template-columns: repeat(2, 1fr); gap: 9px; }
    .vsc-featured-category { min-height: 154px; }
    .vsc-featured-category > span { width: 76px; height: 76px; }
    .vsc-featured-category img { width: 62px; height: 62px; }
    .vsc-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .vsc-product-card__media { padding: 10px; }
    .vsc-product-card__media img { height: 145px; }
    .vsc-product-card__body { padding: 10px; }
    .vsc-product-card h3 { min-height: 53px; font-size: 10.5px; line-height: 1.55; }
    .vsc-product-points { display: none; }
    .vsc-product-price strong { font-size: 13px; }
    .vsc-product-price__row { gap: 5px; }
    .vsc-product-price__values { gap: 4px; }
    .vsc-product-actions { grid-template-columns: 34px 1fr; }
    .vsc-icon-btn,
    .vsc-cart-btn,
    .vsc-order-btn { min-height: 36px; font-size: 8.5px; }
    .vsc-corporate-banner { padding-bottom: 28px; }
    .vsc-corporate-banner__inner { grid-template-columns: 1fr; padding: 27px 22px; }
    .vsc-corporate-banner__icon { width: 58px; height: 58px; font-size: 23px; }
    .vsc-corporate-banner__inner > a { grid-column: auto; }
    .vsc-brand-grid { grid-template-columns: repeat(3, 1fr); gap: 8px; }
    .vsc-brand-card { min-height: 95px; padding: 9px; }
    .vsc-brand-card img { height: 41px; }
    .vsc-form-grid { grid-template-columns: 1fr; }
    .vsc-field-full { grid-column: auto; }
    .vsc-quote-form { padding: 20px; }
}
@media (max-width: 460px) {
    .vsc-slide--fallback { grid-template-columns: 1fr; padding: 22px; }
    .vsc-slide--fallback h1 { font-size: 24px; }
    .vsc-slide--fallback > img { display: none; }
    .vsc-slide-actions { margin-top: 17px; }
    .vsc-primary-btn,
    .vsc-secondary-btn { min-height: 39px; padding: 0 13px; font-size: 9px; }
    .vsc-quick-links > a > i { flex-basis: 33px; width: 33px; height: 33px; }
    .vsc-quick-links strong { font-size: 10px; }
    .vsc-quick-links small { display: none; }
    .vsc-product-card__media img { height: 125px; }
    .vsc-product-meta { display: none; }
    .vsc-product-card h3 { margin-top: 3px; }
    .vsc-product-stock-inline { font-size: 7.5px; }
    .vsc-product-stock-inline.is-in::before,
    .vsc-product-stock-inline.is-out::before { width: 12px; height: 12px; margin-right: 3px; font-size: 7px; }
    .vsc-brand-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
    .vsc-home *, .vsc-home *::before, .vsc-home *::after { scroll-behavior: auto !important; transition: none !important; }
}


/* Desktop storefront rows: always use five complete cards per row.
   Tablet and mobile breakpoints below 992px keep their compact layouts. */
@media (min-width: 992px) {
    body.victor-homepage .vsc-featured-categories {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    body.victor-homepage .vsc-product-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

/* Mobile odd-card balance:
   Home product shelves contain five products. On a two-column phone grid,
   make the fifth card a deliberate full-row horizontal card instead of
   leaving an empty sixth slot. */
@media (max-width: 767.98px) {
    body.victor-homepage .vsc-product-grid > .vsc-product-card:last-child:nth-child(odd) {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: minmax(118px, 42%) minmax(0, 1fr);
        width: 100%;
    }

    body.victor-homepage .vsc-product-grid > .vsc-product-card:last-child:nth-child(odd) .vsc-product-card__media {
        display: flex;
        min-height: 100%;
        align-items: center;
        justify-content: center;
        border-right: 1px solid #edf0f3;
        border-bottom: 0;
    }

    body.victor-homepage .vsc-product-grid > .vsc-product-card:last-child:nth-child(odd) .vsc-product-card__media img {
        height: 158px;
    }

    body.victor-homepage .vsc-product-grid > .vsc-product-card:last-child:nth-child(odd) .vsc-product-card__body {
        min-width: 0;
        padding: 12px;
    }

    body.victor-homepage .vsc-product-grid > .vsc-product-card:last-child:nth-child(odd) h3 {
        min-height: auto;
        margin-top: 5px;
        font-size: 11px;
    }
}

@media (max-width: 380px) {
    body.victor-homepage .vsc-product-grid > .vsc-product-card:last-child:nth-child(odd) {
        grid-template-columns: 116px minmax(0, 1fr);
    }

    body.victor-homepage .vsc-product-grid > .vsc-product-card:last-child:nth-child(odd) .vsc-product-card__media {
        padding: 8px;
    }

    body.victor-homepage .vsc-product-grid > .vsc-product-card:last-child:nth-child(odd) .vsc-product-card__media img {
        height: 132px;
    }
}

/* Homepage product-card spacing refinement (2026-08-02)
   Keep the original product image dimensions. Move flexible card-height space
   below the price so the product name and rate remain visually connected. */
body.victor-homepage .vsc-product-card h3 {
    margin-bottom: 4px;
}

body.victor-homepage .vsc-product-points {
    min-height: 32px;
    margin-bottom: 5px !important;
    line-height: 1.4;
}

body.victor-homepage .vsc-product-price {
    margin-top: 0;
}

body.victor-homepage .vsc-product-actions {
    margin-top: auto;
    padding-top: 10px;
}

@media (max-width: 767.98px) {
    body.victor-homepage .vsc-product-card h3 {
        margin-bottom: 4px;
    }

    body.victor-homepage .vsc-product-actions {
        padding-top: 8px;
    }
}

/* Unified homepage category component: navigation heading and category list read as one card. */
body.victor-homepage .menu-area .container,
body.victor-homepage .vsc-storefront > .container { position: relative; }
body.victor-homepage .vsc-home-category-menu,
body.victor-homepage .vsc-storefront-grid { isolation: isolate; }
body.victor-homepage .vsc-category-panel::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 1px;
    background: var(--site-primary-line, #d7dee5);
    pointer-events: none;
}

/* All Categories red-column alignment fix (2026-08-02)
   Reset legacy list/link spacing so the red category header occupies exactly
   the same column as the white category panel and never overlaps the dark nav. */
body.victor-homepage .vsc-home-category-menu {
    box-sizing: border-box;
    position: relative;
    z-index: 30;
    flex: 0 0 252px;
    width: 252px;
    min-width: 252px;
    max-width: 252px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background: var(--vsc-red);
}
body.victor-homepage li.vsc-home-category-heading {
    box-sizing: border-box;
    position: relative;
    z-index: 31;
    isolation: isolate;
    width: 100% !important;
    min-width: 0 !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    background: var(--vsc-red) !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,.16), 0 5px 14px rgba(15,23,42,.14);
    font-size: inherit !important;
    line-height: normal !important;
}
body.victor-homepage li.vsc-home-category-heading > a {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 46px !important;
    border-radius: 0 !important;
    background: var(--vsc-red) !important;
}
body.victor-homepage li.vsc-home-category-heading > a:hover {
    background: var(--vsc-red) !important;
    filter: brightness(.94);
}
body.victor-homepage .vsc-home-category-heading__icon,
body.victor-homepage .vsc-home-category-heading__arrow {
    margin: 0 !important;
    padding: 0 !important;
}

@media (max-width: 1240px) {
    body.victor-homepage .vsc-home-category-menu {
        flex-basis: 240px;
        width: 240px;
        min-width: 240px;
        max-width: 240px;
    }
}
@media (max-width: 1050px) {
    body.victor-homepage .vsc-home-category-menu {
        flex-basis: 230px;
        width: 230px;
        min-width: 230px;
        max-width: 230px;
    }
}

/* Product listing card unification + compact vertical spacing (2026-08-27)
   Applies only to reusable catalogue cards; product details layout is untouched. */
.vsc-product-card__body {
    padding: 12px 13px 11px;
}

.vsc-product-card h3 {
    min-height: 48px;
    margin: 6px 0 4px;
    line-height: 1.45;
}

.vsc-product-points {
    min-height: 30px;
    margin: 0 0 4px !important;
    line-height: 1.35;
}

.vsc-product-price {
    min-height: 24px;
    margin-top: 0 !important;
    justify-content: flex-start;
}

.vsc-product-price__row {
    display: flex !important;
    min-width: 0;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 5px !important;
}

.vsc-product-price__values {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    align-items: center;
    flex-wrap: wrap;
    gap: 2px 5px;
}

.vsc-product-price strong {
    flex: 0 0 auto;
    white-space: nowrap;
}

/* Keep the stock state on the right side of the current price on every listing page. */
.vsc-product-stock-inline {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    align-self: center;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 8.5px;
    font-weight: 800;
    line-height: 1.15;
    white-space: nowrap !important;
}

.vsc-product-stock-inline.is-in {
    color: #198754 !important;
}

.vsc-product-stock-inline.is-in::before {
    content: '✓' !important;
    display: inline-grid !important;
    width: 14px !important;
    height: 14px !important;
    place-items: center;
    margin-right: 4px !important;
    border-radius: 50% !important;
    background: #198754 !important;
    color: #fff !important;
    font-size: 8px !important;
    font-weight: 900;
    line-height: 1;
}

.vsc-product-stock-inline.is-out {
    color: #b51622 !important;
}

.vsc-product-stock-inline.is-out::before {
    content: '✕' !important;
    display: inline-grid !important;
    width: 14px !important;
    height: 14px !important;
    place-items: center;
    margin-right: 4px !important;
    border-radius: 50% !important;
    background: #b51622 !important;
    color: #fff !important;
    font-size: 8px !important;
    font-weight: 900;
    line-height: 1;
}

.vsc-product-actions,
body.victor-homepage .vsc-product-actions {
    margin-top: 7px !important;
    padding-top: 0 !important;
}

@media (max-width: 767.98px) {
    .vsc-product-card__body {
        padding: 9px;
    }

    .vsc-product-card h3,
    body.victor-homepage .vsc-product-card h3 {
        min-height: 44px;
        margin: 3px 0 3px;
        line-height: 1.42;
    }

    .vsc-product-price {
        min-height: 22px;
    }

    .vsc-product-price__row {
        gap: 3px !important;
    }

    .vsc-product-price__values {
        gap: 1px 4px;
    }

    .vsc-product-stock-inline {
        font-size: 7.5px;
    }

    .vsc-product-stock-inline.is-in::before,
    .vsc-product-stock-inline.is-out::before {
        width: 12px !important;
        height: 12px !important;
        margin-right: 3px !important;
        font-size: 7px !important;
    }

    .vsc-product-actions,
    body.victor-homepage .vsc-product-actions {
        margin-top: 6px !important;
        padding-top: 0 !important;
    }
}

@media (max-width: 380px) {
    .vsc-product-card__body {
        padding: 8px;
    }

    .vsc-product-price strong {
        font-size: 12px;
    }

    .vsc-product-stock-inline {
        font-size: 7px;
    }
}

/* Catalogue card standard-height restoration (2026-08-27)
   Restore the pre-compact visual card height on catalogue/listing pages only.
   Keep the current price, stock and action layout unchanged. */
body.vsc-catalog-page .vsc-product-card {
    min-height: 470px;
}

@media (max-width: 767.98px) {
    body.vsc-catalog-page .vsc-product-card {
        min-height: 360px;
    }
}

@media (max-width: 460px) {
    body.vsc-catalog-page .vsc-product-card {
        min-height: 315px;
    }
}

/* Desktop listing-card information density refinement (2026-08-27)
   Keep the existing product-card footprint and image area intact while removing
   unnecessary vertical whitespace between Brand/Delivery, Price/Stock and actions.
   Product details page does not use the victor-homepage body class and is untouched. */
@media (min-width: 768px) {
    /* Preserve the current homepage/listing card footprint after tightening the body. */
    body.victor-homepage:not(.vsc-catalog-page) .vsc-product-card {
        min-height: 426px;
    }

    body.victor-homepage .vsc-product-card__body {
        padding-top: 11px;
        padding-bottom: 10px;
    }

    body.victor-homepage .vsc-product-card h3 {
        min-height: 48px;
        margin: 5px 0 3px;
    }

    body.victor-homepage .vsc-product-points {
        min-height: 24px;
        margin: 0 !important;
        line-height: 1.28;
    }

    body.victor-homepage .vsc-product-points li {
        margin: 0 !important;
        line-height: 1.28;
    }

    body.victor-homepage .vsc-product-price {
        min-height: 22px;
        margin-top: 0 !important;
        justify-content: flex-start;
    }

    body.victor-homepage .vsc-product-actions {
        margin-top: 5px !important;
        padding-top: 0 !important;
    }
}

/* Mobile-only storefront proportion refinement (2026-08-27).
   Keep desktop and product-details layouts untouched. The product image/show box
   is slightly taller so mobile listing cards regain the same visual depth as the
   Shop by Category cards without changing width or the price/stock/actions layout. */
@media (max-width: 767.98px) {
    body.victor-homepage .vsc-product-card__media img {
        height: 154px;
    }
}

/* ===== Premium fast product motion (2026-08-28) =====
   Motion-only refinement: no resting layout, colour, sizing or commerce logic changes.
   Uses short transform/opacity transitions so clicks remain immediate. */
:root {
    --vsc-motion-base: 140ms;
    --vsc-motion-media: 170ms;
    --vsc-motion-press: cubic-bezier(.2,.8,.2,1);
}

.vsc-product-card {
    /* No entrance animation: cards paint immediately. Hover/press motion remains below. */
    backface-visibility: hidden;
}

.vsc-product-card__media {
    overflow: hidden;
    transition: transform var(--vsc-motion-fast) var(--vsc-motion-press);
    -webkit-tap-highlight-color: transparent;
}

.vsc-product-card__media img {
    backface-visibility: hidden;
}

.vsc-icon-btn,
.vsc-cart-btn,
.vsc-order-btn {
    transition: transform var(--vsc-motion-fast) var(--vsc-motion-press),
                box-shadow var(--vsc-motion-base) var(--vsc-motion-ease),
                background-color var(--vsc-motion-base) ease,
                border-color var(--vsc-motion-base) ease,
                color var(--vsc-motion-base) ease;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

@media (hover: hover) and (pointer: fine) {
    .vsc-product-card:hover {
        transform: translate3d(0, -3px, 0);
    }

    .vsc-product-card:hover .vsc-product-card__media img {
        transform: scale(1.02);
    }

    .vsc-icon-btn:hover,
    .vsc-cart-btn:hover,
    .vsc-order-btn:hover {
        transform: translate3d(0, -1px, 0);
    }
}

.vsc-product-card__media:active {
    transform: scale(.992);
}

.vsc-icon-btn:active,
.vsc-cart-btn:active,
.vsc-order-btn:active {
    transform: translate3d(0, 1px, 0) scale(.97);
    transition-duration: 70ms;
}

@media (prefers-reduced-motion: reduce) {
    .vsc-product-card,
    .vsc-product-card__media,
    .vsc-product-card__media img,
    .vsc-icon-btn,
    .vsc-cart-btn,
    .vsc-order-btn {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }
}



/* ===== V15 catalogue consistency override ===== */
.vsc-product-badge.vsc-product-badge--discount {
    display: inline-flex !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    border: 2px solid rgba(255,255,255,.92) !important;
    border-radius: 50% !important;
    background: var(--site-discount-badge, var(--site-primary, #073c63)) !important;
    color: #fff !important;
    box-shadow: 0 5px 14px rgba(15,23,42,.20) !important;
    text-transform: none !important;
}
.vsc-product-badge--discount .vsc-product-badge__percent {
    display: block;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
}
.vsc-product-badge--discount .vsc-product-badge__label {
    display: block;
    margin-top: 2px;
    color: #fff !important;
    font-size: 8.5px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}
.vsc-product-badge.vsc-product-badge--featured {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 5px 8px !important;
    border-radius: 999px !important;
    background: var(--site-primary, #073c63) !important;
    color: #fff !important;
}
.vsc-cart-btn { border-radius: 999px !important; }
@media (max-width: 575.98px) {
    .vsc-product-badge.vsc-product-badge--discount {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
    }
}


/* ===== Homepage rendering performance hardening (2026-08-28) =====
   Off-screen sections do not need layout/paint work during first contentful render.
   The intrinsic fallback preserves scroll geometry until the section approaches viewport. */
@supports (content-visibility: auto) {
    .vsc-home .vsc-perf-defer {
        content-visibility: auto;
        contain-intrinsic-size: auto 620px;
    }
}


/* ===== Compact homepage SEO information section (2026-09-14) ===== */
.vsc-home-seo {
    padding-top: 42px;
    padding-bottom: 42px;
}
.vsc-home-seo__intro {
    max-width: 900px;
    margin: 0 auto 28px;
    text-align: center;
}
.vsc-home-seo__intro > span {
    display: block;
    color: var(--vsc-red);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .10em;
    line-height: 1.4;
    text-transform: uppercase;
}
.vsc-home-seo__intro h2 {
    margin: 7px 0 10px;
    color: #1d2535;
    font-size: clamp(24px, 2.25vw, 34px);
    line-height: 1.25;
    font-weight: 800;
}
.vsc-home-seo__intro p {
    max-width: 820px;
    margin: 0 auto;
    color: #4f5a6b;
    font-size: 13px;
    line-height: 1.8;
}
.vsc-home-seo__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.vsc-home-seo__content {
    min-width: 0;
    padding: 22px;
    border: 1px solid #d8dde5;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 3px 12px rgba(29,37,52,.045);
}
.vsc-home-seo__content h3,
.vsc-home-seo__why h3 {
    margin: 0 0 10px;
    color: #182235;
    font-size: 17px;
    line-height: 1.4;
    font-weight: 800;
}
.vsc-home-seo__content p {
    margin: 0;
    color: #4f5a6b;
    font-size: 12.5px;
    line-height: 1.8;
}
.vsc-home-seo__content p + p { margin-top: 10px; }
.vsc-home-seo__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 13px;
}
.vsc-home-seo__tags span {
    display: inline-flex;
    align-items: center;
    min-height: 29px;
    padding: 5px 10px;
    border: 1px solid #d5dbe4;
    border-radius: 999px;
    background: #f7f9fc;
    color: #344054;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.25;
}
.vsc-home-seo__audience {
    padding-top: 9px;
    border-top: 1px solid var(--vsc-line);
}
.vsc-home-seo__why {
    margin-top: 16px;
    padding: 20px 22px;
    border: 1px solid #d8dde5;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 3px 12px rgba(29,37,52,.04);
}
.vsc-home-seo__why-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    color: #4f5a6b;
    font-size: 12px;
    line-height: 1.6;
    font-weight: 600;
}
.vsc-home-seo__why-list span::before {
    content: "✓";
    margin-right: 7px;
    color: var(--vsc-red);
    font-weight: 900;
}
.vsc-home-seo .vsc-faq-list { margin-top: 16px; }

@media (max-width: 767.98px) {
    .vsc-home-seo {
        padding-top: 30px;
        padding-bottom: 30px;
    }
    .vsc-home-seo__intro { margin-bottom: 20px; }
    .vsc-home-seo__intro h2 { font-size: 21px; }
    .vsc-home-seo__intro p { font-size: 12px; line-height: 1.8; }
    .vsc-home-seo__grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .vsc-home-seo__content { padding: 16px; }
    .vsc-home-seo__content h3,
    .vsc-home-seo__why h3 { font-size: 15px; }
    .vsc-home-seo__content p { font-size: 11.5px; line-height: 1.75; }
    .vsc-home-seo__why { padding: 16px; }
    .vsc-home-seo__why-list { display: grid; gap: 6px; }
}

/* VSC CART ICON BLACK OVERRIDE */
.vsc-icon-btn.addcartbutton i,
.vsc-icon-btn.addcartbutton svg {
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
    fill: #111111 !important;
}


/* VSC final desktop gutter refinement: narrow 10px outer space on each side. Mobile/tablet unchanged. */
@media (min-width: 1200px) {
  body:not(.admin-panel) .container,
  body:not(.admin-panel) .container_97,
  body.victor-homepage .container {
    width: calc(100% - 20px) !important;
    max-width: none !important;
  }
}

/* VSC final compact premium discount badges — desktop only. */
@media (min-width: 768px) {
  .vsc-product-badge.vsc-product-badge--discount,
  .product_item_inner .sale-badge-box,
  .product_item_inner .sale-badge-inner,
  .product-details-discount-badge .sale-badge-box,
  .product-details-discount-badge .sale-badge-inner {
    width: 34px !important; height: 34px !important;
    min-width: 34px !important; min-height: 34px !important;
    border-radius: 50% !important; box-sizing: border-box !important;
  }
  .product_item_inner .sale-badge-percent,
  .product-details-discount-badge .sale-badge-percent,
  .vsc-product-badge--discount .vsc-product-badge__percent {
    font-size: 9px !important; line-height: 1 !important;
  }
  .product_item_inner .sale-badge-label,
  .product-details-discount-badge .sale-badge-label {
    font-size: 6.5px !important; margin-top: 1px !important; line-height: 1 !important;
  }
}


/* VSC FINAL CTA TYPOGRAPHY LOCK (2026-10-15)
   Match Order Now text sizing across homepage shelves and the Shop catalogue. */
.vsc-product-card .vsc-order-btn,
.vsc-product-card__body .vsc-order-btn,
.product_item .pro_btn .order-btn,
.product_item .pro_btn .order-btn-link,
.related-product-section .pro_btn .order-btn,
.related-product-section .pro_btn .order-btn-link {
    box-sizing: border-box !important;
    min-height: 40px !important;
    height: 40px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
}
.vsc-product-card .vsc-order-btn {
    padding: 0 10px !important;
}
@media (max-width: 575.98px) {
    .vsc-product-card .vsc-order-btn,
    .vsc-product-card__body .vsc-order-btn,
    .product_item .pro_btn .order-btn,
    .product_item .pro_btn .order-btn-link,
    .related-product-section .pro_btn .order-btn,
    .related-product-section .pro_btn .order-btn-link {
        min-height: 38px !important;
        height: 38px !important;
        font-size: 13px !important;
    }
}

/* VSC balanced storefront typography refinement (2026-10-15)
   Slightly improve product-title and supporting-copy readability without enlarging cards excessively. */
.vsc-product-card h3,
body.victor-homepage .vsc-product-card h3,
body.vsc-catalog-page .vsc-product-card h3 {
    font-size: 14px !important;
    line-height: 1.42 !important;
    font-weight: 700 !important;
}
.vsc-product-points,
.vsc-product-points li {
    font-size: 12px !important;
    line-height: 1.4 !important;
}
.vsc-product-price,
.vsc-product-price__row,
.vsc-product-price__row .price,
.vsc-product-price__row .regular-price,
.vsc-product-price__row .old-price {
    font-size: 14px !important;
    line-height: 1.35 !important;
}
.vsc-product-card__body,
.vsc-product-card__body p,
.vsc-product-card__body .stock-status,
.vsc-product-card__body .delivery-info {
    font-size: 12px;
    line-height: 1.45;
}
.vsc-home-seo__intro p,
.vsc-home-seo__content p,
.vsc-home-seo__why-list,
.vsc-home-seo .vsc-faq-list {
    font-size: 14px;
    line-height: 1.75;
}
@media (max-width: 767.98px) {
    .vsc-product-card h3,
    body.victor-homepage .vsc-product-card h3,
    body.vsc-catalog-page .vsc-product-card h3 {
        font-size: 12px !important;
        line-height: 1.4 !important;
    }
    .vsc-product-points,
    .vsc-product-points li,
    .vsc-product-card__body,
    .vsc-product-card__body p,
    .vsc-product-card__body .stock-status,
    .vsc-product-card__body .delivery-info {
        font-size: 11px !important;
        line-height: 1.4 !important;
    }
    .vsc-product-price,
    .vsc-product-price__row,
    .vsc-product-price__row .price,
    .vsc-product-price__row .regular-price,
    .vsc-product-price__row .old-price {
        font-size: 12.5px !important;
    }
    .vsc-home-seo__intro p,
    .vsc-home-seo__content p,
    .vsc-home-seo__why-list,
    .vsc-home-seo .vsc-faq-list {
        font-size: 13px;
        line-height: 1.7;
    }
}


/* VSC homepage readability pass (2026-10-15): standard-size supporting text and labels.
   Scoped to the homepage so product-detail/catalog typography is preserved. */
@media (min-width: 768px) {
  body.victor-homepage .vsc-product-card h3,
  body.victor-homepage .vsc-product-card h3 a { font-size: 15px !important; line-height: 1.42 !important; }
  body.victor-homepage .vsc-product-points,
  body.victor-homepage .vsc-product-points li,
  body.victor-homepage .vsc-product-card__body,
  body.victor-homepage .vsc-product-card__body p,
  body.victor-homepage .vsc-product-card__body .stock-status,
  body.victor-homepage .vsc-product-card__body .delivery-info { font-size: 13px !important; line-height: 1.5 !important; }
  body.victor-homepage .vsc-home-seo__intro p,
  body.victor-homepage .vsc-home-seo__content p,
  body.victor-homepage .vsc-home-seo__why-list,
  body.victor-homepage .vsc-home-seo__why-list li,
  body.victor-homepage .vsc-home-seo .vsc-faq-list,
  body.victor-homepage .vsc-home-seo .vsc-faq-list li,
  body.victor-homepage .vsc-home-seo label,
  body.victor-homepage .vsc-home-seo .form-check-label,
  body.victor-homepage .vsc-home-seo .checkbox-label { font-size: 14px !important; line-height: 1.7 !important; }
  body.victor-homepage .vsc-home-seo input[type="checkbox"] + label,
  body.victor-homepage .vsc-home-seo input[type="radio"] + label { font-size: 14px !important; }
}
@media (max-width: 767.98px) {
  body.victor-homepage .vsc-product-card h3,
  body.victor-homepage .vsc-product-card h3 a { font-size: 13px !important; line-height: 1.42 !important; }
  body.victor-homepage .vsc-product-points,
  body.victor-homepage .vsc-product-points li,
  body.victor-homepage .vsc-product-card__body,
  body.victor-homepage .vsc-product-card__body p,
  body.victor-homepage .vsc-product-card__body .stock-status,
  body.victor-homepage .vsc-product-card__body .delivery-info { font-size: 12px !important; line-height: 1.45 !important; }
  body.victor-homepage .vsc-home-seo__intro p,
  body.victor-homepage .vsc-home-seo__content p,
  body.victor-homepage .vsc-home-seo__why-list,
  body.victor-homepage .vsc-home-seo__why-list li,
  body.victor-homepage .vsc-home-seo .vsc-faq-list,
  body.victor-homepage .vsc-home-seo .vsc-faq-list li,
  body.victor-homepage .vsc-home-seo label,
  body.victor-homepage .vsc-home-seo .form-check-label,
  body.victor-homepage .vsc-home-seo .checkbox-label,
  body.victor-homepage .vsc-home-seo input[type="checkbox"] + label,
  body.victor-homepage .vsc-home-seo input[type="radio"] + label { font-size: 13px !important; line-height: 1.65 !important; }
}

/* VSC FINAL 2026-10-15: keep storefront product names to exactly two visible lines. */
.vsc-product-card h3,
body.vsc-catalog-page .vsc-product-card h3 {
    display: block !important;
    overflow: hidden !important;
    max-height: calc(1.42em * 2) !important;
    min-height: calc(1.42em * 2) !important;
}
.vsc-product-card h3 a,
body.vsc-catalog-page .vsc-product-card h3 a {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: normal !important;
}
@media (max-width: 767.98px) {
  .vsc-product-card h3,
  body.vsc-catalog-page .vsc-product-card h3 {
    max-height: calc(1.4em * 2) !important;
    min-height: calc(1.4em * 2) !important;
  }
}

/* Retired the old fixed category-sidebar grid: categories now open from navigation. */
@media (min-width: 768px) {
  body.victor-homepage .vsc-home-category-heading > a {
    font-size: 16px !important;
    letter-spacing: .02em !important;
  }
  body.victor-homepage .vsc-home-category-heading__label {
    font-size: 16px !important;
    line-height: 1.2 !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
}

/* VSC final readability correction 2026-10-15: homepage category names below
   the All Categories heading should be as readable as the heading itself.
   Keep the category panel and slider dimensions unchanged; long labels remain
   safely truncated inside their own column. */
@media (min-width: 768px) {
  body.victor-homepage .vsc-category-panel > ul > li > a {
    font-size: 16px !important;
    line-height: 1.2 !important;
  }
  body.victor-homepage .vsc-category-panel > ul > li > a > span:nth-child(2) {
    min-width: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
  }
}



/* VSC homepage typography correction — standard desktop text sizes (2026-10-15) */
@media (min-width: 992px) {
  body.victor-homepage .vsc-product-card h3,
  body.victor-homepage .vsc-product-card h3 a {
    font-size: 13.5px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
  }
  body.victor-homepage .vsc-product-card .vsc-product-price__values > strong,
  body.victor-homepage .vsc-product-price__row,
  body.victor-homepage .vsc-product-price__row .price,
  body.victor-homepage .vsc-product-price__row .regular-price,
  body.victor-homepage .vsc-product-price__row .old-price {
    font-size: 14.3px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }
  body.victor-homepage .vsc-product-price__values > del {
    font-size: 10px !important;
    font-weight: 500 !important;
  }
  body.victor-homepage .vsc-home-category-menu a,
  body.victor-homepage .vsc-home-category-menu .category-name {
    font-size: 12.5px !important;
    line-height: 1.4 !important;
  }
}


/* VSC desktop product-card typography: subtle reduction on homepage cards only. */
@media (min-width: 992px) {
  body.victor-homepage .vsc-product-card h3,
  body.victor-homepage .vsc-product-card h3 a {
    font-size: 13px !important;
  }
  body.victor-homepage .vsc-product-card .vsc-product-price__values > strong,
  body.victor-homepage .vsc-product-price__row,
  body.victor-homepage .vsc-product-price__row .price,
  body.victor-homepage .vsc-product-price__row .regular-price,
  body.victor-homepage .vsc-product-price__row .old-price {
    font-size: 13.5px !important;
  }
}

/* VSC desktop product-card typography: standard title size and more legible price. */
@media (min-width: 992px) {
  body.victor-homepage .vsc-product-card h3,
  body.victor-homepage .vsc-product-card h3 a,
  .vsc-product-card h3,
  .vsc-product-card h3 a {
    font-size: 15.5px !important;
    line-height: 1.42 !important;
    font-weight: 600 !important;
  }
  body.victor-homepage .vsc-product-card .vsc-product-price__values > strong,
  body.victor-homepage .vsc-product-price__row,
  body.victor-homepage .vsc-product-price__row .price,
  body.victor-homepage .vsc-product-price__row .regular-price,
  body.victor-homepage .vsc-product-price__row .old-price,
  .vsc-product-card .vsc-product-price__values > strong {
    font-size: 18px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
  }
}


/* VSC Business Credentials section — scoped, responsive and isolated from existing layout. */
.vsc-business-credentials {
  margin: 28px 0 32px;
  padding: clamp(16px, 2.5vw, 28px);
  border: 1px solid #DCE7F5;
  border-radius: 18px;
  background: #FFFFFF;
  color: #1E293B;
}
.vsc-business-credentials__heading { text-align: center; margin-bottom: 22px; }
.vsc-business-credentials__heading > span {
  display: inline-block; color: #0B3B82; font-size: 12px; font-weight: 700; letter-spacing: .05em;
}
.vsc-business-credentials__heading h3 {
  margin: 6px 0 8px; font-size: clamp(21px, 2vw, 28px); line-height: 1.3; color: #0B3B82;
}
.vsc-business-credentials__heading p { margin: 0; font-size: 14px; line-height: 1.6; color: #526173; }
.vsc-business-credentials__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.vsc-business-credentials__card {
  min-width: 0; padding: 20px; border: 1px solid #E2EAF3; border-radius: 14px;
  background: #FFFFFF; text-align: center; overflow-wrap: anywhere;
}
.vsc-business-credentials__icon {
  width: 44px; height: 44px; margin: 0 auto 10px; display: grid; place-items: center;
  border-radius: 12px; background: #EEF5FF; color: #0B3B82; font-size: 20px;
}
.vsc-business-credentials__card h4 { margin: 0 0 10px; font-size: 17px; line-height: 1.4; color: #172B45; }
.vsc-business-credentials__number { margin: 0 0 12px; font-size: 13px; line-height: 1.6; color: #526173; overflow-wrap: anywhere; }
.vsc-business-credentials__link {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 9px 13px;
  border: 1px solid #0B3B82; border-radius: 9px; color: #0B3B82; background: #FFFFFF;
  font-size: 14px; font-weight: 700; text-decoration: none;
}
.vsc-business-credentials__link:hover, .vsc-business-credentials__link:focus-visible {
  background: #0B3B82; color: #FFFFFF;
}
@media (max-width: 767.98px) {
  .vsc-business-credentials__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .vsc-business-credentials__card { padding: 14px 10px; }
}
@media (max-width: 480px) { .vsc-business-credentials__grid { grid-template-columns: 1fr; } }

/* Business Credentials: center registration number under each title */
.vsc-business-credentials__card .vsc-business-credentials__number {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 auto 12px !important;
    padding: 0 !important;
    text-align: center !important;
    line-height: 1.6 !important;
    overflow-wrap: anywhere !important;
}

/* New Arrivals: keep the existing five-card desktop shelf, while mobile receives
   six standard cards in a balanced two-column (2 + 2 + 2) grid. */
@media (min-width: 768px) {
    body.victor-homepage #latest-products .vsc-product-grid > .vsc-product-card:nth-child(n+6) {
        display: none;
    }
}

/* Premium homepage hero: main carousel with two compact promotional banners. */
body.victor-homepage .vsc-storefront-grid {
    grid-template-columns: minmax(0, 2.35fr) minmax(220px, .9fr);
    gap: 12px;
    align-items: stretch;
}
body.victor-homepage .vsc-main-slider {
    grid-column: 1;
    grid-row: 1;
    height: 396px;
    min-height: 396px;
}
body.victor-homepage .vsc-slider-stage { height: 396px; min-height: 396px; }
body.victor-homepage .vsc-slide > img { height: 396px; }
body.victor-homepage .vsc-home-hero-banners {
    grid-column: 2;
    grid-row: 1;
    display: grid;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 12px;
    min-width: 0;
    min-height: 396px;
}
body.victor-homepage .vsc-home-hero-banners__item,
body.victor-homepage .vsc-home-hero-banners__fallback {
    display: flex;
    min-height: 0;
    overflow: hidden;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(11,59,130,.08);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(20,38,66,.07);
}
body.victor-homepage .vsc-home-hero-banners__item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease;
}
body.victor-homepage .vsc-home-hero-banners__item:hover img { transform: scale(1.025); }
body.victor-homepage .vsc-home-hero-banners__fallback {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 8px;
    padding: 22px;
    color: #fff;
    background: linear-gradient(135deg,#0b3b82,#1456a0);
}
body.victor-homepage .vsc-home-hero-banners__fallback--alt { background: linear-gradient(135deg,#10263d,#24516d); }
body.victor-homepage .vsc-home-hero-banners__fallback span { font-size: 11px; font-weight: 700; opacity: .82; }
body.victor-homepage .vsc-home-hero-banners__fallback strong { font-size: clamp(15px,1.4vw,20px); line-height: 1.35; }
body.victor-homepage .vsc-home-hero-banners__fallback small { margin-top: 5px; font-weight: 700; }
@media (max-width: 991px) {
    body.victor-homepage .vsc-storefront-grid { grid-template-columns: 1fr; }
    body.victor-homepage .vsc-main-slider { grid-column: 1; grid-row: 1; height: auto; min-height: 0; }
    body.victor-homepage .vsc-slider-stage { height: auto; min-height: 0; aspect-ratio: 3312 / 1234; }
    body.victor-homepage .vsc-slide > img { height: 100%; }
    body.victor-homepage .vsc-home-hero-banners {
        grid-column: 1;
        grid-row: 2;
        grid-template-columns: repeat(2,minmax(0,1fr));
        grid-template-rows: 1fr;
        min-height: 0;
    }
    body.victor-homepage .vsc-home-hero-banners__item,
    body.victor-homepage .vsc-home-hero-banners__fallback { min-height: 120px; aspect-ratio: 16 / 7; }
}
@media (max-width: 575px) {
    body.victor-homepage .vsc-home-hero-banners { gap: 8px; }
    body.victor-homepage .vsc-home-hero-banners__item,
    body.victor-homepage .vsc-home-hero-banners__fallback { min-height: 96px; }
    body.victor-homepage .vsc-home-hero-banners__fallback { padding: 11px; }
    body.victor-homepage .vsc-home-hero-banners__fallback span { font-size: 9px; }
    body.victor-homepage .vsc-home-hero-banners__fallback strong { font-size: 12px; }
    body.victor-homepage .vsc-home-hero-banners__fallback small { font-size: 10px; }
}


/* Restored panoramic Hot Banner: keep the original uploaded image between
   Featured Categories and Best Deals on desktop and mobile. */
body.victor-homepage .vsc-wide-promo-banner {
    padding: 0 0 22px;
    background: var(--site-background, #f3f6fb);
}
body.victor-homepage .vsc-wide-promo-banner__link {
    display: block;
    overflow: hidden;
    border: 1px solid var(--site-border, #dce7f5);
    border-radius: 8px;
    background: var(--site-surface, #fff);
    box-shadow: 0 4px 14px rgba(15, 35, 60, .045);
}
body.victor-homepage .vsc-wide-promo-banner__link img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

/* Homepage theme tokens: Admin > General Settings controls these surfaces,
   typography, borders and interactive accents consistently. */
body.victor-homepage,
body.victor-homepage #content,
body.victor-homepage .vsc-home {
    background-color: var(--site-background, #f3f6fb) !important;
    color: var(--site-text, #1e293b);
}
body.victor-homepage .vsc-storefront,
body.victor-homepage .vsc-section--soft,
body.victor-homepage .vsc-wide-promo-banner {
    background-color: var(--site-background, #f3f6fb);
}
body.victor-homepage .vsc-section:not(.vsc-section--soft) {
    background-color: var(--site-surface, #fff);
}
body.victor-homepage .vsc-featured-category,
body.victor-homepage .vsc-quick-links,
body.victor-homepage .vsc-product-card,
body.victor-homepage .vsc-product-card__media,
body.victor-homepage .vsc-brand-card,
body.victor-homepage .vsc-quote-form,
body.victor-homepage .vsc-contact-cards a,
body.victor-homepage .vsc-faq-list details {
    border-color: var(--site-border, #dce7f5);
    background-color: var(--site-surface, #fff);
}
body.victor-homepage .vsc-section-head h2,
body.victor-homepage .vsc-quote-info h2,
body.victor-homepage .vsc-featured-category strong,
body.victor-homepage .vsc-product-card h3 a,
body.victor-homepage .vsc-brand-card span,
body.victor-homepage .vsc-quick-links > a,
body.victor-homepage .vsc-contact-cards a {
    color: var(--site-text, #1e293b) !important;
}
body.victor-homepage .vsc-section-head p,
body.victor-homepage .vsc-featured-category small,
body.victor-homepage .vsc-product-points,
body.victor-homepage .vsc-product-meta,
body.victor-homepage .vsc-quick-links small {
    color: var(--site-text, #1e293b);
    opacity: .72;
}
body.victor-homepage .vsc-featured-category > span,
body.victor-homepage .vsc-quick-links > a > i {
    background-color: var(--site-primary-soft, #eef3f9);
    color: var(--site-primary, #0b3b82);
}
body.victor-homepage .vsc-featured-category:hover,
body.victor-homepage .vsc-product-card:hover,
body.victor-homepage .vsc-brand-card:hover {
    border-color: var(--site-primary, #0b3b82);
}
body.victor-homepage .vsc-product-price strong,
body.victor-homepage .vsc-section-head > a,
body.victor-homepage .vsc-section-head > div > span {
    color: var(--site-primary, #0b3b82);
}
body.victor-homepage .vsc-section-head > a {
    border-bottom-color: var(--site-primary, #0b3b82);
}
body.victor-homepage .vsc-product-badge.vsc-product-badge--discount {
    background-color: var(--site-discount-badge, #dc2626);
}

@media (max-width: 991px) {
    body.victor-homepage .vsc-wide-promo-banner { padding-bottom: 14px; }
    body.victor-homepage .vsc-wide-promo-banner__link { border-radius: 6px; }
}


/* VSC homepage hero correction — keep the main carousel wide on the left and
   the two real promotional creatives stacked on the right. The older 268px
   category-column rule is intentionally superseded here because categories
   now live in the navigation dropdown, not beside the hero. */
@media (min-width: 1200px) {
    body.victor-homepage .vsc-storefront-grid {
        grid-template-columns: minmax(0, 2.25fr) minmax(300px, 1fr) !important;
        gap: 12px !important;
        align-items: stretch !important;
    }
    body.victor-homepage .vsc-main-slider {
        grid-column: 1 !important;
        grid-row: 1 !important;
        height: auto !important;
        min-height: 0 !important;
    }
    body.victor-homepage .vsc-slider-stage {
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 1600 / 596;
    }
    body.victor-homepage .vsc-slide > img {
        width: 100%;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center;
    }
    body.victor-homepage .vsc-home-hero-banners {
        grid-column: 2 !important;
        grid-row: 1 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
        min-width: 0;
        min-height: 0 !important;
        height: auto !important;
        align-self: stretch;
    }
    body.victor-homepage .vsc-home-hero-banners__item {
        display: flex;
        min-width: 0;
        min-height: 0;
        overflow: hidden;
        align-items: center;
        justify-content: center;
        border: 1px solid var(--site-border, #dce7f5);
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 7px 22px rgba(15, 35, 60, .075);
    }
    body.victor-homepage .vsc-home-hero-banners__item img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center;
        background: #fff;
        transition: transform .22s ease;
    }
    body.victor-homepage .vsc-home-hero-banners__item:hover img {
        transform: scale(1.018);
    }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    body.victor-homepage .vsc-storefront-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px !important;
    }
    body.victor-homepage .vsc-main-slider {
        grid-column: 1 !important;
        grid-row: 1 !important;
        height: auto !important;
        min-height: 0 !important;
    }
    body.victor-homepage .vsc-slider-stage {
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 1600 / 596;
    }
    body.victor-homepage .vsc-slide > img { height: 100% !important; object-fit: cover !important; }
    body.victor-homepage .vsc-home-hero-banners {
        grid-column: 1 !important;
        grid-row: 2 !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: 1fr !important;
        gap: 10px !important;
        height: auto !important;
        min-height: 0 !important;
    }
    body.victor-homepage .vsc-home-hero-banners__item {
        min-height: 0;
        aspect-ratio: 2.67 / 1;
    }
    body.victor-homepage .vsc-home-hero-banners__item img { width: 100%; height: 100%; object-fit: cover; }
}
@media (max-width: 991.98px) {
    body.victor-homepage .vsc-storefront-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px !important;
    }
    body.victor-homepage .vsc-main-slider {
        grid-column: 1 !important;
        grid-row: 1 !important;
        height: auto !important;
        min-height: 0 !important;
    }
    body.victor-homepage .vsc-slider-stage {
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 1600 / 596;
    }
    body.victor-homepage .vsc-slide > img { height: 100% !important; object-fit: cover !important; }
    body.victor-homepage .vsc-home-hero-banners {
        grid-column: 1 !important;
        grid-row: 2 !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: 1fr !important;
        gap: 8px !important;
        height: auto !important;
        min-height: 0 !important;
    }
    body.victor-homepage .vsc-home-hero-banners__item {
        min-height: 0;
        aspect-ratio: 2.4 / 1;
        border-radius: 9px;
    }
    body.victor-homepage .vsc-home-hero-banners__item img { width: 100%; height: 100%; object-fit: cover; }
}
@media (max-width: 575.98px) {
    body.victor-homepage .vsc-home-hero-banners__item { aspect-ratio: 2.05 / 1; }
}


/* Admin-managed right-side hero promo copy. The overlay is rendered only when
   the administrator fills at least one copy field; image-only creatives keep
   their original appearance and full image area. */
body.victor-homepage .vsc-home-hero-banners__item {
    position: relative;
    isolation: isolate;
}
body.victor-homepage .vsc-home-hero-banners__copy {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    padding: clamp(10px, 1.1vw, 17px);
    color: #fff;
    background: linear-gradient(0deg, rgba(5, 17, 38, .88), rgba(5, 17, 38, .48) 68%, transparent);
    pointer-events: none;
}
body.victor-homepage .vsc-home-hero-banners__copy strong {
    max-width: 100%;
    color: #fff;
    font-size: clamp(13px, 1.1vw, 19px);
    line-height: 1.2;
    font-weight: 800;
    text-wrap: balance;
}
body.victor-homepage .vsc-home-hero-banners__copy small {
    max-width: 95%;
    color: rgba(255,255,255,.9);
    font-size: clamp(10px, .75vw, 13px);
    line-height: 1.35;
}
body.victor-homepage .vsc-home-hero-banners__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    margin-top: 2px;
    padding: 4px 10px;
    border-radius: 999px;
    color: var(--site-primary, #0b3b82);
    background: #fff;
    font-size: 10px;
    line-height: 1.2;
    font-weight: 800;
}
@media (max-width: 991.98px) {
    body.victor-homepage .vsc-home-hero-banners__copy { padding: 8px 10px; gap: 3px; }
    body.victor-homepage .vsc-home-hero-banners__copy strong { font-size: clamp(10px, 2.2vw, 14px); }
    body.victor-homepage .vsc-home-hero-banners__copy small { font-size: clamp(8px, 1.6vw, 11px); }
    body.victor-homepage .vsc-home-hero-banners__button { min-height: 21px; padding: 3px 8px; font-size: 9px; }
}


/* 2026-11-07 final hero geometry + accessible carousel gestures.
   The main slider determines the desktop row height. Promo cards are two equal
   fixed slots; source image dimensions never resize the column or create a tall row. */
@media (min-width: 1200px) {
    body.victor-homepage .vsc-storefront-grid {
        grid-template-columns: minmax(0, 2.25fr) minmax(280px, 1fr) !important;
        grid-template-rows: minmax(0, auto) !important;
        align-items: stretch !important;
        gap: 12px !important;
    }
    body.victor-homepage .vsc-main-slider {
        width: 100%;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 1600 / 596;
        align-self: stretch;
    }
    body.victor-homepage .vsc-slider-stage {
        width: 100%;
        height: 100% !important;
        min-height: 0 !important;
        aspect-ratio: auto;
    }
    body.victor-homepage .vsc-slide > img {
        width: 100%;
        height: 100% !important;
        object-fit: contain !important;
        object-position: center;
    }
    body.victor-homepage .vsc-home-hero-banners {
        display: flex !important;
        flex-direction: column;
        align-self: stretch;
        height: auto !important;
        min-height: 0 !important;
        max-height: 100%;
        overflow: hidden;
        gap: 12px !important;
    }
    body.victor-homepage .vsc-home-hero-banners__item {
        display: flex;
        flex: 1 1 0;
        width: 100%;
        height: auto !important;
        min-width: 0;
        min-height: 0 !important;
        aspect-ratio: auto !important;
        overflow: hidden;
        background: #fff;
    }
    body.victor-homepage .vsc-home-hero-banners__item img {
        display: block;
        width: 100%;
        height: 100%;
        max-width: 100%;
        object-fit: contain !important;
        object-position: center;
    }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
    body.victor-homepage .vsc-storefront-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px !important;
    }
    body.victor-homepage .vsc-main-slider {
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 1600 / 596;
    }
    body.victor-homepage .vsc-slider-stage {
        height: 100% !important;
        min-height: 0 !important;
        aspect-ratio: auto;
    }
    body.victor-homepage .vsc-slide > img {
        height: 100% !important;
        object-fit: contain !important;
    }
    body.victor-homepage .vsc-home-hero-banners {
        height: auto !important;
        min-height: 0 !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: auto !important;
        gap: 10px !important;
    }
    body.victor-homepage .vsc-home-hero-banners__item {
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 2.55 / 1 !important;
    }
    body.victor-homepage .vsc-home-hero-banners__item img {
        width: 100%; height: 100%; object-fit: contain !important;
    }
}
@media (max-width: 767.98px) {
    body.victor-homepage .vsc-storefront-grid { grid-template-columns: minmax(0, 1fr) !important; }
    body.victor-homepage .vsc-main-slider {
        width: 100%; height: auto !important; min-height: 0 !important;
        aspect-ratio: 1600 / 596;
    }
    body.victor-homepage .vsc-slider-stage { height: 100% !important; min-height: 0 !important; aspect-ratio: auto; }
    body.victor-homepage .vsc-slide > img { width: 100%; height: 100% !important; object-fit: contain !important; }
    body.victor-homepage .vsc-home-hero-banners {
        height: auto !important; min-height: 0 !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: auto !important; gap: 8px !important;
    }
    body.victor-homepage .vsc-home-hero-banners__item {
        height: auto !important; min-height: 0 !important; aspect-ratio: 2.1 / 1 !important;
    }
    body.victor-homepage .vsc-home-hero-banners__item img { width: 100%; height: 100%; object-fit: contain !important; }
}

/* A true horizontal carousel interaction: drag/swipe does not block vertical
   page scroll, and the arrows/dots remain easy to discover and tap. */
body.victor-homepage .vsc-main-slider {
    touch-action: pan-y;
    cursor: grab;
    -webkit-user-select: none;
    user-select: none;
}
body.victor-homepage .vsc-main-slider.is-dragging { cursor: grabbing; }
body.victor-homepage .vsc-main-slider img { -webkit-user-drag: none; user-drag: none; }
body.victor-homepage .vsc-slide {
    opacity: 0;
    visibility: hidden;
    transform: translate3d(24px, 0, 0);
    transition: opacity .34s ease, transform .34s cubic-bezier(.22,.72,.22,1);
    will-change: opacity, transform;
}
body.victor-homepage .vsc-slide.is-active {
    opacity: 1;
    visibility: visible;
    transform: translate3d(0, 0, 0);
}
body.victor-homepage .vsc-slide.is-entering-next,
body.victor-homepage .vsc-slide.is-entering-prev {
    z-index: 3;
    visibility: visible;
    opacity: 0;
    pointer-events: none;
}
body.victor-homepage .vsc-slide.is-entering-next { transform: translate3d(38px, 0, 0); }
body.victor-homepage .vsc-slide.is-entering-prev { transform: translate3d(-38px, 0, 0); }
body.victor-homepage .vsc-slide.is-leaving {
    z-index: 1;
    visibility: visible;
    opacity: 0;
    transform: translate3d(var(--vsc-slide-exit-x, -38px), 0, 0);
    pointer-events: none;
}
body.victor-homepage .vsc-slider-dots {
    width: max-content;
    max-width: calc(100% - 24px);
    left: 50%;
    right: auto;
    bottom: 12px;
    transform: translateX(-50%);
    align-items: center;
    padding: 7px 10px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 999px;
    background: rgba(7, 18, 38, .42);
    backdrop-filter: blur(8px);
}
body.victor-homepage .vsc-slider-dots button {
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    border: 1px solid rgba(255,255,255,.9);
    background: rgba(255,255,255,.48);
}
body.victor-homepage .vsc-slider-dots button.is-active {
    width: 23px;
    background: #fff;
}
body.victor-homepage .vsc-slider-arrow:focus-visible,
body.victor-homepage .vsc-slider-arrow:focus { opacity: 1; outline: 2px solid #fff; outline-offset: -4px; }
@media (max-width: 767.98px) {
    body.victor-homepage .vsc-slider-arrow { display: grid; width: 32px; height: 42px; opacity: .82; }
    body.victor-homepage .vsc-slider-dots { bottom: 7px; padding: 5px 8px; }
}
@media (prefers-reduced-motion: reduce) {
    body.victor-homepage .vsc-slide,
    body.victor-homepage .vsc-slider-arrow,
    body.victor-homepage .vsc-home-hero-banners__item img { transition: none !important; }
}

/* Mobile UX: hide desktop-style hero navigation arrows; touch swipe and dots remain available. */
@media (max-width: 767.98px) {
    body.victor-homepage .vsc-main-slider .vsc-slider-arrow {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}


/* Final mobile hero navigation lock: hide arrow buttons and their hit-area/background.
   Dots, automatic slide changes and horizontal touch swipe remain enabled. */
@media (max-width: 767.98px) {
    body.victor-homepage .vsc-main-slider :is(
        .vsc-slider-arrow,
        [data-vsc-prev],
        [data-vsc-next],
        .slick-prev,
        .slick-next,
        .swiper-button-prev,
        .swiper-button-next
    ) {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
        width: 0 !important;
        min-width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        outline: 0 !important;
    }
}


/* 2026-11 final responsive promo image fit.
   Admin promotional uploads use the approved 800x320 (2.5:1) ratio.
   Keep the established two-card layout and fill each slot with the full-width
   creative; the matching aspect ratio prevents contain-letterboxing on phones. */
body.victor-homepage .vsc-home-hero-banners {
    min-width: 0;
}
body.victor-homepage .vsc-home-hero-banners__item {
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}
body.victor-homepage .vsc-home-hero-banners__item > img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    object-fit: cover !important;
    object-position: center center;
}
@media (min-width: 768px) and (max-width: 1199.98px) {
    body.victor-homepage .vsc-home-hero-banners {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: auto !important;
        align-items: stretch;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible;
        gap: 10px !important;
    }
    body.victor-homepage .vsc-home-hero-banners__item {
        display: block;
        width: 100%;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 5 / 2 !important;
    }
    body.victor-homepage .vsc-home-hero-banners__item > img {
        width: 100%;
        height: 100%;
        object-fit: cover !important;
    }
}
@media (max-width: 767.98px) {
    body.victor-homepage .vsc-home-hero-banners {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: auto !important;
        width: 100%;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible;
        gap: 8px !important;
        margin: 0;
    }
    body.victor-homepage .vsc-home-hero-banners__item {
        display: block;
        width: 100%;
        height: auto !important;
        min-width: 0;
        min-height: 0 !important;
        aspect-ratio: 5 / 2 !important;
        flex: none !important;
        border-radius: 9px;
        background: transparent;
    }
    body.victor-homepage .vsc-home-hero-banners__item > img {
        display: block;
        width: 100% !important;
        height: 100% !important;
        max-width: 100%;
        object-fit: cover !important;
        object-position: center center;
    }
}
@media (prefers-reduced-motion: reduce) {
    body.victor-homepage .vsc-home-hero-banners__item > img {
        transition: none !important;
    }
}


/* Mobile hero pagination: compact, interaction-revealed dots; no layout height contribution. */
@media (max-width: 767.98px) {
    body.victor-homepage .vsc-main-slider .vsc-slider-dots {
        position: absolute !important;
        z-index: 8;
        left: 50% !important;
        right: auto !important;
        bottom: 6px !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: max-content !important;
        height: 13px !important;
        min-height: 13px !important;
        max-height: 13px !important;
        box-sizing: border-box;
        gap: 4px !important;
        margin: 0 !important;
        padding: 3px 6px !important;
        border: 1px solid rgba(255,255,255,.16);
        border-radius: 999px;
        background: rgba(7,18,38,.28);
        -webkit-backdrop-filter: blur(4px);
        backdrop-filter: blur(4px);
        opacity: 0;
        visibility: visible;
        transform: translate(-50%, 3px);
        transition: opacity 140ms ease, transform 140ms ease;
        pointer-events: auto;
    }

    body.victor-homepage .vsc-main-slider.vsc-controls-visible .vsc-slider-dots,
    body.victor-homepage .vsc-main-slider:focus-within .vsc-slider-dots {
        opacity: 1;
        transform: translate(-50%, 0);
    }

    body.victor-homepage .vsc-main-slider .vsc-slider-dots button {
        flex: 0 0 5px !important;
        width: 5px !important;
        min-width: 5px !important;
        max-width: 5px !important;
        height: 5px !important;
        min-height: 5px !important;
        max-height: 5px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 1px solid rgba(255,255,255,.9);
        border-radius: 50% !important;
        box-sizing: border-box;
        background: rgba(255,255,255,.48);
    }

    body.victor-homepage .vsc-main-slider .vsc-slider-dots button.is-active {
        flex-basis: 13px !important;
        width: 13px !important;
        min-width: 13px !important;
        max-width: 13px !important;
        height: 5px !important;
        border-radius: 999px !important;
        background: #fff;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.victor-homepage .vsc-main-slider .vsc-slider-dots {
        transition: none !important;
    }
}


/* VSC Premium Rounded Featured Categories — approved Option A */
body.victor-homepage .vsc-featured-categories {
    gap: 12px;
}
body.victor-homepage .vsc-featured-category {
    position: relative;
    isolation: isolate;
    min-width: 0;
    min-height: 177px;
    padding: 18px 12px;
    border: 1px solid var(--site-border, #dce7f5);
    border-radius: 20px;
    background: var(--site-surface, #fff);
    color: var(--site-text, #1e293b) !important;
    box-shadow: 0 3px 12px rgba(12, 35, 64, .045);
    transition:
        transform 160ms ease,
        border-color 160ms ease,
        box-shadow 160ms ease,
        background-color 160ms ease;
}
body.victor-homepage .vsc-featured-category > span {
    width: 58px;
    height: 58px;
    margin-bottom: 10px;
    border: 1px solid color-mix(in srgb, var(--site-primary, #0b3b82) 13%, transparent);
    border-radius: 50%;
    background: var(--site-primary-soft, #eef3f9);
    color: var(--site-primary, #0b3b82);
}
body.victor-homepage .vsc-featured-category img {
    width: 48px;
    height: 48px;
    object-fit: contain;
}
body.victor-homepage .vsc-featured-category strong {
    color: var(--site-text, #1e293b) !important;
    font-size: 12.5px;
    line-height: 1.4;
    font-weight: 700;
}
body.victor-homepage .vsc-featured-category small {
    color: var(--site-text, #64748b);
    opacity: .72;
}
body.victor-homepage .vsc-featured-category:hover,
body.victor-homepage .vsc-featured-category:focus-visible {
    transform: translateY(-3px);
    border-color: var(--site-primary, #0b3b82);
    box-shadow:
        0 8px 22px rgba(12, 35, 64, .09),
        0 0 0 2px color-mix(in srgb, var(--site-primary, #0b3b82) 13%, transparent);
    outline: none;
}
body.victor-homepage .vsc-featured-category:active {
    transform: translateY(-1px) scale(.99);
}
@media (max-width: 767.98px) {
    body.victor-homepage .vsc-featured-categories {
        gap: 9px;
    }
    body.victor-homepage .vsc-featured-category {
        min-height: 154px;
        padding: 15px 9px;
        border-radius: 17px;
        box-shadow: 0 2px 8px rgba(12, 35, 64, .04);
    }
    body.victor-homepage .vsc-featured-category > span {
        width: 50px;
        height: 50px;
        margin-bottom: 9px;
    }
    body.victor-homepage .vsc-featured-category img {
        width: 41px;
        height: 41px;
    }
}
@media (prefers-reduced-motion: reduce) {
    body.victor-homepage .vsc-featured-category {
        transition: none !important;
    }
}


/* VSC 2026-11-08 homepage finishing corrections: hero dots, Top Brands target and category art */
/* Remove hero pagination entirely on desktop and mobile. */
body.victor-homepage .vsc-main-slider .vsc-slider-dots,
body.victor-homepage .vsc-main-slider [data-vsc-dot] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* Keep real Top Brands geometry available before navigation to avoid mobile layout shifts. */
.vsc-home #top-brands {
    content-visibility: visible !important;
    contain-intrinsic-size: none !important;
    scroll-margin-top: 86px;
}
@media (max-width: 767.98px) {
    .vsc-home #top-brands {
        scroll-margin-top: 74px;
    }
}

/* Larger premium circular artwork; the existing rounded card structure is preserved. */
body.victor-homepage .vsc-featured-category {
    min-height: 188px;
}
body.victor-homepage .vsc-featured-category > span {
    width: 82px;
    height: 82px;
    margin-bottom: 10px;
}
body.victor-homepage .vsc-featured-category img {
    width: 70px;
    height: 70px;
    object-fit: contain;
}
@media (max-width: 767.98px) {
    body.victor-homepage .vsc-featured-category {
        min-height: 166px;
    }
    body.victor-homepage .vsc-featured-category > span {
        width: 68px;
        height: 68px;
        margin-bottom: 9px;
    }
    body.victor-homepage .vsc-featured-category img {
        width: 58px;
        height: 58px;
    }
}


/* Institutional quotation banner: readable premium body copy on desktop and mobile.
   The shared legacy storefront stylesheet used 11px here, which was too small. */
body.victor-homepage .vsc-bulk-banner p {
    max-width: 820px;
    margin: 0;
    color: #536174;
    font-family: inherit;
    font-size: clamp(15px, 1.08vw, 16px);
    font-weight: 500;
    line-height: 1.72;
    letter-spacing: .005em;
    text-wrap: pretty;
}

body.victor-homepage .vsc-bulk-banner__actions a {
    min-height: 44px;
    font-size: 12px;
    letter-spacing: .01em;
}

/* If Admin disables every side promo, let the main slider use the full hero width. */
body.victor-homepage .vsc-storefront-grid.vsc-storefront-grid--no-side-promos {
    grid-template-columns: minmax(0, 1fr) !important;
}
body.victor-homepage .vsc-storefront-grid--no-side-promos .vsc-main-slider {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    width: 100%;
}

/* A single active promo uses one full-width card rather than leaving a blank slot. */
body.victor-homepage .vsc-home-hero-banners--single {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    align-content: center;
}
body.victor-homepage .vsc-home-hero-banners--single .vsc-home-hero-banners__item {
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 5 / 2 !important;
    align-self: center;
}

@media (max-width: 767.98px) {
    body.victor-homepage .vsc-bulk-banner p {
        font-size: 15px;
        line-height: 1.68;
    }
    body.victor-homepage .vsc-bulk-banner__actions a {
        min-height: 44px;
        padding-inline: 14px;
        font-size: 12px;
    }
    body.victor-homepage .vsc-home-hero-banners--single {
        min-height: 0 !important;
        height: auto !important;
        grid-template-columns: minmax(0, 1fr) !important;
    }
}


/* VSC category circle-only correction — 2026-11-13
   Lock the existing card dimensions. Only the inner circular image holder
   and its image are enlarged; grid columns and card width remain untouched. */
body.victor-homepage .vsc-featured-category {
    box-sizing: border-box;
    height: 188px;
    min-height: 188px;
}
body.victor-homepage .vsc-featured-category > span {
    flex: 0 0 90px;
    width: 90px;
    min-width: 90px;
    height: 90px;
    min-height: 90px;
    margin-bottom: 8px;
}
body.victor-homepage .vsc-featured-category > span img {
    display: block;
    width: 78px;
    min-width: 78px;
    height: 78px;
    min-height: 78px;
    object-fit: contain;
}
@media (max-width: 767.98px) {
    body.victor-homepage .vsc-featured-category {
        height: 166px;
        min-height: 166px;
    }
    body.victor-homepage .vsc-featured-category > span {
        flex-basis: 76px;
        width: 76px;
        min-width: 76px;
        height: 76px;
        min-height: 76px;
        margin-bottom: 7px;
    }
    body.victor-homepage .vsc-featured-category > span img {
        width: 66px;
        min-width: 66px;
        height: 66px;
        min-height: 66px;
    }
}
