/* =========================================
   TECHNOARTZ HERO SLIDER
========================================= */

.tz-hero-slider {
    position: relative;
    overflow: hidden;
    background: #080b18;
}

.tz-slide {
    position: relative;
    min-height: 680px;
    display: flex;
    align-items: center;
    overflow: hidden;
}

/* Backgrounds */

.tz-slide-1 {
    background:
        radial-gradient(circle at 80% 40%,
        rgba(67, 97, 238, .30),
        transparent 35%),
        linear-gradient(135deg,
        #080b18 0%,
        #101936 55%,
        #07101f 100%);
}

.tz-slide-2 {
    background:
        radial-gradient(circle at 80% 50%,
        rgba(0, 210, 255, .25),
        transparent 35%),
        linear-gradient(135deg,
        #070b17 0%,
        #0c2437 55%,
        #07101d 100%);
}

.tz-slide-3 {
    background:
        radial-gradient(circle at 80% 50%,
        rgba(123, 63, 228, .30),
        transparent 35%),
        linear-gradient(135deg,
        #0b0818 0%,
        #21133c 55%,
        #090b18 100%);
}


/* Content */

.tz-content {
    position: relative;
    z-index: 5;
    padding: 50px 0;
    animation: tzFadeUp .9s ease both;
}


/* Badge */

.tz-badge {
    display: inline-flex;
    align-items: center;
    padding: 9px 17px;
    margin-bottom: 22px;

    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;

    color: #fff;

    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.15);

    border-radius: 50px;

    backdrop-filter: blur(10px);
}


/* Heading */

.tz-content h1 {
    margin: 0 0 22px;

    max-width: 680px;

    color: #fff;

    font-size: clamp(42px, 5vw, 72px);
    line-height: 1.08;

    font-weight: 800;
    letter-spacing: -2px;
}

.tz-content h1 span {
    display: block;

    background: linear-gradient(
        90deg,
        #5ee7ff,
        #7c5cff,
        #d05cff
    );

    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}


/* Paragraph */

.tz-content p {
    max-width: 570px;

    margin-bottom: 32px;

    color: rgba(255,255,255,.72);

    font-size: 17px;
    line-height: 1.8;
}


/* Buttons */

.tz-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.tz-btn-primary,
.tz-btn-outline {
    padding: 14px 25px;

    border-radius: 8px;

    font-size: 14px;
    font-weight: 700;

    transition: all .3s ease;
}

.tz-btn-primary {
    color: #fff;

    border: none;

    background: linear-gradient(
        135deg,
        #5b5ff0,
        #8b5cf6
    );

    box-shadow: 0 12px 30px rgba(100,90,240,.30);
}

.tz-btn-primary:hover {
    color: #fff;

    transform: translateY(-3px);

    box-shadow: 0 18px 40px rgba(100,90,240,.45);
}

.tz-btn-outline {
    color: #fff;

    border: 1px solid rgba(255,255,255,.25);

    background: rgba(255,255,255,.05);
}

.tz-btn-outline:hover {
    color: #fff;

    background: rgba(255,255,255,.12);

    border-color: rgba(255,255,255,.5);

    transform: translateY(-3px);
}


/* Visual */

.tz-visual {
    position: relative;

    display: flex;
    justify-content: center;
    align-items: center;

    min-height: 480px;

    animation: tzFloat 5s ease-in-out infinite;
}

.tz-visual img {
    position: relative;
    z-index: 2;

    max-width: 560px;
    width: 100%;

    filter: drop-shadow(
        0 25px 45px rgba(0,0,0,.4)
    );
}


/* Glow */

.tz-glow {
    position: absolute;

    width: 360px;
    height: 360px;

    border-radius: 50%;

    background: rgba(82, 92, 255, .25);

    filter: blur(80px);
}


/* Carousel */

.tz-hero-slider .carousel-control-prev,
.tz-hero-slider .carousel-control-next {
    width: 55px;
    height: 55px;

    top: 50%;
    transform: translateY(-50%);

    margin: 0 25px;

    border-radius: 50%;

    background: rgba(255,255,255,.08);

    backdrop-filter: blur(10px);

    opacity: .7;

    transition: all .3s ease;
}

.tz-hero-slider .carousel-control-prev:hover,
.tz-hero-slider .carousel-control-next:hover {
    opacity: 1;

    background: rgba(255,255,255,.18);
}


/* Indicators */

.tz-hero-slider .carousel-indicators {
    bottom: 30px;

    z-index: 10;
}

.tz-hero-slider .carousel-indicators button {
    width: 28px;
    height: 4px;

    margin: 0 5px;

    border: 0;

    border-radius: 20px;

    opacity: .4;
}

.tz-hero-slider .carousel-indicators button.active {
    width: 55px;
    opacity: 1;
}


/* Animations */

@keyframes tzFadeUp {

    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes tzFloat {

    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-12px);
    }

    100% {
        transform: translateY(0);
    }

}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .tz-slide {
        min-height: 720px;
    }

    .tz-content h1 {
        font-size: 48px;
    }

    .tz-content p {
        font-size: 16px;
    }

    .tz-visual {
        min-height: 350px;
    }

    .tz-visual img {
        max-width: 400px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .tz-slide {
        min-height: auto;
        padding: 80px 0 100px;
    }

    .tz-content {
        padding: 20px 0;
        text-align: center;
    }

    .tz-badge {
        font-size: 10px;
        padding: 8px 13px;
    }

    .tz-content h1 {
        font-size: 38px;
        line-height: 1.12;
        letter-spacing: -1px;
    }

    .tz-content p {
        margin-left: auto;
        margin-right: auto;

        font-size: 15px;
        line-height: 1.7;
    }

    .tz-buttons {
        justify-content: center;
    }

    .tz-btn-primary,
    .tz-btn-outline {
        padding: 12px 19px;
        font-size: 13px;
    }

    .tz-visual {
        min-height: 280px;
        margin-top: 20px;
    }

    .tz-visual img {
        max-width: 310px;
    }

    .tz-glow {
        width: 240px;
        height: 240px;
    }

    .tz-hero-slider .carousel-control-prev,
    .tz-hero-slider .carousel-control-next {
        display: none;
    }

    .tz-hero-slider .carousel-indicators {
        bottom: 22px;
    }

}

/* Technoartz Slider Fix */

.tz-hero-slider {
    position: relative;
    overflow: hidden;
}

.tz-hero-slider .carousel {
    position: relative;
}

.tz-hero-slider .carousel-inner {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.tz-hero-slider .carousel-item {
    position: relative;
    display: none;
    width: 100%;
    margin-right: -100%;
    backface-visibility: hidden;
}

.tz-hero-slider .carousel-item.active {
    display: block;
}

.tz-hero-slider .carousel-item-next,
.tz-hero-slider .carousel-item-prev {
    display: block;
}

.tz-hero-slider .carousel-item-next:not(.carousel-item-start),
.tz-hero-slider .active.carousel-item-end {
    transform: translateX(100%);
}

.tz-hero-slider .carousel-item-prev:not(.carousel-item-end),
.tz-hero-slider .active.carousel-item-start {
    transform: translateX(-100%);
}