/* Google Fonts: Amatic SC (headings) and Barlow (body) */
@import url('https://fonts.googleapis.com/css2?family=Amatic+SC:wght@400;700&family=Barlow:ital,wght@0,400;0,500;0,600;1,400&display=swap');

:root {
  /* Colors - Precisely matched from Colors and Fonts sheet */
  --cg-color-bg-primary: #F3EDE6;      /* Main soft creamy ivory background */
  --cg-color-bg-alt: #BFCDCC;          /* Light sage/blue-grey background */
  --cg-color-bg-dark: #2A2E30;         /* Deep charcoal footer/dark container */
  --cg-color-primary-text: #2A2E30;    /* Primary dark charcoal text */
  --cg-color-white: #FFFFFF;
  
  --cg-color-accent-terracotta: #EDC3AE; /* Terracotta peach-coral for badges / "Explore the kits" button */
  --cg-color-accent-sage: #648181;       /* Teal/Sage green for primary CTA buttons */
  
  /* Typography */
  --cg-font-headings: 'Amatic SC', cursive, sans-serif;
  --cg-font-body: 'Barlow', sans-serif;

  /* Spacing */
  --cg-spacing-xs: 0.5rem;
  --cg-spacing-sm: 1rem;
  --cg-spacing-md: 2rem;
  --cg-spacing-lg: 4rem;
  --cg-spacing-xl: 6rem;

  /* Borders & Radius */
  --cg-border-radius: 4px; /* Soft small rounded corners */
  --cg-border-thin: 1px solid rgba(42, 46, 48, 0.15);
  --cg-border-dark: 1px solid #2A2E30;
}

/* Background Utility Classes */
.cg-bg-primary { background-color: var(--cg-color-bg-primary); }
.cg-bg-alt { background-color: var(--cg-color-bg-alt); }
.cg-bg-dark { background-color: var(--cg-color-bg-dark); color: var(--cg-color-white) !important; }

/* Text Utility Classes */
.cg-text-primary { color: var(--cg-color-primary-text); }
.cg-text-white { color: var(--cg-color-white); }
.cg-text-muted { color: rgba(42, 46, 48, 0.7); }
.cg-text-muted-white { color: rgba(255, 255, 255, 0.7); }

/* Typography Utility Classes */
.cg-font-heading {
  font-family: var(--cg-font-headings);
  font-weight: 700;
  letter-spacing: 0.05em;
}

.cg-font-body {
  font-family: var(--cg-font-body);
  line-height: 1.6;
}

.cg-font-meta {
  font-family: var(--cg-font-body);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-weight: 600;
}

/* Specific Component Typography mimicking Screenshot */
.cg-hero-title {
  font-family: var(--cg-font-headings);
  font-size: clamp(3rem, 8vw, 6.5rem);
  line-height: 1;
  color: var(--cg-color-white);
  letter-spacing: 0.02em;
}

.cg-section-title {
  font-family: var(--cg-font-headings);
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  line-height: 1.1;
  color: var(--cg-color-primary-text);
}

.cg-card-title {
  font-family: var(--cg-font-headings);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  line-height: 1.1;
  color: var(--cg-color-primary-text);
  margin-top: var(--cg-spacing-xs);
  margin-bottom: var(--cg-spacing-xs);
}

/* Button & Badge Styles */
.cg-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--cg-font-headings);
  font-size: 1.25rem;
  letter-spacing: 0.05em;
  padding: 0.5rem 1.75rem;
  border-radius: var(--cg-border-radius);
  text-decoration: none;
  transition: all 0.3s ease;
  cursor: pointer;
}

/* Dark teal action CTA (e.g. "FIND YOUR KIT") */
.cg-btn-sage {
  background-color: var(--cg-color-accent-sage);
  color: var(--cg-color-white);
  border: 1px solid var(--cg-color-accent-sage);
}
.cg-btn-sage:hover {
  background-color: #4f6767;
  border-color: #4f6767;
}

/* Terracotta CTA button (e.g. "EXPLORE THE KITS") */
.cg-btn-terracotta {
  background-color: var(--cg-color-accent-terracotta);
  color: var(--cg-color-primary-text);
  border: 1px solid var(--cg-color-accent-terracotta);
}
.cg-btn-terracotta:hover {
  background-color: #dfb29a;
  border-color: #dfb29a;
}

/* Outline CTA (e.g. "LEARN TO CROCHET") */
.cg-btn-outline {
  background-color: transparent;
  color: var(--cg-color-white);
  border: 1.5px solid var(--cg-color-white);
}
.cg-btn-outline:hover {
  background-color: var(--cg-color-white);
  color: var(--cg-color-primary-text);
}

/* White outline grey text CTA (e.g. "ALL ARTICLES", Amazon Buttons) */
.cg-btn-muted-outline {
  background-color: transparent;
  color: var(--cg-color-primary-text);
  border: 1px solid rgba(42, 46, 48, 0.25);
  font-size: 1.1rem;
  padding: 0.35rem 1.25rem;
}
.cg-btn-muted-outline:hover {
  border-color: var(--cg-color-primary-text);
  background-color: rgba(42, 46, 48, 0.03);
}

/* Soft badge/tag style label (e.g. "YOU'VE GOT THIS!") */
.cg-badge-terracotta {
  display: inline-block;
  background-color: var(--cg-color-accent-terracotta);
  color: var(--cg-color-primary-text);
  font-family: var(--cg-font-headings);
  font-size: 1.5rem;
  padding: 0.35rem 1rem;
  transform: rotate(-1deg);
  box-shadow: 2px 2px 8px rgba(0,0,0,0.05);
}

/* Structure and Spacing helpers */
.cg-container {
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--cg-spacing-md);
  padding-right: var(--cg-spacing-md);
}

.cg-grid-3 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--cg-spacing-md);
}
