.inner-page main {
    padding-top:var(--header-height)
}

.inner-hero {
    position:relative;
    isolation:isolate;
    overflow:hidden;
    padding:46px 0 58px;
    background:var(--pale);
    border-bottom:1px solid var(--line)
}
.inner-hero::before {
    content:'';
    position:absolute;
    inset:0 0 0 38%;
    z-index:-1;
    background:linear-gradient(90deg, var(--pale), rgb(237 243 250 / .28) 45%, rgb(237 243 250 / .06)), var(--inner-hero-image) center 55% / cover no-repeat;
    pointer-events:none
}
.inner-hero > .container-xl {
    position:relative
}
.inner-hero h1, .inner-hero .breadcrumbs {
    max-width:65%
}
.inner-hero p {
    max-width:min(580px, 58%)
}
@media(max-width:991.98px) {
    .inner-hero::before {
        inset:0;
        opacity:.45;
        background-image:linear-gradient(90deg, var(--pale) 15%, rgb(237 243 250 / .88) 65%, rgb(237 243 250 / .6)), var(--inner-hero-image)
    }
    .inner-hero h1, .inner-hero .breadcrumbs {
        max-width:100%
    }
}

.breadcrumbs {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:32px;
    font-size:11px
}

.breadcrumbs i {
    font-size:8px
}
.breadcrumbs [aria-current] {
    color:var(--navy)
}

.inner-hero h1 {
    font-size:clamp(36px,4vw,58px)
}
.inner-hero p {
    margin:20px 0 0;
    font-size:14px
}
@media(max-width:991.98px) {
    .inner-hero p { max-width:580px; }
}

.inner-page .category-info h2 {
    font-size:21px
}
.group-description {
    font-size:12px;
    color:var(--ink)
}

.catalog-toolbar {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:28px;
    padding-bottom:17px;
    border-bottom:1px solid var(--line)
}

.catalog-toolbar h2 {
    font-size:20px
}
.catalog-toolbar>span {
    font-size:11px
}

@media (min-width: 992px) {
    .category-navigation {
        position: sticky;
        top: calc(var(--header-height) + 25px);
    }
}

.category-sidebar h2 {
    font-size:20px;
    margin-bottom:18px
}
.category-mobile-menu { display:none; }
@media(max-width:991.98px) {
    .category-listing { padding-top:35px; }
    .category-listing .category-sidebar { display:none; }
    .category-listing > .container-xl > .row { --bs-gutter-y:28px; }
    .category-mobile-menu { display:block; border:1px solid var(--line); border-radius:4px; background:#fff; overflow:hidden; }
    .category-mobile-menu summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:68px; padding:13px 17px; background:var(--pale); cursor:pointer; list-style:none; }
    .category-mobile-menu summary::-webkit-details-marker { display:none; }
    .category-mobile-menu summary small { display:block; font-size:10px; color:var(--ink); margin-bottom:3px; }
    .category-mobile-menu summary strong { display:block; color:var(--navy); font:500 16px/1.4 var(--heading-font); }
    .category-mobile-menu summary > i { color:var(--blue); font-size:14px; flex-shrink:0; }
    .category-mobile-menu[open] summary > i { transform:rotate(180deg); }
    .category-mobile-menu nav { padding:5px 17px; }
    .category-mobile-menu nav a { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 0; border-bottom:1px solid var(--line); font-size:12px; }
    .category-mobile-menu nav a:last-child { border-bottom:0; }
    .category-mobile-menu nav a i { font-size:10px; flex-shrink:0; }
    .category-mobile-menu nav [aria-current] { color:var(--blue); font-weight:600; }
    .category-mobile-menu summary:focus-visible { outline-offset:-4px; }
}
.category-sidebar a {
    display:flex;
    justify-content:space-between;
    gap:15px;
    padding:14px 0;
    border-bottom:1px solid var(--line);
    font-size:13px
}

.category-sidebar [aria-current] {
    color:var(--blue);
    font-weight:600
}
.sidebar-catalog {
    display:flex;
    align-items:center;
    gap:15px;
    background:var(--pale);
    padding:22px 18px;
    margin-top:26px;
    font-size:11px
}
.sidebar-catalog>i {
    font-size:26px;
    color:var(--blue)
}

.category-feature {
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    background:#f4f7fb;
    margin-bottom:40px;
    border-radius:5px;
    overflow:hidden
}
.category-feature img {
    width:100%;
    height:260px;
    object-fit:cover
}
.category-feature>div {
    padding:26px
}
.category-feature h2 {
    font-size:27px;
    margin-bottom:17px
}
.category-feature p {
    font-size:12px
}
.category-feature .text-link {
    font-size:11px
}

.product-card {
    display:flex;
    flex-direction:column;
    height:100%;
    border:1px solid var(--line);
    border-radius:5px;
    overflow:hidden;
    color:var(--navy);
    transition:border-color .2s
}
.product-card:hover {
    border-color:var(--blue)
}
.product-card-image { flex-shrink: 0; background: #fff; aspect-ratio: 4 / 3; }
.product-card-image img { width: 100%; height: 100%; object-fit: contain; }
.product-card-code {
    position:relative;
    flex:1;
    min-height:165px;
    padding:24px;
    background:#f4f7fb
}
.product-card-code span {
    display:block;
    font-size:11px;
    margin-bottom:22px
}
.product-card-code strong {
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:4;
    line-clamp:4;
    overflow:hidden;
    overflow-wrap:anywhere;
    height:5.8em;
    font-family:var(--heading-font);
    font-size:24px;
    font-weight:500;
    line-height:1.45
}
.product-card-code>i {
    position:absolute;
    right:18px;
    top:18px
}
.product-card-bottom {
    display:flex;
    align-items:center;
    gap:12px;
    min-height:72px;
    margin-top:auto;
    justify-content:space-between;
    padding:16px 20px;
    font-size:12px
}

.product-group-image {
    background:var(--pale);
    border-radius:5px;
    overflow:hidden
}
.product-group-image img {
    width:100%
}
@media (min-width: 992px) {
    .product-group-image {
        position:sticky;
        top:calc(var(--header-height) + 24px);
    }
    .product-group-image img {
        display:block;
        height:auto;
        max-height:calc(100dvh - var(--header-height) - 48px);
        object-fit:contain;
    }
}
.product-image-note {
    font-size:11px;
    margin-top:17px;
    max-width:65ch
}
.product-detail-copy h2 {
    font-size:54px;
    margin:22px 0
}
.product-detail-copy>p {
    font-size:14px
}
.product-facts {
    margin:30px 0
}
.product-facts>div {
    display:flex;
    justify-content:space-between;
    gap:18px;
    padding:14px 0;
    border-bottom:1px solid var(--line);
    font-size:12px
}
.product-facts dt {
    font-weight:500
}
.product-facts dd {
    margin:0;
    text-align:right;
    color:var(--navy)
}
.product-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.product-dimensions { list-style:none; padding:0; margin:0; display:grid; gap:8px; overflow-wrap:anywhere; }
.product-facts dt { flex-shrink:0; }
.product-facts dd { min-width:0; overflow-wrap:anywhere; }
.product-size-count { display:block; margin-top:4px; color:var(--blue); }
.product-actions .site-button { min-width:0; min-height:54px; padding:12px 10px; gap:8px; font-size:12px; line-height:1.4; text-align:center; }
.product-actions .site-button > span { min-width:0; overflow-wrap:anywhere; }
.product-actions .site-button > i { flex-shrink:0; font-size:17px; }
.product-actions .site-button:only-child { grid-column:1 / -1; }
.product-pdf { color:var(--navy); border-color:var(--line); background:transparent; }
.product-pdf:hover { color:var(--blue); border-color:var(--blue); background:var(--pale); }
@media(max-width:575.98px) { .product-actions .site-button { padding:10px 8px; font-size:11px; } }
.product-contact-note {
    margin-top:22px;
    font-size:11px!important
}
.related-products {
    padding-top:65px;
    margin-top:60px;
    border-top:1px solid var(--line)
}
.related-products>h2 {
    font-size:30px;
    margin-bottom:30px
}

.catalog-page .catalog-book {
    margin-block:25px
}
.catalog-page h2 {
    margin-bottom:25px
}
.catalog-page p {
    font-size:14px;
    margin-top:25px
}
.catalog-file-info {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
    font-size:13px;
    padding-block:18px;
    border-block:1px solid var(--line)
}
.catalog-file-info i {
    font-size:22px;
    color:var(--blue)
}
.catalog-file-info span {
    font-size:11px;
    margin-left:auto
}
.inner-actions {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:25px;
    margin:30px 0
}

.contact-page h2 {
    margin-bottom:25px
}
.contact-page .contact-phone-list { gap:10px 24px; }
.contact-page .contact-phone-list a { color:var(--navy); font-size:16px; font-weight:600; white-space:nowrap; padding-block:4px; }
.contact-page .contact-phone-list a:hover { color:var(--blue); }
.contact-page .col-lg-5>p {
    font-size:14px;
    max-width:45ch
}
.contact-location {
    margin-top:65px;
    display:flex;
    align-items:center;
    gap:25px;
    padding:40px;
    background:var(--pale);
    border-radius:5px
}
.contact-location>i {
    font-size:45px;
    color:var(--blue)
}
.contact-location h2 {
    font-size:28px;
    margin-bottom:8px
}
.contact-location p {
    font-size:12px;
    margin:0
}
.contact-location>a {
    margin-left:auto
}

@media(max-width:991.98px) {
    .inner-page .row.g-5 {
        --bs-gutter-x:32px
    }
    .category-sidebar {
        display:flex;
        flex-wrap:wrap;
        gap:8px
    }
    .category-sidebar h2 {
        width:100%
    }
    .category-sidebar a {
        border:1px solid var(--line);
        padding:9px 12px;
        font-size:11px
    }
    .category-sidebar a i,.sidebar-catalog {
        display:none
    }
    .catalog-page .catalog-book {
        margin-bottom:50px
    }
}

@media(max-width:767.98px) {
    .inner-hero {
        padding:28px 0 38px
    }
    .breadcrumbs {
        font-size:10px;
        gap:8px;
        margin-bottom:25px
    }
    .inner-hero p {
        font-size:12px
    }
    .category-feature {
        grid-template-columns:1fr
    }
    .category-feature img {
        height:auto;
        max-height:290px
    }
    .catalog-toolbar {
        align-items:flex-start;
        flex-wrap:wrap
    }
    .product-card-code {
        min-height:140px
    }
    .product-detail-copy h2 {
        font-size:43px
    }
    .related-products {
        margin-top:35px;
        padding-top:40px
    }
    .related-products>h2 {
        font-size:26px
    }
    .contact-location {
        align-items:flex-start;
        flex-direction:column;
        padding:27px
    }
    .contact-location>a {
        margin-left:0
    }
    .catalog-file-info span {
        margin-left:0
    }
}
