/*
Theme Name: Katedra
Theme URI: https://katedra.example
Author: Katedra Redaction
Author URI: https://katedra.example
Description: Minimalistyczny, edytorski motyw WordPress dla bloga o edukacji. Serif headlines, mono meta, intensywnie konfigurowalny Customizer, fullscreen mobile menu, SEO (JSON-LD) i performance out of the box.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.5
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: katedra
Tags: blog, education, news, one-column, two-columns, three-columns, right-sidebar, left-sidebar, custom-colors, custom-menu, custom-logo, featured-images, threaded-comments, translation-ready, editor-style, block-styles, wide-blocks, accessibility-ready, rtl-language-support
*/

/* Core theme tokens — these are also exposed as CSS variables through Customizer output
   See /inc/customizer-output.php for runtime overrides. */

:root {
  /* Colors (customizable) */
  --bg: #FAFAF7;
  --bg-alt: #F2F1EB;
  --paper: #FFFFFF;
  --ink: #1A1A1A;
  --ink-2: #4A4A47;
  --ink-3: #8B8B85;
  --line: #1A1A1A;
  --line-soft: #D9D7CF;
  --accent: #2F6A3A;
  --accent-2: #B07A2A;
  --highlight: #E9F1DA;
  --error: #C0392B;
  --success: #2F6A3A;

  /* Typography (customizable) */
  --font-body: "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --font-serif: "Newsreader", "Source Serif Pro", Georgia, serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --font-size-base: 16px;
  --line-height-base: 1.6;
  --heading-scale: 1;

  /* Layout (customizable) */
  --container-wide: 1280px;
  --container-narrow: 760px;
  --container-medium: 1024px;
  --gutter: 32px;
  --gutter-mobile: 20px;
  --section-pad-y: 96px;
  --section-pad-y-mobile: 48px;
  --header-height: 72px;
  --sidebar-width: 320px;

  /* Motion */
  --t-fast: 150ms;
  --t-base: 200ms;
  --t-slow: 320ms;
  --ease: cubic-bezier(.2, .7, .2, 1);

  /* Radius (intentionally 0 — editorial minimalism) */
  --radius: 0px;
  --radius-input: 0px;

  /* Z-index stack */
  --z-nav: 50;
  --z-drawer: 80;
  --z-modal: 90;
  --z-toast: 100;
}

/* Base reset */
*, *::before, *::after { box-sizing: border-box; }
html, body, h1, h2, h3, h4, h5, h6, p, figure, blockquote, ol, ul, dl, dd { margin: 0; }
ol, ul { padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
body {
  font-family: var(--font-body);
  background: var(--bg);
  color: var(--ink);
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
body.katedra-no-scroll { overflow: hidden; }

img, picture, video, canvas, svg { display: block; max-width: 100%; height: auto; }
input, button, textarea, select { font: inherit; color: inherit; }
button { background: none; border: 0; cursor: pointer; padding: 0; }

a { color: inherit; text-decoration: none; }
a.link, .prose a { border-bottom: 1px solid currentColor; padding-bottom: 1px; transition: opacity var(--t-base); }
a.link:hover, .prose a:hover { opacity: .55; }

/* Utility classes */
.serif { font-family: var(--font-serif); font-weight: 400; letter-spacing: -0.01em; }
.mono  { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; }
.meta  { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-3); }
.hr          { height: 1px; background: var(--line-soft); border: 0; margin: 0; }
.hr-dark     { height: 1px; background: var(--line); border: 0; margin: 0; }
.sr-only {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.skip-link {
  position: absolute; top: -100px; left: 12px; background: var(--ink); color: var(--bg);
  padding: 10px 16px; font-family: var(--font-mono); font-size: 12px; z-index: 200;
  transition: top var(--t-base);
}
.skip-link:focus { top: 12px; }

/* Focus ring */
:where(a, button, input, textarea, select, details, [tabindex]):focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

/* Layout wrappers */
.wrap        { max-width: var(--container-wide);   margin: 0 auto; padding: 0 var(--gutter); }
.wrap-medium { max-width: var(--container-medium); margin: 0 auto; padding: 0 var(--gutter); }
.wrap-narrow { max-width: var(--container-narrow); margin: 0 auto; padding: 0 var(--gutter); }
.section-y   { padding-block: var(--section-pad-y); }

/* Import modular pieces */
