/*
Theme Name: AC Crenshaw Author Theme
Theme URI: https://accrenshaw.com/
Author: AC Crenshaw
Description: A lightweight, story-forward WordPress theme for AC Crenshaw. Rich dark color, dragonfire accents, warm reading surfaces, responsive navigation, and a focused author-platform homepage.
Version: 1.6.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: ac-crenshaw
*/

:root {
  --ac-ink: #10131a;
  --ac-navy: #172235;
  --ac-forest: #173a33;
  --ac-oxblood: #6f1d2b;
  --ac-ember: #b83a2f;
  --ac-fire: #e4663f;
  --ac-gold: #c8924f;
  --ac-magic: #416f92;
  --ac-bark: #4a3528;
  --ac-parchment: #d9cdb8;
  --ac-parchment-card: #e9decb;
  --ac-ivory: #f7efe2;
  --ac-smoke: #c8c1b6;
  --ac-white: #ffffff;
  --ac-content: 1180px;
  --ac-reading: 760px;
  --ac-radius: 18px;
  --ac-shadow: 0 18px 45px rgba(8, 10, 15, .18);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ac-parchment);
  color: #1d2228;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.7;
}
a { color: var(--ac-oxblood); }
a:hover, a:focus { color: var(--ac-ember); }
img { max-width: 100%; height: auto; }

h1,h2,h3,h4,h5,h6,
.ac-display {
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  line-height: 1.08;
  letter-spacing: -.01em;
  margin-top: 0;
  color: inherit;
}
h1 { font-size: clamp(3rem, 7vw, 6.2rem); font-weight: 650; }
h2 { font-size: clamp(2.3rem, 4vw, 4rem); font-weight: 650; }
h3 { font-size: clamp(1.7rem, 2.4vw, 2.4rem); font-weight: 650; }

.ac-wrap { width: min(calc(100% - 40px), var(--ac-content)); margin-inline: auto; }
.ac-reading { width: min(100%, var(--ac-reading)); }
.ac-section { padding: clamp(72px, 8vw, 120px) 0; position: relative; overflow: hidden; }
.ac-kicker {
  margin: 0 0 18px;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

/* Header */
.ac-site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(16,19,26,.95);
  color: var(--ac-white);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 12px 30px rgba(6,10,16,.16);
}
.ac-site-header::after {
  content:"";
  position:absolute; left:0; right:0; bottom:-14px; height:14px;
  pointer-events:none;
  background: linear-gradient(to bottom, rgba(16,19,26,.22), transparent);
}
.ac-header-inner { min-height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.ac-brand { display:flex; align-items:center; gap:14px; color: var(--ac-white); text-decoration:none; font-weight:800; letter-spacing:.02em; }
.ac-brand-text { font-size: 1.18rem; }
.custom-logo { max-height: 48px; width: auto; }
.ac-nav-toggle { display:none; border:1px solid rgba(255,255,255,.2); background:transparent; color:#fff; border-radius:10px; padding:10px 12px; font:inherit; }
.ac-primary-nav ul { display:flex; gap:24px; list-style:none; margin:0; padding:0; align-items:center; }
.ac-primary-nav a { color:#eee7dc; text-decoration:none; font-size:.95rem; font-weight:650; }
.ac-primary-nav a:hover, .ac-primary-nav a:focus { color: var(--ac-fire); }

/* Hero */
.ac-hero {
  min-height: 72vh;
  display: grid;
  align-items: center;
  background:
    linear-gradient(to bottom, rgba(23,58,51,0) 0%, rgba(23,58,51,0) 78%, #173a33 100%),
    radial-gradient(circle at 78% 32%, rgba(65,111,146,.30), transparent 22%),
    radial-gradient(circle at 78% 72%, rgba(184,58,47,.26), transparent 28%),
    linear-gradient(135deg, #0c1017 0%, #172235 46%, #182b29 100%);
  color: var(--ac-white);
}
.ac-hero::after {
  content:"";
  position:absolute; inset:auto -8vw -18vh auto;
  width:55vw; aspect-ratio:1;
  border-radius:50%;
  background: radial-gradient(circle, rgba(228,102,63,.18), transparent 62%);
  pointer-events:none;
}
.ac-hero-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr); gap: clamp(40px,8vw,100px); align-items:center; }
.ac-hero-copy { position:relative; z-index:2; }
.ac-hero .ac-kicker { color: #f0a47f; }
.ac-hero h1 { margin-bottom: 18px; }
.ac-hero-lede { font-size: clamp(1.15rem,2vw,1.42rem); color:#f3eadf; max-width: 760px; }
.ac-hero-card {
  min-height: 420px;
  border-radius: 26px;
  border: 1px solid rgba(255,255,255,.13);
  background:
    linear-gradient(165deg, rgba(255,255,255,.05), rgba(255,255,255,.01)),
    radial-gradient(circle at 30% 25%, rgba(228,102,63,.55), transparent 24%),
    radial-gradient(circle at 68% 55%, rgba(65,111,146,.42), transparent 26%),
    linear-gradient(145deg, #25141a, #152721 58%, #111722);
  box-shadow: var(--ac-shadow);
  position:relative;
  overflow:hidden;
}
.ac-hero-card::before {
  content:""; position:absolute; inset:0;
  background: linear-gradient(125deg, transparent 0 44%, rgba(242,234,219,.06) 44% 45%, transparent 45% 100%);
}
.ac-hero-note { position:absolute; left:28px; right:28px; bottom:28px; color:#f4eadf; font-size:.9rem; }

.ac-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.ac-btn {
  display:inline-flex; align-items:center; justify-content:center;
  min-height:48px; padding:12px 22px; border-radius:999px;
  text-decoration:none; font-weight:800; letter-spacing:.01em;
  transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}
.ac-btn:hover, .ac-btn:focus { transform: translateY(-1px); }
.ac-btn-primary { background: var(--ac-ember); color:#fff; border:1px solid var(--ac-ember); }
.ac-btn-primary:hover, .ac-btn-primary:focus { background: var(--ac-fire); color:#fff; }
.ac-btn-secondary { background: transparent; color:#fff; border:1px solid rgba(255,255,255,.5); }
.ac-btn-secondary:hover, .ac-btn-secondary:focus { border-color:#fff; color:#fff; }
.ac-btn-light { background: var(--ac-parchment); color: var(--ac-ink); border:1px solid var(--ac-parchment); }

/* Featured fantasy */
.ac-speaker {
  background:
    linear-gradient(to bottom, rgba(74,53,40,0) 0%, rgba(74,53,40,0) 78%, #4a3528 100%),
    linear-gradient(135deg, #173a33 0%, #142b2a 56%, #172235 100%);
  color:#fff;
}
.ac-speaker::before { content:""; position:absolute; width:34vw; aspect-ratio:1; border-radius:50%; right:-8vw; top:-8vw; background:radial-gradient(circle,rgba(228,102,63,.24),transparent 65%); }
.ac-speaker .ac-kicker { color:#f3b18f; }
.ac-speaker-grid {
  display:grid;
  grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);
  grid-template-areas:"support copy";
  gap:clamp(36px,7vw,90px);
  align-items:center;
}
.ac-speaker-copy { grid-area:copy; }
.ac-speaker .ac-lore-panel { grid-area:support; }
.ac-lore-panel { background: rgba(8,18,20,.48); border:1px solid rgba(255,255,255,.11); border-radius:var(--ac-radius); padding:28px; box-shadow:var(--ac-shadow); }
.ac-lore-panel strong { color:#ffd2be; }

/* Short fiction */
.ac-short {
  background:
    linear-gradient(to bottom, rgba(217,205,184,0) 0%, rgba(217,205,184,0) 72%, rgba(185,154,135,.30) 84%, #d9cdb8 100%),
    linear-gradient(120deg, #4a3528 0%, #6f1d2b 72%, #34171d 100%);
  color:#fff;
}
.ac-short .ac-kicker { color:#ffd0bb; }
.ac-short-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(32px,6vw,80px); align-items:center; }
.ac-story-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.ac-story-card { min-height:210px; border-radius:16px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); padding:22px; display:flex; align-items:flex-end; }
.ac-story-card:nth-child(2) { background:rgba(23,58,51,.38); }
.ac-story-card:nth-child(3) { background:rgba(23,34,53,.42); }
.ac-story-card span { font-family:"Cormorant Garamond", Georgia, serif; font-size:1.6rem; line-height:1.1; }

/* About */
.ac-about {
  /* Keep the parchment reading surface, then cool it gradually into the Reader List navy.
     The long bridge avoids the visible blur-band effect of the earlier versions. */
  background:
    linear-gradient(
      to bottom,
      var(--ac-parchment) 0%,
      var(--ac-parchment) 66%,
      #d3c7b1 74%,
      #c5bca9 81%,
      #a7a39a 88%,
      #78818a 94%,
      #46566a 98%,
      #172235 100%
    );
  color:#25231f;
  padding-top: clamp(64px, 6vw, 92px);
  padding-bottom: clamp(56px, 5vw, 78px);
}
.ac-about .ac-kicker { color: var(--ac-oxblood); }
.ac-about-grid {
  display:grid;
  grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);
  grid-template-areas:"visual copy";
  gap:clamp(36px,7vw,90px);
  align-items:center;
}
.ac-about-copy { grid-area:copy; }
.ac-about-card { grid-area:visual; }
.ac-about-card { background: var(--ac-parchment-card); border:1px solid #b9aa91; border-radius:var(--ac-radius); padding:30px; box-shadow:0 15px 38px rgba(69,47,32,.10); }

/* List */
.ac-list {
  background: linear-gradient(135deg, #172235 0%, #122621 100%);
  color:#fff;
}
.ac-list .ac-kicker { color:#f09c77; }
.ac-list-box { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:30px; align-items:end; }
.ac-list p { color:#e9e2d8; }


/* Section transitions are integrated into each section background for smoother color flow. */
.ac-section > .ac-wrap { position:relative; z-index:2; }

/* Content pages */
.ac-page-hero { background:linear-gradient(135deg,#172235,#173a33); color:#fff; padding:76px 0 58px; }
.ac-page-content { padding:64px 0 96px; }
.ac-page-content > .ac-wrap > :where(p,ul,ol,blockquote,h2,h3,h4) { max-width: var(--ac-reading); }

/* Footer */
.ac-site-footer { background:#0c1017; color:#cfc7bd; border-top:1px solid rgba(255,255,255,.08); }
.ac-footer-inner { min-height:88px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.ac-footer-nav { display:flex; flex-wrap:wrap; gap:18px; }
.ac-footer-nav a { color:#cfc7bd; text-decoration:none; font-size:.92rem; }
.ac-footer-nav a:hover { color:var(--ac-fire); }

/* Accessibility */
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.screen-reader-text:focus { position:fixed; width:auto; height:auto; clip:auto; top:10px; left:10px; z-index:9999; padding:10px 14px; background:#fff; color:#000; }

@media (max-width: 900px) {
  .ac-nav-toggle { display:inline-flex; }
  .ac-primary-nav { position:absolute; left:0; right:0; top:74px; background:#10131a; display:none; border-top:1px solid rgba(255,255,255,.08); }
  .ac-primary-nav.is-open { display:block; }
  .ac-primary-nav ul { flex-direction:column; align-items:stretch; gap:0; padding:10px 20px 20px; }
  .ac-primary-nav li { border-bottom:1px solid rgba(255,255,255,.07); }
  .ac-primary-nav a { display:block; padding:13px 4px; }
  .ac-hero-grid, .ac-speaker-grid, .ac-short-grid, .ac-about-grid, .ac-list-box { grid-template-columns:1fr; }
  .ac-speaker-grid { grid-template-areas:"copy" "support"; }
  .ac-about-grid { grid-template-areas:"copy" "visual"; }
  .ac-hero { min-height:auto; }
  .ac-hero-card { min-height:300px; }
  .ac-story-cards { grid-template-columns:1fr 1fr 1fr; }
}
@media (max-width: 620px) {
  body { font-size:16px; }
  .ac-wrap { width:min(calc(100% - 28px), var(--ac-content)); }
  .ac-section { padding:64px 0; }
  .ac-story-cards { grid-template-columns:1fr; }
  .ac-footer-inner { padding:24px 0; align-items:flex-start; flex-direction:column; }
}


/* Reader List page */
.ac-join-hero {
  background:
    radial-gradient(circle at 82% 20%, rgba(228,102,63,.26), transparent 24%),
    radial-gradient(circle at 15% 85%, rgba(23,58,51,.58), transparent 34%),
    linear-gradient(135deg, #10131a 0%, #172235 55%, #173a33 100%);
  color:#fff;
  padding: clamp(80px, 9vw, 132px) 0 clamp(72px, 8vw, 116px);
}
.ac-join-hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:clamp(42px,7vw,92px);
  align-items:center;
}
.ac-join-hero .ac-kicker { color:#f0a47f; }
.ac-join-hero h1 { font-size:clamp(3rem,6vw,5.5rem); margin-bottom:20px; }
.ac-join-lede { font-size:clamp(1.12rem,1.7vw,1.35rem); color:#eee5da; max-width:700px; }
.ac-join-promise { margin-top:28px; padding-left:0; list-style:none; display:grid; gap:10px; color:#f2eadf; }
.ac-join-promise li { position:relative; padding-left:22px; }
.ac-join-promise li::before { content:'•'; position:absolute; left:0; top:-1px; color:var(--ac-fire); font-weight:900; }
.ac-form-card {
  background:rgba(247,239,226,.96);
  color:#24231f;
  border:1px solid rgba(255,255,255,.22);
  border-radius:24px;
  padding:clamp(26px,3vw,38px);
  box-shadow:0 26px 65px rgba(4,8,14,.28);
}
.ac-form-card h2 { font-size:clamp(2rem,3.2vw,3rem); margin-bottom:12px; }
.ac-form-card p { margin-top:0; }
.ac-reader-form-slot { margin-top:24px; }
.ac-reader-form-slot form { display:grid; gap:14px; }
.ac-reader-form-slot input[type='text'],
.ac-reader-form-slot input[type='email'],
.ac-reader-form-slot input[type='tel'],
.ac-reader-form-slot select,
.ac-reader-form-slot textarea {
  width:100%; min-height:50px; padding:12px 14px; border-radius:10px;
  border:1px solid #aa9a83; background:#fffdf8; color:#222; font:inherit;
}
.ac-reader-form-slot button,
.ac-reader-form-slot input[type='submit'] {
  min-height:50px; padding:12px 22px; border:0; border-radius:999px;
  background:var(--ac-ember); color:#fff; font:800 1rem/1 Inter, sans-serif; cursor:pointer;
}
.ac-reader-form-slot button:hover,
.ac-reader-form-slot input[type='submit']:hover { background:var(--ac-fire); }
.ac-form-placeholder {
  border:1px dashed #9d8e78; border-radius:14px; padding:20px;
  background:rgba(255,255,255,.45); color:#554f46;
}
.ac-form-placeholder strong { display:block; color:#302c26; margin-bottom:5px; }
.ac-smallprint { font-size:.82rem; color:#6e655a; margin-top:16px !important; }
.ac-join-benefits {
  background:linear-gradient(135deg,#d9cdb8 0%,#e8dcc7 45%,#d4c5ad 100%);
  color:#24231f;
}
.ac-join-benefits .ac-kicker { color:var(--ac-oxblood); }
.ac-benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:36px; }
.ac-benefit-card {
  background:rgba(247,239,226,.78); border:1px solid #bba98c; border-radius:18px;
  padding:26px; box-shadow:0 12px 30px rgba(69,47,32,.08);
}
.ac-benefit-card h3 { font-size:1.8rem; margin-bottom:12px; }
.ac-join-quiet {
  background:linear-gradient(135deg,#6f1d2b 0%,#4a3528 50%,#173a33 100%);
  color:#fff;
}
.ac-join-quiet .ac-kicker { color:#ffd0bb; }
.ac-join-quiet .ac-reading { margin-inline:auto; text-align:center; }
.ac-join-quiet h2 { max-width:850px; margin-inline:auto; }
.ac-join-quiet p { color:#f3eadf; }

@media (max-width:900px) {
  .ac-join-hero-grid { grid-template-columns:1fr; }
  .ac-benefit-grid { grid-template-columns:1fr; }
}

/* Reader List confirmation / welcome page */
.ac-welcome-hero {
  min-height: calc(100vh - 162px);
  display: grid;
  align-items: center;
  padding: clamp(82px, 9vw, 138px) 0;
  background:
    radial-gradient(circle at 82% 20%, rgba(228,102,63,.24), transparent 25%),
    radial-gradient(circle at 15% 82%, rgba(23,58,51,.58), transparent 34%),
    linear-gradient(135deg, #10131a 0%, #172235 55%, #173a33 100%);
  color: #fff;
}
.ac-welcome-card {
  width: min(100%, 820px);
  margin-inline: auto;
  padding: clamp(34px, 5vw, 64px);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 26px;
  background: rgba(12,16,23,.58);
  box-shadow: 0 28px 70px rgba(4,8,14,.30);
  backdrop-filter: blur(8px);
}
.ac-welcome-card .ac-kicker { color: #f0a47f; }
.ac-welcome-card h1 {
  margin-bottom: 18px;
  font-size: clamp(3.5rem, 8vw, 6.5rem);
}
.ac-welcome-card p { max-width: 690px; color: #eee5da; }
.ac-welcome-lede { font-size: clamp(1.2rem, 2vw, 1.45rem); }
.ac-welcome-actions { margin-top: 32px; }

@media (max-width: 620px) {
  .ac-welcome-card { padding: 30px 24px; }
  .ac-welcome-actions { align-items: stretch; flex-direction: column; }
  .ac-welcome-actions .ac-btn { width: 100%; }
}
