/*
Theme Name: Compose Yourself Magazine Modern
Theme URI: https://composeyourselfmagazine.com
Author: Compose Yourself Media
Author URI: https://composeyourselfmagazine.com
Description: Modern high-performance responsive editorial theme for Compose Yourself Magazine featuring 6-pillar mega-menus, regional scene desks, festival radars, and dark obsidian / warm amber hybrid styling.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: cym-modern
*/

/* Reset & Root Variables */
:root {
  --mag-bg: #0c0e12;
  --mag-surface: #131720;
  --mag-surface-elevated: #1a202c;
  --mag-border: #232938;
  --mag-text: #f3f4f6;
  --mag-muted: #9ca3af;
  --mag-accent: #f59e0b; /* Sunset Amber */
  --mag-accent-hover: #d97706;
  --mag-accent-soft: rgba(245, 158, 11, 0.15);
  --mag-rose: #f43f5e;
  --font-serif: "Georgia", "Cambria", "Times New Roman", serif;
  --font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

*, *::before, *::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
  background-color: var(--mag-bg);
  color: var(--mag-text);
  font-family: var(--font-sans);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

/* Fluid Typography */
.fluid-hero-title {
  font-size: clamp(1.75rem, 3.2vw, 2.75rem);
  line-height: 1.1;
  letter-spacing: -0.025em;
}

.fluid-masthead {
  font-size: clamp(1.65rem, 3.2vw, 2.75rem);
  line-height: 0.95;
  letter-spacing: -0.04em;
}

/* Subgrid cards per modern-web-guidance */
.subgrid-card-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.5rem;
  inline-size: 100%;
}

.subgrid-card {
  display: grid;
  grid-row: span 3;
  grid-template-rows: auto 1fr auto;
  grid-template-rows: subgrid;
}

/* Aspect ratio containers */
.aspect-16-10 {
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
  inline-size: 100%;
}

.aspect-16-9 {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
  inline-size: 100%;
}

.aspect-square {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  inline-size: 100%;
}
