:root {
  /* Palette: Nature Green & Earthy Orange */
  --primary-color: #27AE60;
  --secondary-color: #16A085;
  --accent-color: #5CB338;
  --text-color: #2C3D4F;
  --background-color: #F2F2F2;
  --light-color: #EAE4D5; /* For Testimonials bg */
  --dark-color: #0F1021; /* Footer */
  --highlight-color: #C0392B; /* Complementary Red/Orange */
  
  --product-width: 350px;
  --container-width: 1200px;
  
  --heading-font: 'Montserrat', sans-serif;
  --body-font: 'Open Sans', sans-serif;
}

body {
    font-family: var(--body-font);
    background-color: var(--background-color);
    color: var(--text-color);
}

/* Custom Utilities based on Vars */
.header-bg {
    background-color: #ffffff;
    border-bottom: 2px solid var(--secondary-color);
}

.pattern-bg {
    background-image: radial-gradient(circle at 10% 20%, var(--accent-color) 0%, transparent 20%), 
                      radial-gradient(circle at 90% 80%, var(--primary-color) 0%, transparent 25%);
}

.content-box {
    background-color: #ffffff;
    border: 1px solid rgba(0,0,0,0.05);
}

.cta-button {
    background-color: var(--highlight-color);
    color: #ffffff;
}

.cta-button:hover {
    background-color: var(--secondary-color);
}

.highlight-box {
    background-color: var(--highlight-color);
    color: #ffffff;
}

.icon-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: var(--light-color);
    font-size: 1.2rem;
}

/* Responsive Footer Alignment */
@media (min-width: 768px) {
    footer .container {
        align-items: center;
    }
}