/* ==========================================================================
   v0.3.18 The Communist Factory book page (HireUA / Book … patterns).
   Source: batch6 the-communist-factory-book-page-v1.html. Loaded after
   landing.css on pages that use hu-book-* blocks (and in the editor).
   Hero borrows the cover's cream / black / yellow; the rest is Deep/Electric.
   Buttons: darker shade of their own colour (landing.css hu-btn-*).
   ========================================================================== */
.hu-book-section .wp-block-button__link, .hu-book-hero .wp-block-button__link { white-space: nowrap !important; }
.hu-section :is(.hu-book-grid, .hu-book-copy, .hu-book-thesis, .hu-book-card, .hu-book-story-grid, .hu-book-story-copy, .hu-book-story-stat, .hu-book-lessons, .hu-book-lesson,
	.hu-book-audit, .hu-book-audit-card, .hu-book-audit-main, .hu-book-audit-list, .hu-book-author, .hu-book-author-copy, .hu-book-author-panel, .hu-book-final-grid, .hu-book-final-copy) > * { margin-block: 0; }

/* 1. Hero (cream) */
.wp-block-group.hu-section.hu-book-hero { position: relative; overflow: hidden; padding: 54px 0 72px; background: #FBFAF5; border: 0; }
.wp-block-group.hu-section.hu-book-hero::before { content: ""; position: absolute; top: -200px; right: -180px; width: 520px; height: 520px; border-radius: 50%; background: var(--hu-yellow); opacity: .24; pointer-events: none; }
.hu-book-hero .hu-book-grid { position: relative; display: grid; grid-template-columns: .82fr 1.18fr; gap: 72px; align-items: center; }
.hu-book-hero .hu-book-cover-img { margin: 0; }
.hu-book-hero .hu-book-cover-img img { display: block; width: 100%; max-width: 470px; height: auto; border-radius: 2px; box-shadow: 0 26px 70px rgba(var(--hu-navy-rgb), .22); transform: rotate(-1.1deg); }
.hu-book-hero .hu-book-kicker { display: inline-flex; padding: 8px 11px; border-radius: 999px; background: var(--hu-yellow); color: var(--hu-navy); font-size: 11px; font-weight: 900; letter-spacing: .1em; line-height: 1.2; text-transform: uppercase; }
.hu-book-hero .hu-book-title { margin: 17px 0 16px !important; color: var(--hu-navy); font-size: clamp(55px, 6vw, 86px); font-weight: 900; line-height: .9; letter-spacing: -.065em; }
.hu-book-hero .hu-book-title mark { display: block; background: none !important; color: var(--hu-blue); }
.hu-book-hero .hu-book-sub { max-width: 650px; margin: 0 0 18px !important; color: var(--hu-ink); font-size: 24px; font-weight: 750; line-height: 1.22; letter-spacing: -.025em; }
.hu-book-hero .hu-book-dek { max-width: 680px; margin: 0 0 25px !important; color: #4D5A70; font-size: 16px; line-height: 1.68; }
.hu-book-hero .hu-book-actions { gap: 12px; }

/* Shared section bits */
.hu-book-section .hu-section-title { color: var(--hu-navy); }
.hu-book-section .hu-eyebrow { color: var(--hu-blue); }

/* 2. Thesis cards */
.hu-book-thesis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.hu-book-card { padding: 30px; border: 1px solid var(--hu-line); border-radius: 9px; background: var(--hu-white); }
.hu-book-card h3 { margin: 9px 0 10px !important; color: var(--hu-navy); font-size: 26px; font-weight: 800; line-height: 1.12; letter-spacing: -.035em; }
.hu-book-card p:not(.hu-eyebrow) { color: var(--hu-muted); font-size: 14px; line-height: 1.6; }
.hu-book-card.is-yellow { border-color: var(--hu-yellow); background: var(--hu-yellow); }
.hu-book-card.is-yellow .hu-eyebrow { color: var(--hu-navy); }
.hu-book-card.is-yellow p:not(.hu-eyebrow) { color: var(--hu-on-yellow); }

/* 3. Story band (navy) */
.wp-block-group.hu-section.hu-book-story { background: var(--hu-navy); color: var(--hu-white); }
.hu-book-story-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 60px; align-items: center; }
.hu-book-story .hu-eyebrow { color: var(--hu-yellow); }
.hu-book-story .hu-section-title { margin: 10px 0 18px !important; color: var(--hu-white); font-size: clamp(36px, 4.2vw, 50px); }
.hu-book-story-copy > p:not(.hu-eyebrow) { margin-bottom: 16px !important; color: #B8C5D7; font-size: 16px; line-height: 1.7; }
.hu-book-stat-number { color: var(--hu-yellow); font-size: clamp(90px, 12vw, 170px); font-weight: 900; line-height: .8; letter-spacing: -.07em; }
.hu-book-stat-label { margin-top: 16px !important; color: #B8C5D7; font-size: 11px; font-weight: 900; letter-spacing: .12em; }

/* 4. Lessons */
.hu-book-lessons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.hu-book-lesson { padding: 26px; border: 1px solid var(--hu-line); border-radius: 9px; background: var(--hu-white); }
.hu-book-lesson-label { color: var(--hu-blue); font-size: 11px; font-weight: 900; letter-spacing: .1em; }
.hu-book-lesson h3 { margin: 12px 0 9px !important; color: var(--hu-navy); font-size: 24px; font-weight: 800; line-height: 1.12; letter-spacing: -.035em; }
.hu-book-lesson p:not(.hu-book-lesson-label) { color: var(--hu-muted); font-size: 14px; line-height: 1.6; }

/* 5. Pull quote (yellow band) */
.wp-block-group.hu-section.hu-book-quote { padding: 88px 0; background: var(--hu-yellow); color: var(--hu-navy); }
.hu-book-quote-text { max-width: 930px; color: var(--hu-navy); font-size: clamp(38px, 5vw, 66px); font-weight: 900; line-height: 1.05; letter-spacing: -.055em; }
.hu-book-quote-text mark { padding: 0 .08em; background: var(--hu-navy) !important; color: var(--hu-white); -webkit-box-decoration-break: clone; box-decoration-break: clone; }

/* 6. Audit */
.hu-book-audit { display: grid; grid-template-columns: .85fr 1.15fr; gap: 60px; align-items: start; }
.hu-book-audit-card { position: sticky; top: 112px; padding: 28px; border-radius: 9px; background: var(--hu-navy); color: var(--hu-white); }
.admin-bar .hu-book-audit-card { top: 144px; }
.hu-book-audit-card .hu-eyebrow { color: var(--hu-yellow); }
.hu-book-audit-card h3 { margin: 9px 0 !important; color: var(--hu-white); font-size: 30px; font-weight: 800; line-height: 1.08; letter-spacing: -.04em; }
.hu-book-audit-card p:not(.hu-eyebrow) { margin-bottom: 20px !important; color: #B7C4D6; font-size: 14px; line-height: 1.58; }
.hu-book-audit-main .hu-section-title { max-width: 700px; margin-bottom: 25px !important; }
.hu-book-audit-list { display: grid; gap: 10px; }
.hu-book-audit-q { padding: 20px; border: 1px solid var(--hu-line); border-radius: 7px; background: var(--hu-white); color: var(--hu-ink); font-size: 16px; font-weight: 800; line-height: 1.4; letter-spacing: -.01em; }

/* 7. Author (text-only panel, no photo) */
.hu-book-author { display: grid; grid-template-columns: 1.05fr .95fr; gap: 60px; align-items: center; }
.hu-book-author .hu-section-title { margin: 10px 0 16px !important; font-size: clamp(36px, 4.2vw, 50px); }
.hu-book-author-copy > p:not(.hu-eyebrow) { margin-bottom: 14px !important; color: var(--hu-muted); font-size: 15px; line-height: 1.7; }
.hu-book-author-panel { padding: 30px; border: 1px solid var(--hu-line); border-radius: 9px; background: var(--hu-white); }
.hu-book-author-photo { position: relative; margin: 0 10px 26px 0 !important; }
.hu-book-author-photo::after { content: ""; position: absolute; inset: 10px -10px -10px 10px; z-index: 0; border-radius: 9px; background: var(--hu-yellow, #FFF04A); }
.hu-book-author-photo img, .hu-book-author-photo picture { position: relative; z-index: 1; display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 9px; box-shadow: 0 18px 40px rgba(7, 21, 42, .14); }
.hu-book-author-name { color: var(--hu-navy); font-size: 31px; font-weight: 900; line-height: 1.05; letter-spacing: -.04em; }
.hu-book-author-role { margin-top: 6px !important; color: var(--hu-blue); font-size: 11px; font-weight: 900; letter-spacing: .1em; }
.hu-book-author-panel p:last-child:not(.hu-book-author-role) { margin-top: 14px !important; color: var(--hu-muted); font-size: 15px; line-height: 1.6; }

/* 8. Final CTA (navy) */
.wp-block-group.hu-section.hu-book-final { padding: 70px 0; background: var(--hu-navy); color: var(--hu-white); }
.hu-book-final-grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 50px; align-items: center; }
.hu-book-final .hu-eyebrow { color: var(--hu-yellow); }
.hu-book-final .hu-section-title { margin: 8px 0 10px !important; color: var(--hu-white); font-size: clamp(38px, 5vw, 64px); line-height: .98; }
.hu-book-final-copy > p:not(.hu-eyebrow) { max-width: 700px; color: #B9C5D6; font-size: 15px; line-height: 1.6; }

/* Editor-only purchase placeholder */
.hu-book-url-needed { display: block; margin-top: 8px; font-size: 11px; }

@media (max-width: 900px) {
	.wp-block-group.hu-section.hu-book-hero { padding: 28px 0 52px; }
	.hu-book-hero .hu-book-grid, .hu-book-thesis, .hu-book-story-grid, .hu-book-lessons, .hu-book-audit, .hu-book-author, .hu-book-final-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.hu-book-hero .hu-book-grid { gap: 30px; }
	.hu-book-hero .hu-book-cover-img img { max-width: min(300px, 74vw); margin-inline: auto; }
	.hu-book-audit-card { position: static; }
	.hu-book-lessons, .hu-book-thesis { gap: 12px; }
	.wp-block-group.hu-section.hu-book-quote { padding: 60px 0; }
	.wp-block-group.hu-section.hu-book-final { padding: 56px 0; }
}
@media (max-width: 600px) {
	.hu-book-hero .hu-book-title { font-size: clamp(46px, 13vw, 56px); }
	.hu-book-hero .hu-book-sub { font-size: 20px; }
	.hu-book-hero .hu-book-actions { flex-direction: column; align-items: stretch; }
	.hu-book-hero .hu-book-actions .wp-block-button__link { width: 100%; }
	.hu-book-card, .hu-book-lesson, .hu-book-audit-card, .hu-book-author-panel { padding: 22px; }
	.hu-book-card h3 { font-size: 23px; }
	.hu-book-lesson h3 { font-size: 22px; }
	.hu-book-quote-text { font-size: clamp(32px, 9vw, 40px); }
	.hu-book-audit-q { padding: 16px; font-size: 15px; }
	.hu-book-final .wp-block-buttons, .hu-book-final .wp-block-button, .hu-book-final .wp-block-button__link,
	.hu-book-audit-card .wp-block-buttons, .hu-book-audit-card .wp-block-button, .hu-book-audit-card .wp-block-button__link { width: 100%; }
}
@media (max-width: 920px) {
	.hu-book-section .hu-section-head { gap: 16px; }
}
@media (max-width: 600px) {
	.wp-block-group.hu-section.hu-book-hero::before { top: -120px; right: -150px; width: 300px; height: 300px; }
	.hu-book-hero .hu-book-cover-img img { max-width: min(220px, 58vw); }
	.hu-book-hero .hu-book-grid { gap: 26px; }
}
@media (max-width: 900px) { .hu-book-author-photo { max-width: 340px; } }
@media (max-width: 600px) { .hu-book-author-photo { margin-bottom: 22px !important; } .hu-book-author-photo::after { inset: 8px -8px -8px 8px; } }
/* Editor-only [PURCHASE LINK NEEDED] note must not shift the button row. */
.hu-book-section .wp-block-buttons, .hu-book-hero .wp-block-buttons { align-items: flex-start; }
