/**
 * MoodHera Main CSS
 * Professional styling for MoodHera Events theme
 * 
 * @package MoodHera
 * @since 1.0.0
 */

/* ============================= */
/* BASE STYLES                   */
/* ============================= */

* {
  box-sizing: border-box;
}

body {
  font-family: var(--moodhera-font-body);
  background-color: var(--moodhera-bg-primary);
  color: var(--moodhera-text-primary);
  line-height: 1.6;
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--moodhera-font-heading);
  font-weight: 600;
  line-height: 1.2;
  color: var(--moodhera-text-primary);
}

/* Links */
a {
  color: var(--moodhera-purple);
  text-decoration: none;
  transition: color 0.2s ease;
}

a:hover {
  color: var(--moodhera-pink);
}

/* Buttons */
.moodhera-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--moodhera-space-xs);
  padding: var(--moodhera-space-sm) var(--moodhera-space-md);
  border: none;
  border-radius: var(--moodhera-radius-md);
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
}

.moodhera-btn--primary {
  background: var(--moodhera-gradient-primary);
  color: white;
}

.moodhera-btn--secondary {
  background: var(--moodhera-gradient-secondary);
  color: white;
}

.moodhera-btn:hover {
  transform: translateY(-1px);
  box-shadow: var(--moodhera-shadow-lg);
}

/* Cards */
.moodhera-card {
  background: var(--moodhera-bg-primary);
  border: 1px solid var(--moodhera-border);
  border-radius: var(--moodhera-radius-lg);
  padding: var(--moodhera-space-lg);
  box-shadow: var(--moodhera-shadow-sm);
  transition: all 0.2s ease;
}

.moodhera-card:hover {
  box-shadow: var(--moodhera-shadow-md);
  transform: translateY(-2px);
}

/* ============================= */
/* LAYOUT UTILITIES              */
/* ============================= */

.moodhera-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--moodhera-space-md);
}

.moodhera-container--full {
  max-width: none;
  padding: 0;
}

.moodhera-grid {
  display: grid;
  gap: var(--moodhera-space-lg);
}

.moodhera-grid--2 {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.moodhera-grid--3 {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

.moodhera-flex {
  display: flex;
  gap: var(--moodhera-space-md);
}

.moodhera-flex--center {
  align-items: center;
  justify-content: center;
}

.moodhera-flex--between {
  justify-content: space-between;
}

/* ============================= */
/* ASTRA OVERRIDES              */
/* ============================= */

/* Make containers full width where needed */
.ast-container {
  max-width: none;
  padding: 0;
}

.site-content > .ast-container {
  max-width: 1200px;
  padding: 0 var(--moodhera-space-md);
}

/* Remove default Astra margins */
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single {
  background: transparent;
  border: none;
  box-shadow: none;
}

/* Header customizations */
.site-header {
  background: var(--moodhera-bg-primary);
  border-bottom: 1px solid var(--moodhera-border);
}

/* ============================= */
/* RESPONSIVE DESIGN             */
/* ============================= */

/* Mobile First Approach */
@media (max-width: 768px) {
  .moodhera-container {
    padding: 0 var(--moodhera-space-sm);
  }
  
  .moodhera-grid--2,
  .moodhera-grid--3 {
    grid-template-columns: 1fr;
  }
  
  .moodhera-flex {
    flex-direction: column;
  }
}

/* Tablet */
@media (min-width: 769px) and (max-width: 1024px) {
  .moodhera-grid--3 {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Desktop */
@media (min-width: 1025px) {
  .moodhera-container {
    padding: 0 var(--moodhera-space-lg);
  }
}

/* ============================= */
/* COMPONENT IMPORTS             */
/* ============================= */

/* Import homepage components */
@import url('homepage.css');

/* ============================= */
/* COMPONENT PLACEHOLDERS        */
/* ============================= */

/* Additional components will be added here as needed */
