/*
Theme Name: Grappelli-Django Camp 3.0
Theme URI: https://grappellidjangocamp.com
Author: Grappelli-Django Camp
Description: The camp's own theme. The public pages are the design files themselves, served as they are with their payload inlined ahead of the runtime. Records, money, mail and the hub live in the Grappelli-Django Camp plugin, so they survive a theme change.
Version: 3.0.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: grappelli-django-camp
*/

/* The camp pages carry their own styles inline. What is left here is what a WordPress theme
   still has to answer for: the plain template, and the reset both share. */

:root {
  --gd-red: #c4494b;
  --gd-red-dark: #a63b3d;
  --gd-teal: #1c6b6b;
  --gd-ink: #1a1a1a;
  --gd-paper: #faf9f7;
  --gd-rule: #e2e0dc;
}

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

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: #ffffff;
  color: var(--gd-ink);
  font-family: Poppins, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 17px;
  line-height: 1.7;
  text-wrap: pretty;
}

a { color: var(--gd-red); }
a:hover { color: var(--gd-red-dark); }

:focus-visible { outline: 2px solid var(--gd-red); outline-offset: 2px; }

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

/* The plain template: stray pages, posts, search, 404. Deliberately quiet - the camp's own
   pages are the designed ones, and anything landing here is either archive or a mistake. */

.gd-plain {
  max-width: 720px;
  margin: 0 auto;
  padding: 72px 24px 96px;
}

.gd-plain__eyebrow {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gd-red);
}

.gd-plain h1 {
  font-family: Bitter, Georgia, serif;
  font-weight: 700;
  font-size: 40px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin: 14px 0 0;
}

.gd-plain__rule {
  width: 84px;
  height: 4px;
  background: #e4f08c;
  margin: 22px 0 30px;
}

.gd-plain h2 { font-family: Bitter, Georgia, serif; font-size: 26px; line-height: 1.2; margin: 40px 0 0; }
.gd-plain h3 { font-family: Bitter, Georgia, serif; font-size: 21px; line-height: 1.25; margin: 32px 0 0; }
.gd-plain p, .gd-plain ul, .gd-plain ol { margin: 18px 0 0; }
.gd-plain li + li { margin-top: 8px; }
.gd-plain figure { margin: 28px 0 0; }
.gd-plain figcaption { font-size: 14px; color: #6e6e6a; margin-top: 8px; }

.gd-plain__meta {
  font-size: 14px;
  color: #6e6e6a;
  margin-top: 10px;
}

.gd-plain__back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  margin-top: 44px;
  padding: 0 26px;
  border: 1.5px solid var(--gd-red);
  border-radius: 999px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
}
.gd-plain__back:hover { background: #fbeeee; color: var(--gd-red-dark); }

.gd-plain__list { margin: 30px 0 0; padding: 0; list-style: none; }
.gd-plain__list a { font-family: Bitter, Georgia, serif; font-size: 19px; text-decoration: none; }
.gd-plain__list li { padding: 16px 0; border-top: 1px solid var(--gd-rule); }
