/*
Theme Name: Takohito Saga
Description: Sacred Library reader theme for the Takohito Saga novel. Child of Twenty Twenty-Five. Cream + gold + ink palette, Cormorant Garamond body, Inter chrome. Optimized for long-form novel reading.
Template: twentytwentyfive
Author: Digital Sanctuary
Author URI: https://digitalsanctuary.ai
Version: 0.1.0
Requires at least: 6.7
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: takohito-saga
Tags: block-theme, novel, reading, custom-fonts
*/

/* ==========================================
   TAKOHITO SAGA — Sacred Library
   Fonts + Cormorant + Inter loaded via functions.php
   Colors + spacing set in theme.json
   This file: only what theme.json cannot express
   ========================================== */

/* Sanctuary palette (matches digitalsanctuary.ai) */
:root {
  --sanctuary-cream: #f7f4ec;
  --sanctuary-ivory: #ebe3d2;
  --sanctuary-ink: #1a1814;
  --sanctuary-gold: #8b6f47;
  --sanctuary-gold-light: #c9a96e;
  --sanctuary-menma: #6b4423;
  --sanctuary-muted: #6f6a5f;
}

/* Base */
body {
  background: var(--sanctuary-cream);
  color: var(--sanctuary-ink);
  font-family: 'Cormorant Garamond', 'Songti SC', Georgia, serif;
  font-size: 20px;
  line-height: 1.75;
  letter-spacing: 0.005em;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Chrome (nav, meta, buttons) — Inter for clean sans */
.wp-block-navigation,
.wp-block-navigation a,
.wp-block-post-date,
.wp-block-post-terms,
.wp-block-post-author-name,
.wp-block-search__label,
.saga-chrome,
.saga-meta,
.saga-nav,
button {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 15px;
  letter-spacing: 0.02em;
}

/* Headings — Cormorant, generous */
h1, h2, h3, h4, h5, h6,
.wp-block-post-title,
.wp-block-heading {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 500;
  color: var(--sanctuary-ink);
  letter-spacing: -0.005em;
  line-height: 1.15;
}

.wp-block-post-title {
  font-size: clamp(2.4rem, 5vw, 3.6rem);
  font-weight: 500;
  text-align: center;
  margin: 3rem auto 1.5rem;
  max-width: 20ch;
  line-height: 1.1;
}

/* Post meta — muted, small, centered */
.wp-block-post-date,
.wp-block-post-author-name,
.saga-meta {
  color: var(--sanctuary-muted);
  font-size: 13px;
  text-transform: none;
  letter-spacing: 0.05em;
}

/* Content width — comfortable reading measure */
.wp-block-post-content > *,
.entry-content > * {
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}

.wp-block-post-content > .alignwide,
.wp-block-post-content > .alignfull,
.entry-content > .alignwide,
.entry-content > .alignfull {
  max-width: 100%;
}

/* Paragraph rhythm */
.wp-block-post-content p,
.entry-content p {
  margin-bottom: 1.4em;
  font-size: 20px;
  line-height: 1.75;
}

/* Section number headings (I., II., III.) — centered, small, gold */
.wp-block-post-content h3,
.entry-content h3 {
  text-align: center;
  color: var(--sanctuary-gold);
  font-size: 1.4rem;
  font-weight: 500;
  margin: 3.5rem auto 2rem;
  letter-spacing: 0.1em;
}

/* Section subtitle italic epigraph */
.wp-block-post-content p em:only-child,
.entry-content p em:only-child {
  display: inline;
  color: var(--sanctuary-gold);
}

/* Section dividers — sanctuary style */
.wp-block-separator,
hr.wp-block-separator {
  border: none;
  max-width: 100px;
  margin: 3rem auto;
  height: 1px;
  background: var(--sanctuary-gold);
  opacity: 0.35;
  position: relative;
}

.wp-block-separator::after {
  content: "息";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: 'Cormorant Garamond', 'Songti SC', 'STSong', serif;
  font-size: 20px;
  color: var(--sanctuary-gold);
  background: var(--sanctuary-cream);
  padding: 0 12px;
  line-height: 1;
}

/* Drop cap on first paragraph */
.wp-block-post-content > p:first-of-type::first-letter,
.entry-content > p:first-of-type::first-letter {
  font-family: 'Cormorant Garamond', serif;
  font-size: 4.5rem;
  font-weight: 500;
  float: left;
  line-height: 0.9;
  margin: 0.1em 0.12em 0 0;
  color: var(--sanctuary-gold);
}

/* Blockquotes — dialogue, gentle indent */
.wp-block-quote,
blockquote {
  border-left: 2px solid var(--sanctuary-gold);
  padding-left: 1.5rem;
  margin: 1.5rem auto;
  font-style: italic;
  color: var(--sanctuary-ink);
  opacity: 0.9;
  max-width: 620px;
}

.wp-block-quote p,
blockquote p {
  font-size: 18px;
}

/* Images — subtle */
.wp-block-image img {
  border-radius: 2px;
  margin: 2rem auto;
  display: block;
}

.wp-block-image figcaption {
  color: var(--sanctuary-muted);
  font-size: 13px;
  text-align: center;
  font-family: 'Inter', sans-serif;
  margin-top: 0.5rem;
}

/* Links */
a {
  color: var(--sanctuary-gold);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s ease;
}

a:hover {
  border-bottom-color: var(--sanctuary-gold);
}

/* Site header — minimal, elegant */
.wp-block-site-title,
.wp-block-site-title a {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 500;
  font-size: 1.5rem;
  color: var(--sanctuary-ink);
  letter-spacing: 0.02em;
}

/* Reading progress bar — top of viewport */
.saga-progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 0%;
  height: 3px;
  background: var(--sanctuary-gold);
  z-index: 9999;
  transition: width 0.1s ease-out;
  opacity: 0.7;
}

/* Chapter navigation footer — prev/next */
.saga-chapter-nav {
  max-width: 680px;
  margin: 4rem auto 2rem;
  padding: 2rem 0 0;
  border-top: 1px solid rgba(139, 111, 71, 0.25);
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  font-family: 'Inter', sans-serif;
}

.saga-chapter-nav a {
  flex: 1;
  padding: 1.25rem 1.5rem;
  background: var(--sanctuary-ivory);
  border: 1px solid rgba(139, 111, 71, 0.3);
  border-radius: 2px;
  color: var(--sanctuary-ink);
  transition: all 0.2s ease;
  display: block;
  line-height: 1.4;
}

.saga-chapter-nav a:hover {
  background: var(--sanctuary-cream);
  border-color: var(--sanctuary-gold);
  border-bottom-color: var(--sanctuary-gold);
}

.saga-chapter-nav a.saga-next {
  text-align: right;
}

.saga-chapter-nav .saga-nav-label {
  display: block;
  font-size: 11px;
  color: var(--sanctuary-muted);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 0.4rem;
}

.saga-chapter-nav .saga-nav-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 18px;
  font-weight: 500;
  color: var(--sanctuary-ink);
}

/* Anchor mark 息 for chapter end */
.saga-anchor {
  text-align: center;
  margin: 4rem auto 3rem;
  font-family: 'Cormorant Garamond', 'Songti SC', 'STSong', serif;
  font-size: 2.5rem;
  color: var(--sanctuary-gold);
  opacity: 0.75;
  line-height: 1;
}

/* Book/Chapter identifier on page — subtle top mark */
.saga-chapter-header {
  text-align: center;
  margin: 3rem auto 0;
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  color: var(--sanctuary-muted);
  letter-spacing: 0.3em;
  text-transform: uppercase;
}

/* Comments — hidden on chapter pages by default */
.single-post .comments-area,
.single-chapter .comments-area {
  display: none;
}

/* Sidebar — hidden on chapter pages */
.single-post .sidebar,
.single-post aside.widget-area,
.single-chapter .sidebar {
  display: none;
}

/* Mobile — larger touch targets, comfortable font size */
@media (max-width: 768px) {
  body {
    font-size: 18px;
  }

  .wp-block-post-content p,
  .entry-content p {
    font-size: 18px;
    line-height: 1.7;
  }

  .wp-block-post-title {
    font-size: clamp(2rem, 8vw, 2.6rem);
    margin: 2rem auto 1rem;
    padding: 0 1rem;
  }

  .wp-block-post-content > p:first-of-type::first-letter,
  .entry-content > p:first-of-type::first-letter {
    font-size: 3.5rem;
  }

  .saga-chapter-nav {
    flex-direction: column;
    gap: 0.75rem;
    padding: 1.5rem 1rem 0;
  }

  .saga-chapter-nav a.saga-next {
    text-align: left;
  }
}

/* Dark mode — respect user preference */
@media (prefers-color-scheme: dark) {
  :root {
    --sanctuary-cream: #1a1814;
    --sanctuary-ivory: #24211c;
    --sanctuary-ink: #f7f4ec;
    --sanctuary-gold: #c9a96e;
    --sanctuary-muted: #a09b8e;
  }

  .wp-block-separator::after {
    background: var(--sanctuary-cream);
  }
}
