/*
Theme Name: DC Supplies Theme
Theme URI: https://www.dcsupplies.net/
Author: DC Supplies
Author URI: https://www.dcsupplies.net/
Description: Custom WooCommerce theme for DC Supplies, inspired by Newegg Business.
Version: 2.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dcsupplies-theme
*/

/* ─── Reset & Base ───────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
    --primary:      #1861BD;
    --primary-dark: #003087;
    --accent:       #E77600;
    --accent-dark:  #c96500;
    --red:          #C7001E;
    --text:         #333;
    --text-light:   #666;
    --bg:           #f5f5f5;
    --border:       #ddd;
    --white:        #fff;
    --footer-bg:    #1a1a2e;
    --sidebar-bg:   #16213e;
}

body {
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 14px;
    color: var(--text);
    background: var(--bg);
    line-height: 1.5;
}

a { color: var(--primary); text-decoration: none; }
a:hover { color: var(--primary-dark); text-decoration: underline; }
img { max-width: 100%; height: auto; display: block; }
ul { list-style: none; }

/* ═══════════════════════════════════════════════════════════════════
   HEADER — 3-ROW NEWEGG BUSINESS LAYOUT
═══════════════════════════════════════════════════════════════════ */

/* Row 1: Logo + B2B Promo + Account + Cart */
.header-row-1 {
    background: #fff;
    border-bottom: 1px solid #e0e0e0;
}
.header-row-1__inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    gap: 16px;
}

.site-branding { flex-shrink: 0; }
.site-branding a { display: block; line-height: 1; text-decoration: none; }
.site-branding img { height: 52px; width: auto; }
.site-branding .custom-logo { height: 52px; width: auto; }

.header-b2b-promo {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 2px solid var(--primary);
    border-radius: 4px;
    padding: 8px 14px;
    margin-left: 8px;
    cursor: pointer;
    flex-shrink: 0;
}
.header-b2b-promo__icon {
    background: var(--primary);
    color: #fff;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}
.header-b2b-promo__text strong { display: block; font-size: 13px; color: var(--primary-dark); font-weight: 700; }
.header-b2b-promo__text em { font-size: 12px; color: var(--accent); font-style: italic; }

.header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-left: auto;
    flex-shrink: 0;
}
.btn-create-account {
    background: var(--accent);
    color: #fff !important;
    padding: 8px 18px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    white-space: nowrap;
    transition: background 0.15s;
}
.btn-create-account:hover { background: var(--accent-dark); text-decoration: none !important; }

.header-actions__link {
    font-size: 13px;
    color: var(--text) !important;
    text-decoration: none !important;
    white-space: nowrap;
}
.header-actions__link:hover { color: var(--primary) !important; text-decoration: none !important; }

.header-actions__cart {
    position: relative;
    color: var(--text) !important;
    font-size: 26px;
    line-height: 1;
    text-decoration: none !important;
    display: flex;
    align-items: center;
}
.header-actions__cart .dashicons { font-size: 28px; width: 28px; height: 28px; }
.cart-badge {
    position: absolute;
    top: -6px;
    right: -8px;
    background: var(--red);
    color: #fff;
    border-radius: 50%;
    min-width: 18px;
    height: 18px;
    font-size: 11px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 3px;
}

/* Row 2: Categories Button + Search Bar */
.header-row-2 {
    background: var(--primary);
    padding: 8px 0;
}
.header-row-2__inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 16px;
    display: flex;
    align-items: stretch;
    gap: 0;
}

.categories-toggle-btn {
    background: var(--primary-dark);
    color: #fff;
    border: none;
    padding: 10px 20px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 8px;
    border-radius: 3px 0 0 3px;
    flex-shrink: 0;
    font-family: inherit;
}
.categories-toggle-btn:hover { background: #001a5e; }
.categories-toggle-btn .menu-icon { font-size: 16px; }

.search-form-outer { flex: 1; display: flex; }
.search-form-outer form { display: flex; width: 100%; }

.search-cat-select {
    border: none;
    border-right: 1px solid #bbb;
    padding: 0 12px;
    font-size: 13px;
    background: #f0f0f0;
    color: var(--text);
    outline: none;
    cursor: pointer;
    max-width: 120px;
    flex-shrink: 0;
}
.search-cat-select:focus { background: #e8e8e8; }

.search-input-field {
    flex: 1;
    padding: 10px 16px;
    font-size: 14px;
    border: none;
    outline: none;
    font-family: inherit;
    min-width: 0;
}
.search-submit-btn {
    background: var(--accent);
    color: #fff;
    border: none;
    padding: 0 24px;
    cursor: pointer;
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0 3px 3px 0;
    transition: background 0.15s;
}
.search-submit-btn:hover { background: var(--accent-dark); }
.search-submit-btn .dashicons { font-size: 22px; width: 22px; height: 22px; }

/* Row 3: Sub-nav */
.header-row-3 {
    background: var(--primary-dark);
    border-top: 1px solid rgba(255,255,255,0.1);
}
.header-row-3__inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 16px;
    display: flex;
    align-items: center;
    gap: 0;
    min-height: 36px;
}
.subnav-tagline {
    color: var(--accent);
    font-size: 13px;
    font-style: italic;
    font-weight: 700;
    white-space: nowrap;
    padding-right: 20px;
    border-right: 1px solid rgba(255,255,255,0.2);
    margin-right: 16px;
}
.subnav-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
}
.subnav-links a {
    color: rgba(255,255,255,0.9);
    font-size: 12px;
    padding: 8px 14px;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.15s, background 0.15s;
}
.subnav-links a:hover {
    color: var(--accent);
    background: rgba(255,255,255,0.06);
    text-decoration: none;
}

/* ═══════════════════════════════════════════════════════════════════
   HOMEPAGE ABOVE-FOLD: LEFT SIDEBAR + HERO SLIDER
═══════════════════════════════════════════════════════════════════ */

.homepage-above-fold {
    position: relative;
    max-width: 1280px;
    margin: 0 auto;
}

/* Left Category Sidebar — absolute so it never controls container height */
.home-cat-sidebar {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 210px;
    background: var(--sidebar-bg);
    z-index: 10;
}
.home-cat-sidebar__list { padding: 0; margin: 0; }
.home-cat-sidebar__list li a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 9px 16px;
    color: rgba(255,255,255,0.88);
    font-size: 14px;
    text-decoration: none;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    transition: background 0.15s, color 0.15s;
}
.home-cat-sidebar__list li a:hover {
    background: #FFFFFF;
    color: #CC4E00;
    text-decoration: none;
}

 .home-cat-sidebar__list li a .sidebar-arrow {
    opacity: 0.5;
    font-size: 12px;
}
.home-cat-sidebar__list li a:hover .cat-arrow 
{ 
    color: #CC4E00; opacity: 0.9;

}

/* Highlight the active sidebar item while its mega-panel is open,
   matching the white-panel / orange-text "Computer Hardware" row on Newegg Business */
.home-cat-sidebar__list li.has-mega:hover > a {
    background: #FFFFFF;
    color: #CC4E00;
}
.home-cat-sidebar__list li.has-mega:hover > a .cat-arrow { color: #CC4E00; opacity: 0.9; }

/* Hero Area — offset by sidebar width + gap */
.home-hero-area { margin-left: 219px; overflow: hidden; position: relative; }

/* Hero Slider */
.hero-slider {
    position: relative;
    background: #0a1628;
    height: 360px;
    overflow: hidden;
    margin-top: 9px;
}
.hero-slide {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    opacity: 0;
    transition: opacity 0.6s ease;
    pointer-events: none;
}
.hero-slide.is-active {
    opacity: 1;
    pointer-events: auto;
}

.hero-slide__bg {
    position: absolute;
    inset: 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
    opacity: 0.35;
}

.hero-slide__content {
    position: relative;
    z-index: 2;
    padding: 32px 40px;
    color: #fff;
    max-width: 520px;
}
.hero-slide__eyebrow {
    font-size: 13px;
    color: var(--accent);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
}
.hero-slide__title {
    font-size: 30px;
    font-weight: 900;
    line-height: 1.15;
    text-transform: uppercase;
    margin-bottom: 10px;
}
.hero-slide__title em { color: var(--accent); font-style: normal; }
.hero-slide__sub {
    font-size: 15px;
    color: rgba(255,255,255,0.8);
    margin-bottom: 24px;
}
.hero-slide__cta {
    display: inline-block;
    background: var(--accent);
    color: #fff !important;
    padding: 11px 28px;
    font-size: 14px;
    font-weight: 700;
    border-radius: 3px;
    text-decoration: none !important;
    transition: background 0.15s;
}
.hero-slide__cta:hover { background: var(--accent-dark); }

.hero-slider__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0,0,0,0.45);
    color: #fff;
    border: none;
    width: 38px;
    height: 56px;
    font-size: 22px;
    cursor: pointer;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s;
}
.hero-slider__arrow:hover { background: rgba(0,0,0,0.75); }
.hero-slider__arrow--prev { left: 0; border-radius: 0 4px 4px 0; }
.hero-slider__arrow--next { right: 0; border-radius: 4px 0 0 4px; }

.hero-slider__dots {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 6px;
    z-index: 5;
}
.hero-slider__dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255,255,255,0.35);
    border: none;
    cursor: pointer;
    padding: 0;
    transition: background 0.2s;
}
.hero-slider__dot.is-active { background: var(--accent); }

/* Promo Mini Banners */
.promo-mini-banners {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
    background: #fff;
    padding: 6px 0 0 0;
}
.promo-mini-banner {
    background: var(--sidebar-bg);
    padding: 18px 20px;
    display: flex;
    align-items: center;
    gap: 14px;
    cursor: pointer;
    transition: background 0.15s;
    min-height: 90px;
    text-decoration: none !important;
}
.promo-mini-banner:hover { background: #1e2d4e; text-decoration: none !important; }
.promo-mini-banner__text strong { display: block; font-size: 13px; color: #fff; font-weight: 700; margin-bottom: 4px; }
.promo-mini-banner__text span { font-size: 12px; color: rgba(255,255,255,0.7); line-height: 1.4; }
.promo-mini-banner__icon { font-size: 28px; flex-shrink: 0; }
.promo-mini-banner__cta {
    display: inline-block;
    margin-top: 6px;
    font-size: 12px;
    color: var(--accent);
    font-weight: 600;
}

/* ═══════════════════════════════════════════════════════════════════
   CATEGORY SHOWCASE — CIRCULAR GRID
═══════════════════════════════════════════════════════════════════ */
.category-showcase {
    background: #fff;
    padding: 28px 0;
    border-top: 1px solid var(--border);
}
.category-showcase__inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 16px;
}

.category-showcase__header { text-align: center; margin-bottom: 28px; }
.category-showcase__title {
    font-size: 20px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text);
    margin-bottom: 8px;
}
.category-showcase__subtitle {
    font-size: 13px;
    color: var(--primary);
    max-width: 560px;
    margin: 0 auto;
    line-height: 1.5;
}

.category-showcase__grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
}
.category-showcase__item { text-align: center; }
.category-showcase__item a {
    display: block;
    text-decoration: none !important;
}
.category-showcase__item a:hover .cat-circle { border-color: var(--primary); box-shadow: 0 4px 16px rgba(24,97,189,0.18); }
.category-showcase__item a:hover .cat-name { color: var(--primary); }

.cat-circle {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: #f0f5ff;
    border: 2px solid #d8e5f7;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 12px;
    overflow: hidden;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.cat-circle img {
    width: 110px;
    height: 110px;
    object-fit: contain;
}
.cat-circle .cat-icon { font-size: 52px; line-height: 1; }
.cat-name {
    font-size: 12px;
    font-weight: 600;
    color: var(--text);
    line-height: 1.3;
    transition: color 0.15s;
}

/* ═══════════════════════════════════════════════════════════════════
   WHO WE SERVE
═══════════════════════════════════════════════════════════════════ */
.who-we-serve {
    background: var(--primary-dark);
    padding: 40px 16px;
}
.who-we-serve__inner { max-width: 1280px; margin: 0 auto; }
.who-we-serve__title {
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 28px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.who-we-serve__grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
}
.who-we-serve__card {
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 6px;
    padding: 24px 16px;
    text-align: center;
    transition: background 0.2s, transform 0.2s;
    cursor: default;
}
.who-we-serve__card:hover {
    background: rgba(255,255,255,0.14);
    transform: translateY(-2px);
}
.who-we-serve__icon { font-size: 36px; margin-bottom: 12px; }
.who-we-serve__card h3 { font-size: 13px; font-weight: 700; color: #fff; }

/* ═══════════════════════════════════════════════════════════════════
   SERVICES STRIP
═══════════════════════════════════════════════════════════════════ */
.services-strip { background: var(--primary); padding: 20px 16px; }
.services-strip__inner {
    max-width: 1280px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    align-items: center;
}
.service-block {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #fff;
    padding: 8px 0;
    border-right: 1px solid rgba(255,255,255,0.2);
}
.service-block:last-child { border-right: none; }
.service-block__icon { font-size: 28px; flex-shrink: 0; }
.service-block__title { font-size: 13px; font-weight: 700; }
.service-block__desc { font-size: 11px; opacity: 0.8; margin-top: 2px; }

/* ═══════════════════════════════════════════════════════════════════
   FEATURED PRODUCTS
═══════════════════════════════════════════════════════════════════ */
.home-featured {
    padding: 32px 16px;
    background: var(--bg);
}
.home-featured__inner { max-width: 1280px; margin: 0 auto; }
.section-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 3px solid var(--primary);
}

/* ═══════════════════════════════════════════════════════════════════
   PRODUCT CARDS
═══════════════════════════════════════════════════════════════════ */
.product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.product-card {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 3px;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.2s, border-color 0.2s;
}
.product-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.12); border-color: #bbb; }

.product-card__image-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 180px;
    padding: 12px;
    border-bottom: 1px solid #eee;
    background: #fafafa;
}
.product-card__image-wrap img { max-height: 150px; object-fit: contain; }

.product-card__body { padding: 12px; flex: 1; display: flex; flex-direction: column; gap: 5px; }
.product-card__title { font-size: 13px; font-weight: 600; line-height: 1.4; margin-bottom: 4px; }
.product-card__title a { color: var(--text); text-decoration: none; }
.product-card__title a:hover { color: var(--primary); text-decoration: none; }
.product-card__price { font-size: 18px; font-weight: 700; color: var(--red); }
.product-card__sku { font-size: 11px; color: var(--text-light); }
.product-card__stock-in { font-size: 12px; color: #2a7a2a; font-weight: 600; }
.product-card__stock-out { font-size: 12px; color: var(--red); }
.product-card__footer { margin-top: auto; padding-top: 8px; }
.product-card__footer .button,
.product-card__footer a.button { width: 100%; text-align: center; font-size: 13px; }

/* ═══════════════════════════════════════════════════════════════════
   ARCHIVE / CATEGORY PAGE
═══════════════════════════════════════════════════════════════════ */
.archive-layout {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 20px;
    max-width: 1280px;
    margin: 20px auto;
    padding: 0 16px;
}
.archive-sidebar { align-self: start; }
.filter-sidebar {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 3px;
    padding: 16px;
}
.filter-sidebar .widget-title {
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border);
}
.filter-sidebar ul li { margin-bottom: 6px; font-size: 13px; }
.filter-sidebar ul li a { color: var(--text); }
.filter-sidebar ul li a:hover { color: var(--primary); }

/* .archive-main {} */
.archive-header {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 3px;
    padding: 14px 16px;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}
.archive-title { font-size: 18px; font-weight: 700; }
.archive-count { font-size: 13px; color: var(--text-light); }
.woocommerce-ordering select { border: 1px solid var(--border); padding: 6px 10px; font-size: 13px; border-radius: 3px; }

.no-results {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 3px;
    padding: 48px;
    text-align: center;
}
.no-results p { margin-bottom: 16px; color: var(--text-light); }

/* ═══════════════════════════════════════════════════════════════════
   SINGLE PRODUCT
═══════════════════════════════════════════════════════════════════ */
.single-product-wrap {
    max-width: 1280px;
    margin: 20px auto;
    padding: 0 16px;
}
.single-product-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 3px;
    padding: 24px;
    margin-bottom: 20px;
}
.product-title { font-size: 20px; font-weight: 700; margin-bottom: 8px; line-height: 1.3; }
.product-sku-line { font-size: 12px; color: var(--text-light); margin-bottom: 8px; }
.product-price { font-size: 28px; font-weight: 700; color: var(--red); margin-bottom: 12px; }
.product-short-description { font-size: 13px; color: var(--text-light); margin-top: 16px; line-height: 1.6; }

.single-product__related {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 3px;
    padding: 20px;
}

/* ═══════════════════════════════════════════════════════════════════
   PAGINATION
═══════════════════════════════════════════════════════════════════ */
.nav-links { display: flex; gap: 4px; margin-top: 24px; justify-content: center; }
.page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    border: 1px solid var(--border);
    background: #fff;
    color: var(--text);
    font-size: 13px;
    border-radius: 2px;
    text-decoration: none;
    padding: 0 8px;
}
.page-numbers.current { background: var(--primary); color: #fff; border-color: var(--primary); }
.page-numbers:hover:not(.current) { border-color: var(--primary); color: var(--primary); text-decoration: none; }

/* ═══════════════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════════════ */
.site-footer { background: var(--footer-bg); color: #ccc; margin-top: 40px; }
.site-footer__inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 40px 16px 24px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
}
.footer-col h4 {
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid #2a2a3e;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}
.footer-menu li { margin-bottom: 8px; }
.footer-menu a { color: #aaa; font-size: 13px; }
.footer-menu a:hover { color: #fff; text-decoration: none; }
.footer-trust { display: flex; flex-direction: column; gap: 8px; font-size: 13px; color: #aaa; }
.footer-trust span::before { content: '✔ '; color: #4caf50; }
.site-info {
    border-top: 1px solid #2a2a3e;
    padding: 16px;
    text-align: center;
    font-size: 12px;
    color: #555;
    max-width: 1280px;
    margin: 0 auto;
}

/* ═══════════════════════════════════════════════════════════════════
   WOOCOMMERCE OVERRIDES
═══════════════════════════════════════════════════════════════════ */
.woocommerce-message,
.woocommerce-info {
    border-top-color: var(--primary);
    background: #eaf0fb;
    padding: 12px 16px;
    font-size: 13px;
    margin-bottom: 16px;
}
.woocommerce-breadcrumb {
    font-size: 12px;
    color: var(--text-light);
    padding: 8px 16px;
    max-width: 1280px;
    margin: 0 auto;
}
.woocommerce-breadcrumb a { color: var(--primary); }

.button, button.button, input[type="submit"] {
    display: inline-block;
    padding: 9px 20px;
    background: var(--accent);
    color: #fff !important;
    border: none;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    border-radius: 2px;
    text-decoration: none !important;
    transition: background 0.15s;
    font-family: inherit;
}
.button:hover { background: var(--accent-dark); text-decoration: none !important; }
.button.button-primary, input[type="submit"] { background: var(--primary); }
.button.button-primary:hover { background: var(--primary-dark); }

/* ═══════════════════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════════════════ */
@media (max-width: 1100px) {
    .category-showcase__grid { grid-template-columns: repeat(4, 1fr); }
    .product-grid { grid-template-columns: repeat(3, 1fr); }
    .who-we-serve__grid { grid-template-columns: repeat(3, 1fr); }
    .services-strip__inner { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
    .home-cat-sidebar { display: none; }
    .home-hero-area { margin-left: 0; }
    .header-b2b-promo { display: none; }
    .category-showcase__grid { grid-template-columns: repeat(3, 1fr); }
    .product-grid { grid-template-columns: repeat(2, 1fr); }
    .archive-layout { grid-template-columns: 1fr; }
    .archive-sidebar { order: 2; }
    .site-footer__inner { grid-template-columns: repeat(2, 1fr); }
    .who-we-serve__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
    .header-row-1__inner { flex-wrap: wrap; gap: 8px; }
    .header-actions { order: 2; }
    .subnav-tagline { display: none; }
    .category-showcase__grid { grid-template-columns: repeat(2, 1fr); }
    .cat-circle { width: 110px; height: 110px; }
    .cat-circle img { width: 80px; height: 80px; }
    .product-grid { grid-template-columns: repeat(2, 1fr); }
    .single-product-layout { grid-template-columns: 1fr; }
    .site-footer__inner { grid-template-columns: 1fr; }
    .who-we-serve__grid { grid-template-columns: repeat(2, 1fr); }
    .promo-mini-banners { grid-template-columns: 1fr; }
    .hero-slide__title { font-size: 22px; }
    .hero-slider { height: 260px; }
    .services-strip__inner { grid-template-columns: 1fr; }
}


/* ==========================================================
   MEGA MENU 
========================================================== */

.home-cat-sidebar__list li {
    position: relative;
}

/* ==========================================================
   PANEL
========================================================== */

.mega-panel {
    display: none;
    position: absolute;
    top: 0;
    left: 100%;

    width: 920px;
    min-height: 180px;

    background: #f8f8f8;
    border: 1px solid #dcdcdc;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);

    padding: 18px 22px;
    z-index: 9999;
}

.home-cat-sidebar__list li:hover > .mega-panel,
.mega-panel:hover {
    display: block;
}

/* ==========================================================
   4 COLUMN LAYOUT
========================================================== */

.mega-panel__columns {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    align-items: start;
}

.mega-panel__col {
    min-width: 0;
    padding: 0 !important;
    margin: 0 !important;
}

/* ==========================================================
   PARENT CATEGORY
   Example: CPUS / PROCESSORS
========================================================== */

.mega-category-parent,
.mega-category-parent:visited {
    display: block;

    margin: 0 0 1px 0;
    padding: 0 0 0 0;
    
    font-family: "Open Sans", Helvetica, Arial, sans-serif;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 600;
    text-transform: uppercase;

    text-align: left;
    text-indent: 0;

    color: #222 !important;
    background: transparent !important;

    text-decoration: none !important;
    border-bottom: 1px solid #d8d8d8 !important;
}

.mega-category-parent:hover,
.mega-category-parent:focus {
    color: #222 !important;
    text-decoration: none !important;
    text-decoration: none !important;
}

/* ==========================================================
   CHILDREN LIST
========================================================== */

.mega-category-children {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
}
.mega-category-children a {
    width: auto !important;
    align-self: flex-start;
}

/* ==========================================================
   CHILD LINKS
========================================================== */

.mega-category-child,
.mega-category-child:visited {
    display: inline;
    background: transparent !important;
    color: #012D6B !important;
    text-decoration: none !important;
    border: none !important;
    padding: 0;
    margin: 0;

}

.mega-category-child:hover,
.mega-category-child:focus {

    color: #012D6B !important;
    background: transparent !important;

    text-decoration: underline !important;
    text-decoration-color: #f28c00 !important;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}


/* ==========================================
   SIDEBAR ARROWS
========================================== */

/* .sidebar-arrow {
    margin-left: auto;
    opacity: .5;
    font-size: 12px;
    color: #666  !important;
} */

/* normal hover */
.home-cat-sidebar__list li:hover > a .sidebar-arrow {
    color: #666 !important;
    opacity: .5;
}

/* white active row (Computer Hardware) */
.home-cat-sidebar__list li.has-mega:hover > a .sidebar-arrow {
    color: #666 !important;
    opacity: .6;
}

.sidebar-arrow {
    margin-left: auto;
    font-size: 14px;
    font-weight: 600;
    color: rgba(255,255,255,.65) !important;
}

.home-cat-sidebar__list li.has-mega:hover > a .sidebar-arrow {
    color: #555 !important;
}


/* ==========================================================
   PREVENT THEME OVERRIDES
========================================================== */



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

.mega-panel a,
.mega-panel a:hover,
.mega-panel a:focus {
    background: transparent !important;
}

/* ==========================================================
   FIX MEGA MENU HEADER HOVER
========================================================== */

.mega-panel .mega-category-parent,
.mega-panel .mega-category-parent:visited {
    background: transparent !important;
    color: #222 !important;
    text-decoration: none !important;
}

.mega-panel .mega-category-parent:hover,
.mega-panel .mega-category-parent:focus {
    background: transparent !important;
    color: #012D6B !important;
    text-decoration: none !important;
}

.mega-panel .mega-category-child,
.mega-panel .mega-category-child:visited,
.mega-panel .mega-category-child:hover,
.mega-panel .mega-category-child:focus {
    background: transparent !important;
}

/* Prevent any theme hover styles inside mega panel */
.mega-panel a:hover {
    background: transparent !important;
}
/* FORCE MEGA HEADINGS TO START AT COLUMN EDGE */
.mega-panel .mega-category-parent,
.mega-panel .mega-category-parent:visited {
    display:block !important;

    margin:0 0 0 0 !important;
    padding:0 0 10px 0 !important;

    text-indent:0 !important;
    left:auto !important;

    border-bottom:1px solid #d8d8d8 !important;
}