/* Global Styles */
body {
    margin: 0;
    font-family: Raleway, sans-serif;
}

h2{
    font-weight: 400;
}

h3{
    font-weight: 400;
}

/* Top Bar */
.top-bar {
    background-color: #f5f5f5;
    padding: 5px 10px;
    text-align: right;
    font-size: 12px;
    color: black;
    display: flex;
    justify-content: flex-end;
}

.contact-info {
    display: flex;
    gap: 10px;
}

.contact-info a {
    color: black;
    text-decoration: none;
    display: flex;
    align-items: center;
}

.contact-info i {
    margin-right: 5px;
}

/* Logo Bar */
.logo-bar {
    background-color: white;
    padding: 10px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.logo {
    height: 50px;
}

.hamburger-menu {
    display: none; /* Hidden by default */
    cursor: pointer;
}

/* Main Navigation */
.main-nav {
    display: flex;
    gap: 15px;
}

.main-nav a {
    color: #fdd794;
    text-decoration: none;
    font-weight: 400;
    padding: 10px 0;
    transition: color 0.3s;
}

.main-nav a:hover {
    color: #ed7204;
}

.main-nav.active {
    display: block;
    position: absolute;
    background-color: white;
    width: 100%;
    top: 60px;
    left: 0;
    z-index: 1000;
    flex-direction: column;
}

.main-nav.active a {
    padding: 10px;
    border-bottom: 1px solid #ccc;
    text-align: center;
}

#cookie-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: white;
    text-align: center;
    padding: 10px;
    box-shadow: 0 -4px 6px rgba(0,0,0,0.1);
    display: none; /* Inicie escondido e mostre via JS conforme necessário */
    z-index: 20;
}

/* Locations Section */
.localizacoes {
    padding: 20px;
    background-color: #f9f9f9;
}

.localizacoes h2 {
    text-align: center;
    margin-bottom: 20px;
}

.locations-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.location-card {
    background-color: white;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 15px;
    margin: 10px 0;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s;
    flex: 1 0 30%;
    max-width: 30%;
}

.location-card:hover {
    transform: translateY(-10px);
}

.location-card h3 {
    margin-top: 0;
    font-size: 1rem;
}

.location-card table {
    width: 100%;
    border-collapse: collapse;
    font-size: 11px;
}

.location-card th, .location-card td {
    padding: 8px;
    text-align: left;
}

.location-card th {
    font-weight: 600;
}

 .fixed-width-column{
    width: 110px;
 }

.location-card tr:nth-child(even) {
    background-color: #f5f5f5;
}

.gallery {
    max-width: 600px; /* Limita a largura da galeria */
    margin: auto; /* Centraliza a galeria */
}

/* Estilo para as galerias */
.gallery-img {
    width: auto; /* Deixa o navegador calcular a largura baseada na altura */
    height: 300px; /* Altura fixa para as imagens */
    object-fit: cover; /* Garante que a imagem cubra o espaço sem distorcer */
    transition: transform 0.3s ease;
}

.gallery-img:hover {
    transform: scale(1.1);
}

.slick-next {
    right: 0;
}

.slick-prev {
    left: 0;
     z-index: 10;
}


/* Estilos para o Modal */
.modal {
    display: none; 
    position: fixed; 
    z-index: 1000; 
    left: 0;
    top: 0;
    width: 100%; 
    height: 100%; 
    overflow: auto; 
    background-color: rgba(0,0,0,0.8); 
}

.modal-content {
    margin: auto;
    display: block;
    width: 80%;
    max-width: 700px;
}

.close {
    position: absolute;
    top: 15px;
    right: 35px;
    color: white;
    font-size: 40px;
    font-weight: bold;
    cursor: pointer;
}

.close:hover,
.close:focus {
    color: #ccc;
    text-decoration: none;
    cursor: pointer;
}


.precos {
    padding: 20px;
    background-color: white ;
}

.precos h2 {
    text-align: center;
    margin-bottom: 20px;
}

.pricing-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around; /* This will space them nicely on desktop */
    padding: 20px;
}

.price-card {
    border: 1px solid #ccc;
    border-radius: 8px;
    padding: 20px;
    margin: 10px;
    flex: 1 0 44%; /* Each card will try to take roughly half the container width */
    max-width: 45%; /* Ensures that they do not grow too big */
    transition: transform 0.3s;
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: right;
}

.price-card:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

.price-card.lavagem {
    background-image: url(imagens/1-euro-coin.png);
    background-size: auto;
}

.price-card.secagem {
    background-image: url(imagens/2-euro-coin.png);
    background-size: 40%;

}

.details p {
    margin: 5px 0;
}

.servicos {
    text-align: center;
    padding: 20px;
    background-color: #f5f5f5;
}

.container {
    display: flex;
    justify-content: space-around;
    margin-top: 20px;
}

.column {
    flex: 1;
    padding: 0 15px;
}

.column p {
    background: #eee; /* Cor de fundo clara */
    border-radius: 8px;
    padding: 10px;
    margin-bottom: 10px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    display: flex;
    align-items: center;
}

.column i {
    margin-right: 10px;
    color: #ed7204; /* Cor dos ícones */
}

/* Seção de Contatos */
.contatos {
    background-color: white; /* Mantendo o fundo neutro como nas outras seções */
    padding: 40px; /* Espaçamento generoso para uma aparência clean */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* Estilização do Formulário */
.contatos form {
    background: white;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1); /* Sombra suave para destacar o formulário */
    width: 100%;
    max-width: 500px; /* Largura máxima para garantir legibilidade */
}

.contatos label {
    font-size: 16px;
    color: #333;
    margin-bottom: 5px;
    display: block;
}

.contatos input, .contatos textarea {
    width: 100%;
    padding: 10px;
    margin-bottom: 20px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.contatos button {
    width: 100%;
    background-color: #ed7204; /* Uso de uma das cores principais para o botão */
    color: white;
    border: none;
    padding: 12px;
    border-radius: 4px;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s;
}

.contatos button:hover {
    background-color: #fdd794; /* Mudança suave para a cor secundária ao passar o mouse */
}

.contatos input, .contatos textarea {
    width: 100%; /* Assegura que ocupam a largura total do elemento pai */
    padding: 10px; /* Espaço interno confortável */
    margin-bottom: 20px; /* Espaçamento entre os elementos */
    border: 1px solid #ccc; /* Borda sutil */
    border-radius: 4px; /* Bordas arredondadas para estética */
    box-sizing: border-box; /* Importante para incluir padding e borda no cálculo da largura */
}
.politica-privacidade {
    background-color: #f5f5f5;
    padding: 20px;
    font-size: 14px;
    display: none; /* Iniciar escondido */
}

.politica-privacidade .container {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
    background-color: #fff;
    border-radius: 4px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.politica-privacidade h1, .politica-privacidade h2 {
    color: #333;
}

.politica-privacidade p {
    text-align: justify;
}

.expand {
    color: #0056b3;
    text-decoration: underline;
    cursor: pointer;
}

/* Responsive Design */

/* Tablets */
@media (max-width: 768px) {
    .location-card {
        flex: 1 0 45%;
        max-width: 45%;
    }

    .price-card {
        flex: 1 0 100%; /* On smaller screens, each card takes full width */
        max-width: 100%;
    }

    .container {
        flex-direction: column; /* Altera o layout para coluna em telas menores */
    }
    
    .column {
        width: 100%; /* Cada coluna ocupa a largura total da tela */
        padding: 0; /* Ajusta o padding se necessário */
    }

    .column p {
        margin-bottom: 20px; /* Aumenta o espaçamento entre os itens para clareza */
    }
}

footer {
    background-color: #f5f5f5;
    padding: 20px;
    text-align: center;
    font-size: 14px;
}
footer a {
    color: #ed7204;
    text-decoration: none;
}

/* Mobile */
@media (max-width: 480px) {
    .top-bar {
        flex-direction: column;
        align-items: center;
        font-size: 10px;
    }

    .contact-info {
        flex-direction: row;
        align-items: center;
        gap: 5px;
    }

    .contact-info a {
        margin-bottom: 5px;
    }

    .hamburger-menu {
        display: block; /* Show hamburger menu */
    }

    .main-nav {
        display: none; /* Hide main navigation */
    }

    .main-nav.active {
        display: flex; /* Show when active */
    }

    .location-card {
        flex: 1 0 100%;
        max-width: 100%;
    }

    .price-card {
    background-color: rgba(255, 255, 255, 0.5); /* Cor branca com opacidade */
    background-blend-mode: lighten; /* Modo de mesclagem para clarear */
    }

}
