/* Product category archive. Scoped to avoid collisions with WordPress body classes. */
.product-taxonomy-page{
    --product-blue:#0071D7;
    --product-green:#8ec31f;
    --product-ink:#222d35;
    --product-muted:#777;
    --product-surface:#f3f6f9;
    display:block;
    width:100%;
    overflow:hidden;
    background:#fff;
}

.product-taxonomy-page h1,
.product-taxonomy-page h2,
.product-taxonomy-page h3,
.product-taxonomy-page p,
.product-taxonomy-page figure{margin:0;font-family:inherit;}

.product-taxonomy-hero{
    position:relative;
    width:100%;
    height:clamp(320px,25vw,510px);
    overflow:hidden;
    background:var(--product-ink);
    isolation:isolate;
}

.product-taxonomy-hero-media{
    position:absolute;
    z-index:0;
    inset:0;
    width:100%;
    height:100%;
    overflow:hidden;
}

.product-taxonomy-hero-media img{
    position:absolute;
    inset:0;
    display:block;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover;
    object-position:center;
}

.product-taxonomy-hero-overlay{
    position:absolute;
    z-index:1;
    inset:0;
    background:rgba(25,33,40,.58);
}

.product-taxonomy-hero-content{
    position:relative;
    z-index:2;
    box-sizing:border-box;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:auto;
    width:80%;
    height:100%;
    text-align:center;
}

.product-taxonomy-hero-content h1{
    color:#fff;
    font-size:48px;
    font-weight:700;
    line-height:1.2;
    letter-spacing:-.02em;
}

.product-taxonomy-breadcrumb{
    box-sizing:border-box;
    margin:0 auto;
    padding:36px 0 0;
    width:95%;
    color:#444;
    font-size:14px;
}

.product-taxonomy-breadcrumb p{line-height:1.7;}
.product-taxonomy-breadcrumb a{color:#333;}
.product-taxonomy-breadcrumb a:hover{color:var(--product-blue);}

.product-taxonomy-intro{
    box-sizing:border-box;
    margin:0 auto;
    padding:48px 0 32px;
    width:95%;
}

.product-taxonomy-intro h2{
    color:var(--product-blue);
    font-size:38px;
    font-weight:400;
    line-height:1.25;
}

.product-taxonomy-title-line{
    margin-top:10px;
    width:50px;
    height:2px;
    background:var(--product-blue);
}

.product-taxonomy-description{
    margin-top:34px;
    max-width:1160px;
    color:#555;
    font-size:16px;
    line-height:1.9;
}

.product-taxonomy-description > * + *{margin-top:1em;}
.product-taxonomy-description a{color:var(--product-blue);text-decoration:underline;}

.product-taxonomy-layout{
    box-sizing:border-box;
    display:grid;
    grid-template-areas:"sidebar results";
    grid-template-columns:280px minmax(0,1fr);
    gap:50px;
    align-items:start;
    margin:0 auto;
    padding:28px 0 80px;
    width:95%;
}

.product-taxonomy-results{grid-area:results;min-width:0;}
.product-taxonomy-results > h2{
    color:var(--product-blue);
    font-size:34px;
    font-weight:400;
    line-height:1.35;
    text-align:center;
}

.product-taxonomy-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:26px 20px;
    margin:40px 0 0;
    padding:0;
}

.product-taxonomy-card{
    min-width:0;
    overflow:hidden;
    border-radius:10px;
    background:#fff;
    box-shadow:0 8px 28px rgba(19,55,81,.09);
    list-style:none;
    transition:transform .25s ease,box-shadow .25s ease;
}

.product-taxonomy-card:hover{
    transform:translateY(-4px);
    box-shadow:0 14px 34px rgba(19,55,81,.14);
}

.product-taxonomy-card article,
.product-taxonomy-card a{display:block;height:100%;}

.product-taxonomy-card a{
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    color:#333;
}

.product-taxonomy-card-image{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    aspect-ratio:4 / 3;
    overflow:hidden;
    background:#eef3f7;
}

.product-taxonomy-card-image img{
    display:block;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover;
    transition:transform .7s ease;
}

.product-taxonomy-card:hover .product-taxonomy-card-image img{transform:scale(1.055);}

.product-taxonomy-card-image-empty::before{
    content:"";
    width:56px;
    height:56px;
    border:2px solid rgba(0,113,215,.15);
    border-radius:50%;
    background:linear-gradient(135deg,rgba(0,113,215,.08),rgba(142,195,31,.18));
}

.product-taxonomy-card h3{
    box-sizing:border-box;
    padding:18px 14px 10px;
    color:var(--product-blue);
    font-size:17px;
    font-weight:600;
    line-height:1.45;
    text-align:center;
}

.product-taxonomy-card-more{
    display:inline-flex;
    align-items:center;
    align-self:center;
    justify-content:center;
    margin:auto 0 20px;
    padding:7px 22px;
    border:1px solid var(--product-blue);
    border-radius:20px;
    color:var(--product-blue);
    font-size:13px;
    line-height:1.2;
    transition:background .2s ease,color .2s ease;
}

.product-taxonomy-card a:hover .product-taxonomy-card-more{
    background:var(--product-blue);
    color:#fff;
}

.product-taxonomy-sidebar{grid-area:sidebar;min-width:0;}

.product-taxonomy-menu{
    position:sticky;
    top:150px;
    overflow:hidden;
    border:1px solid #e5ebf0;
    border-radius:8px;
    background:#fff;
    box-shadow:0 8px 28px rgba(19,55,81,.07);
}

.product-taxonomy-menu summary{
    position:relative;
    padding:16px 44px 16px 20px;
    background:var(--product-blue);
    color:#fff;
    cursor:pointer;
    font-size:18px;
    font-weight:600;
    line-height:1.4;
    list-style:none;
}

.product-taxonomy-menu summary::-webkit-details-marker{display:none;}
.product-taxonomy-menu summary::after{
    content:"+";
    position:absolute;
    top:50%;
    right:20px;
    transform:translateY(-50%);
    font-size:22px;
    font-weight:400;
}
.product-taxonomy-menu[open] summary::after{content:"−";}

.product-taxonomy-menu nav{padding:8px;}
.product-sidebar-menu,
.product-sidebar-menu .sub-menu{margin:0;padding:0;list-style:none;}

.product-sidebar-menu li{margin:0;list-style:none;}
.product-sidebar-menu > li + li{border-top:1px solid #edf1f4;}

.product-sidebar-menu a{
    position:relative;
    display:block;
    padding:13px 34px 13px 13px;
    border-left:3px solid transparent;
    color:#333;
    font-size:15px;
    line-height:1.45;
    transition:background .2s ease,border-color .2s ease,color .2s ease;
}

.product-sidebar-menu a::after{
    content:"›";
    position:absolute;
    top:50%;
    right:13px;
    transform:translateY(-50%);
    color:#9ba7b0;
    font-size:19px;
}

.product-sidebar-menu a:hover,
.product-sidebar-menu .current-menu-item > a,
.product-sidebar-menu .current-menu-ancestor > a,
.product-sidebar-menu .current-cat > a,
.product-sidebar-menu .current-cat-ancestor > a{
    border-left-color:var(--product-blue);
    background:#f3f6f9;
    color:var(--product-blue);
}

.product-sidebar-menu .sub-menu{
    padding:0 0 8px 14px;
    border-top:1px solid #edf1f4;
    background:#fafbfd;
}

.product-sidebar-menu .sub-menu a{padding-top:10px;padding-bottom:10px;font-size:14px;}

.product-taxonomy-pagination{margin-top:44px;text-align:center;}
.product-taxonomy-pagination .page-numbers{margin:0;padding:0;list-style:none;}
.product-taxonomy-pagination li{display:inline-block;margin:3px;}
.product-taxonomy-pagination a,
.product-taxonomy-pagination .current{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    min-width:40px;
    height:40px;
    padding:0 12px;
    border:1px solid #dfe6ec;
    border-radius:5px;
    background:#fff;
    color:#444;
}
.product-taxonomy-pagination a:hover,
.product-taxonomy-pagination .current{border-color:var(--product-blue);background:var(--product-blue);color:#fff;}
.product-taxonomy-empty{margin-top:35px;padding:24px;border-left:4px solid var(--product-blue);background:var(--product-surface);color:#555;}

.product-taxonomy-contact{
    box-sizing:border-box;
    padding:72px 5% 80px;
    background:#f6f6f6;
}

.product-taxonomy-section-heading{margin:0 auto;max-width:1200px;text-align:center;}
.product-taxonomy-section-heading h2{color:var(--product-blue);font-size:46px;font-weight:700;line-height:1.25;}
.product-taxonomy-heading-line{margin:34px auto 0;width:100px;height:1px;background:#e1e5e8;}
.product-taxonomy-section-heading p{margin:20px auto 0;max-width:900px;color:var(--product-muted);font-size:16px;line-height:1.75;}

.product-taxonomy-contact-form{box-sizing:border-box;margin:48px auto 0;width:95%;max-width:1400px;}
.product-taxonomy-contact-form .wpcf7-form{margin:0;}
.product-taxonomy-contact-form .wpcf7-form p{margin:0 0 20px;}
.product-taxonomy-contact-form .fe_list{clear:both;display:flex;align-items:center;justify-content:center;margin-top:20px;}
.product-taxonomy-contact-form .fe_list ul{display:block;float:none;flex:1;min-width:0;margin:0;padding:0;list-style:none;}
.product-taxonomy-contact-form .fe_list #ft,
.product-taxonomy-contact-form .fe_content #ft{font-weight:700;}
.product-taxonomy-contact-form .fe_list #ft span,
.product-taxonomy-contact-form .fe_content #ft span{color:var(--product-blue);}
.product-taxonomy-contact-form .fe_list #fi{margin-top:10px;width:100%;}
.product-taxonomy-contact-form .fe_list #fe_line{display:block;flex:0 0 20px;width:20px;height:25px;}
.product-taxonomy-contact-form .fe_content{clear:both;margin-top:50px;height:auto;overflow:hidden;}
.product-taxonomy-contact-form .fe_content #fi{margin-top:10px;}
.product-taxonomy-contact-form .fe_button{margin-top:30px;text-align:center;}
.product-taxonomy-contact-form label{display:block;color:#333;font-size:15px;font-weight:600;line-height:1.6;}
.product-taxonomy-contact-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.product-taxonomy-contact-form select,
.product-taxonomy-contact-form textarea{
    box-sizing:border-box;
    display:block;
    margin-top:9px;
    width:100%;
    max-width:none;
    border:1px solid #e5e8eb;
    border-radius:6px;
    background:#fff;
    color:#333;
    font:inherit;
}
.product-taxonomy-contact-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.product-taxonomy-contact-form select{height:42px;padding:0 14px;}
.product-taxonomy-contact-form textarea{min-height:100px;padding:13px 14px;resize:vertical;}
.product-taxonomy-contact-form input:focus,
.product-taxonomy-contact-form select:focus,
.product-taxonomy-contact-form textarea:focus{border-color:var(--product-blue);box-shadow:0 0 0 3px rgba(0,113,215,.1);outline:0;}
.product-taxonomy-contact-form input[type="submit"]{
    display:block;
    margin:28px auto 0;
    min-width:150px;
    height:46px;
    padding:0 26px;
    border:1px solid var(--product-blue);
    border-radius:5px;
    background:var(--product-blue);
    color:#fff;
    cursor:pointer;
    font-family:inherit;
    font-size:14px;
    font-weight:600;
    line-height:1;
    transition:background .2s ease,color .2s ease;
}
.product-taxonomy-contact-form input[type="submit"]:hover{background:#fff;color:var(--product-blue);}
.product-taxonomy-contact-form .wpcf7-spinner{display:block;margin:12px auto 0;}
.product-taxonomy-contact-form .wpcf7-not-valid-tip{margin-top:6px;font-size:13px;}
.product-taxonomy-contact-form .wpcf7-response-output{margin:20px 0 0!important;padding:12px 16px!important;border-width:1px!important;}
.product-taxonomy-form-note{padding:18px;border-left:4px solid var(--product-blue);background:#fff;color:#555;}

@media screen and (min-width:1400px){
    .product-taxonomy-breadcrumb,
    .product-taxonomy-intro,
    .product-taxonomy-layout{width:80%;}
    .product-taxonomy-contact-form{width:80vw;max-width:none;}
}

@media screen and (max-width:1499px){
    .product-taxonomy-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}

@media screen and (max-width:1100px){
    .product-taxonomy-layout{grid-template-columns:240px minmax(0,1fr);gap:30px;}
    .product-taxonomy-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media screen and (max-width:750px){
    .product-taxonomy-hero{height:220px;}
    .product-taxonomy-hero-content{width:90%;}
    .product-taxonomy-hero-content h1{font-size:32px;}
    .product-taxonomy-breadcrumb{width:90%;padding-top:14px;font-size:13px;}
    .product-taxonomy-intro{width:90%;padding:32px 0 18px;}
    .product-taxonomy-intro h2{font-size:25px;}
    .product-taxonomy-description{margin-top:24px;font-size:15px;line-height:1.75;}
    .product-taxonomy-layout{grid-template-areas:"sidebar" "results";grid-template-columns:minmax(0,1fr);gap:30px;width:90%;padding:18px 0 50px;}
    .product-taxonomy-menu{position:static;}
    .product-taxonomy-results > h2{font-size:25px;}
    .product-taxonomy-grid{gap:12px;margin-top:28px;}
    .product-taxonomy-card{border-radius:6px;}
    .product-taxonomy-card h3{padding:12px 8px 8px;font-size:15px;}
    .product-taxonomy-card-more{margin-bottom:14px;padding:6px 16px;font-size:12px;}
    .product-taxonomy-contact{padding:48px 5% 56px;}
    .product-taxonomy-section-heading h2{font-size:30px;}
    .product-taxonomy-heading-line{margin-top:22px;}
    .product-taxonomy-contact-form{margin-top:32px;width:100%;}
    .product-taxonomy-contact-form .fe_list{display:block;}
    .product-taxonomy-contact-form .fe_list ul + ul{margin-top:20px;}
    .product-taxonomy-contact-form .fe_list #fe_line{display:none;}
    .product-taxonomy-contact-form .fe_content{margin-top:30px;}
}

@media screen and (max-width:420px){
    .product-taxonomy-grid{grid-template-columns:minmax(0,1fr);}
}

@media (prefers-reduced-motion:reduce){
    .product-taxonomy-card,
    .product-taxonomy-card-image img,
    .product-taxonomy-card-more{transition:none;}
}
