Plenobra
body {
margin: 0;
font-family: Arial, Helvetica, sans-serif;
background: #ffffff;
color: #333;
min-height: 100vh;
display: flex;
flex-direction: column;
}
/* MENU SUPERIOR */
.top-menu {
background: #3a3a3a;
padding: 12px 20px;
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
gap: 10px;
position: fixed;
width: 100%;
top: 0;
z-index: 999;
box-sizing: border-box;
}
.logo {
margin: 0;
font-size: clamp(28px, 5vw, 48px);
font-weight: 900;
color: #f28c28;
white-space: nowrap;
}
.top-menu nav {
display: flex;
gap: 18px;
flex-wrap: wrap;
justify-content: flex-end;
}
.top-menu nav a {
color: white;
text-decoration: none;
font-weight: bold;
font-size: clamp(13px, 2vw, 17px);
transition: color 0.2s ease, transform 0.2s ease;
}
.top-menu nav a.active {
color: #f28c28;
pointer-events: none;
cursor: default;
}
.top-menu nav a:hover {
color: #f28c28;
transform: translateY(-2px);
}
@media (max-width: 700px) {
.top-menu {
flex-direction: column;
text-align: center;
padding: 15px 10px;
}
.top-menu nav {
justify-content: center;
width: 100%;
gap: 12px;
}
.logo {
font-size: clamp(32px, 8vw, 50px);
}
}
/* CONTEÚDO */
.content {
padding-top: calc(70px + 3vw);
max-width: 1100px;
margin: auto;
width: 100%;
flex: 1;
box-sizing: border-box;
}
.section-title {
text-align: center;
font-size: 26px;
color: #1f4e8c;
margin-bottom: 25px;
}
/* GRELHA */
.grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 20px;
padding: 20px;
box-sizing: border-box;
}
.card {
background: white;
padding: 22px;
border-radius: 8px;
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
text-align: center;
border-top: 6px solid #f28c28;
cursor: pointer;
overflow: hidden;
transition: 0.3s ease;
}
.card h3 {
margin-top: 0;
color: #1f4e8c;
font-size: 20px;
}
.card p {
font-size: 14px;
margin-bottom: 18px;
}
/* BOTÃO COMO LINK */
.btn-card {
display: inline-block;
background: #f28c28;
padding: 10px 20px;
color: white;
font-weight: bold;
border-radius: 4px;
text-decoration: none;
margin-top: 10px;
transition: 0.2s ease;
}
.btn-card:hover {
background: #d9771f;
}
.expand-area {
max-height: 0;
overflow: hidden;
transition: max-height 0.35s ease;
margin-top: 10px;
}
.expand-area img {
width: 100%;
border-radius: 6px;
display: block;
}
footer {
background: #3a3a3a;
color: white;
text-align: center;
padding: 18px;
margin-top: 30px;
}
O que estás à procura?
Gesso Cartonado
Instalação, reparação e remodelação.
Tetos Falsos
Acabamentos modernos e iluminação.
Paredes Divisórias
Isolamento térmico e acústico.
Remodelações
Transformamos espaços com qualidade.
Orçamentos
Peça um orçamento gratuito.
document.querySelectorAll(«.card»).forEach(card => {
card.addEventListener(«click», (e) => {
if (e.target.classList.contains(«btn-card»)) return;
const area = card.querySelector(«.expand-area»);
document.querySelectorAll(«.expand-area»).forEach(a => {
if (a !== area) a.style.maxHeight = «0px»;
});
area.style.maxHeight =
area.style.maxHeight && area.style.maxHeight !== «0px»
? «0px»
: area.scrollHeight + «px»;
});
});