/* Book pages (EDD downloads) and the /downloads/ study-guides hub. Loaded only there (includes/book-pages.php).
   Fixes from the 2026-10-26 page review; new blocks use the bk- prefix. */

/* 1. Headings: the book title is now the page H1 (was H2); the reviews and About headings are now H2 (were H1).
   Same look as before. */
.product-details-container .product-details .product-header h1.product-title {
	font-family: Work Sans, sans-serif; font-size: 40px; font-weight: 800; line-height: 47px;
	letter-spacing: 0; text-align: left; color: #3F3F3F; margin: 0;
}
.review-container .review-detail h2 {
	font-family: Work Sans, sans-serif; font-size: 48px; font-weight: 800; line-height: 56px;
	letter-spacing: 0; text-align: center; color: #3A8FC8; margin-bottom: 0;
}
.about-us-container .description h2 {
	font-family: Work Sans, sans-serif; font-size: 48px; font-weight: 800; line-height: 56px;
	letter-spacing: 0; text-align: left; color: #FFD6D4; margin-bottom: 24px;
}
@media (max-width: 576px) {
	.product-details-container .product-details .product-header h1.product-title { font-size: 26px; line-height: 30px; }
	.review-container .review-detail h2 { font-size: 34px; line-height: 40px; }
	.about-us-container .description h2 { font-size: 35px; line-height: 42px; }
}

/* 2. Price options and Buy button right under the title; the feature list follows as a compact list
   (icons inline with the text instead of stacked above it). Buy was below the first screen on desktop. */
.product-details-container .product-reviews { display: flex; flex-direction: column; gap: 20px; }
.product-details-container .product-reviews .product-prices { order: -1; }
.product-details-container .product-description ul { gap: 8px; margin: 0; }
.product-details-container .product-description ul li { display: flex; flex-direction: row; align-items: flex-start; gap: 10px; }
.product-details-container .product-description ul li img { width: 16px; height: auto; margin-top: 3px; flex: none; }
.product-details-container .product-description ul li p { font-size: 15px; line-height: 21px; margin: 0 !important; flex: 1; min-width: 0; }
.product-details-container .product-description ul li { margin: 0; padding: 0; }

/* 3. Phones and tablets: the sticky buy bar (cta.php) now shows up to 1024px, so the header's own Buy
   button goes (it overlapped "FAQs" at 768px), the page bottom stays clear of the bar, and the chat
   button sits above the bar instead of covering it. */
@media (max-width: 1024px) {
	.header .nav > ul.menu.download > li#menu-item-4927,
	.header .nav > ul#menu-main-menu.download > li#menu-item-4927 { display: none !important; }
	.header .nav > ul.menu.download > li,
	.header .nav > ul#menu-main-menu.download > li { margin-left: 24px !important; }
	body.single-download { padding-bottom: 78px; }
	body.single-download #site-chat-btn { bottom: 86px !important; }
}

/* 4. What's inside (fragments/download/inside.php) */
.bk-inside { padding: 48px 0; background: #fff; }
.bk-inside__wrap { max-width: 760px; margin: 0 auto; }
.bk-inside__title {
	font-family: Work Sans, sans-serif; font-size: 32px; font-weight: 800; line-height: 1.2;
	color: #3F3F3F; margin: 0 0 8px; text-wrap: balance;
}
.bk-inside__summary { font-family: Roboto, sans-serif; font-size: 17px; line-height: 1.5; color: #3A8FC8; font-weight: 600; margin: 0 0 20px; }
.bk-inside__list { margin: 0 0 20px; padding-left: 1.4em; display: grid; gap: 6px; columns: 2; column-gap: 32px; }
.bk-inside__list li { font-family: Roboto, sans-serif; font-size: 16px; line-height: 1.45; color: #3F3F3F; break-inside: avoid; }
.bk-inside__list--sections { columns: 1; }
.bk-inside__note { font-family: Roboto, sans-serif; font-size: 15px; line-height: 1.5; color: #5d6670; margin: 0; }
@media (max-width: 768px) {
	.bk-inside { padding: 32px 0; }
	.bk-inside__wrap { padding: 0 16px; }
	.bk-inside__title { font-size: 26px; }
	.bk-inside__list { columns: 1; }
}

/* 5. Study-guides hub (archive-download.php) */
.bk-hub { padding: 48px 0 64px; }
.bk-hub .shell { padding-left: 16px; padding-right: 16px; }
.bk-hub__head { max-width: 760px; margin: 0 auto 32px; text-align: center; }
.bk-hub__title { font-family: Work Sans, sans-serif; font-size: 40px; font-weight: 800; line-height: 1.15; color: #3F3F3F; margin: 0 0 12px; text-wrap: balance; }
.bk-hub__lede { font-family: Roboto, sans-serif; font-size: 18px; line-height: 1.55; color: #5d6670; margin: 0; }
.bk-hub__grid { list-style: none; margin: 0 auto; padding: 0; max-width: 1100px; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 20px; }
.bk-hub__item { margin: 0; min-width: 0; }
.bk-hub__link {
	display: flex; flex-direction: column; gap: 8px; height: 100%; padding: 16px; border: 1px solid #d7e6f3;
	border-radius: 12px; background: #fff; text-decoration: none; color: inherit;
}
.bk-hub__link:hover, .bk-hub__link:focus-visible { border-color: #3A8FC8; box-shadow: 0 6px 18px rgba(58, 143, 200, .15); }
.bk-hub__img { width: 100%; height: auto; border-radius: 8px; }
.bk-hub__name { font-family: Work Sans, sans-serif; font-size: 18px; font-weight: 800; line-height: 1.3; color: #3F3F3F; }
.bk-hub__meta { font-family: Roboto, sans-serif; font-size: 14px; line-height: 1.45; color: #5d6670; }
.bk-hub__price { font-family: Roboto, sans-serif; font-size: 15px; font-weight: 700; color: #3A8FC8; }
.bk-hub__cta {
	margin-top: auto; align-self: flex-start; padding: 10px 16px; border-radius: 8px; background: #FE8B7B;
	color: #fff; font-family: Work Sans, sans-serif; font-weight: 700; font-size: 15px;
}
.bk-hub__faq { max-width: 760px; margin: 48px auto 0; }
.bk-hub__faq h2 { font-family: Work Sans, sans-serif; font-size: 26px; font-weight: 800; color: #3F3F3F; margin: 0 0 12px; }
.bk-hub__faq dt { font-family: Work Sans, sans-serif; font-weight: 700; font-size: 17px; color: #3F3F3F; margin-top: 16px; }
.bk-hub__faq dd { font-family: Roboto, sans-serif; font-size: 16px; line-height: 1.55; color: #3F3F3F; margin: 4px 0 0; }
/* The site header is fixed (90px); the theme pads the body for it only below 768px. */
@media (min-width: 768px) {
	.bk-hub { padding-top: 138px; }
}
@media (max-width: 576px) {
	.bk-hub { padding: 32px 0 48px; }
	.bk-hub__title { font-size: 30px; }
}

/* 6. Copy review 2026-10-27 (decided with Astra) */

/* Buy buttons: dark text on the brand coral (6.4:1; white was 2.28:1). Book pages only. */
body.single-download .edd-submit,
body.single-download .edd-submit.button,
body.single-download .edd-submit .edd-add-to-cart-label,
body.single-download .cta-container .edd-submit,
body.single-download a.edd_go_to_checkout { color: #1F2937 !important; }
.bk-hub__cta { color: #1F2937; }

/* Subtitle under the title, and the two purchase notes under Buy */
.product-details-container .product-header .bk-subtitle {
	font-family: Roboto, sans-serif; font-size: 18px; line-height: 1.5; color: #3F3F3F; margin: 0; max-width: 60ch; text-align: left;
}
.bk-buy-notes { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 4px; }
.bk-buy-notes li { font-family: Roboto, sans-serif; font-size: 14px; line-height: 1.45; color: #5d6670; margin: 0; padding-left: 20px; position: relative; }
.bk-buy-notes li::before { content: "✓"; position: absolute; left: 0; color: #0b7a7e; font-weight: 700; }
/* Course offer under the buy notes (EN/ES eBooks), kept quieter than the buy button */
.bk-course { margin: 16px 0 0; padding: 12px 14px; border: 1px solid #d9e2ea; border-radius: 10px; background: #f7f9fb; }
.bk-course__text { font-family: Roboto, sans-serif; font-size: 14px; line-height: 1.45; color: #3F3F3F; margin: 0 0 6px; }
.bk-course__link { font-family: Roboto, sans-serif; font-size: 14px; font-weight: 700; color: #1f6fb2; text-decoration: underline; }
.bk-course__link:hover, .bk-course__link:focus-visible { color: #154f80; }

/* What's inside: sample pages button and the parent line */
.bk-inside__preview { margin: 0 0 16px; }
.bk-inside__preview-btn {
	display: inline-block; padding: 10px 18px; border: 2px solid #3A8FC8; border-radius: 8px; color: #1f6fb2;
	font-family: Work Sans, sans-serif; font-weight: 700; font-size: 15px; text-decoration: none;
}
.bk-inside__preview-btn:hover, .bk-inside__preview-btn:focus-visible { background: #EAF6FF; }
.bk-inside__parent { font-family: Roboto, sans-serif; font-size: 16px; line-height: 1.5; color: #3F3F3F; margin: 0 0 12px; padding: 12px 14px; background: #f4f9fe; border-radius: 8px; }

/* Written reviews (shown when a book has no video testimonials) */
.bk-reviews { list-style: none; margin: 24px auto 0; padding: 0; max-width: 1000px; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.bk-review { margin: 0; padding: 16px; background: #fff; border-radius: 12px; border: 1px solid #d7e6f3; min-width: 0; }
.bk-review__stars { color: #e8a317; letter-spacing: 2px; margin: 0 0 6px; font-size: 16px; }
.bk-review__title { font-family: Work Sans, sans-serif; font-weight: 700; font-size: 16px; color: #3F3F3F; margin: 0 0 4px; }
.bk-review__text { font-family: Roboto, sans-serif; font-size: 15px; line-height: 1.5; color: #3F3F3F; margin: 0 0 8px; }
.bk-review__name { font-family: Roboto, sans-serif; font-size: 14px; color: #5d6670; margin: 0; }

/* Trust strip (replaces About) */
.bk-trust { padding: 20px 0 28px; background: #fff; }
.bk-trust p { max-width: 760px; margin: 0 auto; padding: 0 16px; text-align: center; font-family: Roboto, sans-serif; font-size: 15px; line-height: 1.5; color: #5d6670; }

/* FAQ answers: regular Roboto instead of italic serif, a size older readers can use */
body.single-download .faq-container .answer-panel,
body.single-download .faq-container .answer-panel p { font-family: Roboto, sans-serif !important; font-style: normal !important; font-size: 17px; line-height: 1.55; }
body.postid-4648 .faq-container .answer-panel p,
body.postid-4648 .bk-inside__list li,
body.postid-4648 .product-details-container .product-description ul li p { font-size: 18px !important; line-height: 1.55 !important; }

/* Gallery: play icon in a corner instead of over the book title; smaller image on phones */
.product-details-container .image-gallery-container .play-button {
	top: auto !important; left: auto !important; right: 14px; bottom: 14px; transform: none !important; width: 56px !important; height: 56px !important;
}
@media (max-width: 576px) {
	.product-details-container .image-gallery-container img { max-height: 300px; width: auto; max-width: 100%; margin: 0 auto; display: block; object-fit: contain; }
}

/* Sticky buy bar: slides in only after the in-page Buy button is scrolled away (cta.php adds bk-cta-on) */
@media (max-width: 1024px) {
	body.single-download .cta-container { transform: translateY(110%); transition: transform .2s ease; }
	body.single-download.bk-cta-on .cta-container { transform: none; }
}
@media (prefers-reduced-motion: reduce) { body.single-download .cta-container { transition: none; } }

/* Hub: who each guide is for; compact cards on phones (image left) */
.bk-hub__for { font-family: Roboto, sans-serif; font-size: 15px; line-height: 1.4; color: #3F3F3F; font-weight: 600; }
@media (max-width: 576px) {
	.bk-hub__link { display: grid; grid-template-columns: 96px 1fr; column-gap: 14px; align-items: start; }
	.bk-hub__img { grid-row: 1 / span 6; width: 96px; }
	.bk-hub__link > span { grid-column: 2; }
	.bk-hub__cta { margin-top: 6px; }
}

/* Written reviews: full width and left-aligned (the review container centers and shrinks its children) */
.review-container .bk-reviews { width: 100%; align-self: stretch; text-align: left; }
@media (max-width: 576px) {
	.review-container .bk-reviews { grid-template-columns: 1fr; }
}
