/* Reset básico para garantir consistência */
* {
    margin: 0; /* Remove a margem padrão de todos os elementos */
    padding: 0; /* Remove o padding padrão de todos os elementos */
    box-sizing: border-box; /* Inclui padding e bordas no cálculo da largura e altura dos elementos */
}

body {
    font-family: Arial, sans-serif; /* Define a fonte do corpo do texto */
    color: #333; /* Define a cor do texto como um tom escuro de cinza */
    background: url('pergaminho.webp') no-repeat center center fixed; /* Define uma imagem de fundo fixa e centralizada */
    background-size: cover; /* Faz com que a imagem de fundo cubra toda a área disponível */
    margin-bottom: 60px; /* Adiciona espaço no fundo para acomodar o rodapé fixo */
}

header {
    background-color: rgba(0, 0, 0, 0.2); /* Define uma cor de fundo preta com 20% de opacidade */
    padding: 20px 0; /* Adiciona 20px de padding no topo e na base do cabeçalho */
    text-align: center; /* Centraliza o texto dentro do cabeçalho */
}

header .container {
    max-width: 1200px; /* Define a largura máxima do container como 1200px */
    margin: auto; /* Centraliza o container horizontalmente */
    padding: 0 20px; /* Adiciona 20px de padding nos lados esquerdo e direito do container */
}

h1 {
    font-size: 3em; /* Define o tamanho da fonte do título principal como 3 vezes o tamanho padrão */
    color: #fff; /* Define a cor do texto como branco */
}

main {
    padding: 40px 20px; /* Adiciona 40px de padding no topo e na base, e 20px nos lados do elemento main */
}

.intro {
    border-radius: 8px; /* Adiciona bordas arredondadas com raio de 8px */
    margin-bottom: 20px; /* Adiciona um espaço de 20px abaixo do elemento intro */
    padding: 20px; /* Adiciona 20px de padding em todos os lados do elemento intro */
}

.intro .container {
    max-width: 1200px; /* Define a largura máxima do container como 1200px */
    margin: auto; /* Centraliza o container horizontalmente */
}

h2 {
    font-size: 2.5em; /* Define o tamanho da fonte dos subtítulos como 2,5 vezes o tamanho padrão */
    margin-bottom: 20px; /* Adiciona um espaço de 20px abaixo do subtítulo */
    border-bottom: 2px solid #333; /* Adiciona uma borda inferior de 2px e cor escura abaixo do subtítulo */
    padding-bottom: 10px; /* Adiciona 10px de padding na base do subtítulo */
}

p {
    font-size: 1.5em; /* Define o tamanho da fonte dos parágrafos como 1,2 vezes o tamanho padrão */
    line-height: 1.6; /* Define a altura da linha dos parágrafos para facilitar a leitura */
}

.gallery {
    background-color: rgba(0, 0, 0, 0.2); /* Define uma cor de fundo preta com 20% de opacidade para a galeria */
    border-radius: 8px; /* Adiciona bordas arredondadas com raio de 8px à galeria */
    padding: 20px; /* Adiciona 20px de padding em todos os lados da galeria */
}

.gallery .container {
    max-width: 1200px; /* Define a largura máxima do container como 1200px */
    margin: auto; /* Centraliza o container horizontalmente */
}

.image-gallery {
    display: grid; /* Define o layout da galeria como grid (grade) */
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); /* Cria colunas que se ajustam automaticamente com um tamanho mínimo de 250px e máximo de 1fração da largura disponível */
    gap: 20px; /* Define um espaço de 20px entre os itens da galeria */
}

figure {
    margin: 0; /* Remove a margem padrão de figures */
}

.imga {
    width: 100%; /* Faz com que a imagem ocupe 100% da largura do seu container */
    height: auto; /* Mantém a proporção da altura da imagem */
    border-radius: 8px; /* Adiciona bordas arredondadas com raio de 8px às imagens */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); /* Adiciona uma sombra com deslocamento de 4px para baixo e 8px de difusão, com 30% de opacidade */
}

figcaption {
    text-align: center; /* Centraliza o texto dentro do figcaption */
    font-size: 1.3em; /* Define o tamanho da fonte como 1,3 vezes o tamanho padrão */
    margin-top: 10px; /* Adiciona um espaço de 10px acima do figcaption */
    color: white; /* cor do texto */
}

footer {
    position: fixed; /* Mantém o rodapé fixo na parte inferior da tela */
    bottom: 0; /* Posiciona o rodapé no fundo da tela */
    width: 100%; /* Faz com que o rodapé ocupe toda a largura da tela */
    background-color: rgba(0, 0, 0, 0.5); /* Define uma cor de fundo preta com 50% de opacidade */
    color: #fff; /* Define a cor do texto como branco */
    text-align: center; /* Centraliza o texto dentro do rodapé */
    padding: 10px 0; /* Adiciona 10px de padding no topo e na base do rodapé */
    font-size: 1.2em; /* Define o tamanho da fonte do rodapé como 1,2 vezes o tamanho padrão */
}

.footer-container {
    max-width: 1200px; /* Define a largura máxima do container como 1200px */
    margin: auto; /* Centraliza o container horizontalmente */
    padding: 0 20px; /* Adiciona 20px de padding nos lados esquerdo e direito do container */
}

/* Estilo adicional para imagens específicas */
.imga {
    width: 300px; /* Define a largura das imagens como 300px */
    height: 200px; /* Define a altura das imagens como 200px */
}


.center{
    text-align: center;
}

.medieval-button {
    position: relative;
    background-color: #000000;
    padding: 15px 30px;
    font-size: 20px;
    font-weight: bold;
    cursor: pointer;
    border-radius: 15px;
    border-style: solid;
    overflow: hidden;
    z-index: 1;
}

.medieval-button::before {
    content: "";
    position: absolute;
    top: -40%;
    left: -10%;
    height: 180%;
    width: 0;
    border-radius: 100%;
    background-color: #420505;

    transition: all 750ms 0.3s;
}

.medieval-button:hover::before {
    width: 120%;
    height: 180%;
    transition: all 750ms 0.7s;
}

.button-text {
    position: relative;
    z-index: 2;
    color: white;
}

.sword {
    position: absolute;
    top: 50%;
    right: -100%;
    transform: translateY(-50%);
    transition: right 0.5s ease;
    z-index: -1;
    height: 40px;
}

.medieval-button:hover .sword {
    right: calc(25%);
}

