body{
    margin:0;
    font-family: Arial, sans-serif;
    background:#f4f4f4;
    color:#333;
	display:flex;
    flex-direction:column;
}

.conteudo{
    flex:1;
}

.topo{
    background:#ffffff;
    border-bottom:4px solid #c4122f;
    padding:15px;
    text-align:center;
}

.logo-area img{
    max-width:220px;
	display: block;
}

.conteudoTopo
{
	max-width: 1200px;	
	margin: 0 auto;
	display: flex;
	align-items: center;
}	

.navegacao
{
	display: flex;
    align-self: flex-end; /* garante que o menu fica em baixo */
	margin-left: auto; /* vai empurrar as coisas para a direita */
}	
	

nav {
	display: flex;
    align-self: flex-end; /* garante que o menu fica em baixo */
}

nav ul{
    list-style:none;
    padding:0;
    margin-top:15px;
}

nav ul li{
    display:inline-block;
    margin:0 12px;
}

nav ul li a{
    text-decoration:none;
    color:#333;
    font-weight:bold;
}

nav ul li a:hover{
    color:#c4122f;
}

.btn-area {
    background-color: #c4122f;
    color: #FFFFFF !important;
    padding: 8px 14px;
    border-radius: 4px;
}

.btn-area:hover {
    /* background-color: #b01730; */
	background-color: #333333;
}




.hero{
    padding:60px 20px;
    text-align:center;
    /* background:white; */
    /* margin:40px auto; */
	margin-top: 0px;
    /* width: 100%; */
    /* border-radius:8px; */
    /* box-shadow:0 0 10px rgba(0,0,0,0.1); */
	/* Gradiente radial: centro escuro (#c4122f) -> pontas claras (#f85a73) 
    background: radial-gradient(circle at center, #c4122f 0%, #f85a73 100%); */
	/* Mantém o #c4122f sólido de 0% a 70%, e transita para a cor clara até aos 100% */
	background: radial-gradient(ellipse at center, #c4122f 0%, #c4122f 70%, #f85a73 100%);
	/* Gradiente radial: centro (#c4122f) -> pontas brancas (#ffffff) 
    background: radial-gradient(circle at center, #c4122f 0%, #ffffff 100%); */
	color: #ffffff;
}

.home-info {
 margin-top: 20px;	
}	

.rodape{
    background:#333;
    color:white;
    text-align:center;
    padding:20px;
    margin-top:40px;
}

.footer-legal{
    background:#f3f5f7; /* ligeiramente mais claro */
	/* background:#12335A */
	/* color: #1F3F66; /* azul escuro do logo */
    padding:15px 0;
    border-top:1px solid #e2e6ea;
	margin:0;
}

.legal-links {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 10px;
    margin: 0;
    gap: 10px 30px; /* espaço entre linhas e colunas */
}

.legal-links li {
    width: calc(25% - 30px); /* 4 itens por linha */
}

.legal-links a{
    text-decoration:none;
    color:#555;
    font-size:14px;
}

.legal-links a:hover{
    text-decoration:underline;
}

.aNada
{
 text-decoration: none;	
 color: #1F3F66;
}
	
.aNada:link,
.aNada:visited,
.aNada:hover
{
 color: #1F3F66;
}	

.aNada:hover
{
 font-weight: bold;
}	

.container {
    width: 90%;
    max-width: 1200px;
    margin: auto;
}




/* slider */

.slider {
    width: 100%;
	aspect-ratio: 1920 / 500;
    /* height: 420px; */
    overflow: hidden;
    position: relative;
    background-color: #EAF1FB;
}

.slides {
    display: flex;
    height: 100%;
    animation: slideAnimation 24s linear infinite;
	/* animation-timing-function: ease-in-out; */
}

.slides img {
    min-width: 100%;
    height: 100%;
	object-position: center;
	object-fit: cover;
	flex-shrink: 0;
}

/* Animação */
@keyframes slideAnimation {
    0%   { transform: translateX(0); }
    30%  { transform: translateX(0); }

    35%  { transform: translateX(-100%); }
    60%  { transform: translateX(-100%); }

    65%  { transform: translateX(-200%); }
    100% { transform: translateX(-200%); }
}

/* Fim do slider */

/* --- RESPONSIVIDADE COM MENU EM COLUNA (Ecrãs até 1024px) --- */
@media (max-width: 1130px) {
    .conteudoTopo {
        displayu: flex;
		flex-direction: column; /* Coloca a navegação abaixo do logo */
        justify-content: center;
        width: 95%;
		margin: 0 auto;
        gap: 20px;
    }

    .logo-area img {
        display: block;
		margin: 0 auto; /* Centra o logo */
    }

    .navegacao {
        /* margin-left: 0;  Anula a margem do desktop */
		margin: 0 auto; 
        width: 100%;
		display: flex;
		justify-content: center;
    }

    nav ul {
        display: flex;
		flex-direction: column; /* FORÇA AS OPÇÕES EM COLUNA VERTICAL */
        align-items: center;    /* Centra as opções no meio do ecrã */
        gap: 12px;              /* Espaço vertical entre cada opção */
        width: 100%;
    }

    nav ul li {
        width: 100%;
        text-align: center;
    }

    nav ul li a {
        display: block;
        padding: 6px 0;
        font-size: 1rem;
    }

    .btn-area {
        display: inline-block !important;
        margin-top: 5px;
    }
}


.page-header{
    background:#f5f7fa;
    padding:60px 0;
}

.page-header h1{
    font-size:32px;
    margin-bottom:10px;
}

.page-content{
    padding:50px 0;
}

.page-content h2{
    margin-top:30px;
    font-size:22px;
}

.page-content ul{
    margin-top:10px;
    line-height:1.8;
}


.two-columns{
    display:grid;
    grid-template-columns: 1.2fr 1fr;
    gap:50px;
	/* align-items: start; */
    align-items:center; 
}

.align-top
{
 align-items: flex-start;	
}	


.text-column h2{
    margin-top:30px;
    font-size:22px;
}

.text-column ul{
    margin-top:10px;
    line-height:1.8;
}

.image-column img{
    width:100%;
    border-radius:10px;
    box-shadow:0 10px 25px rgba(0,0,0,0.1);
}

@media (max-width:900px){

.two-columns{
    grid-template-columns:1fr;
}

.image-column{
    order:2;
}

}


.info-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 40px;
}

.info-column h2 {
    color: #1F3F66;
    margin-bottom: 20px;
}

/* Notícias */
.news-item h3 {
    color: #1F3F66;
    margin-bottom: 5px;
}

.news-item .date {
    font-size: 14px;
    color: #5F86B1;
    display: block;
    margin-bottom: 10px;
}

.news-item p {
    margin-bottom: 10px;
}

.news-item a {
    color: #5F86B1;
    font-weight: 600;
    text-decoration: none;
}

.news-item a:hover {
    text-decoration: underline;
}

/* Comunicados */
.notices {
    list-style: none;
    padding: 0;
}

.notices li {
    background-color: #EAF1FB;
    padding: 15px;
    border-radius: 6px;
    margin-bottom: 15px;
    font-size: 15px;
}

/* Responsive */
@media (max-width: 900px) {
    .info-grid {
        grid-template-columns: 1fr;
    }
}

/* Garante que o padding não aumenta a largura total das caixas */
.form-group input,
.login-form button {
    box-sizing: border-box;
    width: 100%; /* Muda para 100% para ocupar toda a largura do container */
}

/* Container pai para controlar a largura de ambos num só lugar */
.login-form {
    width: 90%; /* Define a largura global do formulário aqui */
    margin: 0 auto; /* Centra o formulário se necessário */
}

/* Label */
.form-group label {
    display: block;
    margin-bottom: 5px;
    font-size: 14px;
    color: #555;
	margin-top: 20px;
}

/* Input */
.form-group input {
    padding: 12px;
    border-radius: 8px;
    border: 1px solid #ccc;
    outline: none;
    transition: 0.3s;
	margin-top: 5px;
}

/* Focus */
.form-group input:focus {
    border-color: #007BFF;
    box-shadow: 0 0 5px rgba(0,123,255,0.3);
}

/* Botão */
.login-form button {
    padding: 12px;
    border: none;
    border-radius: 8px;
    background: radial-gradient(ellipse at center, #c4122f 0%, #c4122f 70%, #f85a73 100%);
    color: #fff;
    font-size: 16px;
    cursor: pointer;
    transition: 0.3s;
	margin-top: 25px;
}

/* Hover */
.login-form button:hover {
    transform: translateY(-2px);
}