/* Configs Gerais do Site */
* {margin: 0; padding:0; box-sizing:border-box;}
body {font-family: 'Poppins', 'Segoe UI', sans-serif; color: #333; background-color: #fff;}
.h3 {font-size:32pt; color:#e0a2a2;}
.p {font-size:14pt; color:#1f2735;}

/* NavBar Desktop */
.navBarDesktop {width:100%; height:auto; padding:1%; border-bottom:2px solid #CCC; background-color:#fff !important; display:grid;}

.navBarDesktopLeft img {transition: transform 0.3s ease;}
.navBarDesktopLeft img:hover {transform: scale(1.05); cursor:pointer;}

.navBarDesktopCenter ul li a {color: #444 !important; font-weight: 500; padding: 0.5rem 1rem; font-family: 'Poppins', 'Segoe UI', sans-serif; font-size:13pt;}
.navBarDesktopCenter ul li a:hover, .navBarDesktopCenter ul li a.active {color: #e0a2a2 !important; /* tom rosado elegante */}

.navBarDesktopRight {align-items:center; padding-top:1%;}
.navBarDesktopRight a {color:#fff; background:#1f2735; border-radius:2px; padding:5% 14%; text-align: center; text-decoration:none; line-height:auto;}
.navBarDesktopRight a:hover {filter:opacity(0.9);}


/* Section Carousel Imagens */
.sectionOne {border-bottom:2px solid #CCC;}
.carousel-item img {max-height: 650px; object-fit: cover;}
.carousel-caption h5 {font-size: 2rem; font-weight: 600; color: #fff; text-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);}
.carousel-caption p {color: #f5f5f5; text-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);}

/* Section de Ult. Fotos */
.card {border-radius: 10px; overflow: hidden; transition: transform 0.3s ease, box-shadow 0.3s ease;}
.card:hover {transform: scale(1.03); box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);}
.card img {overflow:hidden;}

/* Section Call to Action - Agendamentos */
.bg-dark h3, .bg-dark p {color: #fff;}
.bg-dark .btn-light {background-color: #fff; border:1px solid #fff; color: #e0a2a2; border-radius: 25px; padding: 10px 25px; font-weight: 500; font-size:15pt;}
.bg-dark .btn-light:hover {background-color: #e0a2a2; border:1px solid #e0a2a2; color: #fff;}


/* Section Contato - Formulario */
form label {font-weight: 500; color: #444;}
form .form-control {border-radius: 8px; border-color: #ccc; padding: 10px 12px;}
form .form-control:focus {border-color: #e0a2a2; box-shadow: 0 0 0 0.2rem rgba(185, 110, 139, 0.25);}
form button {background-color: #e0a2a2; border: none; border-radius: 25px; font-weight: 500; transition: all 0.3s ease;}
form button:hover {background-color: #e0a2a2;}


/* Section Footer */
footer {font-size: 0.9rem;}
footer img {opacity: 0.8; transition: opacity 0.3s ease;}
footer img:hover {opacity: 1;}

/* Button Ver mais */
.btn-outline-secondary {border-color:#1f2735; color:#1f2735;}
.btn-outline-secondary:hover {background-color:#1f2735; color:white; border-color:#1f2735;}

/* Button Call WhatsApp */
.btn-success.position-fixed {width:64px; height:64px; background-color: #25d366 !important; border: none; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25); transition: transform 0.3s ease;}
.btn-success.position-fixed:hover {transform: scale(1.1);}

/* Banner Top Section */
.bannerSobreMobile {padding:3% 5%;}
.bannerSobreMobile h1 {font-size:32pt;}
.bannerSobreMobile p {font-size:14pt;}


/* ==========================================================
   SMALL DEVICES — Smartphones pequenos (≥ 360px)
   Ex: iPhone SE, Galaxy A01
   ========================================================== */
@media screen and (min-width: 360px) and (max-width:389px)  {
   .navBarDesktop {display: none;}
   .navBarMobile {width:100%; height:auto; padding:1%; border-bottom:2px solid #CCC; background-color:#fff !important; display:block;}
   .navBarMobileLeft {padding:1%;}
   .navBarMobileLeft img {float:left; border-radius:2px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);}
   .navBarMobileRight {padding:1%;}
   .navegMobile {display: block;}
   #hamburguerIcon {margin: 0 auto; cursor:pointer; float:right; margin-right:5%;}
   #hamburguerIcon div {width:40px; height:5px; background-color:#1f2735; margin:7px 0; transition:0.4s;}
   .open .bar1 {-webkit-transform:rotate(-45deg) translate(-8px, 8px); transform:rotate(-45deg) translate(-8px, 8px);}
   .open .bar2 {opacity: 0;}
   .open .bar3 {-webkit-transform:rotate(45deg) translate(-8px, -8px); transform:rotate(45deg) translate(-8px, -8px);}
   .open .mobileMenu {display:flex; flex-direction:column; align-items:center; justify-content:flex-start;}
   .mobileMenu {display:none; position:absolute; top:9vh; left:0; height:100vh; width:100vw; background-color:#1f2735; border-top:1px solid #333; list-style:none; padding-top:6%; z-index:9999;}
   .mobileMenu li {width:100%; height:auto; text-align:center; padding:5% 0%;}
   .mobileMenu li a {text-decoration:none; font-size:15pt; color:#CCC; text-decoration: none; position:relative; left:-5%;}
   .bannerSobreMobile {padding:8% 5%;}
}

/* ==========================================================
   MEDIUM DEVICES — Smartphones médios (≥ 390px)
   Ex: iPhone 12, Galaxy S21
   ========================================================== */
@media screen and (min-width: 390px) and (max-width:429px){
   .navBarDesktop {display: none;}
   .navBarMobile {width:100%; height:auto; padding:1%; border-bottom:2px solid #CCC; background-color:#fff !important; display:block;}
   .navBarMobileLeft {padding:1%;}
   .navBarMobileLeft img {float:left; border-radius:2px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);}
   .navBarMobileRight {padding:1%;}
   .navegMobile {display: block;}
   #hamburguerIcon {margin: 0 auto; cursor:pointer; float:right; margin-right:5%;}
   #hamburguerIcon div {width:40px; height:5px; background-color:#1f2735; margin:7px 0; transition:0.4s;}
   .open .bar1 {-webkit-transform:rotate(-45deg) translate(-8px, 8px); transform:rotate(-45deg) translate(-8px, 8px);}
   .open .bar2 {opacity: 0;}
   .open .bar3 {-webkit-transform:rotate(45deg) translate(-8px, -8px); transform:rotate(45deg) translate(-8px, -8px);}
   .open .mobileMenu {display:flex; flex-direction:column; align-items:center; justify-content:flex-start;}
   .mobileMenu {display:none; position:absolute; top:7vh; left:0; height:100vh; width:100vw; background-color:#1f2735; border-top:1px solid #333; list-style:none; padding-top:6%; z-index:9999;}
   .mobileMenu li {width:100%; height:auto; text-align:center; padding:5% 0%;}
   .mobileMenu li a {text-decoration:none; font-size:15pt; color:#CCC; text-decoration: none; position:relative; left:-5%;}
   .bannerSobreMobile {padding:8% 5%;}
}

/* ==========================================================
   LARGE DEVICES — Smartphones grandes e Phablets (≥ 430px)
   Ex: iPhone 15 Pro Max, Pixel 7 Pro
   ========================================================== */
@media screen and (min-width: 430px) and (max-width:599px){
   .navBarDesktop {display: none;}
   .navBarMobile {width:100%; height:auto; padding:1%; border-bottom:2px solid #CCC; background-color:#fff !important; display:block;}
   .navBarMobileLeft {padding:1%;}
   .navBarMobileLeft img {float:left; border-radius:2px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);}
   .navBarMobileRight {padding:1%;}
   .navegMobile {display: block;}
   #hamburguerIcon {margin: 0 auto; cursor:pointer; float:right; margin-right:5%;}
   #hamburguerIcon div {width:40px; height:5px; background-color:#1f2735; margin:7px 0; transition:0.4s;}
   .open .bar1 {-webkit-transform:rotate(-45deg) translate(-8px, 8px); transform:rotate(-45deg) translate(-8px, 8px);}
   .open .bar2 {opacity: 0;}
   .open .bar3 {-webkit-transform:rotate(45deg) translate(-8px, -8px); transform:rotate(45deg) translate(-8px, -8px);}
   .open .mobileMenu {display:flex; flex-direction:column; align-items:center; justify-content:flex-start;}
   .mobileMenu {display:none; position:absolute; top:7vh; left:0; height:100vh; width:100vw; background-color:#1f2735; border-top:1px solid #333; list-style:none; padding-top:6%; z-index:9999;}
   .mobileMenu li {width:100%; height:auto; text-align:center; padding:5% 0%;}
   .mobileMenu li a {text-decoration:none; font-size:15pt; color:#CCC; text-decoration: none; position:relative; left:-5%;}
   .bannerSobreMobile {padding:8% 5%;}

}

/* ==========================================================
   TABLETS PEQUENOS — (≥ 600px)
   Ex: Galaxy Tab 8", Kindle Fire
   ========================================================== */
@media screen and (min-width: 600px) and (max-width:767px) {
   .navBarDesktop {display: none;}
   .navBarMobile {width:100%; height:auto; padding:1%; border-bottom:2px solid #CCC; background-color:#fff !important; display:block;}
   .navBarMobileLeft {padding:1%;}
   .navBarMobileLeft img {float:left; border-radius:2px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);}
   .navBarMobileRight {padding:1%;}
   .navegMobile {display: block;}
   #hamburguerIcon {margin: 0 auto; cursor:pointer; float:right; margin-right:5%;}
   #hamburguerIcon div {width:40px; height:5px; background-color:#1f2735; margin:7px 0; transition:0.4s;}
   .open .bar1 {-webkit-transform:rotate(-45deg) translate(-8px, 8px); transform:rotate(-45deg) translate(-8px, 8px);}
   .open .bar2 {opacity: 0;}
   .open .bar3 {-webkit-transform:rotate(45deg) translate(-8px, -8px); transform:rotate(45deg) translate(-8px, -8px);}
   .open .mobileMenu {display:flex; flex-direction:column; align-items:center; justify-content:flex-start;}
   .mobileMenu {display:none; position:absolute; top:7vh; left:0; height:100vh; width:100vw; background-color:#1f2735; border-top:1px solid #333; list-style:none; padding-top:6%; z-index:9999;}
   .mobileMenu li {width:100%; height:auto; text-align:center; padding:5% 0%;}
   .mobileMenu li a {text-decoration:none; font-size:15pt; color:#CCC; text-decoration: none; position:relative; left:-5%;}
   .bannerSobreMobile {padding:8% 5%;}
}

/* ==========================================================
   TABLETS GRANDES — (≥ 768px)
   Ex: iPad Mini, iPad 9ª geração
   ========================================================== */
@media screen and (min-width: 768px) and (max-width:1023px) {
   .navBarDesktop {display: none;}
   .navBarMobile {width:100%; height:auto; padding:1%; border-bottom:2px solid #CCC; background-color:#fff !important; display:block;}
   .navBarMobileLeft {padding:1%;}
   .navBarMobileLeft img {float:left; border-radius:2px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);}
   .navBarMobileRight {padding:1%;}
   .navegMobile {display: block;}
   #hamburguerIcon {margin: 0 auto; cursor:pointer; float:right; margin-right:5%;}
   #hamburguerIcon div {width:40px; height:5px; background-color:#1f2735; margin:7px 0; transition:0.4s;}
   .open .bar1 {-webkit-transform:rotate(-45deg) translate(-8px, 8px); transform:rotate(-45deg) translate(-8px, 8px);}
   .open .bar2 {opacity: 0;}
   .open .bar3 {-webkit-transform:rotate(45deg) translate(-8px, -8px); transform:rotate(45deg) translate(-8px, -8px);}
   .open .mobileMenu {display:flex; flex-direction:column; align-items:center; justify-content:flex-start;}
   .mobileMenu {display:none; position:absolute; top:7vh; left:0; height:100vh; width:100vw; background-color:#1f2735; border-top:1px solid #333; list-style:none; padding-top:6%; z-index:9999;}
   .mobileMenu li {width:100%; height:auto; text-align:center; padding:5% 0%;}
   .mobileMenu li a {text-decoration:none; font-size:15pt; color:#CCC; text-decoration: none; position:relative; left:-3%;}
}

/* ==========================================================
   LAPTOPS PEQUENOS — (≥ 1024px)
   Ex: iPad Pro 12.9", Chromebooks
   ========================================================== */
@media screen and (min-width: 1024px) and (max-width:1365px) {
   .navBarMobile {display:none;}
}

/* ==========================================================
   DESKTOPS — (≥ 1366px)
   Ex: notebooks comuns e monitores Full HD
   ========================================================== */
@media screen and (min-width: 1366px) and (max-width:1599px) {
   .navBarMobile {display:none;}
}

/* ==========================================================
   LARGE SCREENS — (≥ 1600px)
   Ex: monitores ultrawide ou telas 4K
   ========================================================== */
@media screen and (min-width: 1600px) {
   .navBarMobile {display:none;}
}