:root {
  --color-primary: #3D5A35;
  --color-primary-hover: #4A6E40;
  --color-primary-dark: #2E4528;
  --color-accent: #E56B1E;
  --color-accent-hover: #D45E15;
  --color-black: #1A1A1A;
  --color-dark: #2D2D2D;
  --color-text: #333333;
  --color-text-light: #666666;
  --color-text-muted: #999999;
  --color-border: #E0E0E0;
  --color-border-light: #F0F0F0;
  --color-bg: #FFFFFF;
  --color-bg-alt: #F5F5F5;
  --color-bg-dark: #F2F2F2;
  --color-red: #E62E2E;
  --color-green: #27AE60;
  --color-star: #FFC107;
  --font-primary: 'Montserrat', 'Segoe UI', sans-serif;
  --text-xs: 0.75rem;
  --text-sm: 0.8125rem;
  --text-base: 0.875rem;
  --text-md: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.875rem;
  --text-4xl: 2.25rem;
  --text-5xl: 3rem;
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4rem;
  --space-4xl: 6rem;
  --container-max: 1400px;
  --container-padding: 20px;
  --sidebar-width: 280px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-full: 50%;
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.1);
  --shadow-lg: 0 8px 24px rgba(0,0,0,0.12);
  --shadow-xl: 0 12px 40px rgba(0,0,0,0.15);
  --shadow-card: 0 2px 8px rgba(0,0,0,0.06);
  --shadow-card-hover: 0 8px 24px rgba(0,0,0,0.12);
  --transition-fast: 0.15s ease;
  --transition-base: 0.3s ease;
  --transition-slow: 0.5s ease;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-fixed: 300;
  --z-overlay: 400;
  --z-modal: 500;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth;overflow-x:hidden}
body{font-family:var(--font-primary);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{text-decoration:none;color:inherit;transition:color var(--transition-fast)}
a:hover{color:var(--color-primary)}
img{max-width:100%;height:auto;display:block}
ul,ol{list-style:none}
button,input,select,textarea{font-family:inherit;font-size:inherit;border:none;outline:none;background:none}
button{cursor:pointer}
h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.3;color:var(--color-black)}
h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}
h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-md)}

.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}
.section{padding:var(--space-3xl) 0}
.section-title{font-size:var(--text-3xl);font-weight:700;color:var(--color-black);margin-bottom:var(--space-xl);text-align:center;position:relative}
.section-title::after{content:'';display:block;width:60px;height:3px;background:var(--color-primary);margin:var(--space-md) auto 0;border-radius:2px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:12px 24px;border-radius:var(--radius-md);font-weight:600;font-size:var(--text-base);transition:all var(--transition-base);cursor:pointer;border:none;text-decoration:none;white-space:nowrap;line-height:1}
.btn-primary{background:var(--color-primary);color:#fff}
.btn-primary:hover{background:var(--color-primary-hover);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn-accent{background:var(--color-accent);color:#fff}
.btn-accent:hover{background:var(--color-accent-hover);color:#fff;transform:translateY(-1px)}
.btn-outline{background:transparent;border:2px solid var(--color-primary);color:var(--color-primary)}
.btn-outline:hover{background:var(--color-primary);color:#fff}
.btn-dark{background:var(--color-black);color:#fff}
.btn-dark:hover{background:var(--color-dark);color:#fff}
.btn-sm{padding:8px 16px;font-size:var(--text-sm)}
.btn-lg{padding:16px 32px;font-size:var(--text-md)}

.badge{display:inline-block;padding:4px 10px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.5px;line-height:1}
.badge-hit{background:var(--color-primary);color:#fff}
.badge-sale{background:var(--color-accent);color:#fff;text-transform:none;letter-spacing:0;font-size:11px}
.badge-new{background:var(--color-green);color:#fff}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:var(--z-overlay);opacity:0;visibility:hidden;transition:all var(--transition-base)}
.overlay.active{opacity:1;visibility:visible}

@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
