/* ==========================================================================
   Zoho Projects - All features
   ========================================================================== */

/* ----------- Utility ----------- */
.zwc-full-width {
    display: block;
    width: 100%;
}

.cta-btn.act-btn {
    padding: 15px 40px;
    border-radius: 5px;
}

/* ----------- Feature wrap (page shell) ----------- */
.zwc-feature-wrap {
    position: relative;
    background-color: #f9fcff;
}

.zwc-feature-wrap::before {
    content: "";
    position: absolute;
    top: -91px;
    height: calc(100% + 91px);
    left: 0;
    right: 0;
    height: clamp(150px, 20.97vw, 302px);
    background-image: linear-gradient(183.5deg, #dffaff 2.13%, #ffffff 57.7%, #f9fcff 100%);
    pointer-events: none;
}

.zwc-feature-wrap>.zwc-container-wrap {
    position: relative;
    padding-top: clamp(40px, 6.32vw, 91px);
}

/* ----------- Main inner wrap (nav + content) ----------- */
.zwc-main-inner-wrap {
    display: flex;
    align-items: flex-start;
    gap: clamp(24px, 3.68vw, 53px);
}

/* ----------- Left navigation ----------- */
.zwc-nav-wrap {
    position: sticky;
    top: 90px;
    flex: 0 0 290px;
    max-width: 290px;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
    padding: 20px 0;
    border-radius: 12px;
    background-color: #e9f1fa;
    scrollbar-width: thin;
}

.zwc-nav-heading {
    padding: 7px 20px 18px;
}

.zwc-nav-heading span {
    display: block;
    font-family: var(--primaryfont-semibold);
    font-size: clamp(18px, 1.39vw, 20px);
    line-height: 1.25;
    color: #000000;
}

/* Compact copy of the nav (shown in place of the sidebar at 1024px and below) */
.zwc-mobile-nav {
    display: none;
}

.zwc-nav-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #000000;
    cursor: pointer;
    transition: color 0.25s ease;
}

.zwc-nav-toggle:hover,
.zwc-nav-toggle:focus-visible {
    color: #025fea;
}

.zwc-nav-toggle:focus-visible {
    outline: 2px solid #025fea;
    outline-offset: 2px;
}

.zwc-toggle-bar {
    transform-box: fill-box;
    transform-origin: center;
    transition: transform 0.25s ease, opacity 0.25s ease;
}

.zwc-nav-open .zwc-toggle-bar-top {
    transform: translateY(6px) rotate(45deg);
}

.zwc-nav-open .zwc-toggle-bar-mid {
    opacity: 0;
}

.zwc-nav-open .zwc-toggle-bar-bot {
    transform: translateY(-6px) rotate(-45deg);
}

.zwc-nav-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 4;
    background-color: rgba(8, 19, 61, 0.4);
}

.zwc-tab-list {
    display: flex;
    flex-direction: column;
    padding-top: 10px;
}

.zwc-tab {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 53.5px;
    padding: 8px 20px 8px 19px;
    border-left: 4px solid transparent;
    font-family: var(--primaryfont-regular);
    font-size: clamp(15px, 1.18vw, 17px);
    line-height: 1.3;
    color: #000000;
    text-decoration: none;
    transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.zwc-tab:hover {
    color: var(--zwc-link-clr, #025fea);
}

.zwc-tab.zwc-active {
    border-left-color: #025fea;
    background-image: linear-gradient(to right, #b3dcff, rgb(163 202 236 / 7%));
    font-family: var(--zf-primary-medium);
    color: #025fea;
}

/* ----------- Sprite icons ----------- */
.zwc-icon {
    display: block;
    flex-shrink: 0;
    background-image: url("/sites/zweb/images/projects/all-features/all-features-sprite.svg");
    background-repeat: no-repeat;
    background-size: 544px 455px;
}

.zwc-tab .zwc-icon {
    width: 18px;
    height: 18px;
}

.zwc-card-top .zwc-icon {
    width: 40px;
    height: 40px;
}

.zwc-icons .zwc-icon {
    width: 34px;
    height: 34px;
}

/* ----------- Right container ----------- */
.zwc-rightcontainer-wrap {
    flex: 1 1 auto;
    min-width: 0;
}

.zwc-rightcontainer-wrap>.zwc-sec-title {
    margin-bottom: clamp(40px, 5.97vw, 86px);
    text-align: left;
}

.zwc-rightcontainer-wrap>.zwc-sec-title h1 {
    max-width: 630px;
    margin-bottom: 24px;
    font-family: var(--primaryfont-semibold);
    font-size: clamp(30px, 3.33vw, 48px);
    line-height: 1.17;
    letter-spacing: -0.96px;
    color: #000000;
}

/* ----------- Feature blocks ----------- */
.zwc-feature-container-wrap {
    display: flex;
    flex-direction: column;
    gap: clamp(60px, 10.42vw, 150px);
}

/* ----------- Thumbnail band ----------- */
.zwc-thumbnail {
    position: relative;
    display: flex;
    align-items: center;
    height: clamp(90px, 9.72vw, 140px);
    margin-bottom: clamp(28px, 3.61vw, 52px);
    padding: 0 clamp(20px, 3.13vw, 45px);
    /* background-image: linear-gradient(90deg, #0b4ecc, #1a8cff); */
}

.zwc-thumbnail img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left center;
    border-radius: 20px 20px 0 0;
}

.zwc-thumbnail h2 {
    position: relative;
    font-family: var(--primaryfont-semibold);
    font-size: clamp(20px, 2.22vw, 32px);
    line-height: 1.2;
    letter-spacing: -1px;
    color: #ffffff;
}

/* ----------- Card grid ----------- */
.zwc-card-container {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

/* ----------- Card ----------- */
.zwc-card {
    display: flex;
    flex-direction: column;
    min-height: clamp(330px, 32.15vw, 433px);
    padding: clamp(24px, 2.78vw, 30px);
    border-radius: 6px;
    background-color: #ffffff;
}

.zwc-card-top {
    display: flex;
    flex-direction: column;
    gap: clamp(16px, 1.74vw, 25px);
}

.zwc-card .zwc-img-wrap {
    display: flex;
    align-items: center;
    height: 44px;
}

.zwc-card .zwc-img-wrap img {
    width: auto;
    height: 100%;
    max-width: 100%;
    object-fit: contain;
    object-position: left center;
}

.zwc-card .zwc-sec-title {
    margin: 0;
    text-align: left;
}

.zwc-card .zwc-sec-title h3 {
    margin-bottom: clamp(10px, 0.9vw, 13px);
    font-family: var(--primaryfont-semibold);
    font-size: clamp(20px, 1.67vw, 24px);
    line-height: 1.34;
    letter-spacing: -0.48px;
    color: #000000;
}

.zwc-card .zwc-sec-title p {
    margin: 0;
    font-family: var(--primaryfont-regular);
    font-size: clamp(15px, 1.11vw, 16px);
    line-height: 1.63;
    letter-spacing: -0.32px;
    color: #000000;
}

.zwc-card a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    padding-top: 24px;
    font-family: var(--primaryfont-semibold);
    font-size: clamp(15px, 1.11vw, 16px);
    line-height: 1.13;
    letter-spacing: -0.32px;
    color: var(--zwc-link-clr, #0047ff);
    text-decoration: none;
}

.zwc-arrow {
    display: inline-block;
    width: 14px;
    height: 12px;
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 12'><path d='M8.1 0.3a1 1 0 0 0-1.4 1.4L10 5H1a1 1 0 0 0 0 2h9l-3.3 3.3a1 1 0 1 0 1.4 1.4l5-5a1 1 0 0 0 0-1.4z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 12'><path d='M8.1 0.3a1 1 0 0 0-1.4 1.4L10 5H1a1 1 0 0 0 0 2h9l-3.3 3.3a1 1 0 1 0 1.4 1.4l5-5a1 1 0 0 0 0-1.4z'/></svg>");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: currentColor;
    transition: transform 0.25s ease;
}

.zwc-card a:hover .zwc-arrow {
    transform: translateX(4px);
}

/* ----------- Footer CTA ----------- */
.zwc-footer-wrap {
    margin-top: clamp(60px, 8.96vw, 129px);
    background-color: #08133d;
}

.zwc-footer-wrap .zwc-inner-wrap {
    position: relative;
    max-width: 1451px;
    margin: 0 auto;
    padding: clamp(50px, 7vw, 100px) 0 clamp(60px, 7.15vw, 103px);
    background-image: url("/sites/zweb/images/projects/all-features/footer-bg.svg");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
}

.zwc-footer-wrap .zwc-container-wrap {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(16px, 1.6vw, 23px);
}

.zwc-icons {
    display: flex;
    align-items: center;
    gap: clamp(10px, 1.04vw, 15px);
}

.zwc-footer-wrap .zwc-sec-title {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(24px, 2.22vw, 32px);
    text-align: center;
}

.zwc-footer-wrap .zwc-sec-title h2 {
    margin: 0;
    font-family: var(--primaryfont-semibold);
    font-size: clamp(30px, 3.89vw, 56px);
    line-height: 1.15;
    letter-spacing: -1.12px;
    color: #ffffff;
}

/* ----------- Left nav icons ----------- */
.zwc-nav-icon-1 {
    background-position: -9.0px -8.12px;
}

.zwc-nav-icon-2 {
    background-position: -28.75px -8.12px;
}

.zwc-nav-icon-3 {
    background-position: -47.0px -8.12px;
}

.zwc-nav-icon-4 {
    background-position: -66.0px -8.12px;
}

.zwc-nav-icon-5 {
    background-position: -85.0px -8.12px;
}

.zwc-nav-icon-6 {
    background-position: -104.0px -8.12px;
}

.zwc-nav-icon-7 {
    background-position: -122.25px -8.12px;
}

.zwc-nav-icon-8 {
    background-position: -140.38px -8.12px;
}

.zwc-nav-icon-9 {
    background-position: -160.62px -8.0px;
}

.zwc-nav-icon-10 {
    background-position: -182.62px -8.12px;
}

.zwc-nav-icon-11 {
    background-position: -204.62px -8.12px;
}

.zwc-nav-icon-12 {
    background-position: -224.62px -8.12px;
}

/* ----------- Card icons ----------- */
.zwc-icon-1 {
    background-position: -9.0px -33.25px;
}

.zwc-icon-2 {
    background-position: -50.0px -34.0px;
}

.zwc-icon-3 {
    background-position: -91.0px -34.0px;
}

.zwc-icon-4 {
    background-position: -132.0px -34.0px;
}

.zwc-icon-5 {
    background-position: -173.0px -34.0px;
}

.zwc-icon-6 {
    background-position: -214.0px -34.0px;
}

.zwc-icon-7 {
    background-position: -255.0px -34.0px;
}

.zwc-icon-8 {
    background-position: -296.0px -34.12px;
}

.zwc-icon-9 {
    background-position: -337.75px -34.0px;
}

.zwc-icon-10 {
    background-position: -378.0px -34.0px;
}

.zwc-icon-11 {
    background-position: -420.12px -34.0px;
}

.zwc-icon-12 {
    background-position: -460.0px -34.0px;
}

.zwc-icon-13 {
    background-position: -501.0px -33.12px;
}

.zwc-icon-14 {
    background-position: -9.0px -75.0px;
}

.zwc-icon-15 {
    background-position: -50.12px -75.0px;
}

.zwc-icon-16 {
    background-position: -91.25px -76.25px;
}

.zwc-icon-17 {
    background-position: -132.38px -75.0px;
}

.zwc-icon-18 {
    background-position: -173.38px -75.0px;
}

.zwc-icon-19 {
    background-position: -214.5px -75.0px;
}

.zwc-icon-20 {
    background-position: -255.62px -75.0px;
}

.zwc-icon-21 {
    background-position: -298.0px -76.25px;
}

.zwc-icon-22 {
    background-position: -337.88px -75.0px;
}

.zwc-icon-23 {
    background-position: -379.38px -75.38px;
}

.zwc-icon-24 {
    background-position: -419.5px -74.5px;
}

.zwc-icon-25 {
    background-position: -9.12px -116.0px;
}

.zwc-icon-26 {
    background-position: -50.0px -116.0px;
}

.zwc-icon-27 {
    background-position: -91.0px -116.0px;
}

.zwc-icon-28 {
    background-position: -132.0px -116.0px;
}

.zwc-icon-29 {
    background-position: -173.0px -116.0px;
}

.zwc-icon-30 {
    background-position: -214.0px -116.38px;
}

.zwc-icon-31 {
    background-position: -9.0px -157.0px;
}

.zwc-icon-32 {
    background-position: -50.0px -157.0px;
}

.zwc-icon-33 {
    background-position: -91.38px -157.0px;
}

.zwc-icon-34 {
    background-position: -132.0px -156.25px;
}

.zwc-icon-35 {
    background-position: -172.88px -157.5px;
}

.zwc-icon-36 {
    background-position: -214.0px -157.5px;
}

.zwc-icon-37 {
    background-position: -10.62px -198.5px;
}

.zwc-icon-38 {
    background-position: -50.0px -199.12px;
}

.zwc-icon-39 {
    background-position: -92.62px -198.5px;
}

.zwc-icon-40 {
    background-position: -133.62px -198.5px;
}

.zwc-icon-41 {
    background-position: -172.5px -198.0px;
}

.zwc-icon-42 {
    background-position: -214.88px -198.5px;
}

.zwc-icon-43 {
    background-position: -255.0px -199.12px;
}

.zwc-icon-44 {
    background-position: -296.88px -198.5px;
}

.zwc-icon-45 {
    background-position: -335.75px -198.0px;
}

.zwc-icon-46 {
    background-position: -377.88px -198.62px;
}

.zwc-icon-47 {
    background-position: -419.0px -198.62px;
}

.zwc-icon-48 {
    background-position: -460.12px -198.62px;
}

.zwc-icon-49 {
    background-position: -9.0px -239.5px;
}

.zwc-icon-50 {
    background-position: -50.0px -239.62px;
}

.zwc-icon-51 {
    background-position: -91.0px -239.5px;
}

.zwc-icon-52 {
    background-position: -132.0px -241.5px;
}

.zwc-icon-53 {
    background-position: -173.0px -241.5px;
}

.zwc-icon-54 {
    background-position: -9.0px -282.62px;
}

.zwc-icon-55 {
    background-position: -50.0px -282.62px;
}

.zwc-icon-56 {
    background-position: -91.0px -283.38px;
}

.zwc-icon-57 {
    background-position: -132.0px -286.12px;
}

.zwc-icon-58 {
    background-position: -173.0px -285.5px;
}

.zwc-icon-59 {
    background-position: -214.0px -285.5px;
}

.zwc-icon-60 {
    background-position: -255.0px -282.62px;
}

.zwc-icon-61 {
    background-position: -9.0px -326.5px;
}

.zwc-icon-62 {
    background-position: -50.75px -326.25px;
}

.zwc-icon-63 {
    background-position: -91.0px -326.5px;
}

.zwc-icon-64 {
    background-position: -132.0px -326.5px;
}

.zwc-icon-65 {
    background-position: -173.0px -326.5px;
}

.zwc-icon-66 {
    background-position: -9.0px -367.62px;
}

.zwc-icon-67 {
    background-position: -50.0px -367.5px;
}

/* ----------- Footer icons ----------- */
.zwc-footer-icon-1 {
    background-position: -10.0px -415.25px;
}

.zwc-footer-icon-2 {
    background-position: -56.0px -415.62px;
}

.zwc-footer-icon-3 {
    background-position: -104.0px -415.0px;
}

.zwc-footer-icon-4 {
    background-position: -149.25px -416.12px;
}

.zwc-footer-icon-5 {
    background-position: -198.0px -416.5px;
}

.zwc-footer-icon-6 {
    background-position: -244.0px -415.75px;
}

.zwc-footer-icon-7 {
    background-position: -291.0px -417.0px;
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1280px) {

    /* Left navigation */
    .zwc-nav-wrap {
        flex-basis: 280px;
        max-width: 280px;
    }

    /* Card */
    .zwc-card {
        min-height: 0;
    }
}

@media (max-width: 1024px) {

    /* Main inner wrap */
    .zwc-main-inner-wrap {
        flex-direction: column;
        gap: 30px;
    }

    /* Left navigation */
    .zwc-nav-wrap {
        top: 70px;
        z-index: 5;
        flex-basis: auto;
        width: 100%;
        max-width: none;
        max-height: none;
        overflow: visible;
        padding: 14px 0;
    }

    .zwc-nav-wrap:not(.zwc-mobile-nav) {
        display: none;
    }

    .zwc-mobile-nav {
        display: block;
        margin-bottom: 30px;
        border-radius: 0px;
        top: 0;
    }

    /* Without JS the list stays in flow, so don't pin the tall nav */
    .zwc-mobile-nav:not(.zwc-nav-ready) {
        position: static;
    }

    .zwc-nav-heading {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 0 16px 12px;
    }

    .zwc-nav-ready .zwc-nav-heading {
        padding: 0 16px;
    }

    .zwc-nav-ready .zwc-nav-toggle {
        display: inline-flex;
    }

    .zwc-nav-ready .zwc-tab-list {
        display: none;
        position: absolute;
        top: calc(100% + 8px);
        left: 0;
        right: 0;
        max-height: calc(100vh - 170px);
        max-height: calc(100dvh - 170px);
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 10px 0;
        border-radius: 12px;
        background-color: #e9f1fa;
        box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
        scrollbar-width: thin;
    }

    .zwc-nav-open .zwc-tab-list {
        display: flex;
    }

    .zwc-nav-open+.zwc-nav-backdrop {
        display: block;
    }

    /* Right container */
    .zwc-rightcontainer-wrap {
        width: 100%;
    }

    /* Card grid */
    .zwc-card-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {

    .zwc-feature-wrap::before {
        top: 0
    }

    /* Right container */
    .zwc-rightcontainer-wrap>.zwc-sec-title h1 {
        letter-spacing: normal;
        line-height: normal;
    }

    /* Thumbnail band */
    .zwc-thumbnail h2 {
        letter-spacing: normal;
        line-height: normal;
    }

    /* Card grid */
    .zwc-card-container {
        grid-template-columns: minmax(0, 1fr);
    }

    /* Card */
    .zwc-card .zwc-sec-title h3,
    .zwc-card .zwc-sec-title p {
        letter-spacing: normal;
        line-height: normal;
    }

    .zwc-card .zwc-sec-title p {
        line-height: 1.6;
    }

    /* Footer CTA */
    .zwc-footer-wrap .zwc-sec-title h2 {
        letter-spacing: normal;
        line-height: normal;
    }

    .zwc-full-width {
        display: inline;
    }
}