/*? ==================== HEADER ==================== */
header .img-flag {width: 45px; height: 29px; object-fit: contain;}
header .logo-mobile-menu{width:160px;margin:1rem 0}
@media screen and (min-width: 992px) {
    header .logo-desktop {width: 500px;margin:1rem 0}
    header .logo-desktop-secondary {width: 90px;margin:0;object-fit: contain}
    header #header-nav{background: var(--primary-color);}
    header .nav-pills{--bs-nav-pills-link-active-bg: var(--light);--bs-nav-link-active-color:#000;--bs-nav-link-color: #fff;--bs-nav-pills-border-radius:24px;}
    header .nav-link:hover{background: var(--bs-nav-pills-link-active-bg);}
}

@media screen and (max-width: 768px) { 
    header .logo-desktop {width: 200px;margin:1rem 0}
    header{box-shadow: 0 2px 6px 0 rgba(83, 83, 83, 0.15);}
    header {position: sticky; top: 0; z-index: 999; background: var(--primary-color);}
}
/*? ================== FIM HEADER ================== */

/* ? ==================== FOOTER ==================== */
footer{background: var(--primary-color-dark);}
footer .text-empresa {font-size: 1rem;}
footer .logo-desktop{max-width:220px;filter: brightness(0) invert(1);}
footer h3{margin-top:0;font-size:20px;color:#C2C3C3}
footer .footer__nav li a:not(.btn){display:block;padding:5px 0;font-size:14px;color:var(--light);transition:.3s}
footer .footer__nav li a i{font-size:10px}
footer .footer__nav li a:hover{color:var(--dark)}
footer address a{transition: .3s;}
footer .footer-mapa {width: 100%; height: 200px;}
@media screen and (max-width: 768px) {footer .social {justify-content: center;}}
/* ? ================== FIM FOOTER ================== */

.card.card--23{all:unset;box-sizing:border-box;display:flex;align-items:flex-start;justify-content:space-between;flex-flow:column nowrap;gap:1rem;background-color:var(--dark);background-image:linear-gradient(-45deg,var(--dark),var(--grey)),var(--card-background);background-size:cover;background-repeat:no-repeat;background-position:center;background-blend-mode:multiply,normal;border-radius:1rem;padding:1rem;position:relative;height:100%}
.card.card--23:focus-within,.card.card--23:hover{box-shadow:0 0 0 2px var(--secondary-color)}
.card.card--23 .card__title{color:#fff;font-size:1.25rem;text-shadow:0 0 .25rem var(--dark);margin:0;min-height:calc(1.25rem * 2 * 1.3)}
.card.card--23 .card__link{z-index:1;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;flex-flow:row nowrap;padding:.5rem .75rem;font-size:.875rem;text-transform:uppercase;transition:var(--transition);color:var(--light);font-weight:600;border:2px solid currentColor;border-radius:99px}
.card.card--23 .card__link>span{width:0;max-width:fit-content;opacity:0;transition:var(--transition)}
.card.card--23 .card__link:focus>span,.card.card--23 .card__link:hover>span{width:100px;opacity:1;margin-right:.5rem}
.card.card--23 .card__link::before{content:"";display:block;width:100%;height:100%;position:absolute;left:0;top:0;z-index:-1;backface-visibility:visible}
.card.card--23 .card__link:focus,.card.card--23 .card__link:hover{border-color:var(--primary-color);background-color:var(--primary-color)}

.shadow-19{box-shadow:rgba(50,50,93,.25) 0 2px 5px -1px,rgba(0,0,0,.3) 0 1px 3px -1px}

.title-subtitle{margin-bottom:0}
.title-subtitle span{display:block;font-size:0.875rem;color:#000;line-height:1rem;letter-spacing:.25rem;text-transform:uppercase}
.title-subtitle .badge{color: #EB686C; border-radius: 1rem; width: fit-content; letter-spacing: 1px;text-transform: none; background: #FCE9E9;box-shadow: 0 1px 2px 0 rgba(83, 83, 83, 0.15); margin: 5px 0;}
.title-subtitle.text-center .badge{margin: 5px auto;}

/* ? ==================== CLIENTES ==================== */
.clientes .clientes__item{display:grid;place-items:center;padding:1rem;border:1px solid var(--bs-border-color);border-radius:var(--bs-border-radius);overflow:hidden}
.clientes .clientes__item img{width:100%;height: 80px; aspect-ratio:1/1;object-fit:contain;margin:0 auto;border-radius:var(--bs-border-radius-sm);transition:opacity var(--transition)}
/* ? ================== FIM CLIENTES ================== */

/* ? ==================== CARD CERTIFICADOS ==================== */
.card-certificados {height: 500px;}
.card-certificados a{position:relative;display:block;width:100%;height:100%;border-radius:.5rem;overflow:hidden}
.card-certificados a::after, .card-certificados a::before {position:absolute;left:0;top:0;width:100%;height:100%; transition: var(--transition);}
.card-certificados a::after {content: ''; background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 64.54%, rgba(0, 0, 0, 0.80) 100%), rgba(5, 5, 5, 0.40); }
.card-certificados a::before{content:"\f1c1";padding-top:20px;opacity:0;color:#fff;font-family:FontAwesome;font-size:1.75rem;display:flex;justify-content:center;align-items:center;background-color:#000000bf}
.card-certificados img{width:100%;aspect-ratio:1/1;object-fit:cover;transition: var(--transition); z-index: -1; position: relative;}
.card-certificados a:focus-visible::before ,.card-certificados a:hover::before{padding-top:0;opacity:1}
.card-certificados:hover img, .card-certificados:focus-visible img{transform: scale(1.1);}
.card-certificados:hover a::after, .card-certificados:focus-visible a::after{opacity: 0;}
/* ? ================== FIM CARD CERTIFICADOS ================== */

/* ? ==================== CARD DOW ==================== */
.card-dow, .card-dow * {transition: var(--transition);}
.card-dow {border-color: #DDD; background: #fff;}
.card-dow .card-icon{height: 60px; width: 60px; background: #FCE9E9; color: var(--primary-color);}
.card-dow .btn {color: #000;}
.card-dow .btn i {color: #7C1114;}
.card-dow:hover, .card-dow:focus-within { background: #FCFCFC;}
.card-dow:hover .card-icon, .card-dow:focus-within .card-icon {background: var(--primary-color); color: #fff;}
.card-dow:hover .card-title, .card-dow:focus-within .card-title {color: #000;}
.card-dow:hover .btn, .card-dow:focus-within .btn {border-bottom: 1px solid var(--primary-color); color: var(--primary-color);}
/* ? ================== FIM CARD DOW ================== */

/* ? ==================== CARD SERV ==================== */
.card-serv,.card-serv * {transition: var(--transition);}
.card-serv {height: 250px; overflow: hidden;}
.card-serv img {height: 250px; position: absolute; top: 0; left: 0;}
.card-serv::after {content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%;background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 64.54%, rgba(0, 0, 0, 0.80) 100%), rgba(5, 5, 5, 0.40); z-index: 0;}
.card-serv .card-text {position: absolute; bottom: 5%; left: 50%; transform: translateX(-50%); font-size: 22px;}
.card-serv .card-text::after  {content: ''; width: 54px; height: 2px; background: currentColor; display: block; margin: 15px auto;}
.card-serv .card-text-depois, .card-serv .img-depois {opacity: 0;} 
.card-serv:hover .card-text-antes, .card-serv:focus-visible .card-text-antes {opacity: 0;}
.card-serv:hover .card-text-depois, .card-serv:focus-visible .card-text-depois{opacity: 1;}
.card-serv:hover .img-antes, .card-serv:focus-visible .img-antes {opacity: 0;}
.card-serv:hover .img-depois, .card-serv:focus-visible .img-depois{opacity: 1;}
/* ? ================== FIM CARD SERV ================== */

/* ? ==================== CARD MVV ==================== */
.card-mvv {border: 1px solid #EFEFEF;background: #F6F8F2; box-shadow:0 1px 2px 0 rgba(83, 83, 83, 0.15);}
/* ? ================== FIM CARD MVV ================== */

/* * ==================== HOME ==================== */
.slider-clientes-home {position: relative; overflow: hidden;} 
.slider-clientes-home::after {content: ''; width: 100%; height:300px; position: absolute; top: 50%; transform: translateY(-50%); left: 0; background: radial-gradient(circle, rgba(var(--bs-body-bg-rgb), 0) 0%, rgba(var(--bs-body-bg-rgb), 1) 100%);}
/* * ================== FIM HOME ================== */

/* ? ==================== BANNER ==================== */
.splide-banner h2{font-size: clamp(2.25rem, -1.1786rem + 7.1429vw, 3.25rem);}
.splide-banner .btn {padding: 16px;}
/* ? ================== FIM BANNER ================== */

.aspect{
    aspect-ratio: 1/1;
}