@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600&display=swap');

/* Google Fonts — MUST be first */
/* =========================================================
   West Beach Books — Buy Module (Lean v1)
   ========================================================= */
.wbb-buy-module {
	border: 1px solid rgba(0,0,0,.12);
	border-radius: 14px;
	padding: 18px;
	margin: 24px 0;
	background: #ffffff;
}

.wbb-buy-module h3 {
	margin: 0 0 10px;
	font-size: 18px;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.wbb-buy-module .wbb-divider {
	height: 2px;
	width: 56px;
	background: rgba(0,0,0,.18);
	border-radius: 999px;
	margin: 6px 0 16px;
}

.wbb-buy-module .wbb-primary {
	display: block;
	text-align: center;
	text-decoration: none;
	font-weight: 800;
	letter-spacing: .03em;
	padding: 14px 16px;
	border-radius: 12px;
	border: 2px solid #111111;
	background: #111111;
	color: #ffffff;
}

.wbb-buy-module .wbb-primary:focus,
.wbb-buy-module .wbb-primary:hover {
	filter: brightness(1.06);
}

.wbb-buy-module .wbb-secondary {
	display: block;
	text-align: center;
	text-decoration: none;
	font-weight: 750;
	padding: 12px;
	border-radius: 12px;
	border: 2px solid rgba(0,0,0,.22);
	color: #111111;
	background: #ffffff;
	margin-top: 10px;
}

.wbb-buy-module .wbb-secondary:focus,
.wbb-buy-module .wbb-secondary:hover {
	border-color: rgba(0,0,0,.38);
	background: rgba(0,0,0,.04);
}

.wbb-buy-module .wbb-smartlink {
	margin: 12px 0 0;
	font-size: 13px;
	opacity: .9;
}

.wbb-buy-module .wbb-smartlink a {
	font-weight: 750;
	text-decoration: underline;
}

/* =============================================
   PRESS KIT PAGE (post 17627, /press/)
   Rewritten 2026-08-12 -- full dark-theme conversion. Original version used a
   separate light/white "--pk-*" palette (white boxes, navy text) left over from
   the pre-redesign site. That caused a legibility bug (Round 21, fixed 2026-08-11)
   and, once fixed, still looked visually inconsistent with the rest of the dark
   site (Boyd: "stuck between two designs"). This version drops the separate
   --pk-* palette entirely and maps every selector directly onto the site's
   --rb-* design tokens, so the page reads as part of the same site, not a
   pasted-in light theme. Optimized for the page's actual audience -- press/media
   skimming for downloadable assets -- so download targets (.pk-doc, .pk-tile,
   .pk-download-btn) keep strong ice-blue accent buttons for scannability.
   ============================================= */

.page-id-17627 .entry-title { display: none; }

.pk-hero {
  background: linear-gradient(160deg, var(--rb-bg-2) 0%, var(--rb-bg) 70%);
  border-bottom: 1px solid var(--rb-line);
  padding: 64px 24px 48px;
  text-align: center;
}
.pk-hero-inner { max-width: 860px; margin: 0 auto; }
.pk-eyebrow {
  display: inline-block;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 13px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--rb-ice) !important;
  margin-bottom: 14px;
}
.pk-hero h1 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: clamp(28px, 4vw, 42px);
  color: var(--rb-text) !important;
  margin: 0 0 14px;
  line-height: 1.15;
}
.pk-hero h1 em {
  font-style: italic;
  color: var(--rb-ice-soft) !important;
}
.pk-hero-sub {
  color: var(--rb-text-soft) !important;
  font-size: 16px;
  margin-bottom: 6px;
}
.pk-hero-note {
  color: var(--rb-text-soft) !important;
  font-size: 14px;
  opacity: 0.85;
}
.pk-award {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 18px auto 0;
  padding: 8px 16px;
  background: var(--rb-panel);
  border: 1px solid var(--rb-amber);
  border-radius: 999px;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 13px;
  color: var(--rb-amber) !important;
  text-decoration: none;
  max-width: fit-content;
}
.pk-award:hover { border-color: var(--rb-ice); color: var(--rb-ice) !important; }
.pk-contact-bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 28px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--rb-line);
}
.pk-contact-item { font-size: 14px; color: var(--rb-text-soft); }
.pk-contact-item strong { color: var(--rb-text); display: block; font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 3px; }
.pk-contact-item a { color: var(--rb-ice) !important; text-decoration: none; }
.pk-contact-item a:hover { text-decoration: underline; }

.pk-wrap { max-width: 860px; margin: 0 auto; padding: 48px 24px 80px; }

.pk-intro {
  background: var(--rb-panel);
  border: 1px solid var(--rb-line);
  border-radius: 12px;
  padding: 32px;
  margin-bottom: 40px;
}
.pk-intro h1, .pk-intro h2, .pk-intro h3, .pk-intro h4,
.pk-intro .wp-block-heading {
  color: var(--rb-text) !important;
  font-family: 'Space Grotesk', sans-serif;
}
.pk-intro p { color: var(--rb-text-soft); line-height: 1.65; }
.pk-intro-title { color: var(--rb-text) !important; }
.pk-intro-tagline {
  font-style: italic;
  color: var(--rb-ice-soft) !important;
  font-size: 17px;
  line-height: 1.5;
}
.pk-intro-rule { border: none; border-top: 1px solid var(--rb-line); margin: 24px 0; }
.pk-intro a { color: var(--rb-ice) !important; text-decoration: none; }
.pk-intro a:hover { text-decoration: underline; }

.pk-toc { list-style: none; padding: 0; margin: 0; }
.pk-toc li { color: var(--rb-text-soft); padding: 8px 0; border-bottom: 1px solid var(--rb-line); }
.pk-toc li:last-child { border-bottom: none; }
.pk-toc a { color: var(--rb-ice) !important; font-weight: 600; text-decoration: none; }
.pk-toc a:hover { text-decoration: underline; }

.pk-section { margin-bottom: 48px; scroll-margin-top: 24px; }
.pk-section-header { display: flex; align-items: baseline; gap: 12px; margin-bottom: 18px; }
.pk-section-num {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 14px;
  color: var(--rb-ice) !important;
  opacity: 0.8;
}
.pk-section h2 {
  font-family: 'Space Grotesk', sans-serif;
  color: var(--rb-text) !important;
  font-size: 24px;
  margin: 0;
}

.pk-prose { color: var(--rb-text-soft) !important; line-height: 1.7; }
.pk-prose a { color: var(--rb-ice) !important; }

.pk-docgrid, .pk-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; }

.pk-doc {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: var(--rb-panel);
  border: 1px solid var(--rb-line);
  border-radius: 10px;
  padding: 14px 16px;
  transition: border-color 0.15s ease;
}
.pk-doc:hover { border-color: var(--rb-ice); }
.pk-doc-name { color: var(--rb-text) !important; font-size: 14px; font-weight: 600; }
.pk-fmt {
  display: inline-block;
  background: var(--rb-ice);
  color: #04141a !important;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 4px 10px;
  border-radius: 999px;
  text-decoration: none;
}
.pk-fmt:hover { background: var(--rb-ice-soft); }

.pk-tile {
  background: var(--rb-panel) !important;
  border: 1px solid var(--rb-line) !important;
  color: var(--rb-text) !important;
  border-radius: 10px;
  padding: 16px;
  transition: border-color 0.15s ease;
}
.pk-tile:hover { border-color: var(--rb-ice); }
.pk-tile-label { color: var(--rb-text) !important; font-weight: 600; font-size: 14px; }
.pk-tile-meta { color: var(--rb-text-soft) !important; font-size: 13px; }

.pk-download-btn {
  display: inline-block;
  background: var(--rb-ice) !important;
  color: #04141a !important;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  font-size: 13px;
  padding: 8px 14px;
  border-radius: 8px;
  text-decoration: none;
  margin-top: 8px;
}
.pk-download-btn:hover { background: var(--rb-ice-soft) !important; }

.pk-facts {
  background: var(--rb-bg-2);
  border: 1px solid var(--rb-line);
  border-radius: 10px;
  padding: 4px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1px;
}
.pk-fact { background: var(--rb-panel); padding: 14px 16px; }
.pk-fact-label { color: var(--rb-text-soft) !important; font-size: 12px; text-transform: uppercase; letter-spacing: 0.05em; display: block; margin-bottom: 4px; }
.pk-fact-value { color: var(--rb-text) !important; font-size: 15px; font-weight: 600; }

.pk-review {
  background: var(--rb-panel);
  border: 1px solid var(--rb-line);
  border-radius: 10px;
  padding: 20px;
  margin-bottom: 16px;
}
.pk-review-stars { color: var(--rb-amber) !important; font-size: 15px; margin-bottom: 8px; }
.pk-review-text { color: var(--rb-text) !important; font-style: italic; line-height: 1.6; }
.pk-review-source { color: var(--rb-text-soft) !important; font-size: 13px; margin-top: 8px; display: block; }

@media (max-width: 600px) {
  .pk-hero { padding: 48px 18px 36px; }
  .pk-wrap { padding: 32px 18px 60px; }
  .pk-intro { padding: 22px; }
  .pk-grid, .pk-facts { grid-template-columns: 1fr; }
}

/* =========================================================
   RB DARK THEME — added for site redesign, 2026-08-03
   ========================================================= */
:root{
  --rb-bg:#0a0c10;
  --rb-bg-2:#12151b;
  --rb-panel:#161a22;
  --rb-line:#242a35;
  --rb-ice:#5ee0ff;
  --rb-ice-soft:#a9eeff;
  --rb-amber:#ffb84d;
  --rb-text:#e9edf3;
  --rb-text-soft:#8b93a3;
}

body, body.wp-theme-dicot {
  background:var(--rb-bg) !important;
  color:var(--rb-text) !important;
}
body, body input, body textarea, body button {
  font-family:'Inter',sans-serif !important;
}
h1,h2,h3,h4,.site-title,.entry-title {
  font-family:'Space Grotesk',sans-serif !important;
}
a { color:inherit; }

#masthead.site-header {
  background:rgba(10,12,16,0.92) !important;
  border-bottom:1px solid var(--rb-line) !important;
}
#masthead .site-title, #masthead .site-title a {
  color:var(--rb-text) !important;
  font-weight:700 !important;
  letter-spacing:0.02em;
  text-transform:uppercase;
}
#masthead .site-description { color:var(--rb-text-soft) !important; }
#site-navigation.main-navigation a {
  color:var(--rb-text) !important;
  font-size:0.85rem;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:0.06em;
}
#site-navigation.main-navigation a:hover,
#site-navigation.main-navigation .current-menu-item > a {
  color:var(--rb-ice) !important;
}

#content.site-content { background:var(--rb-bg) !important; }
article.hentry { background:var(--rb-bg) !important; color:var(--rb-text) !important; }
.entry-content { color:var(--rb-text) !important; }
.entry-content a { color:var(--rb-ice); }
.entry-content a:hover { color:var(--rb-ice-soft); }

#colophon.site-footer {
  background:var(--rb-bg-2) !important;
  color:var(--rb-text-soft) !important;
  border-top:1px solid var(--rb-line) !important;
}
#colophon a { color:var(--rb-text) !important; }
#colophon a:hover { color:var(--rb-ice) !important; }

/* ---- RB component classes, used inside Custom HTML blocks on rebuilt pages ---- */
.rb-wrap{max-width:1160px;margin:0 auto;padding:0 32px;}
.rb-eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--rb-ice);font-size:0.75rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;margin-bottom:18px;}
.rb-eyebrow::before{content:'';width:8px;height:8px;background:var(--rb-ice);border-radius:50%;box-shadow:0 0 12px var(--rb-ice);}
.rb-hero{position:relative;padding:56px 0 48px;background:radial-gradient(ellipse 900px 500px at 80% -10%, rgba(94,224,255,0.14), transparent 60%);border-bottom:1px solid var(--rb-line);}
.rb-hero-inner{max-width:1160px;margin:0 auto;padding:56px 32px 48px;}
.rb-hero h1{font-size:2.4rem;font-weight:700;line-height:1.15;margin-bottom:14px;color:var(--rb-text);}
.rb-hero p{color:var(--rb-text-soft);max-width:60ch;font-size:1.05rem;}
.rb-badges{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0;}
.rb-badge{display:inline-block;background:var(--rb-panel);border:1px solid var(--rb-ice);color:var(--rb-ice);padding:7px 14px;font-size:0.74rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;border-radius:2px;}
.rb-btnrow{display:flex;gap:14px;flex-wrap:wrap;margin:20px 0;}
.rb-btn{display:inline-block;padding:13px 24px;font-weight:600;font-size:0.88rem;letter-spacing:0.02em;border-radius:2px;text-transform:uppercase;text-decoration:none !important;}
.rb-btn.primary{background:var(--rb-ice);color:#04141a !important;}
.rb-btn.primary:hover{background:var(--rb-ice-soft);}
.rb-btn.ghost{border:1.5px solid var(--rb-line);color:var(--rb-text) !important;}
.rb-btn.ghost:hover{border-color:var(--rb-ice);color:var(--rb-ice) !important;}
.rb-section{padding:48px 0;}

/* ---- Mobile fix: tighten section-to-section vertical rhythm — 48px+26px+48px stacked gap between sections read as excessive dead space on phone widths (e.g. between the About stats row and the Novels/Library section) (2026-08-08) ---- */
@media (max-width:900px){
  .rb-section{padding:28px 0;}
}
.rb-section-head{max-width:680px;margin-bottom:28px;}
.rb-section-head h2{font-size:1.7rem;font-weight:700;color:var(--rb-text);margin-bottom:8px;}
.rb-section-head p{color:var(--rb-text-soft);}
.rb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.rb-card{background:var(--rb-panel);border:1px solid var(--rb-line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;transition:transform .18s ease, border-color .18s ease;}
.rb-card:hover{transform:translateY(-6px);border-color:var(--rb-ice);}
.rb-card img{width:100%;aspect-ratio:2/3;object-fit:cover;display:block;}
.rb-card .rb-info{padding:16px 18px 18px;}
.rb-card h3{font-size:0.98rem;font-weight:600;margin-bottom:4px;color:var(--rb-text);}
.rb-tag{line-height:1.4 !important;color:var(--rb-ice);text-transform:uppercase;letter-spacing:0.05em;font-weight:600;}
.rb-card .rb-blurb{font-size:0.82rem;color:var(--rb-text-soft);margin-top:6px;}
.rb-cta-band{text-align:center;padding:56px 32px;background:linear-gradient(180deg,var(--rb-bg-2),var(--rb-bg));border-top:1px solid var(--rb-line);border-radius:8px;margin-top:24px;}
.rb-cta-band h2{font-size:1.6rem;margin-bottom:18px;color:var(--rb-text);}
.rb-press{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--rb-line);padding-top:18px;margin-top:18px;}
.rb-press p{font-size:0.92rem;color:var(--rb-text-soft);font-style:italic;margin-bottom:2px;}
.rb-press cite{display:block;font-style:normal;font-size:0.78rem;color:var(--rb-ice);}

@media (max-width:900px){
  .rb-grid{grid-template-columns:repeat(2,1fr);}
  .rb-hero h1{font-size:1.9rem;}
}

#page.site-wrapper { background:var(--rb-bg) !important; }

/* ---- RB homepage extras ---- */
.rb-hero{padding-top:64px;padding-bottom:8px;}
.rb-hero h1{font-size:2.6rem;}
.rb-hero h1 .rb-grad{background:linear-gradient(90deg,var(--rb-ice),var(--rb-ice-soft));-webkit-background-clip:text;background-clip:text;color:transparent;}
.rb-hero-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:48px;align-items:center;}
.rb-cover-frame{position:relative;padding:16px;border:1px solid var(--rb-line);border-radius:6px;background:var(--rb-panel);max-width:320px;margin:0 auto;}
.rb-cover-frame img{border-radius:2px;width:100%;display:block;}
.rb-cover-badge{position:absolute;top:-14px;right:-14px;background:var(--rb-amber);color:#231400;padding:9px 14px;font-size:0.7rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;border-radius:2px;transform:rotate(3deg);}

.rb-saga{background:var(--rb-bg-2);border-top:1px solid var(--rb-line);border-bottom:1px solid var(--rb-line);}
.rb-saga-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rb-line);}
.rb-saga-item{background:var(--rb-bg-2);padding:32px 28px;}
.rb-saga-item .rb-num{font-family:'Space Grotesk',sans-serif;color:var(--rb-ice);font-size:0.82rem;font-weight:600;letter-spacing:0.08em;margin-bottom:10px;}
.rb-saga-item h3{font-size:1.15rem;margin-bottom:8px;color:var(--rb-text);}
.rb-saga-item p{color:var(--rb-text-soft);font-size:0.92rem;}

.rb-about-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:48px;align-items:center;}
.rb-about-grid img{border-radius:6px;filter:grayscale(30%) contrast(1.05);border:1px solid var(--rb-line);width:100%;}
.rb-about-grid h2{font-size:1.9rem;margin-bottom:16px;color:var(--rb-text);}
.rb-about-grid p{color:var(--rb-text-soft);margin-bottom:14px;}
.rb-stat-row{display:flex;gap:32px;margin-top:20px;flex-wrap:wrap;}
.rb-stat .rb-num2{font-family:'Space Grotesk',sans-serif;font-size:1.9rem;color:var(--rb-ice);font-weight:700;}
.rb-stat .rb-label{font-size:0.76rem;color:var(--rb-text-soft);letter-spacing:0.03em;text-transform:uppercase;}

@media (max-width:900px){
  .rb-hero-grid,.rb-about-grid{grid-template-columns:1fr;}
  .rb-saga-grid{grid-template-columns:1fr;}
}

/* ---- Long-form reading comfort on individual blog posts ---- */
body.single .entry-content {
  max-width: 68ch;
  margin-left: auto;
  margin-right: auto;
}
body.single .entry-content p,
body.single .entry-content li {
  font-size: 17px;
  line-height: 1.85;
  margin-bottom: 1.3em;
}
body.single .entry-content h2,
body.single .entry-content h3 {
  margin-top: 1.4em;
}

/* ---- Contact form (Jetpack contact-form shortcode) dark styling ---- */
.contact-form, div[id^="contact-form"] {
  background: transparent;
}
.contact-form label, div[id^="contact-form"] label {
  color: var(--rb-text-soft) !important;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="url"],
.contact-form textarea,
div[id^="contact-form"] input[type="text"],
div[id^="contact-form"] input[type="email"],
div[id^="contact-form"] input[type="url"],
div[id^="contact-form"] textarea {
  background: var(--rb-panel) !important;
  border: 1px solid var(--rb-line) !important;
  border-radius: 4px !important;
  color: var(--rb-text) !important;
  padding: 12px 14px !important;
}
.contact-form input[type="submit"],
div[id^="contact-form"] input[type="submit"] {
  background: var(--rb-ice) !important;
  color: #04141a !important;
  border: none !important;
  border-radius: 2px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  padding: 13px 24px !important;
}

/* ---- Blog feed (a8c/blog-posts block) + entry title dark styling ---- */
.entry-title, .entry-title a { color: var(--rb-text) !important; }
.rb-blogfeed { background: transparent !important; }
.rb-blogfeed article, .rb-blogfeed .wp-block-a8c-post {
  background: var(--rb-panel) !important;
  border: 1px solid var(--rb-line) !important;
  border-radius: 6px !important;
}
.rb-blogfeed a { color: var(--rb-ice) !important; }
.rb-blogfeed time, .rb-blogfeed .post-date {
  color: var(--rb-text-soft) !important;
}

/* ---- wbb-buy-module dark override (real purchase widget, preserved from original pages) ---- */
.wbb-buy-module {
  background: var(--rb-panel) !important;
  border-color: var(--rb-line) !important;
  color: var(--rb-text) !important;
}
.wbb-buy-module h3 { color: var(--rb-text) !important; }
.wbb-buy-module a { color: var(--rb-ice) !important; }

/* ---- Fix: core heading blocks (e.g. blog tagline) rendering near-black ---- */
.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4,
.entry-content .wp-block-heading {
  color: var(--rb-text) !important;
}


/* ---- Fix: full-bleed hero hack (margin:-9999px + padding:9999px) balloons scrollWidth, causing horizontal overflow / cut-off layout on Safari + iPad. Clip the excess. ---- */
html, body {
  overflow-x: hidden;
}

/* ---- Fix: legacy ghost-style inline buttons on untouched old pages (e.g. /read/) render near-invisible on dark bg ---- */
a[style*="border:2px solid #222"][style*="color:#222"] {
  color: var(--rb-ice) !important;
  border-color: var(--rb-ice) !important;
}

/* ---- Fix: buy-module button hierarchy - Amazon reads as the primary action, Apple Books as a clear secondary (was white-bg/blue-text, inconsistent + low visual weight vs intent) ---- */
.wbb-buy-module .wbb-primary {
  background: var(--rb-ice) !important;
  border-color: var(--rb-ice) !important;
  color: #04141a !important;
}
.wbb-buy-module .wbb-secondary {
  background: transparent !important;
  border-color: var(--rb-ice) !important;
  color: var(--rb-ice) !important;
}

/* ---- Fix: real WP submenu under Books/Sections nav items was rendering white-bg/near-white-text (invisible) ---- */
.main-navigation .sub-menu {
  background: var(--rb-panel);
  border: 1px solid var(--rb-line);
  padding: 8px 0;
}
.main-navigation .sub-menu a {
  color: var(--rb-text) !important;
}
.main-navigation .sub-menu a:hover {
  color: var(--rb-ice) !important;
  background: rgba(94,224,255,0.08);
}


/* Mobile fix: collapse any inline two-column grid (Bio photo, featured book card) to a single stacked column */
@media (max-width:680px){
  [style*="grid-template-columns"]{grid-template-columns:1fr !important;}
}


/* Cover-first hero on phone/tablet: swap order so the cover image renders before the text block once the hero collapses to one column (matches existing 900px breakpoint) */
@media (max-width:900px){
  .rb-hero-grid > *:nth-child(2){order:-1;}
}

.page-title{color:var(--rb-text) !important;}

.main-navigation .sub-menu li{background:transparent !important;}

.main-navigation{position:relative;}
.rb-nav-search{list-style:none;}
.site-primary-menu .rb-nav-search{position:static !important;}
.site-primary-menu .rb-nav-search > a{
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  display:block;
  width:32px;
  height:32px;
  overflow:hidden;
  white-space:nowrap;
  text-indent:-9999px;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:19px 19px;
  mask-size:19px 19px;
  background-color:var(--rb-text-soft);
  transition:background-color .15s ease;
}
.site-primary-menu .rb-nav-search > a:hover{background-color:var(--rb-ice);}
@media (max-width:900px){
  .site-primary-menu .rb-nav-search > a{right:64px;}
}

/* ---- Fix: Search item in the mobile off-canvas menu was inheriting the desktop icon-only absolute positioning, so it visually detached/floated in the middle of the open menu instead of appearing as a normal row (2026-08-08) ---- */
.site-primary-menu-responsive .rb-nav-search > a{
  position:static;
  display:block;
  width:auto;
  height:auto;
  overflow:visible;
  white-space:normal;
  text-indent:0;
  -webkit-mask-image:none;
  mask-image:none;
  background-color:transparent;
}


/* ---- Mobile fix: book/hero cover image + grid hardening (2026-08-05) ---- */
@media (max-width:900px){
  .rb-hero-grid{grid-template-columns:1fr !important;}
}
.rb-cover-frame{max-width:320px !important;width:100% !important;margin:0 auto !important;box-sizing:border-box !important;}
.rb-cover-frame img{width:100% !important;max-width:100% !important;height:auto !important;display:block !important;}


/* ---- Strip "Category:"/"Tag:" prefix on archive headers, keep just the name (2026-08-06) ---- */
body.category .page-title:has(span),
body.tag .page-title:has(span){
  font-size:0;
  line-height:0;
}
body.category .page-title:has(span) span,
body.tag .page-title:has(span) span{
  font-size:35px;
  line-height:42px;
}


/* ---- Blog page (/blog/) rebuild: replaced the buggy Jetpack "Load More" block (its AJAX pagination combined page-number paging with a growing exclude-ids list, which desynced after 2 clicks and made the same first posts repeat forever) with a native WordPress Query Loop block using real page-by-page pagination (?query-1-page=N). This restores the card look on the new block markup (2026-08-08) ---- */
.rb-blogfeed{list-style:none;padding:0;margin:0;}
.rb-blogfeed .wp-block-post{
  list-style:none;
  background:var(--rb-panel);
  border:1px solid var(--rb-line);
  border-radius:6px;
  padding:20px 22px;
  margin:0 0 16px;
}
.rb-blogpost-row{gap:20px;align-items:flex-start;}
.rb-blogpost-row .wp-block-post-featured-image{flex:0 0 auto;margin:0;}
.rb-blogpost-row .wp-block-post-featured-image img{border-radius:4px;object-fit:cover;display:block;}
.rb-blogpost-cat{display:block;font-size:0.78rem;color:var(--rb-ice-soft);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:4px;}
.rb-blogpost-cat a{color:var(--rb-ice-soft) !important;text-decoration:none;}
.rb-blogfeed .wp-block-post-title{margin:2px 0 8px;font-size:1.3rem;}
.rb-blogfeed .wp-block-post-title a{color:var(--rb-ice) !important;}
.rb-blogfeed .wp-block-post-excerpt p{color:var(--rb-text-soft);margin:0;}
.rb-blogfeed-pagination{margin-top:8px;gap:10px;flex-wrap:wrap;}
.rb-blogfeed-pagination a,
.rb-blogfeed-pagination span{color:var(--rb-text-soft);text-decoration:none;}
.rb-blogfeed-pagination a{color:var(--rb-ice);}
.rb-blogfeed-pagination a:hover{color:var(--rb-ice-soft);}
.rb-blogfeed-pagination .current{color:var(--rb-text);font-weight:700;}
@media (max-width:600px){
  .rb-blogpost-row .wp-block-post-featured-image{display:none;}
}



/* =============================================
   AWARD CAPTION LINK (site-wide)
   Added 2026-08-12 -- small linked caption placed directly under the AFA
   award-finalist graphic on the homepage, Unfrozen Few book page, Press page,
   and /read/ page. The graphic image already contains the full "FINALIST --
   AMERICAN FICTION AWARDS -- LGBTQ+ FICTION" badge treatment, so this is
   deliberately lightweight (no border/pill, unlike .pk-award on the Press
   hero, which has no graphic to pair with) -- just an accessible, clickable
   verification link in the same amber accent color.
   ============================================= */
.rb-award-link {
  display: inline-block;
  margin-top: 10px;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 12px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--rb-amber) !important;
  text-decoration: none;
  border-bottom: 1px solid transparent;
}
.rb-award-link:hover {
  border-bottom-color: var(--rb-amber);
}


/* =============================================
   PRESS KIT — PRESS & PODCAST COVERAGE LIST
   Added 2026-08-12 -- linked list of press features, essays, and podcast
   interviews about TUFF1, added to the Press page per Boyd's request to
   surface existing coverage for press/media (POZ, Washington Blade, Super
   Queer Podcast, Tub Talks With Damon, plus an "upcoming" entry for Our Gay
   Diaspora). Styled as a simple linked list matching the site's existing
   .pk-doc/.pk-tile card language, not a duplicate of the .pk-review
   pull-quote cards already on the page.
   ============================================= */
.pk-coverage-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 16px;
}
.pk-coverage-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: var(--rb-panel);
  border: 1px solid var(--rb-line);
  border-radius: 10px;
  padding: 14px 18px;
  text-decoration: none;
  transition: border-color 0.15s ease;
}
a.pk-coverage-item:hover {
  border-color: var(--rb-ice);
}
.pk-coverage-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.pk-coverage-outlet {
  color: var(--rb-text) !important;
  font-weight: 600;
  font-size: 15px;
}
.pk-coverage-detail {
  color: var(--rb-text-soft) !important;
  font-size: 13px;
}
.pk-coverage-cta {
  color: var(--rb-ice) !important;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  white-space: nowrap;
  flex-shrink: 0;
}
.pk-coverage-item.pk-coverage-upcoming {
  border-style: dashed;
}
.pk-coverage-upcoming .pk-coverage-cta {
  color: var(--rb-amber) !important;
}
@media (max-width: 600px) {
  .pk-coverage-item { flex-direction: column; align-items: flex-start; gap: 8px; }
}


/* ---- Fix: "Press & Podcast Coverage" heading (#pk-podcast-coverage) sat right on top of
   the download cards from the section above it (Reviews & Awards) -- .pk-section's default
   48px margin-bottom wasn't reading as enough visual separation since both sections are
   dense card grids. Added extra top margin + a subtle divider rule, 2026-08-12. ---- */
#pk-podcast-coverage {
  margin-top: 20px;
  padding-top: 40px;
  border-top: 1px solid var(--rb-line);
}
