:root {
--primary-color: #005A9E;
--secondary-color: #003366;
--accent-color: #FFC425;
--light-gray: #f4f4f4;
--medium-gray: #ccc;
--dark-gray: #333;
--font-family: 'Roboto', sans-serif;
}
body {
font-family: var(--font-family);
margin: 0;
background-color: #f9f9f9;
color: var(--dark-gray);
line-height: 1.6;
}
.container {
max-width: 1400px;
margin: 0 auto;
padding: 0 20px;
}
header {
background-color: var(--secondary-color);
color: white;
padding: 1rem 0;
position: sticky;
top: 0;
z-index: 1000;
box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}
header h1 {
font-size: 1.8rem;
font-weight: 700;
margin: 0;
}
header .container {
display: flex;
justify-content: space-between;
align-items: center;
}
nav {
display: flex;
gap: 15px;
}
.nav-dropdown {
position: relative;
display: inline-block;
}
.nav-button {
background-color: var(--primary-color);
color: white;
padding: 10px 20px;
font-size: 16px;
border: none;
cursor: pointer;
border-radius: 5px;
transition: background-color 0.3s ease;
}
.nav-button:hover {
background-color: #0073c4;
}
.dropdown-content {
display: none;
position: absolute;
background-color: white;
min-width: 220px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
border-radius: 5px;
max-height: 400px;
overflow-y: auto;
}
.dropdown-content a {
color: var(--dark-gray);
padding: 12px 16px;
text-decoration: none;
display: block;
transition: background-color 0.2s ease;
}
.dropdown-content a:hover {
background-color: var(--light-gray);
}
.nav-dropdown:hover .dropdown-content {
display: block;
}
main.container {
display: flex;
gap: 30px;
margin-top: 30px;
}
.filters-sidebar {
width: 250px;
flex-shrink: 0;
background-color: white;
padding: 20px;
border-radius: 8px;
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
align-self: flex-start;
}
.filters-sidebar h2 {
margin-top: 0;
font-size: 1.5rem;
color: var(--secondary-color);
border-bottom: 2px solid var(--light-gray);
padding-bottom: 10px;
}
.filter-group {
margin-bottom: 25px;
}
.filter-group h3 {
margin-bottom: 10px;
font-size: 1.1rem;
color: var(--primary-color);
}
.search-container input {
width: 100%;
padding: 10px;
border: 1px solid var(--medium-gray);
border-radius: 5px;
font-size: 1rem;
}
#filter-marcas, #filter-categorias {
max-height: 200px;
overflow-y: auto;
border: 1px solid var(--light-gray);
padding: 10px;
border-radius: 5px;
}
.filter-option {
display: block;
margin-bottom: 8px;
cursor: pointer;
}
.price-range-inputs {
display: flex;
gap: 10px;
}
.price-range-inputs input {
width: 100%;
padding: 8px;
border: 1px solid var(--medium-gray);
border-radius: 5px;
}
#priceFilterBtn, #resetFiltersBtn {
width: 100%;
padding: 10px;
margin-top: 10px;
border: none;
border-radius: 5px;
cursor: pointer;
font-size: 1rem;
font-weight: 500;
}
#priceFilterBtn {
background-color: var(--primary-color);
color: white;
}
#resetFiltersBtn {
background-color: var(--medium-gray);
color: var(--dark-gray);
}
.product-grid-container {
flex-grow: 1;
}
#product-count {
font-size: 1.1rem;
color: #666;
margin-bottom: 15px;
}
.product-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 20px;
}
.product-card {
background-color: white;
border: 1px solid var(--light-gray);
border-radius: 8px;
overflow: hidden;
box-shadow: 0 2px 5px rgba(0,0,0,0.05);
transition: transform 0.3s ease, box-shadow 0.3s ease;
display: flex;
flex-direction: column;
}
.product-card:hover {
transform: translateY(-5px);
box-shadow: 0 8px 15px rgba(0,0,0,0.1);
}
.product-image-container {
background-color: #fff;
padding: 20px;
display: flex;
justify-content: center;
align-items: center;
height: 200px;
}
.product-image {
max-width: 80%;
max-height: 160px;
height: auto;
object-fit: contain;
}
.product-info {
padding: 20px;
flex-grow: 1;
display: flex;
flex-direction: column;
}
.product-brand {
font-weight: 700;
color: var(--primary-color);
margin-bottom: 5px;
}
.product-name {
font-size: 1.1rem;
font-weight: 500;
margin: 0 0 10px 0;
min-height: 48px; /* Approx 2 lines */
}
.product-desc {
font-size: 0.9rem;
color: #666;
flex-grow: 1;
margin-bottom: 15px;
}
.product-price {
font-size: 1.4rem;
font-weight: 700;
color: var(--dark-gray);
margin-top: auto;
}
.product-datasheet {
display: inline-block;
margin-top: 15px;
text-decoration: none;
color: var(--secondary-color);
font-weight: 500;
}
.product-datasheet:hover {
text-decoration: underline;
}
footer {
background-color: var(--dark-gray);
color: white;
text-align: center;
padding: 20px 0;
margin-top: 40px;
}