@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
   ============================================= */
:root {
}

/* ── HERO BANNER ── */
.pk-hero {
	background: #2c4a5e !important;
	background: linear-gradient(160deg, #2c4a5e 0%, #0f1f2b 60%, #1a0a0a 100%) !important;
	color: white !important;
	padding: 52px 40px 44px !important;
	position: relative !important;
	overflow: hidden !important;
	display: block !important;
}

.pk-hero,
.pk-hero h1,
.pk-hero h1 em,
.pk-hero p,
.pk-hero div,
.pk-hero span,
.pk-hero a,
.pk-hero strong {
	visibility: visible !important;
	opacity: 1 !important;
}

.pk-hero::before {
	content: '';
	position: absolute;
	background: radial-gradient(ellipse 60% 50% at 80% 50%, rgba(168,200,220,0.08) 0%, transparent 70%), repeating-linear-gradient(90deg, transparent, transparent 80px, rgba(255,255,255,0.015) 80px, rgba(255,255,255,0.015) 81px);
	pointer-events: none;
}

.pk-hero-inner {
	max-width: 860px;
	margin: 0 auto;
	position: relative;
}

.pk-eyebrow {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .25em;
	text-transform: uppercase;
	color: var(--pk-ice) !important;
	margin-bottom: 14px;
	display: flex;
	align-items: center;
	gap: 12px;
}

.pk-eyebrow::before {
	content: '';
	display: inline-block;
	width: 32px;
	height: 1px;
	background: var(--pk-ice);
}

.pk-hero h1 {
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(32px, 5vw, 56px);
	font-weight: 300;
	line-height: 1.1;
	letter-spacing: -.01em;
	margin-bottom: 4px;
	color: white !important;
}

.pk-hero h1 em {
	font-style: italic;
	color: var(--pk-frost) !important;
}

.pk-hero-sub {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 15px;
	font-weight: 400;
	color: rgba(255,255,255,0.55) !important;
	letter-spacing: .08em;
	text-transform: uppercase;
	margin-bottom: 16px;
}

.pk-hero-note {
	font-size: 13px;
	color: rgba(255,255,255,0.75) !important;
	max-width: 480px;
	line-height: 1.5;
}

.pk-hero * {
	color: inherit;
}

.pk-hero p {
	color: rgba(255,255,255,0.75) !important;
}

.pk-contact-bar {
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px solid rgba(255,255,255,0.12);
	display: flex !important;
	flex-wrap: wrap;
	gap: 28px;
	font-size: 13px;
	color: rgba(255,255,255,0.6) !important;
}

.pk-contact-bar strong {
	display: block;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 10px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--pk-ice) !important;
	margin-bottom: 3px;
}

.pk-contact-bar a {
	color: white !important;
	text-decoration: none;
}

/* ── MAIN LAYOUT ── */
.pk-wrap {
	max-width: 860px;
	margin: 0 auto;
	padding: 0 40px 60px !important;
}

/* ── INTRO / ABOUT BLOCK ── */
.pk-intro {
	background: white;
	border: 1px solid var(--pk-rule);
	border-radius: 4px;
	padding: 32px 36px;
	margin: 20px 0 0;
}

.pk-intro-title {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--pk-mid);
	margin-bottom: 20px;
}

.pk-intro-title::after {
	content: '';
	display: block;
	width: 32px;
	height: 1px;
	background: var(--pk-rule);
	margin-top: 8px;
}

.pk-intro h3 {
	font-family: 'Cormorant Garamond', serif;
	font-size: 20px;
	font-weight: 400;
	color: var(--pk-cold);
	margin-bottom: 10px;
	margin-top: 24px;
}

.pk-intro h3:first-of-type {
	margin-top: 0;
}

.pk-intro p {
	font-size: 14px;
	line-height: 1.75;
	color: #2a2a2a;
	margin-bottom: 10px;
}

.pk-intro p:last-child {
	margin-bottom: 0;
}

.pk-intro-tagline {
	font-family: 'Cormorant Garamond', serif;
	font-size: 18px;
	font-style: italic;
	color: var(--pk-cold);
	border-left: 3px solid var(--pk-cold);
	padding-left: 16px;
	margin: 14px 0;
	line-height: 1.5;
}

.pk-intro-rule {
	border: none;
	border-top: 1px solid var(--pk-rule);
	margin: 20px 0;
}

.pk-intro a {
	color: var(--pk-cold);
	text-decoration: underline;
}

/* ── COMBINED DOC TILES ── */
.pk-docgrid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 10px;
}

.pk-doc {
	background: #dce8f0;
	border: 1px solid #a8c8dc;
	border-radius: 4px;
	padding: 14px 16px;
}

.pk-doc-name {
	font-size: 13px;
	font-weight: 600;
	color: #2c4a5e;
	margin-bottom: 10px;
	line-height: 1.3;
}

.pk-doc-formats {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.pk-fmt {
	display: inline-block;
	padding: 5px 14px;
	background: #2c4a5e;
	color: white !important;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	text-decoration: none !important;
	border-radius: 3px;
	transition: background .15s;
}

.pk-fmt:hover {
	background: #1a3345 !important;
	color: white !important;
	text-decoration: none !important;
}

/* ── TABLE OF CONTENTS LIST ── */
.pk-toc {
	list-style: disc;
	padding-left: 20px;
	margin: 0;
}

.pk-toc li {
	font-size: 14px;
	line-height: 1.75;
	color: #2a2a2a;
	margin-bottom: 4px;
}

.pk-toc a {
	color: #2c4a5e !important;
	text-decoration: none !important;
}

.pk-toc a:hover {
	text-decoration: underline !important;
}

/* ── SECTION ── */
.pk-section {
	padding: 28px 0;
	border-bottom: 1px solid var(--pk-rule);
}

.pk-section:last-child {
	border-bottom: none;
}

.pk-section-header {
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin-bottom: 16px;
}

.pk-section-num {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .2em;
	color: var(--pk-mid);
	text-transform: uppercase;
	min-width: 28px;
}

.pk-section h2 {
	font-family: 'Cormorant Garamond', serif;
	font-size: 24px;
	font-weight: 400;
	color: var(--pk-cold);
	letter-spacing: -.01em;
}

/* ── DOWNLOAD GRID ── */
.pk-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 10px;
}

/* ── TILES ── */
.pk-tile {
	display: flex !important;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	background: #dce8f0 !important;
	border: 1px solid #a8c8dc !important;
	border-radius: 4px;
	text-decoration: none !important;
	color: #0f1117 !important;
	transition: background 0.18s, border-color 0.18s, box-shadow .18s;
}

.pk-tile:hover {
	background: #c8dde8 !important;
	border-color: #2c4a5e !important;
	box-shadow: 0 2px 10px rgba(44,74,94,0.12);
	color: #0f1117 !important;
	text-decoration: none !important;
}

.pk-tile-icon {
	display: none !important;
}

.pk-tile-label {
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3;
	color: #2c4a5e !important;
}

.pk-tile-meta {
	font-size: 11px;
	color: #6b7c8a !important;
	margin-top: 2px;
	font-family: 'Barlow Condensed', sans-serif;
	letter-spacing: .04em;
	text-transform: uppercase;
}

/* ── BIG DOWNLOAD BUTTON ── */
.pk-download-btn {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	background: #2c4a5e !important;
	color: white !important;
	padding: 13px 24px;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	text-decoration: none !important;
	border-radius: 3px;
	transition: background .18s;
}

.pk-download-btn:hover {
	background: #1a3345 !important;
	color: white !important;
	text-decoration: none !important;
}

.pk-download-btn svg {
	width: 16px;
	height: 16px;
	stroke: white;
	fill: none;
}

/* ── TEXT / BIO ── */
.pk-prose {
	font-size: 15px;
	line-height: 1.7;
	color: #2a2a2a;
	max-width: 660px;
	margin-bottom: 0;
}

.pk-prose p + p {
	margin-top: 1em;
}

/* ── FACT BOX ── */
.pk-facts {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 1px;
	background: var(--pk-rule);
	border: 1px solid var(--pk-rule);
	border-radius: 4px;
	overflow: hidden;
	margin-top: 16px;
}

.pk-fact {
	background: white;
	padding: 13px 16px;
}

.pk-fact-label {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--pk-mid);
	margin-bottom: 3px;
}

.pk-fact-value {
	font-size: 14px;
	font-weight: 500;
	color: var(--pk-cold);
}

/* ── REVIEW CARDS ── */
.pk-reviews {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 12px;
	margin-bottom: 16px;
}

.pk-review {
	background: #dce8f0;
	border: 1px solid #a8c8dc;
	border-radius: 4px;
	padding: 16px;
}

.pk-review-stars {
	color: var(--pk-cold);
	font-size: 13px;
	letter-spacing: 2px;
	margin-bottom: 8px;
}

.pk-review-text {
	font-family: 'Cormorant Garamond', serif;
	font-size: 17px;
	font-style: italic;
	line-height: 1.55;
	color: #2a2a2a;
}

.pk-review-source {
	margin-top: 10px;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--pk-mid);
}

/* ── RESPONSIVE ── */
@media (max-width: 600px) {
	.pk-hero {
		padding: 32px 20px 28px !important;
	}
	
	.pk-wrap {
		padding: 0 20px 48px !important;
	}
	
	.pk-grid {
		grid-template-columns: 1fr;
	}
	
	.pk-facts {
		grid-template-columns: 1fr 1fr;
	}
}

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

/* =========================================================
   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;}
}