/*
Theme Name: BestMaxReviews
Theme URI: https://example.com/bestmaxreviews
Author: BestMaxReviews
Author URI: https://example.com
Description: A custom review & comparison theme for software, AI tools, and gear — categories, side-by-side comparisons, community reviews, and a submit-a-review workflow, built to match the BestMaxReviews design.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: bestmaxreviews
*/

/* -------------------------------------------------------------------------
   0. Design tokens
------------------------------------------------------------------------- */
:root{
	--bmr-primary:#2a14b4;
	--bmr-primary-dark:#1e0f8a;
	--bmr-primary-hover:#3a22d6;
	--bmr-nav-active:#4338ca;
	--bmr-danger:#dc2c4f;
	--bmr-danger-dark:#b5203f;

	--bmr-text:#0b1c30;
	--bmr-text-gray:#464554;
	--bmr-text-muted:#6e6e7d;

	--bmr-bg:#f8f9ff;
	--bmr-bg-alt:#eff4ff;
	--bmr-white:#ffffff;
	--bmr-border:#e3e6f2;

	--bmr-success-bg:#ecfdf5;
	--bmr-success-text:#065f46;
	--bmr-danger-bg:#fff1f2;
	--bmr-danger-text:#9f1239;

	--bmr-pastel-indigo:#eef2ff;
	--bmr-pastel-mint:#ecfdf5;
	--bmr-pastel-sky:#f0f9ff;
	--bmr-pastel-rose:#fff1f2;
	--bmr-pastel-purple:#faf5ff;
	--bmr-pastel-amber:#fffbeb;

	--bmr-icon-indigo:#4338ca;
	--bmr-icon-emerald:#059669;
	--bmr-icon-sky:#0284c7;
	--bmr-icon-rose:#e11d48;
	--bmr-icon-purple:#9333ea;
	--bmr-icon-amber:#d97706;

	--bmr-star:#f5a623;

	--bmr-radius-sm:8px;
	--bmr-radius:14px;
	--bmr-radius-lg:22px;
	--bmr-radius-pill:999px;

	--bmr-shadow:0 1px 2px rgba(11,28,48,.04), 0 6px 20px rgba(11,28,48,.06);
	--bmr-shadow-lg:0 10px 40px rgba(20,14,90,.12);

	--bmr-font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
	--bmr-font-head:'Lexend','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;

	--bmr-container:1200px;
}

/* -------------------------------------------------------------------------
   1. Reset & base
------------------------------------------------------------------------- */
*,*::before,*::after{ box-sizing:border-box; }
html{
	-webkit-text-size-adjust:100%;
	scroll-behavior:smooth;
}
body{
	margin:0;
	background:var(--bmr-bg);
	color:var(--bmr-text);
	font-family:var(--bmr-font-body);
	font-size:16px;
	line-height:1.55;
	-webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
ul,ol{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4,h5,h6{
	font-family:var(--bmr-font-head);
	color:var(--bmr-text);
	margin:0 0 .5em;
	line-height:1.15;
	font-weight:700;
	letter-spacing:-.01em;
}
p{ margin:0 0 1em; }
button{ font-family:inherit; cursor:pointer; }
input,textarea,select,button{ font-family:inherit; font-size:1rem; }
input,textarea,select{
	border:1px solid var(--bmr-border);
	border-radius:var(--bmr-radius-sm);
	padding:12px 14px;
	background:var(--bmr-white);
	color:var(--bmr-text);
	width:100%;
}
input:focus,textarea:focus,select:focus{
	outline:2px solid var(--bmr-primary);
	outline-offset:1px;
}
.screen-reader-text{
	position:absolute !important;
	clip:rect(1px,1px,1px,1px);
	width:1px;height:1px;overflow:hidden;
}

/* -------------------------------------------------------------------------
   2. Layout helpers
------------------------------------------------------------------------- */
.bmr-container{
	max-width:var(--bmr-container);
	margin:0 auto;
	padding:0 24px;
}
.bmr-section{ padding:56px 0; }
.bmr-section-tight{ padding:32px 0; }

/* When two bare page-level sections land back-to-back with nothing but
   padding between them, they visually blend into one block. A thin
   divider at the top of the second one gives every page - homepage,
   reviews, blog, archives - a clear "new section starts here" signal,
   without needing to touch each template's markup. Boxed components
   (.bmr-verdict-box, .bmr-scorecard, .bmr-card, etc.) already have their
   own border/shadow and are intentionally left alone here. */
.bmr-section + .bmr-section,
.bmr-section + .bmr-section-tight,
.bmr-section-tight + .bmr-section,
.bmr-section-tight + .bmr-section-tight{
	border-top:1px solid var(--bmr-border);
}
.bmr-flex{ display:flex; align-items:center; }
.bmr-flex-between{ display:flex; align-items:center; justify-content:space-between; }
.bmr-grid{ display:grid; gap:20px; }
.bmr-grid-2{ grid-template-columns:repeat(2,1fr); }
.bmr-grid-3{ grid-template-columns:repeat(3,1fr); }
.bmr-grid-4{ grid-template-columns:repeat(4,1fr); }
.bmr-grid-6{ grid-template-columns:repeat(6,1fr); }
.bmr-center{ text-align:center; }
.bmr-mt-0{ margin-top:0; }
.bmr-scroll-x{ overflow-x:auto; -webkit-overflow-scrolling:touch; }

@media (max-width:980px){
	.bmr-grid-2,.bmr-grid-3,.bmr-grid-4,.bmr-grid-6{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
	.bmr-grid-2,.bmr-grid-3,.bmr-grid-4,.bmr-grid-6{ grid-template-columns:1fr; }
	.bmr-section{ padding:36px 0; }
}

/* -------------------------------------------------------------------------
   3. Buttons
------------------------------------------------------------------------- */
.bmr-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	padding:12px 22px;
	border-radius:var(--bmr-radius-pill);
	font-weight:600;
	font-size:.95rem;
	border:1px solid transparent;
	background:var(--bmr-white);
	color:var(--bmr-text);
	transition:transform .12s ease, box-shadow .12s ease, background .15s ease, color .15s ease;
	white-space:nowrap;
}
.bmr-btn:hover{ transform:translateY(-1px); }
.bmr-btn-primary{ background:var(--bmr-primary); color:#fff; }
.bmr-btn-primary:hover{ background:var(--bmr-primary-hover); color:#fff; }
.bmr-btn-danger{ background:var(--bmr-danger); color:#fff; }
.bmr-btn-danger:hover{ background:var(--bmr-danger-dark); color:#fff; }
.bmr-btn-outline{ background:#fff; color:var(--bmr-text); border-color:var(--bmr-border); }
.bmr-btn-outline:hover{ border-color:var(--bmr-primary); color:var(--bmr-primary); }
.bmr-btn-ghost{ background:transparent; color:var(--bmr-primary); padding-left:8px; padding-right:8px; }
.bmr-btn-dark{ background:var(--bmr-text); color:#fff; }
.bmr-btn-sm{ padding:8px 16px; font-size:.85rem; }
.bmr-btn-block{ width:100%; }
.bmr-btn[disabled]{ opacity:.5; cursor:not-allowed; transform:none; }

/* -------------------------------------------------------------------------
   4. Badges, pills, eyebrows
------------------------------------------------------------------------- */
.bmr-eyebrow{
	display:inline-flex;
	align-items:center;
	gap:6px;
	font-size:.72rem;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.06em;
	color:var(--bmr-primary);
	background:var(--bmr-pastel-indigo);
	border-radius:var(--bmr-radius-pill);
	padding:6px 14px;
	margin-bottom:14px;
}
.bmr-eyebrow-plain{
	font-size:.72rem;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.08em;
	color:var(--bmr-text-muted);
	display:block;
	margin-bottom:8px;
}
.bmr-badge{
	display:inline-flex;
	align-items:center;
	gap:4px;
	font-size:.72rem;
	font-weight:700;
	padding:4px 10px;
	border-radius:var(--bmr-radius-pill);
	background:var(--bmr-bg-alt);
	color:var(--bmr-primary);
}
.bmr-badge-score{
	background:var(--bmr-primary);
	color:#fff;
	font-size:.8rem;
	padding:5px 12px;
	border-radius:var(--bmr-radius-pill);
	font-weight:700;
	display:inline-flex;
	align-items:center;
	gap:4px;
}
.bmr-badge-win{ background:#ecfdf5; color:var(--bmr-success-text); }
.bmr-badge-warn{ background:#fff7ed; color:#9a3412; }
.bmr-badge-neutral{ background:#f1f2f9; color:var(--bmr-text-gray); }
.bmr-pill-outline{
	border:1px solid var(--bmr-border);
	border-radius:var(--bmr-radius-pill);
	padding:6px 16px;
	font-size:.85rem;
	font-weight:600;
	background:#fff;
	display:inline-flex;
	align-items:center;
	gap:6px;
}
.bmr-pill-outline.is-active,
.bmr-filter-pill.is-active{
	background:var(--bmr-nav-active);
	color:#fff;
	border-color:var(--bmr-nav-active);
}

/* stars */
.bmr-stars{ color:var(--bmr-star); white-space:nowrap; letter-spacing:1px; }
.bmr-stars .star{ font-size:1em; }
.bmr-stars .star-empty{ color:#d8dae6; }

/* Compact "stars + numeric score" rating badge - shown on every review
   listing (cards, search results, top-picks widgets) so the star rating
   is visible at a glance, not just buried on the single review page. */
.bmr-card-rating{
	display:inline-flex;
	align-items:center;
	gap:6px;
	background:#fff;
	border:1px solid var(--bmr-border);
	border-radius:var(--bmr-radius-pill);
	padding:5px 10px;
	flex-shrink:0;
	white-space:nowrap;
}
.bmr-card-rating .bmr-stars{ font-size:.8rem; letter-spacing:0; }
.bmr-card-rating-num{ font-size:.78rem; font-weight:700; color:var(--bmr-text); }

/* Larger variant for the single review page's header, right under the title */
.bmr-card-rating--lg{ padding:7px 14px; gap:8px; }
.bmr-card-rating--lg .bmr-stars{ font-size:1.05rem; }
.bmr-card-rating--lg .bmr-card-rating-num{ font-size:.95rem; }

/* -------------------------------------------------------------------------
   5. Header
------------------------------------------------------------------------- */
.bmr-header{
	background:rgba(248,249,255,.85);
	backdrop-filter:saturate(180%) blur(10px);
	-webkit-backdrop-filter:saturate(180%) blur(10px);
	position:sticky;
	top:0;
	z-index:100;
	border-bottom:1px solid var(--bmr-border);
	box-shadow:0 1px 0 rgba(11,28,48,.02), 0 8px 24px -18px rgba(20,14,90,.35);
}
.bmr-header-inner{
	display:flex;
	align-items:center;
	justify-content:flex-start;
	gap:28px;
	padding:14px 24px;
	max-width:var(--bmr-container);
}
.bmr-logo{
	display:flex;
	align-items:center;
	gap:9px;
	font-family:var(--bmr-font-head);
	font-weight:700;
	font-size:1.2rem;
	color:var(--bmr-text);
	flex-shrink:0;
	letter-spacing:-.01em;
	transition:opacity .15s ease;
}
.bmr-logo:hover{ opacity:.85; }
.bmr-logo .bmr-logo-icon,
.bmr-logo img{
	height:32px !important;
	width:auto !important;
	max-width:150px !important;
	display:block;
	flex-shrink:0;
}
.bmr-nav-menu{
	display:flex;
	align-items:center;
	gap:2px;
	flex-shrink:1;
	min-width:0;
	overflow-x:auto;
	scrollbar-width:none;
	background:rgba(255,255,255,.6);
	border:1px solid var(--bmr-border);
	border-radius:var(--bmr-radius-pill);
	padding:4px;
}
.bmr-nav-menu::-webkit-scrollbar{ display:none; }
.bmr-nav-menu li{
	flex-shrink:0;
}
.bmr-nav-menu li a{
	display:inline-block;
	padding:8px 16px;
	border-radius:var(--bmr-radius-pill);
	font-weight:500;
	font-size:.88rem;
	color:var(--bmr-text-gray);
	white-space:nowrap;
	transition:background-color .15s ease, color .15s ease;
}
.bmr-nav-menu li a:hover{ color:var(--bmr-primary); background:var(--bmr-bg-alt); }
.bmr-nav-menu li.current-menu-item > a,
.bmr-nav-menu li.current_page_item > a{
	background:var(--bmr-nav-active);
	color:#fff;
	font-weight:600;
	box-shadow:0 3px 10px -2px rgba(67,56,202,.55);
}
.bmr-nav-menu li.current-menu-item > a:hover,
.bmr-nav-menu li.current_page_item > a:hover{ color:#fff; background:var(--bmr-nav-active); }
.bmr-header-actions{ display:flex; align-items:center; gap:10px; flex-shrink:0; margin-left:auto; }
@media (max-width:1220px){
	.bmr-header-inner{ gap:14px; padding:12px 18px; }
	.bmr-nav-menu li a{ padding:8px 11px; font-size:.84rem; }
	.bmr-header-actions{ gap:8px; }
	.bmr-btn.bmr-btn-sm{ padding:9px 14px; font-size:.82rem; }
}
.bmr-search-form{
	position:relative;
	display:flex;
	align-items:center;
	gap:0;
	background:#fff;
	border:1px solid var(--bmr-border);
	border-radius:var(--bmr-radius-pill);
	padding:0;
	width:40px;
	height:40px;
	flex-shrink:0;
	overflow:hidden;
	transition:width .22s ease, border-color .15s ease, box-shadow .15s ease;
}
.bmr-search-toggle{
	display:flex; align-items:center; justify-content:center;
	width:40px; height:40px;
	flex-shrink:0;
	background:none; border:none; padding:0;
	color:var(--bmr-text-gray);
	cursor:pointer;
	border-radius:50%;
	transition:color .15s ease, background-color .15s ease;
}
.bmr-search-toggle:hover{ color:var(--bmr-primary); background:var(--bmr-bg-alt); }
.bmr-search-form input[type="search"]{
	width:0;
	min-width:0;
	opacity:0;
	padding:0;
	border:0;
	background:none;
	font-size:.9rem;
	transition:width .22s ease, opacity .15s ease, padding .22s ease;
}
.bmr-search-form.is-expanded{
	width:250px;
	border-color:var(--bmr-primary);
	box-shadow:0 0 0 3px var(--bmr-pastel-indigo);
}
.bmr-search-form.is-expanded input[type="search"]{
	width:100%;
	opacity:1;
	padding:0 14px 0 2px;
}
@media (max-width:1220px){
	.bmr-search-form.is-expanded{ width:200px; }
}
.bmr-search-form input{
	border:none;
	padding:0;
	min-width:0;
	background:transparent;
}
.bmr-search-form input:focus{ outline:none; }

/* -------------------------------------------------------------------------
   Live (AJAX) search results dropdown - shared by header + homepage hero
------------------------------------------------------------------------- */
.bmr-live-results{
	display:none;
	position:absolute;
	top:calc(100% + 10px);
	left:0;
	right:0;
	background:#fff;
	border:1px solid var(--bmr-border);
	border-radius:var(--bmr-radius);
	box-shadow:var(--bmr-shadow-lg);
	padding:8px;
	max-height:420px;
	overflow-y:auto;
	z-index:60;
	text-align:left;
}
.bmr-live-results.is-open{ display:block; }
.bmr-live-results-status{
	padding:14px 12px;
	font-size:.85rem;
	color:var(--bmr-text-muted);
}
.bmr-live-result{
	display:flex;
	align-items:center;
	gap:12px;
	padding:8px;
	border-radius:var(--bmr-radius-sm);
	text-decoration:none;
	color:var(--bmr-text);
}
.bmr-live-result:hover,
.bmr-live-result.is-active{ background:var(--bmr-bg-alt); }
.bmr-live-result .bmr-logo-img,
.bmr-live-result .bmr-logo-fallback{
	width:40px; height:40px; border-radius:10px; flex-shrink:0;
	font-size:.9rem;
	display:inline-flex; align-items:center; justify-content:center;
	color:#fff; font-weight:700;
	object-fit:cover;
}
.bmr-live-result-body{ min-width:0; flex:1; }
.bmr-live-result-title{
	font-size:.9rem; font-weight:600; margin:0;
	white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.bmr-live-result-meta{
	display:flex; align-items:center; gap:6px;
	font-size:.76rem; color:var(--bmr-text-muted);
	white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.bmr-live-result-score{
	flex-shrink:0;
	font-size:.76rem; font-weight:700;
	color:var(--bmr-primary);
	background:var(--bmr-pastel-indigo);
	border-radius:var(--bmr-radius-pill);
	padding:2px 8px;
}
.bmr-live-results-viewall{
	display:block;
	text-align:center;
	font-size:.82rem;
	font-weight:600;
	color:var(--bmr-primary);
	padding:10px 8px 6px;
	margin-top:4px;
	border-top:1px solid var(--bmr-border);
	text-decoration:none;
}
.bmr-live-results-viewall:hover{ text-decoration:underline; }

.bmr-account-icon{
	width:38px;height:38px;border-radius:50%;
	background:linear-gradient(135deg,var(--bmr-primary),var(--bmr-nav-active));
	color:#fff;
	display:inline-flex;align-items:center;justify-content:center;
	font-size:.85rem; font-weight:700; flex-shrink:0;
	box-shadow:0 3px 10px -2px rgba(42,20,180,.4);
	transition:transform .15s ease;
}
.bmr-account-icon:hover{ transform:translateY(-1px); }
.bmr-mobile-toggle{
	display:none;
	background:none;border:1px solid transparent;
	width:40px;height:40px;
	align-items:center;justify-content:center;
	border-radius:10px;
	flex-shrink:0;
	cursor:pointer;
}
.bmr-mobile-toggle:hover{ background:var(--bmr-bg-alt); }
.bmr-mobile-toggle span,
.bmr-mobile-toggle::before,
.bmr-mobile-toggle::after{
	content:"";
	display:block;
	width:20px;height:2px;background:var(--bmr-text);
	border-radius:2px;
	position:relative;
	transition:transform .2s ease, opacity .2s ease, top .2s ease;
}
.bmr-mobile-toggle::before{ margin-bottom:5px; }
.bmr-mobile-toggle::after{ margin-top:5px; }
.bmr-header.is-open .bmr-mobile-toggle span{ opacity:0; }
.bmr-header.is-open .bmr-mobile-toggle::before{ transform:translateY(7px) rotate(45deg); }
.bmr-header.is-open .bmr-mobile-toggle::after{ transform:translateY(-7px) rotate(-45deg); }

@media (max-width:980px){
	.bmr-nav-menu, .bmr-search-form{ display:none; }
	.bmr-mobile-toggle{ display:inline-flex; }
	.bmr-header.is-open .bmr-nav-menu{
		display:flex;
		flex-direction:column;
		align-items:stretch;
		position:absolute;
		top:100%; left:0; right:0;
		background:#fff;
		padding:14px;
		gap:4px;
		border:1px solid var(--bmr-border);
		border-top:none;
		border-radius:0 0 var(--bmr-radius) var(--bmr-radius);
		box-shadow:var(--bmr-shadow-lg);
	}
	.bmr-header.is-open .bmr-nav-menu li a{ display:block; padding:12px 14px; }
}

/* -------------------------------------------------------------------------
   6. Breadcrumbs
------------------------------------------------------------------------- */
.bmr-breadcrumbs{
	font-size:.85rem;
	color:var(--bmr-text-muted);
	padding:16px 0;
	display:flex; gap:8px; flex-wrap:wrap;
}
.bmr-breadcrumbs a{ color:var(--bmr-text-muted); }
.bmr-breadcrumbs a:hover{ color:var(--bmr-primary); }
.bmr-breadcrumbs .current{ color:var(--bmr-text); font-weight:600; }
.bmr-breadcrumbs .sep{ opacity:.5; }

/* -------------------------------------------------------------------------
   7. Cards: category / review / pricing / testimonial
------------------------------------------------------------------------- */
.bmr-card{
	background:#fff;
	border-radius:var(--bmr-radius);
	border:1px solid var(--bmr-border);
	padding:24px;
}
.bmr-category-card{
	border-radius:var(--bmr-radius-lg);
	padding:24px;
	position:relative;
	transition:transform .15s ease, box-shadow .15s ease;
	display:block;
}
.bmr-category-card:hover{ transform:translateY(-3px); box-shadow:var(--bmr-shadow-lg); }
.bmr-category-icon{
	width:44px;height:44px;border-radius:12px;
	display:inline-flex;align-items:center;justify-content:center;
	color:#fff; font-size:1.3rem;
	margin-bottom:16px;
}
.bmr-category-count{
	position:absolute; top:22px; right:22px;
	background:#fff; border-radius:var(--bmr-radius-pill);
	font-size:.72rem; font-weight:700; padding:5px 12px; color:var(--bmr-text-gray);
}
.bmr-category-card h3{ font-size:1.15rem; margin-bottom:6px; }
.bmr-category-card p{ font-size:.88rem; color:var(--bmr-text-gray); margin-bottom:14px; }
.bmr-category-popular{ font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; color:var(--bmr-text-muted); margin-bottom:8px; font-weight:700; }
.bmr-category-tags{ display:flex; flex-wrap:wrap; gap:8px; }
.bmr-category-tags span{ background:rgba(255,255,255,.7); border-radius:var(--bmr-radius-pill); padding:4px 10px; font-size:.78rem; font-weight:600; }

.bmr-review-card{
	background:#fff;
	border:1px solid var(--bmr-border);
	border-radius:var(--bmr-radius-lg);
	padding:24px;
	display:flex;
	flex-direction:column;
	gap:14px;
	transition:transform .15s ease, box-shadow .15s ease;
}
.bmr-review-card:hover{ box-shadow:var(--bmr-shadow-lg); transform:translateY(-2px); }
.bmr-review-card-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.bmr-review-card-heading{ display:flex; align-items:center; gap:12px; }
.bmr-review-card-heading h3{ font-size:1.1rem; margin-bottom:2px; }
.bmr-review-card-meta{ font-size:.8rem; color:var(--bmr-text-muted); }
.bmr-review-card-quote{ font-size:.92rem; color:var(--bmr-text-gray); font-style:italic; margin:0; }
.bmr-pro-con{ display:flex; flex-direction:column; gap:6px; font-size:.85rem; }
.bmr-pro-con .pro{ color:var(--bmr-success-text); }
.bmr-pro-con .con{ color:var(--bmr-danger-text); }
.bmr-review-card-footer{ display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-top:auto; padding-top:6px; }
.bmr-price-label{ font-size:.72rem; color:var(--bmr-text-muted); text-transform:uppercase; letter-spacing:.04em; }
.bmr-price-value{ font-weight:700; }

.bmr-logo-img{ width:44px; height:44px; border-radius:12px; object-fit:cover; }
.bmr-logo-fallback{
	width:44px;height:44px;border-radius:12px;
	display:inline-flex;align-items:center;justify-content:center;
	color:#fff; font-weight:800; font-size:1.1rem; flex-shrink:0;
}

.bmr-pricing-card{
	background:#fff;
	border:1px solid var(--bmr-border);
	border-radius:var(--bmr-radius-lg);
	padding:28px;
	position:relative;
}
.bmr-pricing-card.is-recommended{ border-color:var(--bmr-primary); box-shadow:0 0 0 3px rgba(42,20,180,.08); }
.bmr-pricing-badge{
	position:absolute; top:-12px; right:24px;
	background:var(--bmr-primary); color:#fff;
	font-size:.7rem; font-weight:700; text-transform:uppercase;
	padding:5px 14px; border-radius:var(--bmr-radius-pill);
}
.bmr-pricing-price{ font-size:2.2rem; font-weight:800; font-family:var(--bmr-font-head); }
.bmr-pricing-price span{ font-size:1rem; font-weight:600; color:var(--bmr-text-muted); }
.bmr-pricing-features{ margin:18px 0 24px; display:flex; flex-direction:column; gap:10px; font-size:.92rem; }
.bmr-pricing-features li{ display:flex; gap:8px; align-items:flex-start; }
.bmr-pricing-features li::before{ content:"\2713"; color:var(--bmr-success-text); font-weight:700; }

.bmr-testimonial-card{
	background:#fff;
	border:1px solid var(--bmr-border);
	border-radius:var(--bmr-radius);
	padding:20px;
	display:flex;
	flex-direction:column;
	gap:12px;
}
.bmr-testimonial-top{ display:flex; align-items:center; justify-content:space-between; }
.bmr-testimonial-time{ font-size:.78rem; color:var(--bmr-text-muted); }
.bmr-testimonial-quote{ font-size:.92rem; color:var(--bmr-text-gray); margin:0; }
.bmr-testimonial-author{ display:flex; align-items:center; gap:10px; font-size:.85rem; }
.bmr-testimonial-author em{ display:block; font-style:normal; color:var(--bmr-text-muted); font-size:.78rem; }
.bmr-avatar-fallback{
	width:32px;height:32px;border-radius:50%;
	background:var(--bmr-pastel-indigo); color:var(--bmr-primary);
	display:inline-flex;align-items:center;justify-content:center;
	font-weight:700; font-size:.75rem; text-transform:uppercase;
}
.bmr-helpful-btn{
	align-self:flex-start;
	display:inline-flex; align-items:center; gap:6px;
	background:var(--bmr-bg-alt); border:none; border-radius:var(--bmr-radius-pill);
	padding:6px 12px; font-size:.78rem; font-weight:700; color:var(--bmr-text-gray);
}
.bmr-helpful-btn:hover{ background:var(--bmr-pastel-indigo); color:var(--bmr-primary); }
.bmr-helpful-btn.is-voted{ background:var(--bmr-pastel-indigo); color:var(--bmr-primary); }

/* -------------------------------------------------------------------------
   8. Banners / CTA blocks
------------------------------------------------------------------------- */
.bmr-banner{
	background:var(--bmr-bg-alt);
	border-radius:var(--bmr-radius-lg);
	padding:32px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
	flex-wrap:wrap;
}
.bmr-banner-dark{
	background:linear-gradient(120deg,var(--bmr-primary),#171055 120%);
	color:#fff;
	border-radius:var(--bmr-radius-lg);
	padding:40px;
}
.bmr-banner-dark h2{ color:#fff; }
.bmr-banner-dark p{ color:rgba(255,255,255,.8); }
.bmr-banner-dark .bmr-newsletter-form input[type=email]{ border:none; }
.bmr-banner-dark .bmr-newsletter-form button{ background:var(--bmr-danger); color:#fff; }

/* -------------------------------------------------------------------------
   9. Newsletter form
------------------------------------------------------------------------- */
.bmr-newsletter-form{
	display:flex; gap:8px; flex-wrap:wrap;
}
.bmr-newsletter-form input[type=email]{
	flex:1; min-width:180px;
	border-radius:var(--bmr-radius-pill);
}
.bmr-newsletter-form button{
	background:var(--bmr-primary); color:#fff; border:none;
	border-radius:var(--bmr-radius-pill); padding:12px 22px; font-weight:700;
}
.bmr-hp-field{ position:absolute !important; left:-9999px !important; width:1px; height:1px; }
.bmr-form-notice{ margin-top:10px; font-size:.85rem; font-weight:600; }
.bmr-form-success{ color:var(--bmr-success-text); }
.bmr-form-error{ color:var(--bmr-danger-text); }

/* -------------------------------------------------------------------------
   10. Hero (homepage + single review)
------------------------------------------------------------------------- */
.bmr-home-hero{ padding:28px 0 36px; }
.bmr-home-hero-grid{
	display:grid;
	grid-template-columns:1.05fr .95fr;
	gap:48px;
	align-items:center;
}
.bmr-home-hero-copy{ text-align:left; }
.bmr-home-hero h1{ font-size:2.6rem; margin:0 0 .5em; }
.bmr-home-hero h1 .accent{ color:var(--bmr-primary); }
.bmr-home-hero p.lead{ font-size:1.1rem; color:var(--bmr-text-gray); max-width:520px; margin:0 0 28px; }
.bmr-home-search{
	position:relative;
	max-width:560px; margin:0 0 16px;
	display:flex; align-items:center; gap:8px;
	background:#fff; border-radius:var(--bmr-radius-pill);
	border:1px solid var(--bmr-border);
	padding:8px 8px 8px 20px;
	box-shadow:var(--bmr-shadow);
}
.bmr-home-search input{ border:none; flex:1; }
.bmr-home-search input:focus{ outline:none; }
.bmr-popular-searches{ font-size:.85rem; color:var(--bmr-text-muted); display:flex; gap:8px; justify-content:flex-start; flex-wrap:wrap; align-items:center; }
.bmr-popular-searches a{ background:#fff; border:1px solid var(--bmr-border); border-radius:var(--bmr-radius-pill); padding:4px 12px; }

.bmr-hero-badges{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:16px; justify-content:flex-start; }

.bmr-home-hero-art{
	display:flex; align-items:center; justify-content:center;
	filter:drop-shadow(0 24px 40px rgba(42,20,180,.16));
	animation:bmrHeroFloat 6s ease-in-out infinite;
}
@keyframes bmrHeroFloat{
	0%, 100%{ transform:translateY(0); }
	50%{ transform:translateY(-10px); }
}
@media (max-width:900px){
	.bmr-home-hero-grid{ grid-template-columns:1fr; text-align:center; gap:8px; }
	.bmr-home-hero-copy{ text-align:center; }
	.bmr-home-hero h1{ max-width:640px; margin:0 auto .5em; }
	.bmr-home-hero p.lead{ margin:0 auto 28px; }
	.bmr-home-search{ margin:0 auto 16px; }
	.bmr-hero-badges, .bmr-popular-searches{ justify-content:center; }
	.bmr-home-hero-art{ order:-1; max-width:300px; margin:0 auto 12px; }
}
.bmr-review-header{ display:flex; align-items:flex-start; justify-content:space-between; gap:24px; flex-wrap:wrap; padding:8px 0 24px; }
.bmr-review-title-block{ display:flex; gap:18px; align-items:flex-start; }
.bmr-review-title-block h1{ font-size:2rem; margin-bottom:6px; }
.bmr-review-title-block .bmr-logo-fallback,
.bmr-review-title-block .bmr-logo-img{ width:64px; height:64px; border-radius:16px; font-size:1.5rem; }
.bmr-review-cta-group{ display:flex; gap:10px; flex-wrap:wrap; }
.bmr-review-meta-row{
	display:flex; flex-wrap:wrap; gap:24px;
	border-top:1px solid var(--bmr-border);
	border-bottom:1px solid var(--bmr-border);
	padding:16px 0; margin-bottom:32px;
	font-size:.88rem; color:var(--bmr-text-gray);
}
.bmr-review-meta-row strong{ color:var(--bmr-text); }

.bmr-hero-media{ display:grid; grid-template-columns:1.6fr 1fr; gap:20px; margin-bottom:32px; }
.bmr-hero-window{
	background:linear-gradient(135deg,var(--bmr-primary),#4c2fe0);
	border-radius:var(--bmr-radius-lg);
	padding:0;
	overflow:hidden;
	color:#fff;
	min-height:320px;
	display:flex;
	flex-direction:column;
}
.bmr-hero-window-bar{
	display:flex; align-items:center; justify-content:space-between;
	padding:12px 18px; font-size:.8rem; background:rgba(0,0,0,.15);
}
.bmr-hero-window-dots{ display:flex; gap:6px; }
.bmr-hero-window-dots span{ width:9px;height:9px;border-radius:50%; background:rgba(255,255,255,.5); display:inline-block; }
.bmr-hero-window-body{ flex:1; display:flex; align-items:flex-end; padding:24px; position:relative; }
.bmr-hero-window-body.has-image{ padding:0; align-items:stretch; }
.bmr-hero-window-image{
	width:100%; height:100%;
	object-fit:cover;
	position:absolute; inset:0;
}
.bmr-hero-window-body.has-image .bmr-hero-overlay-card{
	position:relative;
	z-index:1;
	margin:20px;
	align-self:flex-end;
}
.bmr-hero-overlay-card{
	background:rgba(11,15,40,.55);
	backdrop-filter:blur(6px);
	border-radius:var(--bmr-radius);
	padding:16px 18px;
	max-width:320px;
}
.bmr-hero-overlay-card h4{ color:#fff; font-size:1rem; margin-bottom:4px; }
.bmr-hero-overlay-card p{ color:rgba(255,255,255,.8); font-size:.82rem; margin:0; }
.bmr-hero-side{ background:var(--bmr-bg-alt); border-radius:var(--bmr-radius-lg); padding:24px; display:flex; flex-direction:column; gap:16px; justify-content:center; }
.bmr-hero-side h3{ font-size:1.15rem; }
.bmr-stat-row{ display:flex; gap:12px; }
.bmr-stat-box{ background:#fff; border-radius:var(--bmr-radius); padding:14px 16px; flex:1; }
.bmr-stat-box .value{ font-size:1.4rem; font-weight:800; color:var(--bmr-primary); font-family:var(--bmr-font-head); }
.bmr-stat-box .label{ font-size:.75rem; color:var(--bmr-text-muted); }

@media (max-width:860px){
	.bmr-hero-media{ grid-template-columns:1fr; }
	.bmr-home-hero h1{ font-size:2rem; }
}

/* -------------------------------------------------------------------------
   11. Verdict / Why It Wins / Watch panels
------------------------------------------------------------------------- */
.bmr-verdict-box{
	background:var(--bmr-bg-alt);
	border-radius:var(--bmr-radius-lg);
	padding:32px;
	margin-bottom:32px;
}
.bmr-verdict-quote{ font-size:1.3rem; font-weight:600; font-family:var(--bmr-font-head); line-height:1.4; margin-bottom:24px; }
.bmr-two-col{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.bmr-panel{ background:#fff; border-radius:var(--bmr-radius); padding:20px; }
.bmr-panel h4{ display:flex; align-items:center; gap:8px; font-size:1rem; margin-bottom:14px; }
.bmr-panel ul{ display:flex; flex-direction:column; gap:10px; font-size:.9rem; color:var(--bmr-text-gray); }
.bmr-panel.wins ul li::before{ content:"\2713 "; color:var(--bmr-success-text); font-weight:700; }
.bmr-panel.watch ul li::before{ content:"\26A0 "; color:#b45309; font-weight:700; }
@media (max-width:700px){ .bmr-two-col{ grid-template-columns:1fr; } }

/* -------------------------------------------------------------------------
   12. Scorecard
------------------------------------------------------------------------- */
.bmr-scorecard{ background:#fff; border:1px solid var(--bmr-border); border-radius:var(--bmr-radius-lg); padding:32px; margin-bottom:32px; }
.bmr-scorecard-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:24px; flex-wrap:wrap; }
.bmr-overall-score-chip{ background:var(--bmr-bg-alt); border-radius:var(--bmr-radius); padding:12px 20px; text-align:center; }
.bmr-overall-score-chip .num{ font-size:1.6rem; font-weight:800; color:var(--bmr-primary); font-family:var(--bmr-font-head); }
.bmr-score-row{ margin-bottom:18px; }
.bmr-score-row-top{ display:flex; justify-content:space-between; font-size:.92rem; font-weight:700; margin-bottom:4px; }
.bmr-score-bar{ height:8px; border-radius:99px; background:var(--bmr-border); overflow:hidden; margin-bottom:6px; }
.bmr-score-bar > span{ display:block; height:100%; border-radius:99px; background:linear-gradient(90deg,var(--bmr-primary),#7c3aed); }
.bmr-score-note{ font-size:.82rem; color:var(--bmr-text-muted); }

/* -------------------------------------------------------------------------
   13. Compare page
------------------------------------------------------------------------- */
.bmr-compare-hero{ text-align:center; padding:48px 0 30px; }
.bmr-compare-hero h1{ font-size:2.4rem; }
.bmr-compare-hero .vs{ color:var(--bmr-text-muted); margin:0 12px; }
.bmr-compare-picks{ display:flex; justify-content:center; gap:16px; flex-wrap:wrap; margin:24px 0 40px; }
.bmr-compare-pick-pill{
	background:#fff; border:1px solid var(--bmr-border); border-radius:var(--bmr-radius);
	padding:12px 18px; text-align:left; min-width:200px;
}
.bmr-compare-pick-pill .tag{ font-size:.68rem; font-weight:700; color:var(--bmr-text-muted); text-transform:uppercase; letter-spacing:.03em; }
.bmr-compare-pick-pill strong{ display:block; margin-top:2px; }

.bmr-compare-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch; margin-bottom:56px; }
.bmr-compare-card{
	background:#fff; border:1px solid var(--bmr-border); border-radius:var(--bmr-radius-lg);
	padding:28px; position:relative; display:flex; flex-direction:column;
}
.bmr-compare-card.is-best{ border-color:var(--bmr-primary); box-shadow:0 0 0 3px rgba(42,20,180,.1); }
.bmr-compare-card-badge{
	position:absolute; top:-14px; left:50%; transform:translateX(-50%);
	background:var(--bmr-primary); color:#fff; font-size:.68rem; font-weight:700;
	text-transform:uppercase; padding:6px 16px; border-radius:var(--bmr-radius-pill); white-space:nowrap;
}
.bmr-compare-card-brand{ display:flex; align-items:center; gap:8px; font-size:.8rem; color:var(--bmr-text-muted); margin-bottom:10px; }
.bmr-compare-card h3{ font-size:1.3rem; margin-bottom:2px; }
.bmr-compare-card .subtitle{ font-size:.85rem; color:var(--bmr-text-muted); margin-bottom:16px; }
.bmr-compare-card .price{ font-size:1.8rem; font-weight:800; font-family:var(--bmr-font-head); }
.bmr-compare-card .price span{ font-size:.85rem; font-weight:600; color:var(--bmr-text-muted); }
.bmr-compare-card p.desc{ font-size:.88rem; color:var(--bmr-text-gray); margin:14px 0; }
.bmr-compare-card ul{ display:flex; flex-direction:column; gap:8px; font-size:.85rem; margin-bottom:20px; }
.bmr-compare-card ul li::before{ content:"\2713 "; color:var(--bmr-success-text); font-weight:700; }
.bmr-compare-card .bmr-btn{ margin-top:auto; }

.bmr-feature-table{ width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--bmr-border); border-radius:var(--bmr-radius-lg); overflow:hidden; }
.bmr-feature-table th,.bmr-feature-table td{ padding:18px 20px; text-align:left; vertical-align:top; border-bottom:1px solid var(--bmr-border); font-size:.88rem; }
.bmr-feature-table thead th{ background:var(--bmr-bg-alt); font-size:.78rem; text-transform:uppercase; letter-spacing:.03em; color:var(--bmr-text-muted); }
.bmr-feature-table tr:last-child td{ border-bottom:none; }
.bmr-feature-label{ font-weight:700; display:flex; align-items:center; gap:8px; }
.bmr-feature-tag{ display:inline-block; font-size:.68rem; font-weight:700; padding:3px 9px; border-radius:6px; background:#f1f2f9; color:var(--bmr-text-gray); margin-bottom:6px; text-transform:uppercase; letter-spacing:.02em; }
.bmr-feature-tag.is-winner{ background:#ecfdf5; color:var(--bmr-success-text); }

.bmr-persona-section{ background:var(--bmr-bg-alt); border-radius:var(--bmr-radius-lg); padding:36px; margin:56px 0; }
.bmr-persona-buttons{ display:flex; gap:10px; flex-wrap:wrap; margin:20px 0 28px; }
.bmr-persona-panel{ background:#fff; border-radius:var(--bmr-radius-lg); padding:28px; display:none; }
.bmr-persona-panel.is-active{ display:block; }
.bmr-persona-panel-grid{ display:grid; grid-template-columns:1.6fr 1fr; gap:24px; }
.bmr-persona-verdict-tag{ font-size:.78rem; font-weight:700; color:var(--bmr-icon-emerald); display:flex; align-items:center; gap:6px; margin-bottom:10px; }
.bmr-persona-panel h3{ font-size:1.3rem; }
.bmr-buy-if-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:20px; }
.bmr-buy-if-grid .box{ background:var(--bmr-bg-alt); border-radius:var(--bmr-radius); padding:14px 16px; font-size:.85rem; }
.bmr-buy-if-grid .box strong{ display:block; margin-bottom:4px; }
.bmr-spend-box{ background:var(--bmr-bg-alt); border-radius:var(--bmr-radius); padding:20px; text-align:center; }
.bmr-spend-box .eyebrow{ font-size:.7rem; text-transform:uppercase; color:var(--bmr-text-muted); font-weight:700; }
.bmr-spend-box .value{ font-size:1.4rem; font-weight:800; color:var(--bmr-primary); margin:6px 0; font-family:var(--bmr-font-head); }
.bmr-spend-box .note{ font-size:.78rem; color:var(--bmr-text-muted); margin-bottom:16px; }

@media (max-width:900px){
	.bmr-compare-cards{ grid-template-columns:1fr; }
	.bmr-persona-panel-grid{ grid-template-columns:1fr; }
	.bmr-buy-if-grid{ grid-template-columns:1fr; }
}

/* -------------------------------------------------------------------------
   14. Categories page
------------------------------------------------------------------------- */
.bmr-categories-toolbar{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:24px; }
.bmr-filter-pills{ display:flex; gap:8px; flex-wrap:wrap; }
.bmr-filter-pill{
	border:1px solid var(--bmr-border); background:#fff; border-radius:var(--bmr-radius-pill);
	padding:8px 16px; font-size:.85rem; font-weight:600;
}
.bmr-filter-search{
	display:flex; align-items:center; gap:8px;
	border:1px solid var(--bmr-border); background:#fff; border-radius:var(--bmr-radius-pill);
	padding:8px 16px; min-width:220px;
}
.bmr-filter-search input{ border:none; padding:0; }
.bmr-filter-search input:focus{ outline:none; }

/* -------------------------------------------------------------------------
   15. Submit a Review page
------------------------------------------------------------------------- */
.bmr-submit-layout{ display:grid; grid-template-columns:1.7fr 1fr; gap:28px; align-items:start; }
.bmr-stepper-nav{ display:flex; align-items:center; gap:8px; margin:20px 0 32px; flex-wrap:wrap; }
.bmr-stepper-nav .step{ display:flex; align-items:center; gap:8px; font-size:.85rem; font-weight:700; color:var(--bmr-text-muted); }
.bmr-stepper-nav .step .num{ width:24px;height:24px;border-radius:50%; background:var(--bmr-border); color:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:.75rem; }
.bmr-stepper-nav .step.is-active{ color:var(--bmr-primary); }
.bmr-stepper-nav .step.is-active .num,
.bmr-stepper-nav .step.is-done .num{ background:var(--bmr-primary); }
.bmr-stepper-nav .line{ width:32px; height:2px; background:var(--bmr-border); }

.bmr-form-card{ background:#fff; border:1px solid var(--bmr-border); border-radius:var(--bmr-radius-lg); padding:28px; margin-bottom:20px; }
.bmr-form-card-head{ display:flex; align-items:center; gap:10px; margin-bottom:18px; }
.bmr-form-card-head .num{ width:26px;height:26px;border-radius:50%; background:var(--bmr-pastel-indigo); color:var(--bmr-primary); display:inline-flex; align-items:center; justify-content:center; font-weight:700; font-size:.85rem; }
.bmr-form-card-head h3{ font-size:1.1rem; margin:0; flex:1; }
.bmr-form-row{ margin-bottom:16px; }
.bmr-form-row label{ display:block; font-weight:600; font-size:.9rem; margin-bottom:6px; }
.bmr-form-row .hint{ font-size:.78rem; color:var(--bmr-text-muted); margin-top:4px; }
.bmr-form-grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.bmr-form-grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }

.bmr-star-input{ display:flex; gap:6px; font-size:1.8rem; color:#d8dae6; }
.bmr-star-input button{ background:none; border:none; padding:0; color:inherit; line-height:1; }
.bmr-star-input button.is-filled{ color:var(--bmr-star); }

.bmr-recommend-toggle{ display:flex; gap:8px; }
.bmr-recommend-toggle label{ flex:1; text-align:center; border:1px solid var(--bmr-border); border-radius:var(--bmr-radius-pill); padding:10px; font-size:.85rem; font-weight:600; margin:0; cursor:pointer; }
.bmr-recommend-toggle input{ display:none; }
.bmr-recommend-toggle input:checked + span{ color:#fff; }
.bmr-recommend-toggle label:has(input:checked),
.bmr-recommend-toggle label.is-checked{ background:var(--bmr-primary); border-color:var(--bmr-primary); color:#fff; }

.bmr-mini-scores{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:16px; }
.bmr-mini-scores .box{ text-align:center; background:var(--bmr-bg-alt); border-radius:var(--bmr-radius); padding:12px; }
.bmr-mini-scores .box label{ font-size:.72rem; color:var(--bmr-text-muted); display:block; margin-bottom:6px; }
.bmr-mini-scores select{ border:none; background:transparent; text-align:center; font-weight:700; font-size:1.1rem; }

.bmr-verdict-pair{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.bmr-verdict-pair .box{ border-radius:var(--bmr-radius); padding:16px; }
.bmr-verdict-pair .pro-box{ background:var(--bmr-success-bg); }
.bmr-verdict-pair .con-box{ background:var(--bmr-danger-bg); }
.bmr-verdict-pair textarea{ background:transparent; border:none; padding:0; resize:vertical; }

.bmr-checkbox-row{ display:flex; align-items:flex-start; gap:10px; font-size:.85rem; color:var(--bmr-text-gray); background:var(--bmr-bg-alt); padding:14px 16px; border-radius:var(--bmr-radius); }
.bmr-checkbox-row input{ width:auto; margin-top:3px; }

.bmr-submit-sidebar .bmr-card{ margin-bottom:20px; }
.bmr-submit-sidebar h4{ font-size:1rem; margin-bottom:12px; }
.bmr-submit-sidebar ul{ display:flex; flex-direction:column; gap:10px; font-size:.85rem; color:var(--bmr-text-gray); }
.bmr-checklist li{ display:flex; gap:8px; align-items:flex-start; }
.bmr-checklist li::before{ content:"\2713"; color:var(--bmr-success-text); font-weight:700; flex-shrink:0; }
.bmr-live-preview-card{ background:var(--bmr-bg-alt); border-radius:var(--bmr-radius); padding:18px; }
.bmr-live-preview-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }

.bmr-form-submit-bar{ display:flex; align-items:center; justify-content:space-between; gap:16px; background:#fff; border:1px solid var(--bmr-border); border-radius:var(--bmr-radius-lg); padding:22px 28px; flex-wrap:wrap; }

@media (max-width:900px){
	.bmr-submit-layout{ grid-template-columns:1fr; }
	.bmr-form-grid-2,.bmr-verdict-pair{ grid-template-columns:1fr; }
	.bmr-form-grid-4,.bmr-mini-scores{ grid-template-columns:repeat(2,1fr); }
}

/* -------------------------------------------------------------------------
   16. Footer
------------------------------------------------------------------------- */
.bmr-footer{ background:var(--bmr-bg-alt); margin-top:60px; padding-top:56px; }
.bmr-footer-grid{ display:grid; grid-template-columns:1.5fr repeat(3,1fr) 1.5fr; gap:32px; padding-bottom:40px; }
.bmr-footer-col-title{ font-size:.9rem; font-weight:700; margin-bottom:14px; }
.bmr-footer-col ul{ display:flex; flex-direction:column; gap:10px; font-size:.88rem; color:var(--bmr-text-gray); }
.bmr-footer-col ul a:hover{ color:var(--bmr-primary); }
.bmr-footer-about p{ font-size:.88rem; color:var(--bmr-text-gray); margin-bottom:16px; max-width:280px; }
.bmr-footer-newsletter .bmr-newsletter-form{ flex-direction:column; align-items:stretch; }
.bmr-footer-newsletter .bmr-newsletter-form button{ align-self:flex-start; }
.bmr-footer-newsletter-label{ font-size:.78rem; font-weight:700; text-transform:uppercase; color:var(--bmr-text-muted); margin-bottom:8px; }
.bmr-footer-bottom{
	border-top:1px solid var(--bmr-border);
	padding:20px 0;
	display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
	font-size:.82rem; color:var(--bmr-text-muted);
}
.bmr-footer-bottom .links{ display:flex; gap:18px; flex-wrap:wrap; }

@media (max-width:980px){
	.bmr-footer-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px){
	.bmr-footer-grid{ grid-template-columns:1fr; }
}

/* -------------------------------------------------------------------------
   16b. Compare picker (Compare page "build your own") + floating tray
   (Compare checkboxes on review cards site-wide)
------------------------------------------------------------------------- */
.bmr-compare-check{
	display:flex; align-items:center; gap:6px;
	font-size:.78rem; font-weight:600; color:var(--bmr-text-gray);
	cursor:pointer; user-select:none;
	white-space:nowrap;
}
.bmr-compare-check input{ width:15px; height:15px; margin:0; accent-color:var(--bmr-primary); }

.bmr-compare-picker{
	background:var(--bmr-white);
	border:1px solid var(--bmr-border);
	border-radius:var(--bmr-radius);
	padding:20px 24px;
	box-shadow:var(--bmr-shadow);
}
.bmr-compare-picker-head{ display:flex; flex-direction:column; gap:2px; margin-bottom:16px; }
.bmr-compare-picker-head strong{ font-family:var(--bmr-font-head); font-size:1.05rem; }
.bmr-compare-picker-head span{ font-size:.85rem; color:var(--bmr-text-muted); }
.bmr-compare-picker-fields{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:16px; }
.bmr-compare-picker-fields .bmr-field{ margin:0; }
.bmr-compare-picker-fields label{ display:block; font-size:.78rem; font-weight:700; margin-bottom:6px; }
@media (max-width:700px){
	.bmr-compare-picker-fields{ grid-template-columns:1fr; }
}

.bmr-compare-tray{
	position:fixed; left:0; right:0; bottom:0; z-index:60;
	padding:0 16px 16px;
}
.bmr-compare-tray-inner{
	max-width:var(--bmr-container);
	margin:0 auto;
	background:var(--bmr-text);
	color:#fff;
	border-radius:var(--bmr-radius);
	box-shadow:var(--bmr-shadow-lg);
	padding:14px 18px;
	display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
}
.bmr-compare-tray-items{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.bmr-compare-tray-chip{
	display:inline-flex; align-items:center; gap:6px;
	background:rgba(255,255,255,.12);
	border-radius:var(--bmr-radius-pill);
	padding:6px 8px 6px 12px;
	font-size:.82rem; font-weight:600;
}
.bmr-compare-tray-chip button{
	background:rgba(255,255,255,.18); color:#fff; border:0; border-radius:50%;
	width:18px; height:18px; line-height:1; font-size:.9rem; cursor:pointer;
	display:inline-flex; align-items:center; justify-content:center;
}
.bmr-compare-tray-hint{ font-size:.8rem; color:rgba(255,255,255,.7); }
.bmr-compare-tray-actions{ display:flex; align-items:center; gap:10px; }
.bmr-compare-tray .bmr-btn-ghost{ background:transparent; color:#fff; border:1px solid rgba(255,255,255,.3); }
.bmr-compare-tray .bmr-btn-ghost:hover{ background:rgba(255,255,255,.1); color:#fff; }
.bmr-compare-tray #bmr-compare-tray-go.is-disabled{ opacity:.45; pointer-events:none; }
@media (max-width:640px){
	.bmr-compare-tray-inner{ flex-direction:column; align-items:stretch; }
}

/* -------------------------------------------------------------------------
   17. Archive / search grid
------------------------------------------------------------------------- */
.bmr-archive-head{ padding:40px 0 24px; }
.bmr-archive-toolbar{ display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:24px; }
.bmr-no-results{ text-align:center; padding:60px 20px; color:var(--bmr-text-gray); }

/* -------------------------------------------------------------------------
   18. 404
------------------------------------------------------------------------- */
.bmr-404{ text-align:center; padding:100px 20px; }
.bmr-404 h1{ font-size:5rem; color:var(--bmr-primary); margin-bottom:0; }

/* -------------------------------------------------------------------------
   19. Comment / login-required notices reused from core (kept minimal & on-brand)
------------------------------------------------------------------------- */
.bmr-notice{ background:var(--bmr-bg-alt); border-radius:var(--bmr-radius); padding:16px 20px; font-size:.9rem; margin-bottom:20px; }
.bmr-notice.success{ background:var(--bmr-success-bg); color:var(--bmr-success-text); }
.bmr-notice.error{ background:var(--bmr-danger-bg); color:var(--bmr-danger-text); }

/* -------------------------------------------------------------------------
   20. Blog - separate section from Reviews (home.php, single.php,
   archive.php, comments.php). Standard WordPress posts, categories, tags.
------------------------------------------------------------------------- */

/* Shared post meta row (avatar + author + date + reading time) */
.bmr-post-meta{
	display:flex; align-items:center; gap:8px;
	font-size:.82rem; color:var(--bmr-text-muted);
	flex-wrap:wrap;
}
.bmr-post-meta img.avatar{ border-radius:50%; display:block; }
.bmr-post-meta .dot{ opacity:.6; }
.bmr-post-meta-lg{ font-size:.9rem; gap:12px; margin-top:18px; }
.bmr-post-meta-lg img.avatar{ width:40px; height:40px; }
.bmr-post-author-name{ font-weight:700; color:var(--bmr-text); display:block; }
.bmr-post-author-name-inline{ font-weight:600; color:var(--bmr-text); }
.bmr-post-meta-sub{ display:flex; align-items:center; gap:8px; color:var(--bmr-text-muted); font-size:.82rem; margin-top:2px; }
.bmr-readtime-chip{
	display:inline-flex; align-items:center; gap:4px;
	font-size:.72rem; font-weight:700;
	color:var(--bmr-icon-emerald);
	background:var(--bmr-pastel-mint);
	padding:3px 9px;
	border-radius:var(--bmr-radius-pill);
}

/* Blog masthead - editorial header instead of a generic hero band: a
   confident but restrained title, and a thin rule to separate it from
   the section nav rather than a heavy card. */
.bmr-blog-hero{
	padding:40px 0 0;
	background:var(--bmr-bg);
}
.bmr-blog-hero-top{
	display:flex; align-items:baseline; justify-content:space-between; gap:16px; flex-wrap:wrap;
	margin-bottom:10px;
}
.bmr-blog-kicker{
	display:inline-flex; align-items:center; gap:8px;
	font-size:.82rem; font-weight:600; color:var(--bmr-text-muted);
}
.bmr-blog-kicker::before{
	content:"";
	width:8px; height:8px; border-radius:50%;
	background:var(--bmr-primary);
	display:inline-block;
}
.bmr-blog-count{ font-size:.82rem; color:var(--bmr-text-muted); }
.bmr-blog-hero h1{
	font-size:clamp(1.9rem, 3.4vw, 2.7rem);
	line-height:1.08;
	margin:0 0 10px;
	letter-spacing:-.025em;
	max-width:18ch;
}
.bmr-blog-intro{ color:var(--bmr-text-gray); max-width:60ch; font-size:1.02rem; line-height:1.55; margin-bottom:22px; }

/* Section nav: underlined tabs rather than filled pills, scoped to the
   blog toolbar only so the rest of the site keeps its existing pill nav. */
.bmr-blog-toolbar{
	margin:0 auto;
	border-top:1px solid var(--bmr-border);
	border-bottom:1px solid var(--bmr-border);
	padding:2px 0;
}
.bmr-blog-pills{ gap:2px; }
.bmr-blog-pills .bmr-filter-pill{
	border-radius:0;
	background:transparent;
	border:0;
	border-bottom:2px solid transparent;
	padding:12px 16px;
	font-weight:600;
	font-size:.88rem;
	color:var(--bmr-text-muted);
}
.bmr-blog-pills .bmr-filter-pill:hover{ color:var(--bmr-text); border-color:var(--bmr-border); }
.bmr-blog-pills .bmr-filter-pill.is-active{
	color:var(--bmr-primary);
	border-color:var(--bmr-primary);
	box-shadow:none;
}
.bmr-blog-more-heading{
	margin:6px 0 18px;
	font-size:1.1rem;
	font-family:var(--bmr-font-head);
	font-weight:700;
}

/* Lead story - full-bleed cover image with the headline set directly on
   the photo (dark scrim for contrast), the way most modern editorial
   sites treat their top story. Sized by aspect-ratio + a max-height cap
   so it stays in proportion on every screen instead of ballooning on
   narrow viewports. */
.bmr-blog-hero-story{
	position:relative;
	display:block;
	aspect-ratio:16/7;
	max-height:380px;
	border-radius:var(--bmr-radius-lg);
	overflow:hidden;
	margin:24px 0 0;
	isolation:isolate;
	box-shadow:var(--bmr-shadow);
}
.bmr-blog-hero-story-media{
	position:absolute; inset:0;
	background:var(--bmr-bg-alt);
	display:flex; align-items:center; justify-content:center;
}
.bmr-blog-hero-story-media img{
	width:100%; height:100%; object-fit:cover;
	transition:transform .5s ease;
}
.bmr-blog-hero-story:hover .bmr-blog-hero-story-media img{ transform:scale(1.035); }
.bmr-blog-hero-story-media .bmr-media-fallback-icon{ opacity:.5; }
.bmr-blog-hero-story::after{
	content:"";
	position:absolute; inset:0;
	background:linear-gradient(0deg, rgba(6,10,20,.9) 0%, rgba(6,10,20,.5) 40%, rgba(6,10,20,.05) 72%);
	z-index:1;
}
.bmr-blog-hero-story-body{
	position:relative; z-index:2;
	display:flex; flex-direction:column; gap:10px;
	padding:28px 32px;
	max-width:640px;
	margin-top:auto;
	min-height:100%;
	justify-content:flex-end;
}
.bmr-blog-hero-story-cat{
	color:#fff; font-weight:700; font-size:.78rem;
	display:inline-flex; width:fit-content;
}
.bmr-blog-hero-story-body h2{
	color:#fff;
	font-size:clamp(1.3rem, 2.1vw, 1.8rem);
	line-height:1.18;
	letter-spacing:-.01em;
	margin:0;
}
.bmr-blog-hero-story-body p{
	color:rgba(255,255,255,.82);
	font-size:.92rem; line-height:1.5;
	margin:0;
	max-width:56ch;
}
.bmr-blog-hero-story-body .bmr-post-meta{ color:rgba(255,255,255,.75); margin-top:2px; font-size:.78rem; }
.bmr-blog-hero-story-body .bmr-readtime-chip{ background:rgba(255,255,255,.16); color:#fff; }

@media (max-width:860px){
	.bmr-blog-hero{ padding:30px 0 0; }
	.bmr-blog-hero-story{ aspect-ratio:4/3; max-height:320px; }
	.bmr-blog-hero-story-body{ padding:20px; }
	.bmr-blog-hero-story-body p{ display:none; }
}
@media (max-width:480px){
	.bmr-blog-hero-story{ aspect-ratio:1/1; max-height:280px; }
}

/* Row two: one wide secondary story beside a compact "more stories" list -
   breaks the grid rhythm instead of repeating identical cards immediately
   under the lead story. */
.bmr-blog-row2{
	display:grid;
	grid-template-columns:1.6fr 1fr;
	gap:24px;
	margin-top:24px;
	align-items:stretch;
}
.bmr-blog-aside{
	border:1px solid var(--bmr-border);
	border-radius:var(--bmr-radius-lg);
	padding:18px 20px;
	background:#fff;
}
.bmr-blog-aside-label{
	display:block;
	font-size:.76rem; font-weight:700; color:var(--bmr-text-muted);
	margin-bottom:4px;
}
.bmr-blog-aside-list{ display:flex; flex-direction:column; }
.bmr-blog-aside-item{
	display:block;
	padding:13px 0;
	border-top:1px solid var(--bmr-border);
}
.bmr-blog-aside-list .bmr-blog-aside-item:first-child{ border-top:0; padding-top:10px; }
.bmr-blog-aside-item-title{
	display:block;
	font-weight:700; font-size:.92rem; line-height:1.35;
	color:var(--bmr-text);
	margin-bottom:5px;
	transition:color .15s ease;
	display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.bmr-blog-aside-item:hover .bmr-blog-aside-item-title{ color:var(--bmr-primary); }
.bmr-blog-aside-item-date{ font-size:.76rem; color:var(--bmr-text-muted); }

@media (max-width:860px){
	.bmr-blog-row2{ grid-template-columns:1fr; }
}

/* Standard post card, used on the blog grid, category/tag archives, and "Keep Reading" */
.bmr-post-card{
	background:#fff;
	border:1px solid var(--bmr-border);
	border-radius:var(--bmr-radius-lg);
	overflow:hidden;
	display:flex;
	flex-direction:column;
	box-shadow:0 1px 2px rgba(15,23,42,.04);
	transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.bmr-post-card:hover{ transform:translateY(-4px); box-shadow:var(--bmr-shadow-lg); border-color:transparent; }
.bmr-post-card-media{
	position:relative;
	display:block;
	aspect-ratio:16/10;
	background:var(--bmr-bg-alt);
	display:flex; align-items:center; justify-content:center;
	overflow:hidden;
}
.bmr-post-card-media img{ width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.bmr-post-card:hover .bmr-post-card-media img{ transform:scale(1.06); }
.bmr-post-card-initial{ font-family:var(--bmr-font-head); font-size:2.2rem; font-weight:800; color:rgba(255,255,255,.85); }
.bmr-post-card-badge{
	position:absolute; top:12px; left:12px;
	background:var(--bmr-primary);
	color:#fff;
	font-size:.7rem; font-weight:700;
	padding:5px 11px;
	border-radius:var(--bmr-radius-pill);
}
.bmr-post-card-body{ padding:16px 18px 18px; display:flex; flex-direction:column; gap:8px; flex:1; }
.bmr-post-card-body h3{ font-size:1.02rem; margin:0; line-height:1.35; }
.bmr-post-card-body h3 a{ color:var(--bmr-text); transition:color .15s ease; }
.bmr-post-card:hover .bmr-post-card-body h3 a{ color:var(--bmr-primary); }
.bmr-post-card-body p{
	color:var(--bmr-text-gray); font-size:.85rem; margin:0; flex:1; line-height:1.5;
	display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.bmr-post-card-foot{
	display:flex; align-items:center; justify-content:space-between; gap:10px;
	padding-top:10px;
	border-top:1px solid var(--bmr-border);
}
.bmr-post-card-readmore{
	font-size:.78rem; font-weight:700; color:var(--bmr-primary);
	opacity:0; transform:translateX(-4px);
	transition:opacity .15s ease, transform .15s ease;
	white-space:nowrap;
}
.bmr-post-card:hover .bmr-post-card-readmore{ opacity:1; transform:translateX(0); }
@media (max-width:860px){
	.bmr-post-card-readmore{ opacity:1; transform:none; }
}

/* Wide variant used for the row-2 secondary story: image and text sit
   side by side instead of stacked. */
.bmr-post-card--wide{ flex-direction:row; min-height:264px; }
.bmr-post-card--wide .bmr-post-card-media{ flex:0 0 42%; aspect-ratio:auto; }
.bmr-post-card--wide .bmr-post-card-body{ flex:1; justify-content:center; padding:22px 24px; gap:10px; }
.bmr-post-card--wide .bmr-post-card-body h3{ font-size:1.22rem; line-height:1.3; }
.bmr-post-card--wide .bmr-post-card-body p{
	display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
	font-size:.88rem;
}
.bmr-post-card--wide .bmr-post-card-body p{
	display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
@media (max-width:640px){
	.bmr-post-card--wide{ flex-direction:column; min-height:0; }
	.bmr-post-card--wide .bmr-post-card-media{ flex:none; aspect-ratio:16/10; }
}


/* -------------------------------------------------------------------------
   Recent blog posts (homepage) - one large featured card + a stacked list
------------------------------------------------------------------------- */
.bmr-recent-blog-heading{ font-size:1.5rem; margin-bottom:24px; }
.bmr-recent-blog-grid{
	display:grid;
	grid-template-columns:1.3fr 1fr;
	gap:40px;
	align-items:start;
}

.bmr-recent-featured-media{
	display:flex; align-items:center; justify-content:center;
	aspect-ratio:4/3;
	border-radius:var(--bmr-radius-lg);
	overflow:hidden;
	background:var(--bmr-bg-alt);
	margin-bottom:18px;
}
.bmr-recent-featured-media img{ width:100%; height:100%; object-fit:cover; }
.bmr-recent-featured-initial{ font-family:var(--bmr-font-head); font-size:3.4rem; font-weight:800; color:rgba(255,255,255,.85); }
.bmr-recent-featured h3{ font-size:1.4rem; margin:0 0 .5em; }
.bmr-recent-featured h3 a{ display:inline-flex; align-items:center; gap:8px; }
.bmr-recent-featured h3 a:hover{ color:var(--bmr-primary); }
.bmr-recent-featured h3 a span{ font-size:.85em; opacity:.7; }
.bmr-recent-featured > p{ color:var(--bmr-text-gray); font-size:.95rem; margin:0 0 16px; }

.bmr-recent-meta{ font-size:.82rem; color:var(--bmr-text-muted); margin-bottom:10px; }

.bmr-recent-tags{ display:flex; flex-wrap:wrap; gap:8px; }
.bmr-recent-tag{
	border:1px solid var(--bmr-border);
	border-radius:var(--bmr-radius-pill);
	padding:5px 12px;
	font-size:.75rem;
	font-weight:600;
	color:var(--bmr-text-gray);
	background:#fff;
}

.bmr-recent-list{ display:flex; flex-direction:column; gap:26px; }
.bmr-recent-item{ display:flex; gap:16px; }
.bmr-recent-item-media{
	flex:0 0 112px;
	width:112px; height:112px;
	display:flex; align-items:center; justify-content:center;
	border-radius:var(--bmr-radius);
	overflow:hidden;
	background:var(--bmr-bg-alt);
}
.bmr-recent-item-media img{ width:100%; height:100%; object-fit:cover; }
.bmr-recent-item-initial{ font-family:var(--bmr-font-head); font-size:1.6rem; font-weight:800; color:rgba(255,255,255,.85); }
.bmr-recent-item-body{ flex:1; min-width:0; }
.bmr-recent-item-body h4{ font-size:1rem; margin:0 0 .4em; }
.bmr-recent-item-body h4 a:hover{ color:var(--bmr-primary); }
.bmr-recent-item-body > p{
	color:var(--bmr-text-gray);
	font-size:.85rem;
	margin:0 0 10px;
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden;
}

@media (max-width:860px){
	.bmr-recent-blog-grid{ grid-template-columns:1fr; gap:32px; }
}
@media (max-width:480px){
	.bmr-recent-item-media{ flex:0 0 84px; width:84px; height:84px; }
}

/* Reading progress bar - fixed under the header, filled by JS as the
   visitor scrolls through the article. */
.bmr-reading-progress{
	position:fixed; top:0; left:0; right:0;
	height:3px;
	background:transparent;
	z-index:210;
	pointer-events:none;
}
.bmr-reading-progress-bar{
	height:100%; width:0%;
	background:var(--bmr-primary);
	transition:width .1s linear;
}

/* Single post header - text-first masthead treatment, no boxed eyebrow. */
.bmr-post-header{ padding:28px 0 0; max-width:760px; }
.bmr-post-header .bmr-post-cat-link{
	display:inline-block;
	font-size:.85rem; font-weight:700;
	color:var(--bmr-primary);
	margin-bottom:14px;
}
.bmr-post-header h1{
	font-size:clamp(1.9rem, 3.6vw, 2.7rem);
	line-height:1.12;
	letter-spacing:-.02em;
	margin-top:0;
}
.bmr-post-excerpt{ color:var(--bmr-text-gray); font-size:1.15rem; line-height:1.55; margin-top:2px; }

.bmr-post-meta-row{
	display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
	margin-top:22px;
	padding-top:18px;
	border-top:1px solid var(--bmr-border);
}
.bmr-post-share{ display:flex; align-items:center; gap:8px; }
.bmr-post-share-btn{
	width:34px; height:34px;
	display:inline-flex; align-items:center; justify-content:center;
	border-radius:50%;
	border:1px solid var(--bmr-border);
	background:#fff;
	color:var(--bmr-text-gray);
	transition:border-color .15s ease, color .15s ease, background .15s ease;
	position:relative;
}
.bmr-post-share-btn:hover{ border-color:var(--bmr-primary); color:var(--bmr-primary); }
.bmr-post-share-btn svg{ width:15px; height:15px; }
.bmr-post-share-btn.is-copied{ background:var(--bmr-success-bg); border-color:var(--bmr-success-bg); color:var(--bmr-success-text); }
.bmr-post-share-tooltip{
	position:absolute; bottom:calc(100% + 8px); left:50%; transform:translateX(-50%);
	background:var(--bmr-text); color:#fff;
	font-size:.72rem; font-weight:600;
	padding:4px 9px; border-radius:6px;
	white-space:nowrap;
	opacity:0; pointer-events:none;
	transition:opacity .15s ease;
}
.bmr-post-share-btn.is-copied .bmr-post-share-tooltip{ opacity:1; }

.bmr-post-hero-wrap{ margin:30px auto 0; max-width:980px; }
.bmr-post-hero{
	border-radius:var(--bmr-radius-lg);
	overflow:hidden;
	max-height:460px;
	display:flex; align-items:center; justify-content:center;
}
.bmr-post-hero img{ width:100%; height:100%; object-fit:cover; }
.bmr-post-hero-fallback{ aspect-ratio:16/7; }
.bmr-post-hero-fallback span{ font-family:var(--bmr-font-head); font-size:5rem; font-weight:800; color:rgba(255,255,255,.85); }

/* Single post body layout: content column + sticky "On this page" rail. */
.bmr-post-layout{
	display:grid;
	grid-template-columns:minmax(0,760px) 220px;
	gap:56px;
	justify-content:center;
	padding:40px 0 0;
}
.bmr-post-content{ width:100%; min-width:0; }
.bmr-post-toc{
	position:sticky; top:28px;
	align-self:start;
	display:none;
	flex-direction:column;
	gap:2px;
	padding-left:18px;
	border-left:1px solid var(--bmr-border);
}
.bmr-post-toc-label{ font-size:.75rem; font-weight:700; color:var(--bmr-text-muted); margin-bottom:10px; }
.bmr-post-toc a{
	font-size:.85rem; line-height:1.4;
	color:var(--bmr-text-gray);
	padding:6px 0;
	transition:color .15s ease;
}
.bmr-post-toc a:hover{ color:var(--bmr-text); }
.bmr-post-toc a.is-active{ color:var(--bmr-primary); font-weight:700; }
.bmr-post-toc a[data-toc-level="3"]{ padding-left:14px; font-size:.8rem; }
@media (min-width:1180px){
	.bmr-post-toc.has-items{ display:flex; }
}

.bmr-post-pages{ font-weight:600; margin:24px 0; }
.bmr-post-tags{ display:flex; flex-wrap:wrap; gap:8px; margin:28px 0; }

/* the_content() prose - shared with page.php via .bmr-page-content */
.bmr-page-content{ font-size:1.05rem; line-height:1.75; color:var(--bmr-text); }
.bmr-page-content h2{ font-size:1.5rem; margin-top:1.6em; scroll-margin-top:24px; }
.bmr-page-content h3{ font-size:1.2rem; margin-top:1.4em; scroll-margin-top:24px; }
.bmr-page-content p{ margin:0 0 1.2em; }
.bmr-page-content a{ color:var(--bmr-primary); text-decoration:underline; text-decoration-color:var(--bmr-border); }
.bmr-page-content ul,
.bmr-page-content ol{ margin:0 0 1.2em; padding-left:1.4em; list-style:revert; }
.bmr-page-content li{ margin-bottom:.4em; }
.bmr-page-content blockquote{
	position:relative;
	margin:1.8em 0;
	padding:.2em 0 .2em 28px;
	border-left:3px solid var(--bmr-primary);
	color:var(--bmr-text);
	font-family:var(--bmr-font-head);
	font-size:1.15em;
	font-weight:500;
	line-height:1.5;
}
.bmr-page-content blockquote p{ margin:0; }
.bmr-page-content img{ border-radius:var(--bmr-radius); margin:1.4em 0; }
.bmr-page-content figcaption{ font-size:.85rem; color:var(--bmr-text-muted); text-align:center; margin-top:-1em; margin-bottom:1.4em; }
.bmr-page-content code{ background:var(--bmr-bg-alt); border-radius:4px; padding:2px 6px; font-size:.9em; }
.bmr-page-content pre{ background:var(--bmr-text); color:#fff; border-radius:var(--bmr-radius); padding:18px 20px; overflow-x:auto; }
.bmr-page-content pre code{ background:none; padding:0; color:inherit; }
.bmr-page-content hr{ border:none; border-top:1px solid var(--bmr-border); margin:2em 0; }

/* Drop cap on the opening paragraph of a blog post only (not generic pages) */
.bmr-single-post .bmr-post-content > .bmr-page-content > p:first-of-type::first-letter{
	float:left;
	font-family:var(--bmr-font-head);
	font-weight:800;
	font-size:3.6em;
	line-height:.82;
	padding:.04em .05em 0 0;
	color:var(--bmr-primary);
}

/* Author bio box - a quiet card with a small gradient signature strip */
.bmr-post-author-box{
	position:relative;
	display:flex; gap:18px;
	background:#fff;
	border:1px solid var(--bmr-border);
	border-radius:var(--bmr-radius-lg);
	padding:24px;
	margin:44px 0;
	overflow:hidden;
}
.bmr-post-author-box::before{
	content:"";
	position:absolute; top:0; left:0; right:0; height:3px;
	background:linear-gradient(90deg, var(--bmr-primary), var(--bmr-icon-sky));
}
.bmr-post-author-box img.avatar{ border-radius:50%; flex-shrink:0; }
.bmr-post-author-box-label{ font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--bmr-text-muted); }
.bmr-post-author-box h3{ margin:2px 0 6px; font-size:1.1rem; }
.bmr-post-author-box p{ margin:0; color:var(--bmr-text-gray); font-size:.9rem; }

.bmr-related-posts{ border-top:1px solid var(--bmr-border); margin-top:12px; padding-top:36px; }

@media (max-width:1180px){
	.bmr-post-layout{ grid-template-columns:minmax(0,760px); }
	.bmr-post-toc{ display:none !important; }
}


/* Pagination (the_posts_pagination / the_comments_pagination default markup) */
.bmr-pagination,
.comments-pagination{ display:flex; justify-content:center; margin-top:8px; }
.bmr-pagination .nav-links,
.comments-pagination .nav-links{ display:flex; align-items:center; gap:8px; }
.bmr-pagination .page-numbers,
.comments-pagination .page-numbers{
	display:inline-flex; align-items:center; justify-content:center;
	min-width:38px; height:38px; padding:0 12px;
	border-radius:var(--bmr-radius-pill);
	border:1px solid var(--bmr-border);
	background:#fff;
	font-weight:600; font-size:.88rem;
	color:var(--bmr-text);
	transition:border-color .15s ease, color .15s ease;
}
.bmr-pagination a.page-numbers:hover,
.comments-pagination a.page-numbers:hover{ border-color:var(--bmr-primary); color:var(--bmr-primary); }
.bmr-pagination .page-numbers.current,
.comments-pagination .page-numbers.current{ background:var(--bmr-primary); border-color:var(--bmr-primary); color:#fff; }
.bmr-pagination .page-numbers.dots,
.comments-pagination .page-numbers.dots{ border:none; background:none; }

/* Comments (comments.php + bmr_comment_callback) */
.bmr-comments{ border-top:1px solid var(--bmr-border); margin-top:40px; padding-top:36px; }
.bmr-comment-list{ margin:20px 0 0; }
.bmr-comment-list ul.children{ list-style:none; margin:18px 0 0 32px; padding:0; }
.bmr-comment{ margin-bottom:24px; }
.bmr-comment-body{ display:flex; gap:14px; }
.bmr-comment-body img.avatar{ border-radius:50%; flex-shrink:0; }
.bmr-comment-main{ flex:1; min-width:0; }
.bmr-comment-meta{ display:flex; align-items:center; gap:8px; font-size:.85rem; margin-bottom:4px; }
.bmr-comment-author{ font-weight:700; }
.bmr-comment-date{ color:var(--bmr-text-muted); }
.bmr-comment-content p{ margin:0 0 .6em; color:var(--bmr-text-gray); }
.bmr-comment-pending{ font-size:.82rem; color:var(--bmr-danger-text); font-style:italic; margin:4px 0; }
.bmr-comment-reply{ margin-top:6px; }
.bmr-comment-reply a{ font-size:.82rem; font-weight:700; color:var(--bmr-primary); }
.bmr-comments-closed{ color:var(--bmr-text-muted); font-size:.9rem; }

.bmr-comment-form{ margin-top:28px; }
.bmr-comment-form .comment-reply-title{ font-family:var(--bmr-font-head); font-size:1.3rem; margin-bottom:16px; }
.bmr-comment-form p{ margin-bottom:14px; }
.bmr-comment-form .comment-notes,
.bmr-comment-form .logged-in-as{ font-size:.85rem; color:var(--bmr-text-muted); }
.bmr-comment-form label{ display:block; font-weight:600; font-size:.85rem; margin-bottom:6px; }
.bmr-comment-form .form-submit{ margin-top:6px; }

@media (max-width:640px){
	.bmr-post-layout{ padding-top:24px; }
	.bmr-post-author-box{ flex-direction:column; }
	.bmr-post-meta-row{ align-items:flex-start; }
}
