/* Homepage only: ordinary content remains readable if the tab script fails. */
html.zc-scroll-native {
    scroll-behavior: auto !important;
}
.zc-tabs__category-title {
    display: none;
}
.zc-services-revamp .zc-tabs--shape .zc-tabs__tab .zc-tabs__label {
    color: #000;
}
.zc-services-revamp .zc-tabs--shape .zc-tabs__tab:not(.is-active) .zc-tabs__label {
    background-color: #e2e8f0;
}
.zc-services-revamp .zc-tabs--shape .zc-tabs__tab:not(.is-active) svg {
    fill: #e2e8f0;
}
.zc-services-revamp .zc-tabs--shape .zc-tabs__tab.is-active .zc-tabs__label {
    color: #fff;
}
.zc-tabs__nav-shell {
    display: block;
    position: relative;
    z-index: 10;
    background: #f1f7ff;
}
.zc-services-revamp .zc-tabs__sticky-heading {
    padding: 12px 0;
    background: #f1f7ff;
}
.zc-services-revamp .zc-tabs__sticky-heading .zc-tabs__header {
    margin-bottom: 0;
}
.zc-services-revamp .zc-tabs__sticky-heading .zc-tabs__heading {
    margin-bottom: 0;
}
.zc-services-revamp .zc-tabs__sticky-heading .zuri-services-title {
    margin: 0 0 12px;
}
.zc-services-revamp .zc-tabs__sticky-heading .zc-section-tools {
    margin-bottom: 0;
}
.zc-services-revamp .zc-tabs.is-enhanced:not(.is-cinematic) .zc-tabs__nav-shell {
    position: sticky;
    top: var(--zc-mobile-tab-top, 90px);
}
.zc-tabs__mobile-progress {
    display: none;
}
.js-zc-reveal .zc-services-revamp.zc-scroll-section[data-zc-reveal],
.js-zc-reveal .zc-services-revamp .zc-tabs.is-cinematic[data-zc-reveal] {
    transform: none;
    transition: opacity 0.55s ease;
}
@media (min-width: 993px) {
    .zc-services-revamp .zc-tabs--shape .zc-tabs__nav {
        padding-inline: 0;
    }
    /* Give single-service tabs more presence without crowding shorter screens. */
    .zc-services-revamp .zc-tabs__feature {
        min-height: clamp(320px, 48vh, 480px);
    }
    .js-zc-reveal .zc-services-revamp[data-zc-reveal],
    .js-zc-reveal .zc-services-revamp [data-zc-tabs][data-zc-reveal] {
        transform: none;
        transition: opacity 0.55s ease;
    }
}

.zc-services-revamp .zc-tabs:not(.is-enhanced) .zc-tabs__nav {
    display: none;
}
.zc-services-revamp .zc-tabs:not(.is-enhanced) .zc-tabs__panel {
    display: block !important;
    position: relative;
    inset: auto;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    margin-bottom: 32px;
}
.zc-services-revamp .zc-tabs.is-enhanced .zc-tabs__panel[inert] {
    pointer-events: none;
}
.zc-services-revamp .zc-tabs__progress {
    display: none;
    height: 3px;
    margin-top: 16px;
    overflow: hidden;
    background: #e4edf2;
}
.zc-services-revamp .zc-tabs.is-cinematic .zc-tabs__progress {
    display: block;
}
.zc-services-revamp .zc-tabs__progress-fill {
    display: block;
    width: 100%;
    height: 100%;
    background: #1aa7ff;
    transform: scaleX(0);
    transform-origin: left center;
}
.zc-services-revamp .zc-tabs.is-cinematic {
    overflow: visible;
    overflow-anchor: none;
}
.zc-services-revamp .zc-tabs.is-cinematic .zc-tabs__panels {
    isolation: isolate;
    overflow-anchor: none;
}
.zc-services-revamp .zc-tabs.is-cinematic .zuri-service-card-link {
    transform: none;
    transition: none;
}
.zc-services-revamp .zc-tabs.is-cinematic .zc-tabs__pin {
    background: #fff;
}
.zc-services-revamp .zc-tabs.is-cinematic .zc-tabs__panels,
.zc-services-revamp .zc-tabs.is-cinematic .zc-tabs__panel {
    transition: none;
}
.zc-services-revamp .zc-tabs.is-cinematic .zc-tabs__panels {
    border-radius: 0 0 8px 8px;
}
.zc-services-revamp .zc-tabs.is-cinematic .zc-tabs__tab:focus-visible {
    outline: 3px solid #ffc738;
    outline-offset: -3px;
}

@media (min-width: 1100px) and (min-height: 540px) and (prefers-reduced-motion: no-preference) {
    /* Keep every category's cards in the HTML, with room to read every description. */
    .zc-services-revamp .zc-tabs--cleaning.is-enhanced .zc-tabs__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 16px;
    }
    .zc-services-revamp .zc-tabs--cleaning.is-enhanced #zc-clean-panel-commercial .zc-tabs__grid {
        grid-template-columns: repeat(8, minmax(0, 1fr));
    }
    .zc-services-revamp #zc-clean-panel-commercial .zc-tabs__grid > .zuri-service-card-link {
        grid-column: span 2;
    }
    .zc-services-revamp #zc-clean-panel-commercial .zc-tabs__grid > .zuri-service-card-link:nth-child(5) {
        grid-column: 2 / span 2;
    }
    .zc-services-revamp .zc-tabs--cleaning.is-enhanced .zc-tabs__card img {
        height: 110px;
    }
    .zc-services-revamp .zc-tabs--cleaning.is-enhanced .zuri-card-content {
        padding: 12px;
    }
    .zc-services-revamp .zc-tabs--cleaning.is-enhanced .zuri-card-content h3 {
        font-size: 17px;
        line-height: 1.3;
    }
    .zc-services-revamp .zc-tabs--cleaning.is-enhanced .zuri-card-content p {
        font-size: 14px;
        line-height: 1.45;
    }
    .zc-services-revamp .zc-tabs--cleaning.is-enhanced .zuri-card-btn {
        font-size: 16px;
        display: flex;
        align-items: center;
        justify-content: center;
        height: auto;
        min-height: 48px;
        line-height: 1.35;
        padding: 8px 10px;
        white-space: normal;
    }
}

/* Opt-in desktop layouts; unmarked tabs and mobile cards keep their layout. */
@media (min-width: 993px) {
    .zc-services-revamp .zc-tabs--cleaning.is-enhanced .zc-tabs__grid.zc-tabs__grid--horizontal {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
    .zc-services-revamp .zc-tabs--cleaning.is-cinematic .zc-tabs__grid--horizontal {
        min-height: var(--zc-stage-content-height, 0px);
        grid-template-rows: repeat(2, minmax(min-content, 1fr));
    }
    .zc-services-revamp .zc-tabs--cleaning.is-enhanced .zc-tabs__grid.zc-tabs__grid--mixed {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 16px;
    }
    .zc-services-revamp .zc-tabs__grid--mixed > .zc-tabs__item--wide {
        grid-column: span 2;
    }
    .zc-services-revamp .zc-tabs--cleaning.is-enhanced .zc-tabs__card--horizontal {
        position: relative;
        display: flex;
        flex-direction: column;
        max-width: none;
        min-height: 190px;
        padding-left: 36%;
    }
    .zc-services-revamp .zc-tabs--cleaning.is-enhanced .zc-tabs__card--horizontal > img {
        position: absolute;
        top: 0;
        left: 0;
        width: 36%;
        height: 100%;
        object-fit: cover;
        border-radius: 8px 0 0 8px;
    }
    .zc-services-revamp .zc-tabs--cleaning.is-enhanced .zc-tabs__card--horizontal .zuri-card-content {
        flex: 1;
        min-width: 0;
        padding: 12px;
    }
    .zc-services-revamp .zc-tabs--cleaning.is-enhanced .zc-tabs__card--horizontal .zuri-card-content h3 {
        font-size: 17px;
        line-height: 1.3;
        margin-bottom: 6px;
    }
    .zc-services-revamp .zc-tabs--cleaning.is-enhanced .zc-tabs__card--horizontal .zuri-card-content p {
        font-size: 14px;
        line-height: 1.4;
        margin-bottom: 8px;
    }
    .zc-services-revamp .zc-tabs--cleaning.is-enhanced .zc-tabs__card--horizontal .zuri-card-btn {
        width: 100%;
        min-width: 0;
        height: auto;
        min-height: 38px;
        padding: 6px 8px;
        font-size: 16px;
        line-height: 1.35;
        white-space: normal;
    }
}

@media (prefers-reduced-motion: reduce) {
    .zc-services-revamp [data-zc-reveal],
    .zc-services-revamp[data-zc-reveal] {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

@media (max-width: 992px) {
    .zc-services-revamp .zc-tabs__sticky-heading {
        padding: 10px 8px;
    }
    .zc-services-revamp .zc-tabs__sticky-heading .zuri-services-title,
    .zc-services-revamp .zc-tabs__sticky-heading .zc-tabs__heading {
        font-size: 20px;
        line-height: 1.3;
    }
    .zc-services-revamp .zc-tabs__sticky-heading .zc-section-tools {
        justify-content: center;
        gap: 8px;
        padding: 0;
    }
    .js-zc-reveal .zc-services-revamp[data-zc-reveal],
    .js-zc-reveal .zc-services-revamp [data-zc-tabs][data-zc-reveal] {
        transform: none;
        transition: opacity 0.55s ease;
    }
    html.zc-mobile-tabs-docked .zuri-header .yellow-mobile-btn {
        visibility: hidden;
        pointer-events: none;
    }
    .zc-services-revamp .zc-tabs.is-enhanced .zc-tabs__nav-shell {
        display: block;
        position: sticky;
        top: var(--zc-mobile-tab-top, 90px);
        z-index: 10;
        background: #f1f7ff;
    }
    .zc-services-revamp .zc-tabs.is-enhanced .zc-tabs__nav {
        position: relative;
        top: auto;
        scrollbar-width: none;
        overflow-x: hidden;
        padding: 0 4px 2px;
    }
    .zc-services-revamp .zc-tabs.is-enhanced .zc-tabs__tab {
        display: block;
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
        margin: 0 1em 0 0;
        font-size: 13px;
        white-space: nowrap;
    }
    .zc-services-revamp .zc-tabs.is-enhanced .zc-tabs__tab:last-child {
        margin-right: 0;
    }
    .zc-services-revamp .zc-tabs.is-enhanced .zc-tabs__tab svg {
        width: 1em;
    }
    .zc-services-revamp .zc-tabs.is-enhanced .zc-tabs__label {
        display: block;
        padding: 0.7em 0.45em;
        white-space: nowrap;
        text-overflow: clip;
    }
    .zc-services-revamp .zc-tabs.is-enhanced .zc-tabs__tab:first-child .zc-tabs__label {
        padding-left: 1em;
        border-top-left-radius: 22px;
    }
    .zc-services-revamp .zc-tabs.is-enhanced .zc-tabs__tab:last-child .zc-tabs__label {
        padding-right: 1em;
        border-top-right-radius: 22px;
    }
    .zc-services-revamp .zc-tabs.is-mobile-scroll .zc-tabs__mobile-progress {
        display: block;
        height: 3px;
        width: 100%;
        overflow: hidden;
        background: #dcebf5;
    }
    .zc-services-revamp .zc-tabs.is-enhanced .zc-tabs__panels {
        height: auto;
        transition: none;
    }
    .zc-services-revamp .zc-tabs.is-enhanced .zc-tabs__panel.is-active {
        position: relative;
        inset: auto;
    }
    .zc-services-revamp .zc-tabs.is-mobile-scroll .zc-tabs__panel {
        position: relative;
        inset: auto;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
        transition: none;
    }
    .zc-services-revamp .zc-tabs.is-mobile-scroll .zc-tabs__panel + .zc-tabs__panel {
        margin-top: 32px;
    }
    .zc-services-revamp .zc-tabs.is-mobile-scroll .zc-tabs__category-title {
        display: block;
        margin: 0 0 20px;
        font-size: 20px;
        font-weight: 600;
        color: #171717;
    }
    .zc-services-revamp .zc-tabs.is-mobile-scroll .zuri-service-card-link {
        transform: none;
        transition: none;
    }
}

@media (max-width: 480px) {
    .zc-services-revamp .zc-tabs.is-enhanced .zc-tabs__tab {
        font-size: 12px;
    }
    .zc-services-revamp .zc-tabs--disposal.is-enhanced .zc-tabs__nav {
        flex-wrap: wrap;
        row-gap: 6px;
    }
    .zc-services-revamp .zc-tabs--disposal.is-enhanced .zc-tabs__tab {
        flex: 0 1 calc((100% - 2em) / 3);
    }
    .zc-services-revamp .zc-tabs--disposal.is-enhanced .zc-tabs__tab:nth-child(3) {
        margin-right: 0;
    }
    .zc-services-revamp .zc-tabs--disposal.is-enhanced .zc-tabs__tab:nth-child(4) .zc-tabs__label {
        padding-left: 1em;
        border-top-left-radius: 22px;
    }
    .zc-services-revamp .zc-tabs--disposal.is-enhanced .zc-tabs__tab:nth-child(3) .zc-tabs__label {
        padding-right: 1em;
        border-top-right-radius: 22px;
    }
    .zc-services-revamp .zc-tabs--disposal.is-enhanced .zc-tabs__tab:nth-child(3) svg:first-of-type,
    .zc-services-revamp .zc-tabs--disposal.is-enhanced .zc-tabs__tab:nth-child(4) svg:nth-of-type(2) {
        display: none;
    }
}

@media (max-width: 359px) {
    .zc-services-revamp .zc-tabs.is-enhanced .zc-tabs__tab {
        font-size: 11px;
    }
}
