/*
Theme Name: Foul-Mouth Philosopher
Theme URI: https://example.com/fmp
Author: JVL (+ GPT-5 Thinking)
Author URI: https://example.com
Description: Foul-Mouth Philosopher — a gritty, high-contrast, punk-zine WordPress theme built for irreverent essays and street-corner philosophy. Includes dark/light toggle, textured backgrounds, and bold typography.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fmp
Tags: blog, one-column, two-columns, custom-logo, custom-colors, dark-mode
*/
/* FMP says: fuck you, that’s why — but also please read the comments. Maintain your CSS like a civilized delinquent. */

/* CSS variables */
:root {
  --fmp-black: #000000;
  --fmp-bone: #f5f5f5;
  --fmp-smoke: #333333;
  --fmp-rust: #b02e2e;
  --fmp-acid: #23602f;
  --fmp-maxw: 860px;
  --fmp-font-heading: 'Oswald', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  --fmp-font-body: 'Lora', Georgia, 'Times New Roman', Times, serif;
}

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

body {
  margin: 0;
  background: var(--fmp-bone);
  color: var(--fmp-smoke);
  font-family: var(--fmp-font-body);
  line-height: 1.65;
  font-size: 18px;
}

body.fmp-dark {
  background: var(--fmp-black);
  color: var(--fmp-bone);
}

a { color: var(--fmp-rust); text-decoration: none; }
a:hover { text-decoration: underline; }

/* Layout */
.container {
  max-width: var(--fmp-maxw);
  padding: 0 20px;
  margin: 0 auto;
}

.site-header {
  display:flex; align-items:center; gap:14px;
  padding: 18px 0;
  border-bottom: 2px solid rgba(0,0,0,0.08);
}
.fmp-dark .site-header { border-bottom-color: rgba(255,255,255,0.12); }

.site-title { font-family: var(--fmp-font-heading); text-transform: uppercase; letter-spacing: .04em; font-weight:700; font-size: 28px; }
.site-description { font-size: 14px; opacity:.8; }

.logo { width: 44px; height: 44px; display:inline-block; }

.nav-primary { margin-left:auto; display:flex; gap: 14px; font-family: var(--fmp-font-heading); font-size:14px; }
.nav-primary a { color: inherit; opacity:.9 }
.nav-primary a:hover { opacity:1; }

/* Toggle Button */
.theme-toggle {
  margin-left: 8px;
  border: 1px solid currentColor;
  background: transparent;
  padding: 6px 10px;
  border-radius: 999px;
  font-family: var(--fmp-font-heading);
  text-transform: uppercase;
  cursor: pointer;
}

/* Grid */
.grid {
  display:grid;
  grid-template-columns: repeat(auto-fill,minmax(280px,1fr));
  gap: 22px;
}

.card {
  border: 2px solid rgba(0,0,0,0.09);
  padding: 16px;
  background: #fff;
  box-shadow: 6px 6px 0 rgba(0,0,0,0.1);
}
.fmp-dark .card { background:#111; border-color: rgba(255,255,255,0.15); box-shadow: 6px 6px 0 rgba(255,255,255,0.08);}

.card .card-title { font-family: var(--fmp-font-heading); font-size: 22px; line-height:1.2; margin: 0 0 6px; }
.card .meta { font-size: 13px; opacity:.75; margin-bottom: 10px; }

/* Content */
h1,h2,h3,h4,h5,h6 { font-family: var(--fmp-font-heading); text-transform: uppercase; letter-spacing:.02em; }
h1 { font-size: 40px; line-height:1.05; }
h2 { font-size: 30px; }
blockquote {
  border-left: 6px solid var(--fmp-rust);
  padding-left: 14px;
  margin-left: 0;
  font-style: italic;
  background: linear-gradient(90deg, rgba(176,46,46,0.07), transparent);
}

pre, code { background: rgba(0,0,0,0.06); padding: 2px 6px; border-radius: 4px; }
.fmp-dark pre, .fmp-dark code { background: rgba(255,255,255,0.12); }

.site-footer { padding: 40px 0; margin-top: 60px; border-top: 2px solid rgba(0,0,0,0.08); font-size: 14px; }
.fmp-dark .site-footer { border-top-color: rgba(255,255,255,0.12); }

/* Images & textures */
.fmp-texture {
  background-image: url('{
    get_theme_file_uri('assets/texture-placeholder.png')
  }');
  background-size: cover;
  background-repeat: repeat;
  mix-blend-mode: multiply;
  opacity:.15;
}

/* Accessibility helpers */
.screen-reader-text { position:absolute; left:-9999px; }

/* FMP says: If you add custom chaos, annotate it. Future-You is tired. */
