/* ==========================================================================
   Basic page — the default page layout (see parts/basicpage/basicpage.php).
   Prose sizes match the article body so a plain page reads like the rest.
   ========================================================================== */

.bp { padding: 40px 0 84px; }
.bp-crumb { font-size: 13.5px; color: var(--muted); margin-bottom: 16px; }
.bp-crumb a:hover { color: var(--brand); }
.bp-crumb span { margin: 0 7px; }

.bp-title { font-size: clamp(30px, 3.6vw, 42px); font-weight: 800; letter-spacing: -.02em; margin: 0 0 26px; }

.bp-prose { max-width: 720px; }
.bp-prose p { font-size: 18.5px; line-height: 1.75; color: var(--body); margin: 0 0 22px; }
.bp-prose h2 { font-size: 27px; font-weight: 800; margin: 40px 0 14px; }
.bp-prose h3 { font-size: 20px; font-weight: 700; margin: 28px 0 10px; }
.bp-prose ul, .bp-prose ol { font-size: 18.5px; color: var(--body); margin: 0 0 22px; padding-left: 22px; }
.bp-prose li { margin-bottom: 10px; line-height: 1.7; }
.bp-prose a { color: var(--brand); font-weight: 600; border-bottom: 1px solid var(--brand-tint2); }
.bp-prose strong { color: var(--ink); font-weight: 700; }
.bp-prose img { max-width: 100%; height: auto; border-radius: 12px; }
.bp-prose blockquote {
	margin: 30px 0; padding: 22px 26px;
	border-left: 4px solid var(--brand); background: var(--soft); border-radius: 0 12px 12px 0;
}
.bp-prose table { width: 100%; border-collapse: collapse; margin: 0 0 22px; }
.bp-prose th, .bp-prose td { border: 1px solid var(--line); padding: 10px 12px; text-align: left; }

.bp-pages { margin-top: 24px; font-size: 14px; color: var(--muted); }

/* ---- Widget area (Appearance → Widgets → "Sidebar") ---------------------- */
.bp-widgets {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px;
	align-items: start;   /* each card sizes to its own content */
	margin-top: 44px;
}
/* The search widget spans the row — it reads as the page's search bar. */
.bp-widgets .widget:has(.wp-block-search) { grid-column: 1 / -1; }

.bp-widgets .widget {
	background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 20px 22px;
}
.bp-widgets .widget-title,
.bp-widgets .widget h2 {
	font-size: 12px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase;
	color: var(--muted); margin: 0 0 14px;
}
.bp-widgets ul { list-style: none; margin: 0; padding: 0; }
.bp-widgets li { padding: 9px 0; border-bottom: 1px solid var(--line2); font-size: 14.5px; }
.bp-widgets li:last-child { border-bottom: 0; padding-bottom: 0; }
.bp-widgets a { color: var(--ink); font-weight: 500; }
.bp-widgets a:hover { color: var(--brand); }
.bp-widgets .wp-block-latest-comments__comment { font-size: 14.5px; margin: 0 0 10px; }

/* Search block — same shape as the Insights sidebar search. */
.bp-widgets .wp-block-search__inside-wrapper {
	display: flex; gap: 10px; align-items: center;
	background: var(--soft); border: 1px solid var(--line); border-radius: 10px; padding: 6px;
}
.bp-widgets .wp-block-search__label { display: none; }
.bp-widgets .wp-block-search__input {
	flex: 1; border: 0; outline: 0; background: none; border-radius: 8px;
	font-family: inherit; font-size: 15px; color: var(--ink);
	padding: 10px 14px;   /* the typed text needs room from the edge */
}
.bp-widgets .wp-block-search__button {
	border: 0; border-radius: 10px; background: var(--brand); color: #fff;
	font-family: inherit; font-weight: 600; font-size: 14px; padding: 10px 18px; cursor: pointer;
}
.bp-widgets .wp-block-search__button:hover { background: var(--brand-dark); }


@media (max-width: 780px) {
	.bp { padding: 30px 0 56px; }
	.bp-prose p, .bp-prose ul, .bp-prose ol { font-size: 17px; }
	.bp-widgets { grid-template-columns: minmax(0, 1fr); }
}
