*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    transition:all 0.2s ease;
}

.container{
    max-width:1200px;
    margin:0 auto;
    padding:0 20px;
    width:100%;
}

img{
    max-width:100%;
    height:auto;
}

html{
    scroll-behavior: smooth;
}

body{
    font-family: Arial, Helvetica, sans-serif;
    background: linear-gradient(135deg, #1c1c1c 0%, #555 30%, #fff 60%, #333 100%);
    line-height: 1.6;
    color:#fff;
    overflow-x:hidden;
}

/* HEADER */
.header{
    height:200px;
    background-size:cover;
    background-position:center;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    position:relative;
}

/* camada escura */
.header::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.6);
}

.header-content{
    position:relative;
    color:white;
}

/* título mais chamativo */
.header-content h1{
    font-size:clamp(2rem, 5vw, 2.5rem); /*minimo 2rem, maximo 4rem*/
    letter-spacing:3px;
    text-transform:uppercase;
}

/* slogan */
.header-content p{
    font-size: clamp(1.2rem, 2vw, 1.5rem);
    line-height: 1.5;
    color:#c59d5f;
}

/* BOTAO HAMBURGUER */
.menu-toggle{
display:none;
font-size:26px;
color:white;
cursor:pointer;
}

/* MOBILE */
@media(max-width:768px){

.menu{
justify-content:space-between;
}

.menu-toggle{
display:block;
cursor:pointer;
}

.menu-list{
position:absolute;
top:70px;
left:0;
width:100%;
background:#111;
flex-direction:column;
align-items:center;
max-height:0;
overflow:hidden;
transition:max-height 0.3s ease;
}

.menu-icon-inicio{
    margin-bottom:10px;
    margin-right:0;
}
.menu-list{
    flex-direction:column;
    gap:15px;
    align-items: center;
}

.menu-list.ativo{
max-height:400px;
}
}

/* NAVBAR */
/* Ícone no início do menu */
.menu-icon-inicio{
    width:70px;
    height:auto;
    vertical-align:middle;
    transition: transform 0.3s ease;
}

.menu-icon-inicio:hover{
    transform: scale(1.1); /* efeito leve ao passar mouse */
}

/* Menu principal */
.menu{
    background:#111; /* fundo preto */
    padding:15px 20px;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:15px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3); /* leve sombra */
    position: sticky;
    top: 0; /* menu fixo no topo */
    z-index: 1000;
}

/* Lista horizontal */
.menu-list{
    list-style:none;
    display:flex;
    gap:30px;
    margin:0;
    padding:0;
}

/* Links do menu */
.menu-link{
    text-decoration:none;
    color:white;
    font-weight:bold;
    position: relative;
    padding-bottom:5px;
    transition: color 0.3s ease;
}

.menu-link::after{
    content: "";
    position: absolute;
    width: 0;
    height: 2px;
    background: #c59d5f; /* linha dourada */
    left: 0;
    bottom: 0;
    transition: width 0.3s ease;
}

.menu-link:hover{
    color:#c59d5f; /* hover dourado */
}

.menu-link:hover::after{
    width: 100%; /* sublinha completa ao passar o mouse */
}

/* HERO */
.hero{
    height:500px;
    background-image: url("img/Barbeiro_corte.jpg");
    background-size:cover;
    background-position:center;
    background-attachment:scroll;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    position:relative;
}

/* camada escura para o texto ficar mais legível */
.hero::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.5);
}

.hero-text{
    position:relative;
    color:white;
    animation:fadeUp 1.5s ease;
}

.hero-text h2{
    font-size: clamp(1.9rem, 4vw, 2.5rem);
    margin-bottom:10px;
    color:#c59d5f
}

.hero-text p{
    font-size: clamp(1.2rem, 2vw, 1.5rem);
    line-height: 1.5;
    margin-bottom:20px;
    animation:fadeUp 1.5s ease;
}

.hero-btn{
   display:inline-block;
    padding:15px 30px;
    background:#c59d5f;
    color:white;
    text-decoration:none;
    font-size: clamp(1rem, 1.8vw, 1.5rem);
    border-radius:8px;
    transition: background 0.3s ease, transform 0.3s ease;
}

.hero-btn:hover{
    background:#a8844d;
}

@media(max-width:1024px){
    .hero{ height:400px; }
    .hero-btn{ padding:10px 20px; }
}

@media(max-width:768px){
    .hero{ height:300px; }
    .hero-btn{ padding:12px 25px;}
}


/* SECTIONS */
section{
    padding:60px 20px;
    text-align:center;
}

/* SOBRE */
.sobre{
    padding:80px 20px;
}

.sobre-container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    flex-wrap:wrap; /* para mobile */
}

.sobre-texto{
    flex:1;
}

.sobre-texto h2{
    font-size: clamp(1.9rem, 4vw, 2.5rem);
    margin-bottom:30px;
    color:#111;
}

.sobre-texto p{
    font-size: clamp(1.2rem, 2vw, 1.2rem);
    line-height: 1.5;
    color:#ffffff;
}

.sobre-imagem{
    flex:1;
}

.sobre-imagem img{
    width:100%;
    border-radius:10px;
    box-shadow:0 5px 15px rgba(0,0,0,0.1);
}

@media(max-width:1024px){
    .sobre-container{ gap:20px; }
}

@media(max-width:768px){
    .sobre-container{
        flex-direction:column;
        text-align:center;
        padding: 0 10px;
    }
    .sobre-texto, .sobre-imagem{ width:100%; margin-bottom:20px; }
}

/* Inicial: invisível e deslocado */
.animar{
    opacity:0;
    transform:translateY(40px);
    transition: all 1s ease-out;
}

/* Quando ativada */
.animar.ativo{
    opacity:1;
    transform:translateY(0);
}

/* SERVIÇOS */
.servicos-container{
    display:flex;
    justify-content:center;
    gap:30px;
    margin-top:30px;
}

.card{
    background:white;
    padding:30px;
    border-radius:10px;
    width:200px;
    box-shadow:0 5px 15px rgba(0,0,0,0.1);
}

/* FOOTER */
footer{
    background:#111;
    color:white;
    text-align:center;
    padding:20px;
}
/*TRABALHO*/
.trabalho{
    padding:80px 20px;
    background:#1a1a1a;
    color:white;
    text-align:center;
}

.trabalho h2{
    color:#fff;
    font-size: clamp(1.9rem, 4vw, 2.5rem);
    margin-bottom:30px;
}

/* Container do carrossel */
.carousel-container{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    max-width:900px;
    margin:0 auto;
}

/* Track das imagens */
.carousel-track{
    display:flex;
    gap:20px;
    transition: transform 0.5s ease;
}

/* Cada item da galeria */
.galeria-item{
    flex:0 0 30%; /* 3 imagens visíveis */
}

/* Inclinação leve */
.galeria-item:nth-child(odd){
    transform: rotate(-5deg);
}
.galeria-item:nth-child(even){
    transform: rotate(2deg);
}

/* Imagem dentro do item */
.galeria-item img{
    width:100%;
    height:250px; /* altura fixa */
    object-fit: cover; /* corta a imagem para preencher sem distorcer */
    border-radius:10px;
    box-shadow:0 5px 15px rgba(0,0,0,0.2);
}

/* Hover: aumenta destaque */
.galeria-item:hover{
    transform: rotate(0deg) scale(1.05);
    box-shadow: 0 10px 25px rgba(0,0,0,0.3);
}

.carousel-track,
.reviews-slider{
touch-action: pan-y;
}

.carousel-btn-galeria:hover{
    background:#a8844d;
}

/* Responsivo */
@media(max-width:768px){
    .galeria-item, .review{
        flex:0 0 90%;
        transform: rotate(0deg);
        margin-bottom:20px;
    }
}

@media(max-width:1024px){
    .galeria-item, .review{ flex:0 0 45%; }
}

.botao{
display:inline-block;
background:black;
color:white;
padding:12px 25px;
text-decoration:none;
border-radius:5px;
margin-top:20px;
}

.botao:hover{
background:#444;
}

@keyframes fadeUp{

    from{
        opacity:0;
        transform:translateY(40px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

/* SECCAO PRECO */
.precos{
    padding:80px 20px;
    text-align:center;
    color:#111;
}

.precos h2{
    font-size: clamp(1.9rem, 4vw, 2.5rem);
    margin-bottom:40px;
}

/* Container dos cards */
.precos-container{
    display:flex;
    justify-content:center;
    gap:30px;
    flex-wrap:wrap;
}

/* Card individual */
.preco-card{
    background:#fff;
    border-radius:10px;
    padding:30px 20px;
    width:250px;
    box-shadow:0 5px 15px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Nome do serviço */
.preco-card h3{
    font-size: clamp(1.3rem, 3vw, 1.9rem);
    margin-bottom:10px;
    color:#333;
}

/* Descrição */
.preco-card p{
    font-size: clamp(1rem, 2vw, 1.2rem);
    line-height: 1.5;
    margin-bottom:20px;
    color:#666;
}

/* Preço */
.preco-card span{
    font-size:22px;
    font-weight:bold;
    color:#c59d5f;
}

/* Hover do card */
.preco-card:hover{
    transform: translateY(-5px);
    box-shadow:0 10px 25px rgba(0,0,0,0.2);
}

/* Imagem do pincel abaixo do título */
.titulo-pincel{
    display:block;
    margin:10px auto 40px auto; /* centraliza horizontalmente e dá espaço */
    width:150px; /* ajusta conforme a tua imagem */
    height:auto;
    opacity:0.5; /* deixa tipo esboço */
}

/* Responsivo */
@media(max-width:768px){
    .precos-container{
        flex-direction:column;
        align-items:center;
    }
    .titulo-pincel{
        width:100px; /* menor no telemóvel */
        margin-bottom:30px;
    }
}

/*AGENDA*/
/* Secção Agenda */
.agenda{
    padding:80px 20px;
    background-image:url("img/Barbeiro_material2.jpg");
    background-size:cover;
    background-position:center;
    position:relative;
}

.agenda::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.6);
}

.agenda *{
    position:relative;
}

.agenda h2{
    font-size: clamp(1.5rem, 4vw, 2.5rem);
    margin-bottom:20px;
}

.agenda p{
    font-size: clamp(1.2rem, 2vw, 2rem);
    line-height: 1.5;
    margin-bottom:10px;
    color:#ccc;
}

.agenda h3{
    font-size: clamp(1.2rem, 3vw, 1.9rem);
    margin-bottom:30px;
    color:#c59d5f;
}

/* Botão ligar */
.btn-agenda{
    display:inline-block;
    padding:15px 30px;
    background:#c59d5f;
    color:white;
    text-decoration:none;
    font-size: clamp(1rem, 1.8vw, 1.5rem);
    border-radius:8px;
    transition: background 0.3s ease, transform 0.3s ease;
}

.btn-agenda:hover{
    background:#a8844d;
    transform: scale(1.05);
}

/*HORARIOS*/
/* Secção Horários */
.horarios{
    padding:80px 20px;
    background:#1a1a1a; /* fundo escuro */
    color:white;
    text-align:center;
}

.horarios h2{
    font-size: clamp(1.5rem, 4vw, 2.5rem);
    margin-bottom:40px;
}

/* Container dos cards */
.horarios-container{
    display:flex;
    justify-content:center;
    gap:30px;
    flex-wrap:wrap;
}

/* Card individual */
.horario-card{
    background:#222; /* leve contraste com o fundo */
    border-radius:10px;
    padding:30px 20px;
    width:250px;
    box-shadow:0 5px 15px rgba(0,0,0,0.2);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Nome do dia */
.horario-card h3{
    font-size: clamp(1.2rem, 3vw, 1.9rem);
    margin-bottom:10px;
    color:#c59d5f;
}

/* Horário */
.horario-card p{
    font-size: clamp(1.1rem, 2vw, 1.5rem);
    line-height: 1.5;
    color:#ccc;
}

/* Hover */
.horario-card:hover{
    transform: translateY(-5px);
    box-shadow:0 10px 25px rgba(0,0,0,0.3);
}

/* Responsivo */
@media(max-width:768px){
    .horarios-container{
        flex-direction:column;
        align-items:center;
    }
    .horario-card{
        width:80%;
        margin-bottom:20px;
    }
}

/*OPENIAO*/
/* Secção de opiniões */
.opinioes{
padding:80px 20px;
text-align:center;
}

.opinioes h2{
font-size: clamp(1.5rem, 4vw, 2.5rem);
margin-bottom: 40px;
color: #222;
}

.review .client-icon {
  width: 100px;  /* maior largura */
  height: 100px; /* maior altura */
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 15px;
  box-shadow: 0 6px 15px rgba(0,0,0,0.2);
  border: 3px solid #c59d5f;
}

/* Wrapper do slider */
.reviews-wrapper{
 max-width: 1000px;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
}

.reviews-slider{
display:flex;
gap:20px;
transition: transform 0.5s ease;
}
/* adicionar ainda icon das pessoas*/
.review{
flex:0 0 300px;
background:white;
padding:30px 20px;
border-radius:10px;
box-shadow:0 5px 15px rgba(0,0,0,0.1);
text-align:center;
color:#111;
transition: transform 0.3s, box-shadow 0.3s;
}

/* Estrelas */
.stars{
color:#c59d5f;
font-size:18px;
margin-bottom:15px;
}

/* Responsivo */
@media(max-width:1024px){
.review{
flex:0 0 45%; /* 2 cards visíveis */
}
}

@media(max-width:768px){
.review{
flex:0 0 80%; /* 1 card visível */
}
.reviews-wrapper{
flex-direction:column;
}
}

/*LOCALIZACAO*/
#localizacao {
  padding: 60px 20px;
  text-align: center;
  background: linear-gradient(rgba(0,0,0,0.7), rgba(0,0,0,0.3));
}

#localizacao h2{
    color: white;
    font-size: clamp(1.5rem, 4vw, 2.5rem);
}

#localizacao p{
    color:#c59d5f;
    font-size: clamp(1.1rem, 2vw, 1.5rem);
    line-height: 1.5;
}

#localizacao iframe {
  width: 100%;
  max-width: 800px; /* opcional, para não esticar demais */
  height: 400px;
  border: 0;
  border-radius: 10px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}

@media (max-width: 768px) {
  #localizacao iframe {
   height: 300px;
  }
}

/*FOOTER*/
.footer{
background:#111;
color:white;
padding:50px 20px 20px 20px;
margin-top:60px;
border-top:3px solid #c59d5f; /* linha dourada */
}

/* container das colunas */
.footer-container{
display:flex;
justify-content:space-around;
flex-wrap:wrap;
gap:40px;
}

/* colunas */
.footer-col{
max-width:250px;
}

/* logo da barbearia */
.footer-logo{
color:#c59d5f;
margin-bottom:10px;
}

/* títulos */
.footer-col h3{
font-size: clamp(1.2rem, 3vw, 1.5rem);
margin-bottom:10px;
color:#c59d5f;
}

/* texto */
.footer-col p{
 font-size: clamp(0.9rem, 2vw, 1.2rem);
  line-height: 1.5;   
margin:5px 0;
color:#ccc;
}

/*REDES SOCIAIS*/
.social-links a{
display:flex;
align-items:center;
gap:8px;
text-decoration:none;
color:#ccc;
transition:0.3s;
}

.social-links a i{
font-size: clamp(0.9rem, 1.8vw, 1.1rem);
}

.social-links a:hover{
color:#c59d5f;
transform:translateX(5px);
}

.social-icons{
display:flex;
gap:15px;
margin-top:10px;
}

.social-icons a{
width:40px;
height:40px;
display:flex;
align-items:center;
justify-content:center;
background:#222;
color:white;
border-radius:50%;
text-decoration:none;
font-size: clamp(0.9rem, 1.8vw, 1.1rem);
transition:0.3s;
}

.social-icons a:hover{
background:#c59d5f;
transform:scale(1.1);
}

/* parte final */
.footer-bottom{
text-align:center;
margin-top:40px;
padding-top:15px;
border-top:1px solid #333;
font-size: clamp(0.9rem, 1.8vw, 1.1rem);
color:#aaa;
}

/* responsivo */
@media(max-width:768px){

.footer-container{
flex-direction:column;
align-items:center;
text-align:center;
}
}
