:root {
--off-white: #f8f8f8;
--black: #0a0a0a;
--red: #e63946;
--dark-gray: #1a1a1a;
--light-gray: #e0e0e0;
--font-main: 'Arial', sans-serif;
}

* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

body {
font-family: var(--font-main);
background-color: var(--off-white);
color: var(--black);
line-height: 1.6;
}

.container {
width: 90%;
max-width: 1200px;
margin: 0 auto;
padding: 20px;
}

.site-header {
background-color: var(--black);
color: var(--off-white);
padding: 15px 0;
}

.header-inner {
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
}

.logo {
display: flex;
align-items: center;
color: var(--off-white);
text-decoration: none;
font-size: 1.5em;
font-weight: bold;
}

.logo img {
width: 40px;
height: 40px;
margin-right: 10px;
border-radius: 50%;
}

.main-nav ul {
list-style: none;
display: flex;
gap: 20px;
}

.main-nav a {
color: var(--off-white);
text-decoration: none;
transition: color 0.3s;
}

.main-nav a:hover {
color: var(--red);
}

.cart-icon a {
color: var(--off-white);
text-decoration: none;
background-color: var(--red);
padding: 8px 15px;
border-radius: 5px;
}

.hero {
background-color: var(--black);
color: var(--off-white);
text-align: center;
padding: 80px 20px;
}

.hero h1 {
font-size: 2.5em;
margin-bottom: 15px;
}

.hero p {
font-size: 1.2em;
max-width: 600px;
margin: auto;
margin-bottom: 20px;
}

.btn-primary {
display: inline-block;
background-color: var(--red);
color: var(--off-white);
padding: 12px 30px;
text-decoration: none;
border: none;
border-radius: 5px;
font-size: 1em;
cursor: pointer;
transition: background-color 0.3s;
}

.btn-primary:hover {
background-color: #c62839;
}

.features {
padding: 40px 0;
}

.features h2 {
text-align: center;
font-size: 2em;
margin-bottom: 30px;
}

.feature-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 30px;
}

.feature-item {
background-color: var(--black);
color: var(--off-white);
padding: 20px;
border-radius: 8px;
text-align: center;
}

.feature-item svg {
margin-bottom: 15px;
}

.feature-item h3 {
margin-bottom: 10px;
color: var(--red);
}

.about-text {
padding: 40px 0;
}

.about-text h2 {
text-align: center;
font-size: 2em;
margin-bottom: 20px;
}

.about-text p {
max-width: 800px;
margin: auto;
margin-bottom: 20px;
}

.catalog {
padding: 40px 0;
}

.catalog h2 {
text-align: center;
font-size: 2em;
margin-bottom: 30px;
}

.product-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 30px;
}

.product-card {
background-color: var(--off-white);
border: 1px solid var(--light-gray);
border-radius: 8px;
overflow: hidden;
transition: transform 0.3s;
}

.product-card:hover {
transform: scale(1.02);
box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

.product-card img {
width: 100%;
height: auto;
display: block;
}

.product-card h3 {
padding: 10px;
}

.product-card .price {
padding: 0 10px;
color: var(--red);
font-weight: bold;
}

.btn-add {
display: block;
width: 100%;
background-color: var(--black);
color: var(--off-white);
border: none;
padding: 10px;
margin-top: 10px;
cursor: pointer;
transition: background-color 0.3s;
}

.btn-add:hover {
background-color: var(--red);
}

.terms-glossary {
background-color: var(--black);
color: var(--off-white);
padding: 40px 0;
}

.terms-glossary h2 {
text-align: center;
font-size: 2em;
margin-bottom: 30px;
}

.term-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 30px;
}

.term-item {
background-color: var(--dark-gray);
padding: 20px;
border-radius: 8px;
}

.term-item h3 {
color: var(--red);
margin-bottom: 10px;
}

.testimonials {
padding: 40px 0;
}

.testimonials h2 {
text-align: center;
font-size: 2em;
margin-bottom: 30px;
}

.testimonial-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 30px;
}

.testimonial-item {
background-color: var(--off-white);
border-left: 4px solid var(--red);
padding: 20px;
border-radius: 5px;
}

.testimonial-item p {
font-style: italic;
}

.testimonial-item span {
display: block;
margin-top: 10px;
font-weight: bold;
}

.stats {
background-color: var(--black);
color: var(--off-white);
padding: 40px 0;
}

.stats .container {
display: flex;
justify-content: space-around;
flex-wrap: wrap;
text-align: center;
}

.stat-item h3 {
font-size: 2.5em;
color: var(--red);
}

.cta {
text-align: center;
padding: 60px 20px;
background-color: var(--off-white);
}

.cta h2 {
font-size: 2em;
margin-bottom: 20px;
}

.product-page {
padding: 40px 0;
}

.product-detail {
display: flex;
gap: 40px;
flex-wrap: wrap;
}

.product-image img {
max-width: 100%;
border-radius: 8px;
}

.product-info {
flex: 1;
}

.product-info h1 {
font-size: 2em;
margin-bottom: 10px;
}

.product-info .price {
color: var(--red);
font-size: 1.5em;
font-weight: bold;
}

.product-info ul {
list-style: none;
margin: 20px 0;
}

.product-info li {
margin-bottom: 5px;
}

.btn-secondary {
display: inline-block;
background-color: var(--black);
color: var(--off-white);
padding: 12px 30px;
text-decoration: none;
border: none;
border-radius: 5px;
font-size: 1em;
cursor: pointer;
transition: background-color 0.3s;
margin-left: 10px;
}

.btn-secondary:hover {
background-color: var(--red);
}

.cart-page, .checkout-page, .success-page, .contact-page, .about-page {
padding: 40px 0;
}

.cart-page h1, .checkout-page h1, .success-page h1, .contact-page h1, .about-page h1 {
font-size: 2em;
margin-bottom: 20px;
}

form label {
display: block;
margin-top: 10px;
font-weight: bold;
}

form input, form textarea {
width: 100%;
padding: 10px;
margin-top: 5px;
border: 1px solid var(--light-gray);
border-radius: 5px;
}

form textarea {
height: 100px;
}

.team-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 30px;
margin-top: 30px;
}

.team-card {
background-color: var(--off-white);
border: 1px solid var(--light-gray);
border-radius: 8px;
padding: 20px;
text-align: center;
}

.team-card img {
width: 100%;
border-radius: 8px;
margin-bottom: 15px;
}

.team-card h3 {
color: var(--black);
margin-bottom: 5px;
}

.team-card p:first-of-type {
color: var(--red);
font-weight: bold;
}

.site-footer {
background-color: var(--black);
color: var(--off-white);
padding: 40px 0 0;
}

.footer-inner {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
gap: 20px;
}

.footer-links ul {
list-style: none;
}

.footer-links li {
margin-bottom: 8px;
}

.footer-links a {
color: var(--off-white);
text-decoration: none;
transition: color 0.3s;
}

.footer-links a:hover {
color: var(--red);
}

.footer-social a {
display: inline-block;
margin-right: 10px;
}

.footer-social svg {
transition: fill 0.3s;
}

.footer-social a:hover svg {
fill: var(--red);
}

.footer-contact p {
margin-bottom: 5px;
}

.footer-bottom {
background-color: var(--dark-gray);
text-align: center;
padding: 15px;
margin-top: 20px;
}

.cookie-banner {
position: fixed;
bottom: 0;
left: 0;
width: 100%;
background-color: var(--dark-gray);
color: var(--off-white);
padding: 15px;
display: none;
z-index: 1000;
}

.cookie-banner.show {
display: block;
}

.cookie-content {
max-width: 1200px;
margin: auto;
display: flex;
flex-wrap: wrap;
gap: 10px;
align-items: center;
justify-content: space-between;
}

.cookie-content p {
flex: 1;
}

.cookie-content a {
color: var(--red);
}

.btn-cookie {
padding: 8px 15px;
border: none;
border-radius: 5px;
cursor: pointer;
margin-left: 5px;
background-color: var(--red);
color: var(--off-white);
transition: background-color 0.3s;
}

.btn-cookie:hover {
background-color: #c62839;
}