/*
Theme Name:   Platform Child
Theme URI:    https://example.test
Description:  Child theme for АТЕВИ — the Bulgarian book, courses, and community platform. Presentation only; business logic lives in platform-core.
Author:       Platform
Template:     twentytwentyfive
Version:      0.2.0
Requires PHP: 8.3
License:      Proprietary
Text Domain:  platform-child
*/

/*
 * TEMPORARY PARENT: extends Twenty Twenty-Five until the licensed
 * BuddyBoss Theme is supplied (docs/02 §7). All styling below is
 * parent-agnostic (design tokens + platform-* components), so the
 * eventual switch is a one-line Template change plus re-verification.
 */

/* -------------------------------------------------------------------
 * Design tokens (from athevi_design.png)
 * ----------------------------------------------------------------- */
:root {
	--platform-cream: #f7eee7;      /* page background */
	--platform-blush: #f5ddd3;      /* hero background */
	--platform-pink-band: #efc6bb;  /* CTA band background */
	--platform-card: #fbf6f1;       /* card surface */
	--platform-white: #ffffff;
	--platform-rose: #bc4a62;       /* primary accent / buttons */
	--platform-rose-deep: #a23d53;  /* hover / emphasis */
	--platform-ink: #171112;        /* near-black bands, footer */
	--platform-gold: #c9973b;       /* gold details */
	--platform-text: #2b2124;
	--platform-text-muted: #6f5f59;
	--platform-line: #e5d3c9;

	--platform-font-display: "Playfair Display", Georgia, "Times New Roman", serif;
	--platform-font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	--platform-radius: 8px;
	--platform-shadow: 0 10px 30px rgba(23, 17, 18, 0.08);

	/* Back-compat aliases used by earlier components. */
	--platform-color-primary: var(--platform-rose);
	--platform-color-accent: var(--platform-pink-band);
	--platform-color-text: var(--platform-text);
	--platform-color-surface: var(--platform-white);
}

/* -------------------------------------------------------------------
 * Base
 * ----------------------------------------------------------------- */
body {
	background-color: var(--platform-cream);
	color: var(--platform-text);
	font-family: var(--platform-font-body);
	/* The parent theme breaks words aggressively; Bulgarian text must
	   not split mid-word without hyphens. */
	overflow-wrap: normal;
	word-break: normal;
	hyphens: manual;
}

/* Core's columns block ships `.wp-block-column{overflow-wrap:break-word;
   word-break:break-word}` — Bulgarian must never split mid-word without
   hyphens. */
.wp-block-post-content,
.wp-block-column {
	overflow-wrap: normal !important;
	word-break: normal !important;
}

/* Remove the parent theme's gap between header and hero on the front
   page: main's inline margin-top plus the flow gap that the (hidden)
   post title leaves on .wp-block-post-content. */
.home main.wp-block-group { margin-top: 0 !important; }
.home .wp-block-post-content { margin-block-start: 0 !important; }
.home .wp-block-post-content > .platform-hero:first-child { margin-block-start: 0; }

h1, h2, h3, h4, h5, h6,
.wp-block-heading {
	font-family: var(--platform-font-display);
	color: var(--platform-ink);
	letter-spacing: 0.01em;
}

h1 { text-transform: uppercase; }

a { color: var(--platform-rose-deep); }
a:hover { color: var(--platform-rose); }

::selection { background: var(--platform-blush); }

/* Header */
.wp-site-blocks > header {
	background: var(--platform-cream);
	border-bottom: 1px solid var(--platform-line);
}

.wp-site-blocks > header .wp-block-site-title a {
	font-family: var(--platform-font-display);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	text-decoration: none;
	color: var(--platform-ink);
}

.wp-site-blocks > header .wp-block-site-tagline {
	color: var(--platform-rose);
	font-size: 0.85rem;
}

.wp-site-blocks > header .wp-block-navigation a {
	text-transform: uppercase;
	font-size: 0.82rem;
	letter-spacing: 0.08em;
	color: var(--platform-ink);
}

.wp-site-blocks > header .wp-block-navigation a:hover {
	color: var(--platform-rose);
}

/* Mini-cart and account icons sit right of the menu, inked to match. */
.wp-site-blocks > header .wc-block-mini-cart__button,
.wp-site-blocks > header .wc-block-customer-account {
	color: var(--platform-ink);
}

.wp-site-blocks > header .wc-block-mini-cart__button:hover,
.wp-site-blocks > header .wc-block-customer-account a:hover {
	color: var(--platform-rose);
}

.wc-block-mini-cart__badge {
	background: var(--platform-rose);
	color: var(--platform-white);
}

/* "Купи книгата" nav item styled as the primary CTA pill. */
.wp-block-navigation .platform-nav-cta a {
	background: var(--platform-rose);
	color: var(--platform-white);
	border-radius: var(--platform-radius);
	padding: 0.55em 1.1em;
}

.wp-block-navigation .platform-nav-cta a:hover {
	background: var(--platform-rose-deep);
	color: var(--platform-white);
}

/* Hide the automatic post title on the front page (design has its own hero). */
.home .wp-block-post-title,
.home h1.wp-block-post-title { display: none; }

/* Footer */
.platform-footer h3 {
	font-family: var(--platform-font-body);
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--platform-gold);
}

.platform-footer__brand {
	text-transform: uppercase;
	letter-spacing: 0.14em;
}

.platform-footer__tagline { color: var(--platform-blush); }

.platform-footer__links {
	list-style: none;
	padding: 0;
	margin: 0;
}

.platform-footer__links li { padding: 0.2rem 0; }

.platform-footer__links a { text-decoration: none; }

.platform-footer__legal {
	border-top: 1px solid rgba(247, 238, 231, 0.15);
	margin-top: 2.5rem;
	padding-top: 1.2rem;
	font-size: 0.8rem;
	color: #a99d97;
}

.wp-site-blocks > footer {
	background: var(--platform-ink);
	color: var(--platform-cream);
	margin-top: 4rem;
}

.wp-site-blocks > footer h1,
.wp-site-blocks > footer h2,
.wp-site-blocks > footer h3,
.wp-site-blocks > footer .wp-block-site-title a {
	color: var(--platform-cream);
}

.wp-site-blocks > footer a { color: var(--platform-blush); }
.wp-site-blocks > footer a:hover { color: var(--platform-white); }

/* -------------------------------------------------------------------
 * Buttons (blocks + WooCommerce)
 * ----------------------------------------------------------------- */
.wp-block-button__link,
.wp-element-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce button.button.alt,
.woocommerce a.button.alt {
	background-color: var(--platform-rose);
	color: var(--platform-white);
	border: none;
	border-radius: var(--platform-radius);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.82rem;
	font-weight: 600;
	padding: 0.9em 1.8em;
	transition: background-color 0.15s ease;
	white-space: nowrap;
}

.wp-block-button__link:hover,
.wp-element-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover {
	background-color: var(--platform-rose-deep);
	color: var(--platform-white);
}

.wp-block-button.is-style-outline .wp-block-button__link,
.platform-button--ghost .wp-block-button__link {
	background: transparent;
	color: var(--platform-ink);
	border: 1.5px solid var(--platform-ink);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--platform-ink);
	color: var(--platform-cream);
}

/* -------------------------------------------------------------------
 * Landing sections
 * ----------------------------------------------------------------- */
.platform-crown {
	color: var(--platform-rose);
	font-size: 1.6rem;
	line-height: 1;
}

/* Hero */
.platform-hero {
	background: var(--platform-blush);
	border-radius: 0;
	padding: 4rem 2rem;
}

.platform-hero h1 {
	font-size: clamp(2.2rem, 5vw, 3.6rem);
	line-height: 1.08;
	margin-bottom: 1rem;
}

.platform-hero h1 em {
	font-style: normal;
	color: var(--platform-rose);
}

.platform-hero p { color: var(--platform-text-muted); }

.platform-hero__card {
	background: var(--platform-white);
	border-radius: 10px;
	box-shadow: var(--platform-shadow);
	padding: 2.5rem 2rem;
	text-align: center;
}

.platform-hero__card h3 {
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin: 0.5rem 0;
}

.platform-hero__card p {
	color: var(--platform-text-muted);
	font-size: 0.9rem;
}

/* Dark values band */
.platform-band-dark {
	background: var(--platform-ink);
	color: var(--platform-cream);
	padding: 3rem 2rem;
}

.platform-band-dark h3 {
	color: var(--platform-gold);
	font-family: var(--platform-font-body);
	font-size: 0.9rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	margin: 0.6rem 0 0.4rem;
}

.platform-band-dark p {
	color: #d8cdc7;
	font-size: 0.9rem;
}

.platform-band-dark .platform-crown { font-size: 2rem; }

/* Program cards */
.platform-programs { padding: 3.5rem 2rem 1rem; }

.platform-programs > h2,
.platform-section-title {
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: clamp(1.4rem, 3vw, 2rem);
	margin-bottom: 2.2rem;
}

.platform-programs .wp-block-columns {
	gap: 1.25rem;
}

.platform-card {
	background: var(--platform-card);
	border: 1px solid var(--platform-line);
	border-radius: 10px;
	box-shadow: var(--platform-shadow);
	padding: 1.75rem 1.4rem;
	text-align: center;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.platform-card h3 {
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: 1rem;
	line-height: 1.3;
	margin: 0.7rem 0 0.9rem;
	min-height: 2.6em;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Left-aligned bulleted list per the reference; grows so the buttons
   of a card row stay bottom-aligned. */
.platform-card ul {
	list-style: none;
	text-align: left;
	padding: 0;
	margin: 0 0 1.2rem;
	color: var(--platform-text-muted);
	font-size: 0.88rem;
	line-height: 1.45;
	flex-grow: 1;
}

.platform-card ul li {
	position: relative;
	padding: 0.2rem 0 0.2rem 1rem;
}

.platform-card ul li::before {
	content: "•";
	color: var(--platform-rose);
	position: absolute;
	left: 0;
}

.platform-card .wp-block-button__link { font-size: 0.75rem; padding: 0.75em 1.4em; }

/* Between full desktop and the stacking breakpoint, four columns get
   too narrow — fold the program cards into a 2×2 grid. */
@media (min-width: 782px) and (max-width: 1140px) {
	.platform-programs .wp-block-columns {
		flex-wrap: wrap !important;
	}

	.platform-programs .wp-block-column {
		flex-basis: calc(50% - 0.75rem) !important;
		flex-grow: 0;
	}
}

/* CTA band */
.platform-cta-band {
	background: var(--platform-pink-band);
	padding: 3.5rem 2rem;
}

.platform-cta-band h2 {
	text-transform: uppercase;
	font-size: clamp(1.5rem, 3.5vw, 2.3rem);
	line-height: 1.15;
}

.platform-cta-band h2 em {
	font-style: normal;
	color: var(--platform-rose-deep);
}

/* Testimonials */
.platform-testimonials { padding: 3.5rem 2rem; }

.platform-quote {
	background: var(--platform-white);
	border-radius: 10px;
	box-shadow: var(--platform-shadow);
	padding: 1.8rem 1.5rem;
	height: 100%;
}

.platform-quote::before {
	content: "\201C";
	display: block;
	font-family: var(--platform-font-display);
	font-size: 2.4rem;
	line-height: 0.6;
	color: var(--platform-rose);
	margin-bottom: 0.8rem;
}

.platform-quote p {
	font-size: 0.92rem;
	color: var(--platform-text);
}

.platform-quote cite {
	display: block;
	margin-top: 0.8rem;
	color: var(--platform-text-muted);
	font-style: normal;
	font-size: 0.85rem;
}

/* -------------------------------------------------------------------
 * Reader components (platform-core output)
 * ----------------------------------------------------------------- */
.platform-book-index {
	list-style: none;
	counter-reset: chapter;
	padding: 0;
	max-width: 42rem;
}

.platform-book-index__item {
	counter-increment: chapter;
	background: var(--platform-card);
	border: 1px solid var(--platform-line);
	border-radius: var(--platform-radius);
	margin-bottom: 0.6rem;
	padding: 0.9rem 1.2rem;
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.platform-book-index__item::before {
	content: counter(chapter, decimal-leading-zero);
	font-family: var(--platform-font-display);
	color: var(--platform-rose);
	font-size: 1.1rem;
	min-width: 2rem;
}

.platform-book-index__item a {
	text-decoration: none;
	color: var(--platform-ink);
	font-weight: 600;
}

.platform-book-index__item a:hover { color: var(--platform-rose); }

.platform-book-index__locked { margin-left: auto; }

.platform-chapter-locked {
	background: var(--platform-blush);
	border: 1px solid var(--platform-line);
	border-radius: 10px;
	padding: 2.2rem 2rem;
	text-align: center;
	max-width: 38rem;
	margin: 2rem auto;
}

.platform-chapter-locked::before {
	content: "\265B";
	display: block;
	color: var(--platform-rose);
	font-size: 2rem;
	margin-bottom: 0.6rem;
}

.platform-chapter-locked__actions { margin-top: 1.2rem; }

.platform-chapter-locked__buy {
	background: var(--platform-rose);
	color: var(--platform-white) !important;
	border-radius: var(--platform-radius);
	padding: 0.8em 1.6em;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.8rem;
	text-decoration: none;
	display: inline-block;
}

.platform-chapter-locked__buy:hover { background: var(--platform-rose-deep); }

.platform-chapter-locked__login {
	margin-left: 1rem;
	color: var(--platform-ink);
}

/* Chapter reader: hide parent-theme post furniture that does not apply
   to book chapters (byline, date-ordered prev/next, "More posts"). The
   plugin renders its own chapter-number-ordered navigation. */
.single-book_chapter .wp-block-post-author-name,
.single-book_chapter p:has(> .wp-block-post-author-name),
.single-book_chapter .wp-block-post-date,
.single-book_chapter .wp-block-post-navigation-link,
.single-book_chapter .wp-block-group:has(> .wp-block-query),
.single-book_chapter .wp-block-post-title + .wp-block-group.has-small-font-size {
	display: none;
}

.platform-chapter-nav {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	border-top: 1px solid var(--platform-line);
	margin-top: 3rem;
	padding-top: 1.2rem;
}

.platform-chapter-nav a {
	text-decoration: none;
	font-weight: 600;
	color: var(--platform-rose-deep);
}

.platform-chapter-nav__next { margin-left: auto; }

/* -------------------------------------------------------------------
 * WooCommerce accents
 * ----------------------------------------------------------------- */
.woocommerce ul.products li.product {
	background: var(--platform-card);
	border: 1px solid var(--platform-line);
	border-radius: 10px;
	padding: 1rem;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--platform-font-display);
	font-size: 1.05rem;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price {
	color: var(--platform-rose-deep);
	font-weight: 700;
}

.woocommerce div.product p.price { font-size: 1.4rem; }

.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info {
	border-top-color: var(--platform-rose);
}

.platform-catalog-notice {
	background: var(--platform-blush);
	border-left: 3px solid var(--platform-rose);
	border-radius: 0 var(--platform-radius) var(--platform-radius) 0;
	padding: 0.9rem 1.1rem;
	font-size: 0.95rem;
}

.platform-bgn-price {
	font-size: 0.85em;
	opacity: 0.8;
	white-space: nowrap;
}
