/* Global image responsiveness */
img {
    max-width: 100%;
    height: auto;
}

/* Override for specific image classes that need fixed dimensions */
.shop-img, .shop-img-sm, .shop-img-md, .shop-img-lg, .product-thumb, .site-logo, .cards-img {
    max-width: initial;
    height: initial;
}

.stock-status {
    font-size: 13px;
    margin-bottom: 10px;
    font-weight: 600;
}
.stock-status.in-stock {
    color: #388e3c;
}
.stock-status.out-stock {
    color: #d32f2f;
}
@media (max-width: 1200px) {
    .container {
        max-width: 100vw;
        padding: 0 8px;
    }
    .products-main {
        gap: 12px !important;
    }
    .sidebar-filters {
        max-width: 180px !important;
        padding: 12px 6px !important;
    }
    .product-grid.grid-view {
        grid-template-columns: repeat(2, minmax(140px, 1fr)) !important;
        max-width: 100% !important;
        gap: 12px !important;
    }
}

@media (max-width: 800px) {
    .products-main {
        flex-direction: column !important;
        gap: 0 !important;
    }
    .sidebar-filters {
        max-width: 100vw !important;
        width: 100vw !important;
        margin-right: 0 !important;
        margin-bottom: 18px !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
    .product-grid.grid-view {
        grid-template-columns: repeat(1, minmax(180px, 1fr)) !important;
        max-width: 100vw !important;
        gap: 10px !important;
    }
}
/* Removed stray orphaned declarations that caused CSS parse errors */

/* ===================================
   Shop Product Image Helpers
=================================== */
.shop-img {
    display: block;
    object-fit: cover;
    background: transparent;
}
.shop-img-sm {
    width: 70px;
    height: 70px;
    border-radius: 8px;
}
.shop-img-md {
    width: 130px;
    height: 130px;
    border-radius: 12px;
}
.shop-img-lg {
    width: 160px;
    height: 160px;
    border-radius: 8px;
}
/* Eternaloy logo variant: ensure full-width readability */
.shop-img.logo {
    object-fit: contain;
    background: #fff;
}
.shop-img-sm.logo { padding: 6px; }
.shop-img-md.logo { padding: 10px; }
.shop-img-lg.logo { padding: 10px; }
.pagination-link {
    padding: 8px 18px;
    border-radius: 24px;
    background: #f2f4f8;
    color: #213f95;
    font-weight: 600;
    border: 1px solid #d1d5db;
    transition: all 0.2s;
    box-shadow: 0 1px 4px rgba(33,63,149,0.07);
    text-decoration: none;
    margin-right: 4px;
}
.pagination-link.active {
    background: #213f95;
    color: #fff;
    border-color: #213f95;
}
.pagination-link:hover {
    background: #e3e7ef;
    color: #213f95;
}
/* ===================================
     Global Styles
=================================== */
body {
    margin:0;
    font-family: system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    min-height:100vh;
    background:#ffffff;
    color:#1e293b;
    line-height:1.5;
}
h1,h2,h3,h4,h5 { font-weight:650; line-height:1.18; letter-spacing:.5px; }
p { line-height:1.6; }

/* =============================
     Site Header (migrated from removed inline styles)
============================= */
/* =============================
     Site Header - Original Bootstrap Style
============================= */
.site-header { width:100%; background:#ffffff; box-shadow:0 2px 4px rgba(0,0,0,0.1); position:relative; z-index:500; }
.header-top { background:#0d47a1; color:#fff; font-size:14px; }
.header-top a { color:#fff; text-decoration:none; }
.header-top a:hover { text-decoration:underline; }
.header-bar { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:6px 0; flex-wrap:wrap; }
.header-top-split { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.site-logo { height:64px; width:auto; object-fit:contain; display:block; }

/* Bootstrap-style navbar */
.navbar { 
    background: #f8f9fa !important; 
    border-bottom: 1px solid #dee2e6;
    padding: 8px 0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.08);
}
.navbar .logo { display:flex; align-items:center; text-decoration:none; }
.navbar .logo:hover { opacity:.9; }
.header-search { display:flex; align-items:center; gap:6px; }
.header-search input { padding:8px 12px; border:1px solid #ced4da; border-radius:4px; font-size:14px; }
.header-search input:focus { outline:none; border-color:#0d47a1; box-shadow:0 0 0 2px rgba(13,71,161,0.25); }
.header-search button { background:#0d47a1; color:#fff; padding:8px 14px; border:none; border-radius:4px; font-weight:500; cursor:pointer; }
.header-search button:hover { background:#0b3a8c; }

/* Bootstrap nav links */
.nav-pill, .nav-main-link { 
    position:relative; 
    display:inline-block; 
    padding: 8px 16px; 
    border-radius: 4px; 
    font-weight: 500; 
    text-decoration: none; 
    color: #495057; 
    background: transparent; 
    transition: all 0.15s ease-in-out; 
}
.nav-pill:hover, .nav-main-link:hover { 
    background: #e9ecef; 
    color: #0d47a1; 
    text-decoration: none; 
}
.nav-pill:focus, .nav-main-link:focus { 
    outline: 0; 
    box-shadow: 0 0 0 2px rgba(13,71,161,0.25); 
}
.nav-links { 
    list-style: none; 
    margin: 0; 
    padding: 0; 
    display: flex; 
    align-items: center; 
    gap: 4px; 
}
.nav-links > li { position: relative; }
.product-thumb { width:90px; height:90px; object-fit:contain; object-position:center; background:#fff; border:1px solid #e2e8f0; border-radius:6px; padding:4px; }
table.product-table { width:100%; border-collapse:collapse; table-layout:fixed; }
table.product-table thead { background:#f1f5f9; }
table.product-table th { text-align:left; font-size:14px; }
table.product-table td { font-size:14px; }
table.product-table th, table.product-table td { padding:8px 10px; }
table.product-table th:nth-child(1), table.product-table td:nth-child(1){ width:110px; }
table.product-table th:nth-child(2), table.product-table td:nth-child(2){ width:28%; }
table.product-table th:nth-child(3), table.product-table td:nth-child(3){ width:11%; }
table.product-table th:nth-child(4), table.product-table td:nth-child(4){ width:9%; }
table.product-table th:nth-child(5), table.product-table td:nth-child(5){ width:8%; }
table.product-table th:nth-child(6), table.product-table td:nth-child(6){ width:8%; }
table.product-table th:nth-child(7), table.product-table td:nth-child(7){ width:13%; }
table.product-table tr:nth-child(even){ background:#fafbfc; }
table.product-table tr:hover { background:#eef4ff; }
.products-main { display:flex; align-items:flex-start; gap:32px; }
.sidebar-filters { flex:0 0 240px; max-width:240px; background:#fff; border:1px solid #e2e8f0; border-radius:10px; padding:18px 16px; box-shadow:0 2px 10px rgba(0,0,0,0.05); }
.results-col { flex:1; min-width:0; }
.product-list.list-view { width:100%; max-width:100%; }
.category-hero-panel img { max-width:100%; max-height:300px; height:auto; display:block; object-fit:contain; border:1px solid #e2e8f0; border-radius:10px; margin:0 auto; }
.product-info-main img { max-width:420px; max-height:350px; width:100%; height:auto; object-fit:contain; }
.product-info-main { max-width:100%; }
td img:not(.site-logo):not(.hero-logo) { max-width:100%; height:auto; }

/* Category/Product page image constraints - Responsive */
.category-img, .highlight-item img { 
    width: 100%; 
    max-width: 280px; 
    height: auto;
    min-height: 180px;
    object-fit: contain; 
    object-position: center;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 8px;
    margin: 0 auto;
    display: block;
}
@media (max-width: 980px){
    .products-main { flex-direction:column; }
    .sidebar-filters { width:100%; max-width:100%; }
    table.product-table { table-layout:auto; }
}
@media (max-width: 640px){
    .product-thumb { width:70px; height:70px; }
    table.product-table th, table.product-table td { padding:6px 6px; font-size:12px; }
    .sidebar-filters { padding:14px 12px; }
    
    /* Mobile image responsiveness */
    .category-img, .highlight-item img {
        max-width: 100%;
        min-height: 120px;
        padding: 4px;
    }
    
    .product-info-main img {
        max-width: 100%;
        max-height: 250px;
    }
    
    .category-hero-panel img {
        max-height: 200px;
    }
}

/* Additional mobile breakpoints for images */
@media (max-width: 480px) {
    .category-img, .highlight-item img {
        min-height: 100px;
        padding: 2px;
    }
    
    .product-info-main img {
        max-height: 200px;
    }
    
    .category-hero-panel img {
        max-height: 150px;
    }
    
    .shop-img-md {
        width: 100px;
        height: 100px;
    }
    
    .shop-img-lg {
        width: 120px;
        height: 120px;
    }
    
    .product-item img {
        min-height: 120px;
        max-height: 180px;
    }
    
    .product-grid.list-view img {
        width: 100px;
    }
}
.signup-pill { background:#ffffff; color:#0d47a1 !important; padding:6px 16px; border-radius:18px; font-weight:600; border:2px solid #ffffff; box-shadow:0 2px 6px rgba(0,0,0,0.12); transition:background .25s, color .25s, box-shadow .25s; }
.signup-pill:hover { background:#f1f5f9; color:#0b3c8c !important; box-shadow:0 4px 12px rgba(0,0,0,0.18); }
.signup-pill:focus-visible { outline:2px solid #94b4ff; outline-offset:2px; }
.cart-link { display:inline-flex; align-items:center; background:#213f95; color:#fff !important; padding:8px 16px; border-radius:24px; font-weight:600; text-decoration:none; position:relative; gap:6px; box-shadow:0 2px 6px rgba(0,0,0,.12); }
.cart-link:hover { background:#1e51b0; box-shadow:0 4px 14px -2px rgba(33,63,149,.35); }
.cart-link:focus-visible { outline:2px solid #94b4ff; outline-offset:2px; }
.cart-count { background:#ff4444; color:#fff; font-size:12px; padding:2px 6px; border-radius:12px; margin-left:6px; min-width:22px; text-align:center; font-weight:700; }
/* Bootstrap-style dropdown */
.nav-thin-dropdown { 
    display: none; 
    position: absolute; 
    left: 0; 
    top: 100%; 
    background: #ffffff; 
    border: 1px solid rgba(0,0,0,.15); 
    border-radius: 4px; 
    box-shadow: 0 6px 12px rgba(0,0,0,.175); 
    padding: 5px 0; 
    min-width: 160px; 
    z-index: 1000; 
}
.nav-thin-dropdown a { 
    display: block; 
    padding: 3px 20px; 
    font-size: 14px; 
    text-decoration: none; 
    color: #212529; 
    font-weight: 400;
    clear: both;
    white-space: nowrap;
}
.nav-thin-dropdown a:hover { 
    background: #f8f9fa; 
    color: #16181b;
}
.dropdown:hover > .nav-thin-dropdown { display:block; }
@media (max-width:1180px){
    .header-bar { flex-wrap:nowrap; }
    .nav-thin-dropdown { position:static; width:100%; box-shadow:none; border:0; padding:4px 0 10px; }
    .nav-thin-dropdown a { padding:6px 4px; }
}

/* Utility Spacing */
.ml-20 { margin-left:20px !important; }
.mt-6 { margin-top:6px !important; }
.mt-12 { margin-top:12px !important; }
.mt-18 { margin-top:18px !important; }
.mt-22 { margin-top:22px !important; }
.mb-6 { margin-bottom:6px !important; }
.mb-12 { margin-bottom:12px !important; }
.mb-18 { margin-bottom:18px !important; }
.mb-28 { margin-bottom:28px !important; }
.p-24 { padding:24px 22px !important; }
.fullw { width:100%; }
.flex-row { display:flex; }
.flex-center { display:flex; justify-content:center; align-items:center; }
.gap-lg { gap:18px; }
.space-between { justify-content:space-between; }

/* Form / Input utilities */
.input { box-sizing:border-box; }
.input.search { padding:12px 20px; border-radius:8px; border:1px solid #d1d5db; width:100%; font-size:16px; }
.input.select { padding:10px 16px; border-radius:6px; border:1px solid #d1d5db; width:100%; font-size:15px; }
.input.select:focus, .input.search:focus { outline:none; border-color:#213f95; box-shadow:0 0 0 2px rgba(33,63,149,0.18); }

/* Shop Heading */
.shop-heading { font-size:2rem; font-weight:700; margin:10px 0 24px; text-align:center; color:#213f95; }

/* Topbar layout */
.shop-topbar { flex-wrap:wrap; }
.topbar-search { flex:1; max-width:320px; }
.topbar-pagination { flex:1; max-width:340px; }
.topbar-sort { flex:1; max-width:220px; }
@media (max-width:900px){
    .shop-topbar { flex-direction:column; align-items:stretch; }
    .topbar-search, .topbar-pagination, .topbar-sort { max-width:100%; flex:1 1 auto; }
    .pagination-top { margin-top:4px; }
}

/* Filter panel refinements */
.filter-heading { font-size:18px; font-weight:700; color:#213f95; margin:0 0 10px; }
.sub-heading { margin:0 0 6px; font-size:14px; color:#213f95; }
.sub-label { font-size:12px; color:#555; display:block; margin:4px 0 2px; }
.apply-wrap { margin-top:12px; width:100%; text-align:center; }
.btn-apply-filters { background:#213f95; color:#fff; padding:10px 24px; border-radius:6px; font-size:16px; font-weight:600; border:none; box-shadow:0 2px 8px rgba(33,63,149,0.08); cursor:pointer; }
.btn-apply-filters:hover { background:#1e51b0; }

/* Results column */
.results-col { flex:1; min-width:0; }
.product-list.list-view { display:block; max-width:900px; width:100%; }

/* Soft panel for category SEO section */
.panel-soft { background:#f8f9fb; border:1px solid #e5e7eb; border-radius:12px; padding:16px; margin-bottom:16px; box-shadow:0 2px 10px rgba(33,63,149,0.05); }

/* Mobile stacking improvements */
@media (max-width: 640px){
    .product-table th, .product-table td { padding:10px 8px; }
    .shop-heading { font-size:1.6rem; margin:6px 0 20px; }
    .btn-apply-filters { width:100%; }
}

/* Brightness / theme normalization */
:root {
    --ea-surface:#ffffff;
    --ea-surface-alt:#f5f7fa;
    --ea-border:#e2e8f0;
    --ea-shadow:0 2px 12px rgba(0,0,0,0.06);
    --ea-radius:14px;
    --ea-text:#1e293b;
}

main .bright-section, main > section.brightify, main > article.brightify {background:var(--ea-surface);}
/* Auto applied wrapper style (JS will add .brightify to transparent sections) */
main > section.brightify, main > article.brightify {box-shadow:var(--ea-shadow);border:1px solid var(--ea-border);border-radius:var(--ea-radius);}

/* Ensure hero blended remains vivid (avoid double dim) */
.hero-blended { filter:none; }

/* --- Brightness enforcement: make all primary content surfaces pure white (except intentional colored sections) --- */
main, main > section, main > article { background:#ffffff; }
/* Themed sections (hero, footer, top bar) retain their own darker / colored backgrounds */

/* === Global Layout Container System === */
/* Base responsive wrapper ensuring consistent left/right margins sitewide */
.layout-wrap, .container, main > .container, .page-wrap {
    max-width: 1140px; /* restored original width */
    margin-left:auto;
    margin-right:auto;
    padding-left: clamp(16px, 2.8vw, 48px);
    padding-right: clamp(16px, 2.8vw, 48px);
    box-sizing: border-box;
}

/* Tight variant if needed via class */
.layout-wrap.narrow { max-width: 1000px; }
.layout-edge-full { padding-left:0; padding-right:0; }

/* Ensure all top-level sections conform */
main > section:not(.full-bleed),
main > div.section,
main > header.page-hero,
main > article.page-article {
    max-width:1140px;
    margin-left:auto;
    margin-right:auto;
    padding-left: clamp(16px, 2.8vw, 48px);
    padding-right: clamp(16px, 2.8vw, 48px);
    box-sizing:border-box;
}

/* Full-bleed helper */
.full-bleed { width:100%; margin-left:0; margin-right:0; padding-left:0; padding-right:0; }

/* Adjust existing .container overrides inside media queries remain compatible */

/* Condensed layout for literature page */
.literature-wrap {
        max-width:1100px;
        margin:0 auto;
        padding:0 96px 48px; /* ~1 inch side margins (96px) */
        box-sizing:border-box;
}
@media (max-width: 1200px) {
    .literature-wrap { padding:0 80px 44px; }
}
@media (max-width: 900px) {
    .literature-wrap { padding:0 48px 40px; }
}
@media (max-width: 600px) {
    .literature-wrap { padding:0 24px 36px; }
}

/* Literature download button styling */
.lit-btn {
    display:inline-block;
    background:#0d47a1;
    color:#fff;
    padding:10px 16px;
    border-radius:6px;
    text-decoration:none;
    font-size:14px;
    font-weight:600;
    letter-spacing:.3px;
    box-shadow:0 2px 4px rgba(0,0,0,.12);
    transition:background .25s, transform .15s, box-shadow .25s;
    line-height:1.2;
}
.lit-btn:hover {
    background:#1565c0;
    box-shadow:0 4px 10px rgba(0,0,0,.18);
    transform:translateY(-2px);
}
.lit-btn:active {
    background:#0b3c8c;
    transform:translateY(0);
    box-shadow:0 2px 4px rgba(0,0,0,.15);
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}
/* Sticky footer setup */
html, body {
height: 100%;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
}
.site-footer {
margin-top: auto;
}
/* ===================================
Top Bar Styles
=================================== */
.top-bar {
background-color: #0d47a1;
color: white;
font-size: 14px;
width: 100%;
}
.top-bar-inner {
max-width: 1200px;
margin: 0 auto;
padding: 8px 20px;
display: flex;
justify-content: center;
align-items: center;
gap: 40px;
flex-wrap: wrap;
text-align: center;
}
.top-bar-left a,
.top-bar-right a {
color: #fff !important;
text-decoration: none;
margin: 0 8px;
font-size: 14px;
transition: text-decoration 0.2s;
}
.top-bar-left a:visited,
.top-bar-right a:visited {
color: #fff !important;
}
.top-bar-left a:hover,
.top-bar-right a:hover {
text-decoration: underline;
color: #0d47a1;
}
/* (Legacy navbar styles removed – consolidated modern header/nav styles earlier) */
/* Responsive / Mobile Navigation Enhancements */
.menu-toggle {
    display: none;
    background: #0d47a1;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 10px 14px;
    font-size: 16px;
    cursor: pointer;
    align-items: center;
    gap: 6px;
}
.menu-toggle .menu-bars { display:inline-flex; flex-direction:column; gap:5px; width:22px; }
.menu-toggle .menu-bars span { display:block; height:3px; background:#fff; border-radius:2px; width:100%; transition:transform .35s ease, opacity .25s ease, background .25s; }
.menu-toggle[aria-expanded="true"] .menu-bars span:nth-child(1) { transform:translateY(8px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-bars span:nth-child(2) { opacity:0; }
.menu-toggle[aria-expanded="true"] .menu-bars span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); }
body.nav-open { overflow:hidden; }

/* Combined mobile breakpoint for a consistent experience */
@media (max-width: 1180px) {
    .nav-links { max-height:calc(100vh - 70px); overflow-y:auto; }
    .header-search { display: none !important; }
    .menu-toggle { display: flex !important; }
    .nav-links { display: none !important; flex-direction: column; align-items: flex-start; gap: 6px !important; position: absolute; top: 100%; left: 0; width: 100%; background: #fff; padding: 16px 20px; border-top: 1px solid #e5e7eb; box-shadow: 0 6px 18px rgba(33,63,149,0.08); z-index: 400; }
    .nav-links.active { display: flex !important; }
    .nav-links > li > a { font-size: 18px !important; padding: 6px 4px !important; }
    .nav-links .dropdown { width: 100%; }
    .nav-links .dropdown > a { width: 100%; display: flex; justify-content: space-between; align-items: center; }
    .header-top .container { flex-direction: column; gap: 4px; align-items: center; }
    .nav-thin-dropdown { position: static !important; width: 100% !important; box-shadow: none !important; border-top-width: 0 !important; }
}

/* Thin dropdown adjustments */
.nav-thin-dropdown a:hover { background:#f3f6ff; }

/* Admin notice & flash messages */
.admin-notice {
    background:#fff3cd;
    color:#856404;
    padding:8px 12px;
    font-size:14px;
    border-bottom:1px solid #ffeeba;
    text-align:center;
}
.admin-notice a { color:#0d47a1; text-decoration: underline; }
.flash-messages { list-style:none; margin:10px auto; padding:0; max-width:960px; }
.flash-messages .flash-message { background:#e3eafc; color:#213f95; padding:10px 14px; margin:0 0 6px; border-radius:6px; font-size:14px; }

/* Product detail page */
.product-detail { max-width:1000px; margin:0 auto; padding:32px 20px; }
.product-info-main { background:#fff; border-radius:14px; box-shadow:0 4px 16px rgba(33,63,149,0.10); padding:32px; }
.product-info-main h1 { font-size:2rem; font-weight:700; margin-bottom:12px; }
.product-info-main .price-block { margin-bottom:16px; font-size:1.4rem; }
.product-info-main img { width:100%; height:auto; object-fit:cover; border-radius:10px; }
.product-info-main .add-to-cart-btn { background:linear-gradient(135deg,#213f95,#1a4090); color:#fff; padding:12px 32px; border-radius:10px; font-weight:600; font-size:1.02rem; border:none; box-shadow:0 4px 14px rgba(33,63,149,0.25); cursor:pointer; position:relative; overflow:hidden; transition:background .35s, transform .25s, box-shadow .3s; }
.product-info-main .add-to-cart-btn::after { content:""; position:absolute; inset:0; background:radial-gradient(circle at 30% 30%, rgba(255,255,255,0.25), transparent 60%); opacity:0; transition:opacity .4s; }
.product-info-main .add-to-cart-btn:hover::after { opacity:1; }
.product-info-main .add-to-cart-btn:hover { background:linear-gradient(135deg,#2249b0,#1a4cb2); transform:translateY(-2px); box-shadow:0 8px 24px -4px rgba(33,63,149,0.35); }
@media (max-width: 700px) {
    .product-info-main { padding:24px 20px; }
    .product-info-main h1 { font-size:1.6rem; }
}
.product-info-flex { display:flex; flex-wrap:wrap; gap:32px; align-items:flex-start; justify-content:center; }
.product-image-col { flex:0 0 260px; max-width:260px; }
.product-meta { flex:1; min-width:260px; }
.product-description { margin-top:32px; }
.product-description .description-body { font-size:1.05rem; color:#444; white-space:pre-line; }
.powder-quote { margin-top:40px; }
.product-sku,.product-category { font-size:1.05rem; color:#555; margin:0 0 4px; }
.product-category { margin-bottom:12px; }
.product-description h2 { font-size:1.3rem; font-weight:600; margin-bottom:10px; }
.stock-status { font-size:1rem; margin:0 0 16px; }
.stock-status.in-stock { color:#2e7d32; }
.stock-status.out-stock { color:#b71c1c; }
.add-to-cart-form { margin-bottom:18px; }
.price { font-weight:700; }
.price-sale { color:#d32f2f; }
.price-original { color:#888; text-decoration:line-through; font-size:1rem; margin-left:10px; font-weight:400; }
.price-regular { color:#213f95; }
.add-to-cart-btn { background:linear-gradient(135deg,#213f95,#1a4090); color:#fff; padding:12px 32px; border-radius:10px; font-weight:600; font-size:1.02rem; border:none; box-shadow:0 4px 14px rgba(33,63,149,0.25); cursor:pointer; position:relative; overflow:hidden; transition:background .35s, transform .25s, box-shadow .3s; }
.add-to-cart-btn::after { content:""; position:absolute; inset:0; background:radial-gradient(circle at 30% 30%, rgba(255,255,255,0.25), transparent 60%); opacity:0; transition:opacity .4s; }
.add-to-cart-btn:hover::after { opacity:1; }
.add-to-cart-btn:hover { background:linear-gradient(135deg,#2249b0,#1a4cb2); transform:translateY(-2px); box-shadow:0 8px 24px -4px rgba(33,63,149,0.35); }
.add-to-cart-btn:active { transform:translateY(0); box-shadow:0 4px 14px rgba(33,63,149,0.3); }
.add-to-cart-btn:focus-visible { outline:3px solid #94b4ff; outline-offset:3px; }
/* ===================================
Dropdown Menu Styles - Text Grid
=================================== */
.dropdown-content {
opacity: 0;
visibility: hidden;
position: absolute;
top: calc(100% + 10px);
left: 50%;
transform: translateX(-50%);
background-color: white;
width: 1000px;
padding: 30px 40px;
box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.2);
border-top: 4px solid #0d47a1;
z-index: 100;
transition: opacity 0.3s ease, visibility 0.3s ease;
}
.dropdown:hover .dropdown-content {
opacity: 1;
visibility: visible;
}
.mega-menu {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
gap: 30px;
justify-content: center;
align-items: start;
text-align: center;
padding-top: 10px;
}
.mega-column h4 {
margin-bottom: 10px;
color: #0d47a1;
font-size: 16px;
font-weight: bold;
border-bottom: 1px solid #ccc;
padding-bottom: 5px;
}
.mega-column a {
display: block;
margin: 5px 0;
color: black;
text-decoration: none;
font-size: 14px;
}
.mega-column a:hover {
color: #0d47a1;
}
/* Hero Styles */
.hero {
background: #0d47a1;
color: white;
text-align: center;
padding: 60px 20px;
}
.hero h1 {
font-size: 2.5rem;
margin-bottom: 20px;
}
.hero p {
font-size: 1.2rem;
margin-bottom: 30px;
}
.cta-button {
background: white;
color: #0d47a1;
padding: 10px 20px;
text-decoration: none;
font-weight: bold;
border-radius: 4px;
}
.cta-button:hover {
background: #f3f3f3;
}
/* Generic outline variant (white background, blue text). Used where older templates have class 'outline'. */
.cta-button.outline {
    background:#ffffff;
    color:#0d47a1 !important;
    border:2px solid #ffffff;
    padding:10px 24px;
    border-radius:6px;
    font-weight:600;
    box-shadow:0 2px 8px rgba(0,0,0,0.15);
    transition:background .25s, color .25s, box-shadow .25s;
}
.cta-button.outline:hover { background:#f1f5f9; color:#0b3c8c !important; box-shadow:0 4px 14px rgba(0,0,0,0.22); }
/* Variant: outlined on dark hero (white box already default). Provide stronger blue text + thicker border */
.cta-button.outline-white {
    background:#ffffff;
    color:#0d47a1 !important;
    border:2px solid #ffffff;
    padding:10px 24px;
    border-radius:6px;
    font-weight:600;
    box-shadow:0 2px 8px rgba(0,0,0,0.15);
    transition:background .25s, color .25s, box-shadow .25s;
}
.cta-button.outline-white:hover {
    background:#f1f5f9;
    color:#0b3c8c !important;
    box-shadow:0 4px 14px rgba(0,0,0,0.22);
}
/* Product Highlights */
.product-highlights .grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 20px;
}
.highlight-item {
border: 1px solid #ddd;
padding: 20px;
text-align: center;
border-radius: 8px;
}
.highlight-item img {
width: 100%;
height: 200px;
object-fit: cover;
}
.shop-link {
display: block;
margin-top: 10px;
color: #0d47a1;
text-decoration: none;
font-weight: bold;
}
.shop-link:hover {
text-decoration: underline;
}
/* Technology Section */
.technology {
background: #f8f9fa;
padding: 40px 20px;
text-align: center;
}
/* Newsletter */
.newsletter {
text-align: center;
padding: 40px 20px;
}
.newsletter form {
display: flex;
justify-content: center;
gap: 10px;
}
.newsletter input {
padding: 10px;
width: 300px;
}
.newsletter button {
padding: 10px 20px;
background: #0d47a1;
color: white;
border: none;
cursor: pointer;
}
.newsletter button:hover {
background: #1565c0;
}
/* Stats */
.stats {
display: flex;
justify-content: space-around;
flex-wrap: wrap;
padding: 40px 20px;
}
.stat-item {
text-align: center;
min-width: 200px;
margin: 10px;
}
.stat-item h3 {
font-size: 1.5rem;
color: #0d47a1;
}
/* Breadcrumbs */
.breadcrumbs ul {
list-style: none;
padding: 0;
display: flex;
gap: 10px;
}
.breadcrumbs li::after {
content: '>';
margin-left: 10px;
}
.breadcrumbs li:last-child::after {
content: '';
}
/* Products Page */
.products-main {
display: flex;
gap: 20px;
}
.sidebar-filters {
    flex:0 0 240px;
    max-width:260px;
    width:100%;
    background: #eef5ff; /* light blue */
    padding:24px 20px 26px;
    border-radius:14px;
    box-shadow:0 2px 12px rgba(33,63,149,0.08);
    display:flex;
    flex-direction:column;
    align-items:stretch;
    box-sizing:border-box;
}
.filter-group ul {
list-style: none;
padding: 0;
}
.apply-filters {
background: #0d47a1;
color: white;
padding: 10px;
border: none;
width: 100%;
cursor: pointer;
}

/* === Unified Filter Sidebar Enhancements === */
.sidebar-filters select,
.sidebar-filters input[type=text],
.sidebar-filters input[type=number],
.sidebar-filters textarea {
    display:block;
    width:100%;
    box-sizing:border-box;
    background:#fff;
    border:1px solid #c7d4e8;
    border-radius:8px;
    padding:10px 14px;
    font-size:14px;
    line-height:1.3;
    margin:0 0 12px 0;
    font-family:inherit;
    transition: border-color .15s, box-shadow .15s;
}
.sidebar-filters select:focus,
.sidebar-filters input:focus,
.sidebar-filters textarea:focus {
    outline:none;
    border-color:#5b82d9;
    box-shadow:0 0 0 2px rgba(91,130,217,0.25);
}
.sidebar-filters h3 { margin-top:0; }
.sidebar-filters .filter-group { margin-left:0 !important; width:100%; }
.radio-stack label { display:flex !important; align-items:center; font-size:14px; font-weight:500; color:#17346e; gap:6px; margin-bottom:8px; cursor:pointer; }
.radio-stack input[type=radio] { accent-color:#213f95; width:16px; height:16px; flex:0 0 16px; }
.radio-stack span { flex:1; line-height:1.25; }
/* Accessibility helpers */
.visually-hidden { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
/* Checkout panels: ensure consistent inner spacing */
.checkout-panel, .checkout-summary {
    padding:22px 20px 24px;
    box-shadow:0 2px 12px rgba(33,63,149,0.08);
    box-sizing:border-box;
}
.checkout-panel h2, .checkout-summary h2 { color:#213f95; }
.checkout-panel input, .checkout-panel select, .checkout-panel textarea {
    background:#fff;
    border:1px solid #c7d4e8;
    border-radius:8px;
    padding:10px 12px;
    font-size:14px;
}
.checkout-panel input:focus, .checkout-panel select:focus, .checkout-panel textarea:focus {
    outline:none; border-color:#5b82d9; box-shadow:0 0 0 2px rgba(91,130,217,.25);
}
.checkout-summary .shipping-est-note { margin-top:4px; }
@media (max-width: 860px){
  .checkout-summary { order:-1; width:100%; flex:1 1 100%; }
}
/* New Checkout Form Structure */
.checkout-form {display:block;}
.checkout-heading {font-size:1.15rem;margin:18px 0 10px 0;color:#111;}
.checkout-form .checkout-heading:first-of-type {margin-top:0;}
.checkout-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;row-gap:18px;align-items:start;}
.checkout-grid .field input,
.checkout-grid .field select,
.checkout-grid .field textarea { max-width:320px; width:100%; }
/* Center single-row spanning fields to avoid overly wide text boxes */
.checkout-grid .field.span-2 input,
.checkout-grid .field.span-2 textarea,
.checkout-grid .field.span-2 select { max-width:660px; }
@media (max-width:900px){
    .checkout-grid { column-gap:32px; }
    .checkout-grid .field input,
    .checkout-grid .field select,
    .checkout-grid .field textarea { max-width:100%; }
}
.checkout-grid .field {display:flex;flex-direction:column;font-size:.8rem;font-weight:600;color:#123e73;gap:4px;min-width:0;}
.checkout-grid .field input,
.checkout-grid .field select,
.checkout-grid .field textarea {padding:10px;border:1px solid #b3c7dd;border-radius:6px;font:inherit;background:#fff;}
.checkout-grid .field textarea {resize:vertical;}
.checkout-grid .field input:focus,
.checkout-grid .field select:focus,
.checkout-grid .field textarea:focus {outline:2px solid #4d7cc3;outline-offset:1px;}
.checkout-grid .field.span-2 {grid-column:1 / -1;}
@media (max-width:780px){.checkout-grid{grid-template-columns:1fr;column-gap:0;row-gap:14px;}.checkout-grid .field.span-2{grid-column:1 / -1;}}
.payment-grid {margin-top:6px;}
.payment-accept {display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:14px;}
.cards-img {height:28px;object-fit:contain;}
.cards-accept .cards-img {height:34px;}
.gpay-logo, .discover-logo {display:none;}
.mini-label {font-size:.7rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:#2b4f7d;}
.pay-logos {display:flex;flex-wrap:wrap;align-items:center;gap:10px;list-style:none;margin:4px 0 0 0;padding:0;}
.pay-logos li img {height:38px;max-width:90px;object-fit:contain;display:block;}
.pay-logos {align-items:stretch;}
.pay-logos li {display:flex;align-items:center;}
.pay-logos li a img {transition:transform .15s ease;}
.pay-logos li a:hover img {transform:translateY(-2px);}
/* Checkout summary align with cart summary */
.checkout-summary {background:#f4f8ff;border:1px solid #d4e3fb;border-radius:14px;padding:20px 22px 26px;box-shadow:0 4px 14px rgba(13,71,161,0.08);} 
.checkout-summary h2 {margin:0 0 14px;font-size:1.1rem;color:#0d47a1;}
.paypal-btn {display:inline-flex;align-items:center;gap:6px;padding:10px 18px;background:#ffc439;color:#111;font-weight:600;border:1px solid #e0b323;border-radius:8px;cursor:not-allowed;opacity:.75;font-size:.9rem;}
.paypal-btn .pp-logo {font-weight:700;}
.checkout-actions {display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;}
.primary-btn {padding:12px 22px;background:#213f95;color:#fff;font-weight:600;border:none;border-radius:8px;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.08);} 
.primary-btn:hover {background:#1b357f;}
.secondary-link {padding:12px 18px;background:#f1f5f9;border:1px solid #d3e0ef;color:#123e73;text-decoration:none;border-radius:8px;font-weight:500;}
.secondary-link:hover {background:#e2edf7;}

@media (max-width: 800px) {
    .sidebar-filters { padding:18px 16px 22px !important; border-radius:0 !important; }
    .radio-stack label { font-size:15px; }
}
.product-section {
width: 75%;
}
.product-controls {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
}
.sort-view {
display: flex;
gap: 10px;
align-items: center;
}
.view-modes button {
padding: 5px 10px;
border: 1px solid #ddd;
background: white;
cursor: pointer;
}
.view-modes .active {
background: #0d47a1;
color: white;
}
.product-grid.grid-view {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}
.product-grid.list-view {
display: block;
}
.product-grid.list-view .product-item {
display: flex;
gap: 20px;
margin-bottom: 20px;
border-bottom: 1px solid #ddd;
padding-bottom: 20px;
}
.product-grid.list-view img {
width: 150px;
height: auto;
}
.product-item {
border: 1px solid #ddd;
padding: 16px;
border-radius: 8px;
text-align: center;
background: white;
}
.product-item img {
width: 100%;
height: auto;
min-height: 180px;
max-height: 250px;
object-fit: contain;
}
.product-item h3 {
font-size: 18px;
margin: 10px 0;
}
.product-item p {
font-size: 14px;
color: #666;
}
.product-item .price {
font-weight: bold;
color: #0d47a1;
}
.product-item .qty {
width: 50px;
margin-right: 10px;
}
.pagination {
display: flex;
justify-content: center;
align-items: center;
gap: 10px;
margin: 40px 0 80px;
}
.pagination button {
padding: 8px 12px;
border: 1px solid #ddd;
background: white;
cursor: pointer;
}
.pagination button.active {
background: #0d47a1;
color: white;
}
.pagination button:disabled {
opacity: 0.5;
cursor: not-allowed;
}
/* Cart Page */
table th, table td {
border: 1px solid #ddd;
padding: 8px;
text-align: center;
}
button {
background: #0d47a1;
color: white;
padding: 10px;
border: none;
cursor: pointer;
margin: 5px;
}
button:hover {
background: #1565c0;
}
/* Checkout Page */
form label {
display: block;
margin: 10px 0;
}
input {
padding: 8px;
width: 300px;
}
/* Footer */
.site-footer {
background: #0d47a1;
color: #fff;
padding: 40px 20px 80px;
text-align: center;
margin-top: 60px;
}
.footer-columns {
display: flex;
justify-content: space-around;
flex-wrap: wrap;
}
.footer-col {
min-width: 200px;
margin: 10px;
}
.footer-col ul {
list-style: none;
padding: 0;
}
.footer-social a {
margin: 0 10px;
color: #0d47a1;
}
.footer-stripe {
height: 4px;
background: #0d47a1;
}
.footer-main { padding:32px 16px; align-items:flex-start; }
.footer-logo { height:40px; max-width:180px; object-fit:contain; background:#fff; padding:8px 16px; border-radius:8px; box-shadow:0 2px 8px rgba(0,0,0,0.08); margin-bottom:12px; }
.footer-links { gap:32px; justify-content:flex-start; }
#site-footer .links-col { list-style:none; padding:0; margin:0; min-width:160px; }
#site-footer .links-col li { margin:6px 0; }
#site-footer .links-col a { color:#fff; text-decoration:none; font-size:15px; opacity:.92; transition:opacity .2s ease, color .2s ease; }
#site-footer .links-col a:hover { opacity:1; text-decoration:underline; }
#site-footer h4 { font-size:16px; color:#fff; margin:0 0 10px; font-weight:700; }
#site-footer .footer-bottom { background:#213f95; color:#fff; text-align:center; padding:12px 0; font-size:14px; }

/* === About Page Helpers === */
.about-actions-gap { margin:24px 0 40px; gap:18px; }
.btn-wide-lg { min-width:220px; }
.btn-wide-md { min-width:180px; }

/* === Contact Page === */
.text-center { text-align:center; }
.mt-10 { margin-top:10px; }
.mb-8 { margin-bottom:8px; }
.mt-16 { margin-top:16px; }
.mb-18 { margin-bottom:18px; }
.mt-22 { margin-top:22px; }
.mb-10 { margin-bottom:10px; }
.contact-hero-logo { max-width:160px; filter:drop-shadow(0 2px 4px rgba(0,0,0,0.15)); }
.contact-hero-intro { max-width:780px; margin:0 auto 18px; }
.m-0 { margin:0 !important; }
.visit-facility { margin:50px 0; }
.facility-intro { max-width:760px; }
.facility-address { margin:0 0 16px; }

/* === Products Overview Page === */
.products-overview { max-width:1200px; }
.products-hero-title { margin:0 0 8px 0; color:#213f95; }
.products-hero-sub { margin:0; color:#333; }
.products-intro .intro-p { margin:0 0 12px 0; line-height:1.75; color:#1f2937; }
.products-intro .intro-p.last { margin-bottom:0; }
.product-cards-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px; align-items:stretch; }
.product-card { background:#fff; border:1px solid #e5e7eb; border-radius:14px; overflow:hidden; box-shadow:0 2px 10px -2px rgba(33,63,149,0.12); display:flex; flex-direction:column; transition:transform .35s cubic-bezier(.4,.2,.2,1), box-shadow .35s, border-color .35s; }
.product-card:hover { transform:translateY(-4px); box-shadow:0 10px 24px -4px rgba(13,71,161,0.22); border-color:#c2d4f4; }
.product-card:focus-within { box-shadow:0 0 0 3px rgba(33,63,149,.35); }
.product-card .card-img { width:100%; height:150px; object-fit:cover; }
.product-card .card-body { padding:14px 14px 16px 14px; display:flex; flex-direction:column; flex:1; }
.product-card .card-title { margin:0 0 6px 0; color:#213f95; font-size:1.05rem; }
.product-card .card-text { margin:0 0 10px 0; color:#374151; font-size:0.9rem; line-height:1.4; }
.product-card .card-link { color:#0d47a1; text-decoration:underline; font-weight:600; font-size:0.9rem; }
.browse-all-btn { display:inline-block; padding:12px 26px; background:#0d47a1; color:#fff; border-radius:28px; font-weight:650; letter-spacing:.5px; text-decoration:none; box-shadow:0 4px 14px rgba(33,63,149,0.18); transition:background .25s, transform .3s, box-shadow .3s; }
.browse-all-btn:hover { background:#1e51b0; transform:translateY(-3px); box-shadow:0 8px 28px -4px rgba(33,63,149,0.35); }
.browse-all-btn:focus-visible { outline:3px solid #94b4ff; outline-offset:2px; }

/* Inline link replacement (formerly inline styles) */
.link-inline { color:#0d47a1; text-decoration:underline; }
.link-inline:hover { color:#1e51b0; }

/* === Checkout Page (Inline Style Removals) === */
.checkout-container { max-width:1100px; margin:0 auto; padding:20px; }
.checkout-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.checkout-title { margin:0; font-size:1.8rem; }
.checkout-head-img { height:56px; width:auto; object-fit:cover; border-radius:6px; }
.checkout-layout { display:flex; flex-wrap:wrap; gap:24px; align-items:flex-start; }
.checkout-main { flex:1; min-width:320px; max-width:700px; }
.checkout-summary-col { flex:0 0 360px; min-width:300px; }
.summary-heading { font-size:1.2rem; margin:0 0 12px 0; color:#111; display:flex; justify-content:space-between; align-items:center; }
.summary-count { font-size:0.95rem; color:#555; font-weight:400; }
.summary-items-list { display:flex; flex-direction:column; gap:12px; max-height:420px; overflow:auto; padding-right:4px; }
.summary-item { display:flex; gap:12px; align-items:center; border:1px solid #eee; border-radius:8px; padding:8px; background:#fff; }
.summary-item-img { width:64px; height:64px; object-fit:contain; border-radius:6px; background:#fff; }
.summary-item-body { flex:1; min-width:0; }
.summary-item-name { font-weight:600; color:#111; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.summary-item-sku { font-size:0.9rem; color:#555; }
.summary-item-priceqty { font-size:0.95rem; color:#0d47a1; margin-top:4px; }
.summary-item-total { font-weight:700; color:#111; }
.summary-totals { border-top:1px solid #e5e7eb; margin-top:12px; padding-top:12px; display:flex; flex-direction:column; gap:6px; }
.summary-row { display:flex; justify-content:space-between; }
.summary-label { font-weight:600; }
.summary-grand { border-top:1px solid #d4dae3; padding-top:6px; margin-top:4px; }
.summary-grand-label { font-weight:700; }
.summary-grand-amount { font-weight:700; color:#0d47a1; }
.summary-empty { color:#555; }
.summary-browse-btn { display:inline-block; margin-top:8px; padding:10px 14px; background:#213f95; color:#fff; border-radius:6px; text-decoration:none; }
.summary-browse-btn:hover { background:#1e51b0; }
@media (max-width: 860px){ .checkout-summary-col { order:-1; width:100%; flex:1 1 100%; } }

/* === Literature Page (Inline Style Removals) === */
.mb-20 { margin-bottom:20px !important; }
.lit-top-btn { background:#007bff; color:#fff; border-radius:4px; font-weight:bold; }
.lit-top-btn:hover { background:#0b69d6; }
.lit-resources { margin:28px 0 40px; }
.lit-heading { margin-top:0; color:#0d47a1; }
.lit-subtext { margin:4px 0 16px; font-size:15px; color:#333; }
.lit-buttons { display:flex; flex-wrap:wrap; gap:14px; }
.lit-seo-copy { margin:32px 0; line-height:1.55; font-size:15px; }
.seo-copy-title { margin-top:0; font-size:22px; color:#0d47a1; }
.lit-download { margin-top:12px; }
.lit-download-text { max-width:780px; }
.lit-links-group { margin:32px 0; display:flex; flex-wrap:wrap; gap:12px; }
.faq-section { margin:48px 0; }
.faq-heading { color:#0d47a1; }
.faq-items { display:grid; gap:18px; max-width:900px; }
.faq-item { background:#f8f9fa; padding:16px; border:1px solid #e2e6ea; border-radius:8px; }
.faq-item h3 { margin-top:0; font-size:17px; }
.faq-item p { margin:0; }
/* Utility */
.flex-full { flex-basis:100%; }

/* === Admin Auth / Dashboard Inline Removal === */
.admin-hero-wrap { margin-bottom:20px; }
.admin-hero-img { max-width:200px; }
.admin-auth-form { max-width:400px; }
.auth-tip-spacing { margin-top:10px; }
.auth-tip-note { color:#555; }
.admin-bar { width:100%; text-align:right; margin-bottom:10px; }
.admin-bar-btn { margin:10px 20px 0 0; }
.admin-hero-gallery { display:flex; flex-wrap:wrap; gap:20px; justify-content:center; margin-bottom:20px; }
.admin-hero-thumb { max-width:200px; }

/* === 404 Page === */
.notfound-logo { max-width:200px; margin-bottom:20px; }
