/* Estilos principais compartilhados do site */
/* Fonte e espaçamento */
body {
    padding-top: 56px;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: 'Oswald', sans-serif;
    font-weight: 400;
}
.text-intenso { color: #4d0f06 }
.bg-intenso { background-color: #4d0f06; }
.bg-gelo { background-color: #e1e1e1; }
.navbar-brand { margin-top: -27px; }
.navbar-brand img { height: 100px; }
.service-section { padding: 60px 0; }
.img-container { margin-bottom: 20px; }
.bg-yellow-degrade { background: linear-gradient(to bottom, #ffc107, #ca9800); }
.btn-primary { color: #fff; background-color: #ff6600; border-color: #ff6600; }
.btn-primary:hover { color: #fff; background-color: #e65c00; border-color: #e65c00; }
.btn-primary:focus, .btn-primary.focus { color: #fff; background-color: #e65c00; border-color: #e65c00; box-shadow: 0 0 0 0.25rem rgba(255, 102, 0, 0.5); }
.btn-primary:active, .btn-primary.active, .show > .btn-primary.dropdown-toggle, .btn-check:checked+.btn, .btn.active, .btn.show, .btn:focus-visible, .btn:first-child:active, :not(.btn-check)+.btn:active { color: #fff; background-color: #cc5200; border-color: #cc5200; }
.btn-primary:active:focus, .btn-primary.active:focus, .show > .btn-primary.dropdown-toggle:focus { box-shadow: 0 0 0 0.25rem rgba(255, 102, 0, 0.5); }
.fs-7 { font-size: 0.875rem; }

/* CAROUSEL */
#mainCarousel { margin-top: 105px; }
#mainCarousel .carousel-inner { background: linear-gradient(to bottom, #79190a, #4d0f06); }
#mainCarousel .carousel-item { overflow-x: clip; min-height: 700px; height: fit-content; }
#mainCarousel .carousel-image svg, #mainCarousel .carousel-image img { position: absolute; }
#mainCarousel .carousel-image.banner-1 .circle-img, #mainCarousel .carousel-image.banner-1 .circle-0, #mainCarousel .carousel-image.banner-1 .circle-1, #mainCarousel .carousel-image.banner-1 .circle-2 { top: 170px; left: min(50%, calc(-130px + 40%)); }
#mainCarousel .carousel-image.banner-1 .circle-img { width: 400px; height: 400px; transform: translate(0, -50%); }
#mainCarousel .carousel-image.banner-1 .circle-0 { width: 900px; height: 900px; opacity: 0.05; transform: translate(-60px, -50%); }
#mainCarousel .carousel-image.banner-1 .circle-1 { width: 600px; height: 600px; opacity: 0.25; transform: translate(-40px, -50%); }
#mainCarousel .carousel-image.banner-1 .circle-2 { width: 500px; height: 500px; opacity: 0.5; transform: translate(-20px, -50%); }
#mainCarousel .carousel-caption { position: relative; width: fit-content; top: 16rem; left: 50%; margin-bottom: 50px; width: min-content; transform: translate(-50%, 5%); }
#mainCarousel .carousel-caption h2 { font-size: calc(2rem + 1vw); line-height: 1.1; padding: 15px 50px 30px; background-color: rgba(255, 193, 7, 0.85); border-radius: 3rem 0.5rem 3rem 0.5rem; box-shadow: 0 8px 8px rgba(0,0,0,0.15); }
#mainCarousel .carousel-caption strong { color: var(--bs-light); }
#mainCarousel .carousel-control-next-icon, #mainCarousel .carousel-control-prev-icon { background-color: var(--bs-black); background-size: 50%; border-radius: 50%; }
.icon-circle { width: 80px; height: 80px; display: flex; justify-content: center; align-items: center; background-color: var(--bs-black); border: 4px solid var(--bs-yellow); }
.card-img-container { position: relative; margin-right: 35px; margin-bottom: 25px; }
.card-img-container::after { content: ""; position: absolute; bottom: 15px; left: -50%; width: 100%; height: 40px; background-color: var(--bs-white); transform: translateX(0) scaleX(0); opacity: 0; transition: all 0.36s ease-out; }
.card-img-container:hover::after { transform: translateX(50%) scaleX(1); opacity: 0.5; transition: all 0.16s ease-out; }
.card-img-shape { width: 85%; height: calc(100% + 35px); position: absolute; top: -15px; left: 30px; border-right: 2px solid var(--bs-yellow); border-bottom: 2px solid var(--bs-yellow); }
.card-img-shape::after { content: ""; width: 24px; height: 24px; background-color: var(--bs-yellow); position: absolute; left: -6px; bottom: -13px; border-radius: 50%; }
.card-img-shape_disable::before { content: ""; width: 48px; height: 48px; position: absolute; top: 30px; right: 15px; border-right: 4px solid var(--bs-black); border-top: 4px solid var(--bs-black); }
.card-img-icon { position: absolute; bottom: 0; left: 0; transform: translate(0, -50%); opacity: 0; width: 60px; height: 60px; background-color: var(--bs-black); border-radius: 50%; border: 4px solid var(--bs-yellow); display: flex; justify-content: center; align-items: center; transition: all 0.36s ease-out; z-index: 1; }
.card-img-container:hover .card-img-icon { left: 80%; opacity: 1; transform: translate(-50%, -50%); transition: all 0.26s ease-out; }

/* Reviews Slideshow */
.container-reviews { background-image: url('../img/footer-bg-shape.png'); background-repeat: no-repeat; background-size: cover; background-position: center; }
.gallery-cell { margin-right: 4vw; opacity: 1; transition: all; }
.gallery-cell.is-selected { box-shadow: var(--bs-box-shadow); transition: box-shadow 0.5s, opacity 0.5s ease-out; }
.gallery-cell:not(.is-selected) { opacity: .35; transition: opacity 0.5s ease-out; }
.gallery-cell .item-carousel-card { max-width: 460px; margin: 0 auto; }
.gallery-cell .item-carousel-card .left-bar { padding: 22px 8px; color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)); background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity, 1)); }
.gallery-cell .item-carousel-card .review-name { font-size: 0.8rem; color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)); }
.gallery-cell .item-carousel-card .review-text { font-size: 0.9rem; }
#backToTop { width: 54px; height: 54px; bottom: 20px; right: 20px; z-index: 1000; opacity: 0; visibility: hidden; transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out; }
#backToTop.enable { opacity: 1; visibility: visible; }

@media (min-width: 1200px) {
    .navbar-nav .nav-link { position: relative; padding-bottom: 8px; }
    .navbar-nav .nav-link:hover { color: var(--bs-white); }
    .navbar-nav .nav-link::before { content: ""; position: absolute; bottom: 0; top: 70%; left: 0; height: 0; width: 2px; background-color: #ffc107; transition: height 0.2s ease; }
    .navbar-nav .nav-link:hover::before { height: 30%; left: 0; right: auto; }
    .navbar-nav .nav-link::after { content: ""; position: absolute; bottom: 0; right: 0; height: 2px; width: 0; background-color: #ffc107; transition: width 0.3s ease; }
    .navbar-nav .nav-link:hover::after { transition-delay: 0.2s; width: 100%; left: 0; right: auto; }
}

@media (min-width: 992px) {
    #mainCarousel .carousel-image.banner-1 .circle-img, #mainCarousel .carousel-image.banner-1 .circle-0, #mainCarousel .carousel-image.banner-1 .circle-1, #mainCarousel .carousel-image.banner-1 .circle-2 { left: min(60%, calc(-260px + 80%)); }
    #mainCarousel .carousel-item { min-height: 480px; }
    #mainCarousel .carousel-caption { text-align: left; top: 1.2rem; left: 28%; }
}

@media (min-width: 576px) {
    #mainCarousel { margin-top: 38px; }
}

/* pequenas adaptações compartilhadas com page.php */
h1, h2, h3, h4 { font-family: 'Oswald', sans-serif; }
