
:root { --font-heading: 'Poppins', sans-serif; --font-body: 'Inter', sans-serif; --primary-color: #0d6efd; --primary-hover: #0b5ed7; --success-color: #198754; --text-color: #212529; --text-muted: #6c757d; --bg-light: #f8f9fa; --border-color: #dee2e6; --radius: 8px; }
body { font-family: var(--font-body); margin: 0; padding-top: 90px; background-color: #fff; color: var(--text-color); line-height: 1.6; }
body.mobile-menu-open { overflow: hidden; }
main { margin-bottom: 2rem; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 15px; }
a { color: var(--primary-color); text-decoration: none; transition: color 0.2s; } a:hover { color: var(--primary-hover); }
img { max-width: 100%; height: auto; display: block; }
h1,h2,h3,h4 { font-family: var(--font-heading); font-weight: 700; }
h1 { font-size: 2.2rem; } h2 { font-size: 1.8rem; }
.sticky-header { position: fixed; top: 0; left: 0; width: 100%; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,0.1); z-index: 1000; }
.sticky-header nav { display: flex; justify-content: space-between; align-items: center; height: 70px; }
.logo { font-size: 1.5rem; font-weight: 700; color: var(--text-color); margin-right: auto; }
.nav-menu-desktop { display: none; }
.nav-links { list-style: none; display: flex; align-items: center; gap: 30px; margin: 0; padding: 0; }
.nav-links a { font-weight: 500; color: #333; }
.dropdown { position: relative; }
.dropdown-menu { display: none; position: absolute; top: 100%; left: 0; background: #fff; list-style: none; padding: 10px 0; margin: 10px 0 0; box-shadow: 0 5px 15px rgba(0,0,0,0.1); border-radius: var(--radius); min-width: 200px; z-index: 1001; }
.dropdown:hover .dropdown-menu { display: block; }
.nav-actions { display: flex; align-items: center; gap: 15px; }
.header-search-form { display: none; }
.header-search-form input { border: 1px solid var(--border-color); border-radius: 5px; padding: 8px 12px; }
.header-search-form button { background: none; border: none; cursor: pointer; padding: 5px; }
.search-icon { width: 20px; height: 20px; fill: var(--text-muted); }
.burger-menu { cursor: pointer; background: none; border: none; padding: 0; z-index: 1002; width: 25px; height: 21px; display: flex; flex-direction: column; justify-content: space-between; }
.burger-menu span { display: block; width: 100%; height: 3px; background-color: #333; transition: all 0.3s; border-radius: 3px; }
.burger-menu.active span:nth-child(1) { transform: translateY(9px) rotate(45deg); }
.burger-menu.active span:nth-child(2) { opacity: 0; }
.burger-menu.active span:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }
.nav-menu-mobile { position: fixed; top: 70px; left: -100%; width: 100%; height: calc(100vh - 70px); background: #fff; transition: left 0.3s ease-in-out; padding: 30px; overflow-y: auto; }
.nav-menu-mobile.active { left: 0; }
.nav-menu-mobile .nav-links { flex-direction: column; align-items: flex-start; gap: 25px; }
.nav-menu-mobile .header-search-form { display: flex; margin-bottom: 25px; width: 100%; }
.nav-menu-mobile .header-search-form input { flex-grow: 1; }
.hero-section { padding: 60px 0; text-align: center; margin-bottom: 40px; }
.page-layout { display: grid; grid-template-columns: 1fr; gap: 30px; }
.product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 25px; }
.product-card { border: 1px solid var(--border-color); border-radius: var(--radius); overflow: hidden; text-align: center; }
.buy-button { background: var(--primary-color); color: #fff; padding: 10px 20px; border-radius: 5px; }
.product-layout { display: grid; grid-template-columns: 1fr; gap: 40px; }
.product-cta-box { display: flex; flex-direction: column; gap: 20px; border: 1px solid var(--border-color); border-radius: var(--radius); padding: 20px; }
.product-price { font-size: 2rem; font-weight: 700; }
.variant-selector label { font-weight: 600; display: block; margin-bottom: 8px; }
.variant-selector select { width: 100%; padding: 12px; border-radius: 5px; border: 1px solid var(--border-color); }
.buy-button-large { background-color: var(--success-color); font-size: 1.2rem; padding: 15px; width: 100%; color: white; border: none; border-radius: 5px; cursor: pointer; }
.pagination { display: flex; justify-content: center; align-items: center; gap: 8px; margin: 40px 0; padding: 0; list-style-type: none; }
.pagination li button { min-width: 40px; height: 40px; padding: 0 10px; border: 1px solid var(--border-color); border-radius: var(--radius); background-color: white; cursor: pointer; }
.pagination li button.active, .pagination li button:hover { background-color: var(--primary-color); color: white; }
.pagination li button:disabled { color: var(--text-muted); cursor: not-allowed; }
.pagination li.ellipsis { padding: 0 5px; }
.faq-section { margin: 60px auto; }
.faq-item { border-bottom: 1px solid var(--border-color); }
.faq-item summary { font-size: 1.2rem; padding: 20px; cursor: pointer; list-style: none; position: relative; }
.faq-item summary::after { content: '+'; position: absolute; right: 20px; }
.faq-item[open] summary::after { content: '-'; }
.faq-content { padding: 0 20px 20px; }
footer { background: #343a40; color: #f8f9fa; padding: 40px 20px; margin-top: 60px; text-align: center; }
.footer-grid { margin-bottom: 20px; }
@media (min-width: 768px) {
    .logo { font-size: 1.8rem; }
    .page-layout { grid-template-columns: 280px 1fr; }
    .product-layout { grid-template-columns: 1fr 1fr; }
    .header-search-form { display: flex; }
}
@media (min-width: 992px) {
    .burger-menu { display: none; }
    .nav-menu-desktop { display: block; margin-left: 30px; margin-right: auto; }
}
        