/*--------------------------------------------------------------
# Main Slider (FIX 100% - sem vazar outro slide)
--------------------------------------------------------------*/

/* Wrapper geral */
.main-slider {
    position: relative;
    height: 100vh;
    width: 100%;
    z-index: 10;
    overflow: hidden; /* garante corte geral */
}

/* Cadeia do Owl para manter 100vh e evitar “vazamento” */
.main-slider .main-slider__carousel,
.main-slider .owl-stage-outer,
.main-slider .owl-stage,
.main-slider .owl-item {
    height: 100vh;
}

/* O recorte MAIS importante do Owl */
.main-slider .owl-stage-outer {
    overflow: hidden;
}

/* Opcional: melhora consistência de altura e evita “linha” entre slides */
.main-slider .owl-stage {
    display: flex;
}
.main-slider .owl-item {
    display: flex;
}

/* Slide (item) */
.main-slider .item {
    position: relative;
    width: 100%;
    height: 100vh;
    min-height: 100vh;

    /* CORREÇÃO: você tinha border-boxa (inválido) */
    box-sizing: border-box;

    /* Em vez de brigar com 100vh + padding, deixamos o layout fluido com flex */
    display: flex;
    align-items: center;

    /* Ajuste de espaçamento vertical (mantenha se precisar “descer” por causa do header) */
    padding-top: 175px;
    padding-bottom: 180px;

    z-index: 10;
    overflow: hidden; /* corta shapes/imagens que saírem */
}

/* Background do slide */
.main-slider__bg {
    position: absolute;
    inset: 0; /* top:0; right:0; bottom:0; left:0 */
    width: 100%;
    height: 100%;
    z-index: -1;

    /* Como o background vem inline (background-image), aqui garantimos cover */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* Overlay escuro */
.main-slider__bg::after{
    content: "";
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.55);
}

/* Shapes */
.main-slider__shape-1 {
    position: absolute;
    top: -133px;
    right: 583px;
    height: 545px;
    width: 80px;
    background-color: rgba(var(--erepair-white-rgb), .10);
    clip-path: polygon(0 18%, 100% 0%, 100% 82%, 0% 100%);
    transform: rotate(51deg) translateX(-400px);
    opacity: 0;
    z-index: -1;
}

.active .main-slider__shape-1 {
    opacity: 1;
    transform: rotate(51deg) translateX(0px);
    transition: all 1000ms ease;
}

.main-slider__shape-2 {
    position: absolute;
    top: -206px;
    right: 508px;
    height: 750px;
    width: 80px;
    background-color: #31cd02;
    clip-path: polygon(0 10%, 100% 0%, 100% 90%, 0% 100%);
    transform: rotate(51deg) translateY(-200px);
    opacity: 0;
    z-index: -1;
}

.active .main-slider__shape-2 {
    opacity: 1;
    transform: rotate(51deg) translateY(0px);
    transition: all 1500ms ease;
}

.main-slider__shape-3 {
    position: absolute;
    top: -260px;
    right: 495px;
    height: 1025px;
    width: 80px;
    background: linear-gradient(180deg, #c0c0c0 0%, #aeadad 100%);
    clip-path: polygon(0 10%, 100% 0%, 100% 90%, 0% 100%);
    transform: rotate(52deg) translateX(50px);
    opacity: 0;
    z-index: -1;
}

.active .main-slider__shape-3 {
    opacity: 1;
    transform: rotate(52deg) translateX(0px);
    transition: all 1800ms ease;
}

/* Imagem extra (se você usar .main-slider__img dentro do slide) */
.main-slider__img {
    position: absolute;
    bottom: 0;
    right: 310px;
    opacity: 0;
    transform: translateX(300px);
    -webkit-transition: all 1000ms ease;
    -moz-transition: all 1000ms ease;
    -ms-transition: all 1000ms ease;
    -o-transition: all 1000ms ease;
    z-index: 1;
}

.main-slider__img img {
    width: auto !important;
}

.active .main-slider__img {
    opacity: 1;
    transform: translateX(0);
    -webkit-transition-delay: 2000ms;
    -moz-transition-delay: 2000ms;
    -ms-transition-delay: 2000ms;
    -o-transition-delay: 2000ms;
    transition-delay: 2000ms;
}

/* Conteúdo */
.main-slider__content {
    position: relative;
    display: block;
    z-index: 10;
}

/* Subtítulo */
.main-slider__sub-title-box {
    position: relative;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    opacity: 0;
    transition: transform 1200ms ease, opacity 1200ms ease;
    transform: translateX(-200px);
}

.active .main-slider__sub-title-box {
    opacity: 1;
    transform: translateX(0);
    transition-delay: 500ms;
}

.main-slider__sub-title {
    font-size: 16px;
    line-height: 16px;
    color: var(--erepair-white);
    font-family: var(--erepair-font-2);
    text-transform: capitalize;
}

.main-slider__sub-title-shape {
    position: relative;
    display: block;
    height: 1px;
    width: 95px;
    background-color: var(--erepair-base);
}

/* Título */
.main-slider__title {
    position: relative;
    display: block;
    font-size: 50px;
    color: var(--erepair-white);
    font-weight: 600;
    line-height: 58px;
    letter-spacing: -1.8px;
    margin-top: 12px;
    margin-bottom: 31px;
    opacity: 0;
    transition: transform 1000ms ease, opacity 1000ms ease;
    transform: translateX(200px);
    max-width: 700px;
}

.active .main-slider__title {
    opacity: 1;
    transform: translateX(0);
    transition-delay: 800ms;
}

/* Se você quiser um underline, defina background aqui (antes estava vazio) */
.main-slider__title:before {
    content: "";
    position: absolute;
    left: 180px;
    bottom: 3px;
    height: 3px;
    width: 325px;
    /* background: var(--erepair-base); */
}

/* Texto */
.main-slider__text {
    position: relative;
    display: block;
    font-size: 18px;
    line-height: 28px;
    color: rgba(var(--erepair-white-rgb), .70);
    opacity: 0;
    transition: transform 1200ms ease, opacity 1200ms ease;
    transform: translateX(-200px);
}

.active .main-slider__text {
    opacity: 1;
    transform: translateX(0);
    transition-delay: 1000ms;
}

/* Botão */
.main-slider__btn-box {
    position: relative;
    display: block;
    margin-top: 43px;
    opacity: 0;
    transform: perspective(400px) rotateY(0deg) translateY(80px);
    transform-origin: bottom;
    transition: all 1500ms ease;
    color: #fff !important;
}

.active .main-slider__btn-box {
    opacity: 1;
    transform: perspective(400px) rotateY(0deg) translateY(0px);
    transition-delay: 1500ms;
}

.main-slider__btn{color:#fff}
.main-slider__btn:hover{color:var(var(--erepair-black !important));}

/* Dots */
.main-slider .owl-theme .owl-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 1320px;
    width: 100%;
    position: absolute;
    bottom: 61px;
    left: 0;
    right: 0;
    padding: 0 15px;
    margin: 0 auto;
    height: 0;
    line-height: 0;
    z-index: 50;
}

.main-slider .owl-theme .owl-dots .owl-dot + .owl-dot {
    margin-left: 10px;
}

.main-slider .owl-theme .owl-dots .owl-dot span {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background-color: rgba(var(--erepair-white-rgb), .30);
    border: 2px solid transparent;
    margin: 0;
    -webkit-transition: all 300ms ease;
    transition: all 300ms ease;
}

.main-slider .owl-theme .owl-dots .owl-dot:hover span,
.main-slider .owl-theme .owl-dots .owl-dot.active span {
    background-color: rgba(var(--erepair-white-rgb), 0);
    border: 2px solid var(--erepair-white);
}

/* Nav */
.main-slider .owl-theme .owl-nav {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
    max-width: 100%;
    width: 100%;
    padding: 0px 80px;
    margin: 0 auto;
    height: 0;
    line-height: 0;
    transform: translateY(-50%);
}

.main-slider .owl-theme .owl-nav [class*=owl-] {
    position: relative;
    z-index: 100;
    aspect-ratio: 16/16;
    width: 60px;
    height: 60px;
    font-size: 20px !important;
    color: rgba(var(--erepair-white-rgb), .30) !important;
    opacity: 1;
    margin: 0;
    text-align: center;
    transition: all 500ms ease;
    border-radius: 50%;
    background-color: transparent !important;
    border: 2px solid rgba(var(--erepair-white-rgb), .30) !important;
}

.main-slider .owl-theme .owl-nav [class*=owl-]:hover {
    color: rgba(var(--erepair-white-rgb), 1) !important;
    border: 2px solid rgba(var(--erepair-white-rgb), 1) !important;
}

.main-slider .owl-theme .owl-nav [class*=owl-] + [class*=owl-] {
    margin-left: 0px;
}

.main-slider .owl-theme .owl-nav .owl-prev {
    transform: rotate(180deg);
}

/*--------------------------------------------------------------
# Responsivo (recomendado)
--------------------------------------------------------------*/
@media (max-width: 991px) {
    .main-slider .owl-theme .owl-nav {
        padding: 0 20px;
    }
    .main-slider__title {
        font-size: 40px;
        line-height: 45px;
        letter-spacing: -1px;
    }
    .main-slider .item {
        padding-top: 130px;
        padding-bottom: 130px;
    }
}

@media (max-width: 575px) {
    .main-slider__title {
        font-size: 30px;
        line-height: 38px;
    }
    .main-slider__text {
        font-size: 16px;
        line-height: 26px;
    }
}
