/* ==========================================================================
   TamilCalendar.com — canonical brand theme tokens + utility classes
   Single source of truth for the traditional red/gold Tamil-calendar look.
   Linked site-wide from header.php. Pages should consume var(--tc-*) instead of
   hardcoding brand hexes, so the look stays consistent as pages multiply.
   ========================================================================== */
:root {
  /* Core brand palette */
  --tc-red: #b91c1c;          /* primary */
  --tc-orange: #d83b01;       /* mid */
  --tc-saffron: #f97316;      /* bright */
  --tc-gold: #fbbf24;         /* accent */
  --tc-gold-light: #fde68a;   /* light accent / borders / hero subtitle */
  --tc-maroon: #7f1d1d;       /* deep / header bar */
  --tc-maroon-2: #991b1b;
  /* Backgrounds */
  --tc-cream: #fffdf8;
  --tc-cream-2: #fffbeb;
  --tc-cream-3: #fef3c7;      /* light tint / table-row hover */
  /* Text */
  --tc-ink: #222;
  --tc-badge-text: #78350f;
  /* Composite */
  --tc-hero: linear-gradient(135deg, #b91c1c 0%, #d83b01 50%, #f97316 100%);
  --tc-hero-dark: linear-gradient(135deg, #b91c1c, #d83b01);
  --tc-font: "Noto Sans Tamil", sans-serif;
  --tc-radius: 12px;
  --tc-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

/* Shared theme utility classes (consume the tokens above) */
.theme-gradient { background: var(--tc-hero); }
.theme-gradient-dark { background: var(--tc-hero-dark); }
.theme-text-primary { color: var(--tc-red); }
.theme-text-secondary { color: var(--tc-orange); }
.theme-text-accent { color: var(--tc-saffron); }
.theme-bg-light { background: var(--tc-cream-3); }
.theme-bg-cream { background: var(--tc-cream-2); }
.theme-border { border-color: var(--tc-gold-light); }
.theme-badge { background: var(--tc-gold); color: var(--tc-badge-text); }
.theme-btn {
  background: linear-gradient(135deg, var(--tc-orange), var(--tc-saffron));
  color: #fff; border: none; border-radius: 6px; padding: 12px 24px;
  font-weight: 600; cursor: pointer; transition: transform 0.2s, box-shadow 0.2s;
}
.theme-btn:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(216,59,1,0.3); }
.theme-hero {
  background: var(--tc-hero); color: #fff; padding: 30px; border-radius: var(--tc-radius);
  text-align: center; position: relative; overflow: hidden;
}
.theme-hero::before {
  content: ''; position: absolute; top: -50%; right: -20%; width: 60%; height: 200%;
  background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
  pointer-events: none;
}
.theme-hero h1, .theme-hero h2, .theme-hero p { position: relative; }
.theme-card { background: #fff; border-radius: var(--tc-radius); box-shadow: var(--tc-shadow); padding: 20px; }
.theme-section-title { font-size: 18px; font-weight: 700; color: var(--tc-red); margin-bottom: 15px; }
.theme-table th {
  background: var(--tc-hero-dark); color: #fff; padding: 12px; text-align: left; font-weight: 600;
}
.theme-table td { padding: 12px; border-bottom: 1px solid var(--tc-gold-light); }
.theme-table tr:hover { background: var(--tc-cream-3); }
