/*
Theme Name: Inkthorn
Theme URI: https://msgenevieve.com
Author: Inkthorn
Author URI: https://msgenevieve.com
Description: A dark, gothic WordPress theme built around Cinzel Decorative display type over IM Fell English body copy, crimson and gold accents, and dense shadowed cards. Ships an Updates listing, single dispatches, full block-editor parity, and shortcodes for booking blocks, affirmations, travel dates, and social rows.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: inkthorn
Tags: dark, blog, one-column, custom-logo, custom-menu, featured-images, sticky-post, translation-ready
*/

/* ── TOKENS ── */

:root {
  --black: #080808;
  --deep: #0d0d0d;
  --card: #111111;
  --card2: #0f0f0f;
  --crimson: #9B0000;
  --crimson-light: #cc1111;
  --crimson-glow: #cc1111;
  --gold: #8a6f3a;
  --gold-light: #c9a84c;
  --text: #d4c8bc;
  --text-muted: #7a6e68;
  --border: #1e1515;
}

/* ── RESET ── */

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

html { scroll-behavior: smooth; }

/* ── BODY ── */

body {
  background-color: var(--black);
  background-image:
    radial-gradient(ellipse at top, #1a0505 0%, transparent 60%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cpath d='M30 5 L35 20 L50 20 L38 29 L43 44 L30 35 L17 44 L22 29 L10 20 L25 20 Z' fill='none' stroke='%231a0808' stroke-width='0.5' opacity='0.4'/%3E%3C/svg%3E");
  color: var(--text);
  font-family: 'IM Fell English', serif;
  min-height: 100vh;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ── GENERIC ELEMENTS ── */

h1, h2, h3, h4, h5, h6 {
  font-family: 'Cinzel Decorative', serif;
  font-weight: 700;
  line-height: 1.2;
}

strong { color: #fff; font-weight: 600; }

em { color: var(--crimson-light); font-style: italic; }

a {
  color: var(--crimson-light);
  text-decoration: none;
  transition: color 0.2s, background-color 0.2s;
}

a:hover, a:focus { color: #fff; }

img, video, iframe, embed, object { max-width: 100%; }

img { height: auto; outline: 1px solid rgba(0, 0, 0, 0.1); outline-offset: -1px; }

::selection {
  background: rgba(204, 17, 17, 0.35);
  color: #fff;
}

/* ── ACCESSIBILITY ── */

.screen-reader-text,
.skip-link {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus,
.skip-link:focus {
  background-color: var(--card);
  border-radius: 2px;
  box-shadow: 0 0 0 3px var(--black), 0 0 0 6px var(--crimson-light);
  clip: auto !important;
  clip-path: none;
  color: #fff;
  display: block;
  font-family: 'Cinzel', serif;
  font-size: 0.8rem;
  height: auto;
  left: 20px;
  letter-spacing: 0.2em;
  line-height: normal;
  padding: 12px 20px;
  text-decoration: none;
  text-transform: uppercase;
  top: 20px;
  width: auto;
  z-index: 100000;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--crimson-light);
  outline-offset: 2px;
}