/*
 * Estilos específicos da página barbearia.php.
 * Extraídos do bloco inline original sem alterar a ordem das regras.
 */

.hero_area{padding-bottom:0!important}

.slider_section{
  position:relative;
  overflow:hidden;
  margin:0!important;
  padding:0!important;
  background:#000!important;
}

.slider_section #customCarousel1{
  position:relative;
  background:#000!important;
}

.slider_section .carousel-inner{
  background:#000!important;
}

.slider_section .carousel-item{
  position:relative;
  min-height:clamp(360px,70vh,820px);
  margin:0!important;
  background:#000!important;
}

.slider_section .slide-wrap{
  background:#000!important;
}

.slider_section #customCarousel1>.container{
  position:absolute;
  left:0;
  right:0;
  bottom:30px;
  z-index:5;
  pointer-events:none;
  margin:0 auto;
}

.slider_section #customCarousel1>.container .carousel_btn-box{
  pointer-events:auto;
}

.slider_section #customCarousel1>.container .carousel-control-prev,
.slider_section #customCarousel1>.container .carousel-control-next{
  position:relative;
}

.slider_section .hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:0;
}

.slider_section .detail-box{
  position:relative;
  z-index:1;
  color:#fff;
}

.slider_section .detail-box h1,
.slider_section .detail-box h2{
  line-height:1.1;
  text-shadow:0 2px 8px rgba(0,0,0,.55);
}

.carousel_btn-box,
.carousel-control-prev,
.carousel-control-next{
  z-index:2;
}

.slider_section,
.slider_section #customCarousel1,
.slider_section .carousel-inner,
.slider_section .carousel-item,
.slider_section .slide-wrap{
  background:#000!important;
}

.slider_section .carousel-fade .carousel-item{
  opacity:0;
  transition:opacity .6s ease-in-out;
}

.slider_section .carousel-fade .carousel-item.active,
.slider_section .carousel-fade .carousel-item-next.carousel-item-left,
.slider_section .carousel-fade .carousel-item-prev.carousel-item-right{
  opacity:1;
}

.slider_section .carousel-fade .active.carousel-item-left,
.slider_section .carousel-fade .active.carousel-item-right{
  opacity:0;
}

.slider_section .slide-detail-box .btn-contact{
  min-width:auto;
}

img[loading="lazy"]{
  opacity:0;
  transition:opacity .3s;
}

img[data-loaded="true"],
img.loaded{
  opacity:1;
}

.img-box img{
  width:100%;
  height:auto;
  display:block;
}

.client_section .box .img-box::before,
.client_section .box .img-box::after,
.client_section .testimonial-card .testimonial-avatar::before,
.client_section .testimonial-card .testimonial-avatar::after{
  content:none!important;
  display:none!important;
}

.client_section .img-1{
  clip-path:none!important;
  -webkit-clip-path:none!important;
  mask:none!important;
}

.testimonial-avatar{
  width:80px!important;
  height:80px!important;
  aspect-ratio:1/1;
  border-radius:50%!important;
  object-fit:cover!important;
  object-position:center;
  border:3px solid #ffc107;
  box-shadow:0 6px 18px rgba(0,0,0,.15);
  background:#fff;
}

#form-email .form-check{
  display:flex;
  align-items:center;
  gap:.5rem;
  margin:.75rem 0 1rem;
}

#form-email .form-check-input{
  position:static!important;
  width:1.1rem!important;
  height:1.1rem!important;
  margin:0!important;
  flex:0 0 auto;
}

#form-email .form-check-label{
  margin:0!important;
  line-height:1.3;
}

#form-email .form-check .invalid-feedback{
  display:none;
  margin-left:.5rem;
}

#form-email.was-validated .form-check-input:invalid ~ .invalid-feedback{
  display:block;
}

@media (max-width:576px){
  #form-email .form-check{
    flex-wrap:wrap;
  }
}

.modal{
  position:fixed;
  z-index:2147483000!important;
}

.modal-backdrop{
  position:fixed!important;
  z-index:2147482999!important;
  background:#000;
}

.modal-backdrop.show{
  opacity:.5;
}

header,
.navbar,
.topbar,
.slider_section,
#customCarousel1,
.owl-carousel,
.service,
.about_section,
.cta-section{
  z-index:auto!important;
  transform:none!important;
  will-change:auto!important;
}

header,
.navbar,
.site-header,
.topbar,
.main-header{
  transform:none!important;
  z-index:5000!important;
}

header.fixed-top,
.navbar.fixed-top,
.site-header.fixed-top{
  background:rgba(0,0,0,.92);
}

.seo-barbearia-section .btn{
  min-width:190px;
}

.seo-barbearia-section .seo-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.55rem 1rem;
  border-radius:999px;
  background:rgba(255,193,7,.14);
  border:1px solid rgba(255,193,7,.38);
  color:#ffc107;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:.8rem;
}

.seo-barbearia-section .lead{
  max-width:920px;
  margin:0 auto;
}

.link-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.9rem 1.25rem;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  color:#fff;
  text-decoration:none;
  transition:.2s ease;
}

.link-pill:hover{
  border-color:#ffc107;
  color:#ffc107;
  text-decoration:none;
}

@media (min-width:576px){
  header:not(.fixed-top):not(.position-absolute),
  .navbar:not(.fixed-top):not(.position-absolute),
  .site-header:not(.fixed-top):not(.position-absolute){
    position:sticky;
    top:0;
  }
}

@media (max-width:767.98px){
  .slider_section .carousel-item{
    min-height:560px!important;
  }

  .slider_section .slide-wrap{
    min-height:560px!important;
  }

  .slider_section .slide-row{
    min-height:560px!important;
  }

  .slider_section .slide-detail-box{
    margin-top:95px!important;
    padding-bottom:85px!important;
  }

  .slider_section .slide-detail-box h1,
  .slider_section .slide-detail-box h2{
    font-size:2rem!important;
    line-height:1.1!important;
    margin-bottom:18px!important;
  }

  .slider_section .slide-detail-box p{
    font-size:1rem!important;
    line-height:1.7!important;
    margin-bottom:18px!important;
  }

  .slider_section #customCarousel1>.container{
    bottom:18px!important;
  }

  .slider_section .carousel_btn-box{
    justify-content:flex-start!important;
  }

  .slider_section .btn-box{
    gap:10px!important;
  }

  .slider_section .btn-box .btn{
    padding:12px 18px!important;
    font-size:1rem!important;
    width:auto!important;
  }
}

/* ============================================================
   ORGANIZAÇÃO VISUAL DAS SEÇÕES DA PÁGINA BARBEARIA
   Mantém as seções encostadas, com espaçamento somente interno.
   ============================================================ */
.barbearia-section{
  display:block;
  width:100%;
  margin:0!important;
  padding:64px 0!important;
}

.barbearia-section + .barbearia-section{
  margin-top:0!important;
}

.seo-barbearia-section{
  background:
    radial-gradient(circle at 15% 15%, rgba(209,170,87,.12), transparent 34%),
    linear-gradient(135deg,#050505 0%,#12100c 100%);
  color:#fff;
  border-top:1px solid rgba(209,170,87,.18);
  border-bottom:1px solid rgba(209,170,87,.18);
}

.seo-barbearia-section .seo-badge{
  margin-bottom:18px;
}

.seo-barbearia-section h1{
  max-width:1040px;
  margin:0 auto 18px;
  color:#fff!important;
  font-size:clamp(2rem,4vw,3.5rem);
  line-height:1.12;
}

.seo-barbearia-section .lead{
  max-width:920px;
  margin:0 auto 34px;
  color:rgba(255,255,255,.76)!important;
  font-size:1.08rem;
  line-height:1.85;
}

.barbearia-function-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:16px;
  max-width:1040px;
  margin:0 auto;
}

.barbearia-function-card{
  min-height:172px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:24px 18px;
  color:#fff!important;
  text-align:center;
  text-decoration:none!important;
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
  border:1px solid rgba(209,170,87,.32);
  border-radius:18px;
  box-shadow:0 16px 36px rgba(0,0,0,.22);
  transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease;
}

.barbearia-function-card:hover,
.barbearia-function-card:focus{
  color:#fff!important;
  transform:translateY(-4px);
  border-color:#d1aa57;
  background:linear-gradient(145deg,rgba(209,170,87,.20),rgba(255,255,255,.045));
  box-shadow:0 20px 42px rgba(0,0,0,.34);
  outline:none;
}

.barbearia-function-card strong{
  font-size:1.08rem;
  line-height:1.25;
}

.barbearia-function-card > span:last-child{
  color:#d1aa57;
  font-size:.86rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.barbearia-function-icon{
  width:54px;
  height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  color:#111;
  background:linear-gradient(135deg,#f0cc73,#bd8622);
  box-shadow:0 10px 24px rgba(209,170,87,.20);
  font-size:1.25rem;
}

.product_section.barbearia-section{
  background:#f4f1ea;
}

.product_section.barbearia-section .heading_container{
  margin-bottom:30px;
}

.product_section.barbearia-section .heading_container h2{
  color:#171717;
}

.product_owl-carousel .item{
  height:100%;
  padding:4px 0 10px;
}

.product_owl-carousel .box{
  height:100%;
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid rgba(28,24,17,.08);
  box-shadow:0 14px 34px rgba(30,25,18,.10);
}

.product_owl-carousel .box .detail-box{
  flex:1;
  display:flex;
  flex-direction:column;
}

.product_owl-carousel .box .detail-box .btn{
  margin-top:auto;
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:0;
  border-radius:14px;
  color:#111!important;
  font-weight:800;
  background:linear-gradient(135deg,#e0b64f,#b77b19);
  box-shadow:0 10px 22px rgba(183,123,25,.20);
}

.product_owl-carousel .box .detail-box .btn:hover,
.product_owl-carousel .box .detail-box .btn:focus{
  background:linear-gradient(135deg,#efca6d,#c58b27);
  box-shadow:0 12px 26px rgba(183,123,25,.30);
}

.foto-admin-barbearia-section{
  background:#090909;
  color:#fff;
}

.foto-admin-barbearia-section .section-header h2{
  color:#fff;
}

.foto-admin-barbearia-section .section-header .text-muted{
  color:rgba(255,255,255,.64)!important;
}

.foto-admin-barbearia-section .service-item-modern{
  height:100%;
  border:1px solid rgba(209,170,87,.22);
  box-shadow:0 18px 40px rgba(0,0,0,.34)!important;
}

.about_section.barbearia-section{
  padding:0!important;
  background:#fff;
}

.about_section.barbearia-section .row{
  margin:0;
}

.barbearia-video-section{
  background:#080808;
}

.barbearia-video-section iframe{
  display:block;
}

.produtos-barbearia-section{
  background:#f7f7f7!important;
}

.barbearia-faq-section{
  color:#fff;
  background:
    radial-gradient(circle at 85% 15%,rgba(209,170,87,.12),transparent 34%),
    linear-gradient(135deg,#080808 0%,#15110b 100%);
  border-top:1px solid rgba(209,170,87,.18);
  border-bottom:1px solid rgba(209,170,87,.18);
}

.barbearia-faq-heading{
  max-width:920px;
  margin:0 auto 34px;
  text-align:center;
}

.barbearia-faq-heading .seo-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:16px;
  padding:.55rem 1rem;
  border:1px solid rgba(209,170,87,.38);
  border-radius:999px;
  color:#d1aa57;
  background:rgba(209,170,87,.12);
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.barbearia-faq-heading h2{
  margin-bottom:14px;
  color:#fff;
  font-size:clamp(2rem,4vw,3.25rem);
  line-height:1.15;
}

.barbearia-faq-heading .lead{
  margin:0;
  color:rgba(255,255,255,.7)!important;
  font-size:1.05rem;
}

.barbearia-faq-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:start;
}

.barbearia-faq-item{
  overflow:hidden;
  border:1px solid rgba(209,170,87,.3);
  border-radius:16px;
  background:rgba(255,255,255,.035);
  box-shadow:0 14px 34px rgba(0,0,0,.22);
  transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;
}

.barbearia-faq-item.is-open{
  border-color:#d1aa57;
  background:rgba(209,170,87,.075);
  box-shadow:0 18px 40px rgba(0,0,0,.3);
}

.barbearia-faq-question{
  margin:0;
  font-size:1rem;
}

.barbearia-faq-toggle{
  width:100%;
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:24px;
  border:0;
  color:#fff;
  background:transparent;
  font:inherit;
  font-size:1.08rem;
  font-weight:700;
  line-height:1.45;
  text-align:left;
  cursor:pointer;
}

.barbearia-faq-toggle:hover,
.barbearia-faq-toggle:focus{
  color:#f0cc73;
  outline:none;
}

.barbearia-faq-toggle:focus-visible{
  outline:2px solid #d1aa57;
  outline-offset:-4px;
}

.barbearia-faq-toggle i{
  flex:0 0 auto;
  color:#d1aa57;
  transition:transform .2s ease;
}

.barbearia-faq-item.is-open .barbearia-faq-toggle i{
  transform:rotate(45deg);
}

.barbearia-faq-answer{
  padding:0 24px 24px;
  color:rgba(255,255,255,.76);
  font-size:1rem;
  line-height:1.75;
}

.barbearia-faq-answer p{
  margin:0;
}

.cta-section.barbearia-section{
  color:#fff;
  text-align:center;
  background:linear-gradient(135deg,#1c1710 0%,#8d621d 100%);
}

.client_section.barbearia-section{
  background:#f4f1ea!important;
}

.contact_section.barbearia-section{
  background:#fff;
}

.barbearia-map-container{
  min-height:450px;
  overflow:hidden;
  border-radius:14px;
  background:#ececec;
  box-shadow:0 10px 30px rgba(0,0,0,.15);
}

.barbearia-map-container iframe{
  display:block;
  width:100%!important;
  min-height:450px;
  border:0;
}

@media (max-width:991.98px){
  .barbearia-function-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:767.98px){
  .barbearia-section{
    padding:48px 0!important;
  }

  .about_section.barbearia-section{
    padding:0!important;
  }

  .seo-barbearia-section h1{
    font-size:2.15rem;
  }

  .seo-barbearia-section .lead{
    font-size:1rem;
    line-height:1.7;
  }

  .barbearia-faq-grid{
    grid-template-columns:1fr;
    gap:14px;
  }

  .barbearia-faq-heading{
    margin-bottom:26px;
  }

  .barbearia-faq-heading h2{
    font-size:2.1rem;
  }

  .barbearia-faq-toggle{
    min-height:82px;
    padding:20px;
    font-size:1rem;
  }

  .barbearia-faq-answer{
    padding:0 20px 20px;
  }
}

@media (max-width:575.98px){
  .barbearia-function-grid{
    grid-template-columns:1fr 1fr;
    gap:12px;
  }

  .barbearia-function-card{
    min-height:150px;
    padding:20px 12px;
  }

  .barbearia-function-card strong{
    font-size:.98rem;
  }

  .barbearia-function-icon{
    width:48px;
    height:48px;
  }
}
