/* =====================================
Product Category Page
===================================== */


.product-category-page{

    /*max-width:1200px;*/

    margin:auto;

    /*padding:40px 20px;*/

}



/* =====================================
Hero Banner
===================================== */


.category-hero{

    margin-bottom:40px;

}


.hero-background{

    height:480px;

    background-size:cover;

    background-position:center;

    display:flex;

    align-items:center;

    position:relative;

}


.hero-background::before{

    content:"";

    position:absolute;

    inset:0;

    /*background:rgba(0,0,0,.35);*/
    background:linear-gradient( 90deg, rgba(0,0,0,.55), rgba(0,0,0,0) );

}



.hero-overlay{

    position:relative;

    z-index:2;

    padding:60px;

    width:100%;

    height:100%;

    display:flex;

    flex-direction:column;

    justify-content:center;

    color:#fff;

    animation:heroFade .8s ease;

}



.hero-overlay h1{

    font-size:48px;

    font-weight:700;

    color:#fff;

    margin-bottom:20px;

    text-shadow:0 2px 8px rgba(0,0,0,.4);

}



.hero-overlay p{

    font-size:18px;

    color:#fff;

    max-width:700px;

    line-height:1.7;

    text-shadow:0 2px 8px rgba(0,0,0,.4);

}



@keyframes heroFade{

from{

opacity:0;

transform:translateX(-40px);

}

to{

opacity:1;

transform:translateX(0);

}

}





/* =====================================
Layout
===================================== */


.category-layout{

    display:grid;
    max-width: 1200px;
    grid-template-columns:minmax(0,1fr) 300px;

    gap:40px;

}



.category-content h2{

    font-size:32px;

    margin-bottom:30px;

}



.category-introduction{

    font-size:16px;

    line-height:1.8;

    margin-bottom:40px;

}






/* =====================================
Sub Category
===================================== */


.subcategory-block{

    margin-bottom:60px;

    padding-bottom:40px;

    border-bottom:1px solid #eee;

}




.subcategory-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:25px;

}




.subcategory-header h3{

    margin:0;

    font-size:26px;

    font-weight:700;

    line-height:1.3;

}




.more-products{

    margin:0;

}



.more-products a{

    color:#0756b8;

    font-weight:600;

    text-decoration:none;

    white-space:nowrap;

}



.more-products a:hover{

    color:#003b82;

}







/* =====================================
Product Grid
===================================== */


.product-preview-grid,
.product-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:25px;

}







/* =====================================
Product Card
===================================== */


.product-card{

    border:1px solid #eee;

    padding:20px;

    background:#fff;

    transition:.3s;

}



.product-card:hover{

    transform:translateY(-5px);

    box-shadow:0 10px 25px rgba(0,0,0,.08);

}




.product-image{

    height:180px;

    display:flex;

    justify-content:center;

    align-items:center;

    margin-bottom:20px;

}



.product-image img{

    max-height:160px;

    max-width:100%;

    object-fit:contain;

}



.product-card h3,
.product-card h4{
    text-align: center;
    font-size:18px;

    /*line-height:1.5;*/

    /*min-height:55px;*/

}
.product-tags{
    color: black;
    text-align: center;
}
.product-meta{
    text-align: center;
}

.product-card a{

    color:#111;

    text-decoration:none;

}



.product-preview-grid .product-button{

    /*display:none;*/

}






/* =====================================
Sidebar
===================================== */


.category-sidebar{

    position:sticky;

    top:30px;

}



.sidebar-search,
.sidebar-navigation,
.sidebar-contact{

    border:1px solid #eee;

    padding:25px;

    margin-bottom:30px;

    background:#fff;

}




.sidebar-navigation h3,
.sidebar-search h3{

    font-size:24px!important;

    line-height:1.3!important;

    font-weight:700!important;

    margin-bottom:20px!important;

}





.sidebar-search input[type="search"]{

    width:100%;

    padding:12px;

    margin-bottom:10px;

    border:1px solid #ddd;

}



.sidebar-search button{

    background:#0756b8;

    color:#fff;

    border:0;

    padding:10px 25px;

}





/* =====================================
Accordion
===================================== */


.category-menu,
.subcategory-list{

    list-style:none;

    padding:0;

    margin:0;

}



.category-parent{

    margin-bottom:15px;

}



.category-toggle-link{

    display:flex;

    justify-content:space-between;

    align-items:center;

    cursor:pointer;

}



.category-toggle-link strong{

    color:#003b82;

    font-size:16px;

}



.category-toggle{

    color:#164da0;

    font-size:20px;

    transition:.3s;

}



.subcategory-list{

    display:none;

    margin-top:10px;

    padding-left:15px;

}



.category-parent.active .subcategory-list{

    display:block;

}



.category-parent.active .category-toggle{

    transform:rotate(45deg);

}



.subcategory-list li{

    margin-bottom:10px;

}



.subcategory-list a{

    color:#555;

    font-size:14px;

}



.subcategory-list a:hover{

    color:#0056b3;

}







/* =====================================
Contact
===================================== */


.sidebar-contact h4{

    font-size:24px!important;

    margin-bottom:20px!important;

}



.sidebar-contact a{

    display:inline-block;

    background:#0756b8;

    color:#fff;

    padding:12px 25px;

    text-decoration:none;

}







/* =====================================
Pagination
===================================== */


.pagination{

    margin-top:50px;
    margin-bottom: 50px;

    text-align:center;

}



.pagination a,
.pagination span{

    padding:8px 14px;

    border:1px solid #ddd;

    margin:3px;
    color: black;
}





/* =====================================
Responsive
===================================== */


@media(max-width:900px){


.category-layout{

    grid-template-columns:1fr;

}



.category-sidebar{

    position:relative;

}



.product-grid,
.product-preview-grid{

    grid-template-columns:repeat(2,1fr);

}



}




@media(max-width:600px){


.product-grid,
.product-preview-grid{

    grid-template-columns:1fr;

}

}

/* Approved second-level product category layout. */
.se-category-page {
	--se-category-navy: #071b55;
	--se-category-blue: #0066cb;
	--se-category-ink: #26436f;
	--se-category-muted: #60779a;
	--se-category-line: #dce8f6;
	--se-category-soft: #f4f8fd;
	background: #fff;
	color: var(--se-category-ink);
}

.se-category-page *,
.se-category-page *::before,
.se-category-page *::after { box-sizing: border-box; }
.se-category-page a { color: inherit; text-decoration: none; }
.se-category-page a:focus-visible,
.se-category-page summary:focus-visible,
.se-category-page input:focus-visible,
.se-category-page button:focus-visible { outline: 3px solid var(--se-category-blue); outline-offset: 3px; }
.se-category-container { width: min(calc(100% - 48px), 1280px); margin-inline: auto; }
.se-category-hero { position: relative; height: 500px; overflow: hidden; isolation: isolate; background-color: #06366e; background-image: var(--se-category-hero-image, linear-gradient(90deg, #062b5b 0%, #07528e 48%, #0b6bb1 100%)); background-position: center; background-size: cover; }
.se-category-hero::before { position: absolute; inset: 0; z-index: -1; content: ""; background: linear-gradient(90deg, rgba(2, 24, 58, .94), rgba(3, 45, 88, .72) 48%, rgba(3, 45, 88, .18)); }
.se-category-hero::after { position: absolute; inset: 0; z-index: -1; content: ""; opacity: .34; background-image: linear-gradient(rgba(111, 190, 255, .25) 1px, transparent 1px), linear-gradient(90deg, rgba(111, 190, 255, .25) 1px, transparent 1px); background-size: 38px 38px; }
.se-category-hero__inner { display: flex; height: 100%; align-items: center; }
.se-category-hero__copy { max-width: 620px; color: #fff; }
.se-category-hero h1 { margin: 0; color: #fff; font-size: clamp(2.5rem, 4.5vw, 4rem); font-weight: 700; letter-spacing: -.035em; line-height: 1.05; }
.se-category-hero p { max-width: 560px; margin: 18px 0 0; color: rgba(255, 255, 255, .9); font-size: 1.2rem; line-height: 1.45; }
.se-category-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 28px; padding-top: 28px; }
.se-category-navigator { align-self: start; position: sticky; top: 24px; min-width: 0; }
.se-category-navigator > summary,
.se-category-filter > summary { list-style: none; cursor: pointer; }
.se-category-navigator > summary::-webkit-details-marker,
.se-category-filter > summary::-webkit-details-marker { display: none; }
.se-category-navigator > summary { display: none; }
.se-category-navigator__body h2 { margin: 0 0 14px; color: var(--se-category-navy); font-size: 1.25rem; }
.se-category-search { display: flex; min-height: 36px; align-items: center; gap: 8px; margin-bottom: 16px; padding: 0 10px; border: 1px solid var(--se-category-line); border-radius: 5px; background: var(--se-category-soft); }
.se-category-search input { width: 100%; min-width: 0; padding: 8px 0; border: 0; outline: 0; background: transparent; color: var(--se-category-navy); }
.se-category-nav-list,
.se-category-nav-list ul { margin: 0; padding: 0; list-style: none; }
.se-category-nav-group { margin-bottom: 7px; }
.se-category-nav-group > a { display: grid; grid-template-columns: 18px minmax(0, 1fr) 14px; align-items: center; gap: 7px; min-height: 40px; color: var(--se-category-navy); font-size: .94rem; line-height: 1.25; }
.se-category-nav-group__icon { color: var(--se-category-blue); }
.se-category-nav-group > a:hover,
.se-category-nav-group > a:focus-visible { color: var(--se-category-blue); }
.se-category-nav-group > ul { max-height: 0; overflow: hidden; margin: 0 0 0 12px; padding-left: 13px; border-left: 1px solid transparent; opacity: 0; visibility: hidden; transform: translateY(-4px); transition: max-height .42s ease, margin .42s ease, border-color .42s ease, opacity .3s ease, transform .42s ease, visibility 0s linear .42s; }
.se-category-nav-group.is-active > ul,
.se-category-nav-group:hover > ul,
.se-category-nav-group:focus-within > ul { max-height: 500px; margin: 1px 0 10px 12px; border-color: var(--se-category-line); opacity: 1; visibility: visible; transform: translateY(0); transition-delay: 0s; }
.se-category-nav-group > ul a { display: block; padding: 8px 8px; color: var(--se-category-ink); font-size: .88rem; line-height: 1.25; }
.se-category-nav-group > ul a:hover,
.se-category-nav-group > ul a:focus-visible { color: var(--se-category-blue); }
.se-category-nav-group > ul .is-current a { border-left: 3px solid var(--se-category-blue); margin-left: -16px; padding-left: 13px; border-radius: 3px; background: #eaf3ff; color: var(--se-category-blue); font-weight: 700; }
.se-category-results__header { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.se-category-results h2 { margin: 0; color: var(--se-category-navy); font-size: clamp(1.75rem, 3vw, 2.15rem); letter-spacing: -.04em; line-height: 1.1; }
.se-category-results__tools { display: flex; align-items: center; gap: 8px; white-space: nowrap; color: var(--se-category-muted); font-size: .85rem; }
.se-view-toggle { display: inline-grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--se-category-line); border-radius: 5px; color: var(--se-category-navy); font-size: 1.45rem; line-height: 1; }
.se-view-toggle:hover,
.se-view-toggle.is-current { border-color: var(--se-category-blue); color: var(--se-category-blue); }
.se-category-filter { margin-bottom: 10px; border: 1px solid var(--se-category-line); border-radius: 6px; background: #fff; }
.se-category-filter > summary { display: none; }
.se-category-filter__body { display: grid; grid-template-columns: 1fr; gap: 14px; padding: 16px 18px 14px; }
.se-category-filter__empty { grid-column: 1 / -1; margin: 0; padding: 4px 0; color: var(--se-category-muted); font-size: .9rem; }
.se-category-filter fieldset { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 0; padding: 0; border: 0; }
.se-category-filter fieldset:last-of-type { border-right: 0; }
.se-category-filter legend { flex: 0 0 100%; margin-bottom: 2px; color: var(--se-category-navy); font-size: .85rem; font-weight: 700; }
.se-category-filter label { display: inline-flex; min-height: 36px; align-items: center; gap: 7px; margin: 0; padding: 7px 12px; border: 1px solid var(--se-category-line); border-radius: 999px; background: #f8fbff; color: var(--se-category-ink); cursor: pointer; font-size: .85rem; line-height: 1.25; transition: border-color .2s ease, background-color .2s ease, color .2s ease, transform .2s ease; }
.se-category-filter label:hover { border-color: var(--se-category-blue); background: #eef6ff; transform: translateY(-1px); }
.se-category-filter label:has(input:checked) { border-color: var(--se-category-blue); background: var(--se-category-blue); color: #fff; }
.se-category-filter input { width: 15px; height: 15px; accent-color: var(--se-category-blue); }
.se-category-filter label:has(input:checked) input { accent-color: #fff; }
.se-category-filter__actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; align-items: center; padding-top: 12px; border-top: 1px solid var(--se-category-line); }
.se-category-filter__actions a { color: var(--se-category-blue); text-decoration: underline; }
.se-category-filter__actions .se-category-filter__clear { display: inline-flex; min-height: 38px; align-items: center; padding: 8px 16px; border: 1px solid var(--se-category-blue); border-radius: 5px; background: var(--se-category-blue); color: #fff; cursor: pointer; text-decoration: none; transition: background-color .2s ease, border-color .2s ease, transform .2s ease; }
.se-category-filter__actions .se-category-filter__clear:hover,
.se-category-filter__actions .se-category-filter__clear:focus-visible { border-color: var(--se-category-navy); background: var(--se-category-navy); color: #fff; transform: translateY(-1px); }
.se-category-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.se-category-product-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid var(--se-category-line); border-radius: 6px; background: #fff; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.se-category-product-card:hover,
.se-category-product-card:focus-visible { border-color: var(--se-category-blue); box-shadow: 0 8px 20px rgba(7, 27, 85, .09); transform: translateY(-1px); }
.se-category-product-card__media { display: grid; width: 100%; aspect-ratio: 1 / 1; place-items: center; padding: 7px; background: var(--se-category-soft); }
.se-category-product-card__media img { display: block; width: 100%; height: 100%; object-fit: contain; }
.se-category-product-card__missing { padding: 1rem; color: var(--se-category-muted); font-size: .85rem; text-align: center; }
.se-category-product-card__content { display: flex; min-width: 0; flex-direction: column; padding: 9px 10px 6px; }
.se-category-product-card__series { color: var(--se-category-muted); font-size: .9rem; }
.se-category-product-card__content strong { display: -webkit-box; overflow: hidden; color: var(--se-category-navy); font-size: 1.2rem; line-height: 1.2; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.se-category-product-card__description { display: -webkit-box; overflow: hidden; min-height: 0; margin-top: 5px; color: var(--se-category-ink); font-size: .95rem; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.se-category-product-card__description:empty { display: none; }
.se-category-product-card__tags { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; padding: 4px 8px 8px; }
.se-category-product-card__tags > span { display: inline-flex; min-width: 0; align-items: center; gap: 6px; padding: 7px 10px; border: 0; border-radius: 999px; background: var(--se-category-blue); box-shadow: 0 3px 8px rgba(0, 102, 203, .12); color: #fff; font-size: .82rem; line-height: 1; white-space: nowrap; }
.se-category-product-card__tag-icon { display: block; width: 14px; height: 14px; flex: 0 0 14px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.se-category-product-grid.is-list { display: grid; grid-template-columns: 1fr; gap: 8px; }
.se-category-product-grid.is-list .se-category-product-card { display: grid; min-height: 300px; grid-template-columns: 300px minmax(0, 1fr) auto; align-items: stretch; gap: 20px; padding: 0; }
.se-category-product-grid.is-list .se-category-product-card__media { width: 300px; min-height: 300px; height: 100%; align-self: stretch; padding: 12px; border-radius: 4px; aspect-ratio: auto; }
.se-category-product-grid.is-list .se-category-product-card__content { align-self: center; padding: 32px 20px; }
.se-category-product-grid.is-list .se-category-product-card__series { font-size: 1.1rem; }
.se-category-product-grid.is-list .se-category-product-card__content strong { font-size: 1.45rem; line-height: 1.25; }
.se-category-product-grid.is-list .se-category-product-card__description { min-height: 0; margin-top: 8px; font-size: 1.05rem; line-height: 1.45; -webkit-line-clamp: 2; }
.se-category-product-grid.is-list .se-category-product-card__tags { max-width: 260px; align-self: center; flex-wrap: wrap; justify-content: flex-end; padding: 32px 20px; }
.se-category-product-grid.is-list .se-category-product-card__tags > span { font-size: .9rem; }
.se-category-pagination { display: flex; justify-content: center; margin: 24px 0 40px; }
.se-category-pagination .page-numbers { display: inline-flex; min-width: 36px; min-height: 36px; align-items: center; justify-content: center; margin: 0 3px; padding: 5px 9px; border: 1px solid var(--se-category-line); border-radius: 4px; color: var(--se-category-navy); }
.se-category-pagination .current,
.se-category-pagination a:hover { border-color: var(--se-category-blue); color: var(--se-category-blue); }
.se-category-empty { padding: 32px 0 48px; color: var(--se-category-muted); }

@media (max-width: 1100px) {
	.se-category-container { width: min(calc(100% - 40px), 960px); }
	.se-category-layout { grid-template-columns: 1fr; gap: 14px; }
	.se-category-navigator { position: relative; top: auto; z-index: 3; }
	.se-category-navigator > summary,
	.se-category-filter > summary { display: flex; min-height: 48px; align-items: center; gap: 12px; padding: 10px 14px; color: var(--se-category-navy); }
	.se-category-navigator > summary { justify-content: space-between; border: 1px solid var(--se-category-line); border-radius: 6px; font-weight: 700; }
	.se-category-navigator__body { position: fixed; z-index: 4; top: 0; bottom: 0; left: 0; width: min(340px, 88vw); overflow: auto; padding: 28px 22px; border-right: 1px solid var(--se-category-line); background: #fff; box-shadow: 10px 0 30px rgba(7, 27, 85, .12); }
	.se-category-filter { position: relative; }
	.se-category-filter > summary { display: flex; justify-content: space-between; }
	.se-category-filter__body { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
	.se-category-container { width: calc(100% - 32px); }
	.se-category-hero { height: 250px; }
	.se-category-hero h1 { font-size: clamp(2rem, 8vw, 2.7rem); }
	.se-category-hero p { margin-top: 10px; font-size: .98rem; }
	.se-category-results__header { align-items: start; flex-direction: column; }
	.se-category-results__tools { width: 100%; justify-content: space-between; }
	.se-category-filter[open] { z-index: 5; }
	.se-category-filter__body { position: fixed; z-index: 6; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: 1fr; max-height: 76vh; overflow: auto; padding: 22px 18px 18px; border: 0; border-radius: 14px 14px 0 0; box-shadow: 0 -12px 32px rgba(7, 27, 85, .16); }
	.se-category-filter fieldset { padding: 0 0 10px; border-right: 0; border-bottom: 1px solid var(--se-category-line); }
	.se-category-filter__actions { grid-column: auto; justify-content: space-between; }
	.se-category-product-grid,
	.se-category-product-grid.is-list { grid-template-columns: 1fr; }
	.se-category-product-grid.is-list .se-category-product-card { display: flex; padding: 0; }
	.se-category-product-grid.is-list .se-category-product-card__media { width: 100%; }
	.se-category-product-grid.is-list .se-category-product-card__content { padding: 9px 10px 6px; }
	.se-category-product-grid.is-list .se-category-product-card__tags { padding: 6px 8px 9px; }
}

@media (prefers-reduced-motion: reduce) {
	.se-category-page *,
	.se-category-page *::before,
	.se-category-page *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
	.se-category-nav-group > ul { transition: none !important; transform: none !important; }
}



@media(max-width:600px){

.hero-background{

    height:350px;

}



.hero-overlay{

    padding:30px;

}



.hero-overlay h1{

    font-size:30px;

}

}


