/*
Theme Name: Cyclopedia Masonica
Theme URI: https://cyclopedia-masonica.org/
Description: Lightweight child theme of Twenty Twenty-Five for Cyclopedia Masonica — navy and antique gold, scroll motion, page-by-page reading.
Author: Cyclopedia Masonica
Template: twentytwentyfive
Version: 1.2.6
Requires at least: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cyclopedia-masonica
*/

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--ink); }
img { height: auto; }

.cm-eyebrow {
	font-family: var(--wp--preset--font-family--cinzel);
	font-size: 0.8125rem;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gold);
	margin: 0;
}

/* ---------- Header ---------- */
.cm-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(11, 18, 32, 0.92);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.admin-bar .cm-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .cm-header { top: 46px; } }
.cm-header .wp-block-site-title a { text-decoration: none; letter-spacing: 0.18em; }
.cm-header .wp-block-navigation a { text-decoration: none; letter-spacing: 0.06em; }
.cm-header .wp-block-navigation a:hover { color: var(--wp--preset--color--gold-light); }
.cm-progress { height: 2px; background: var(--wp--preset--color--gold); transform-origin: left; transform: scaleX(0); }

/* ---------- Breadcrumb + page meta ---------- */
.cm-breadcrumb { font-size: 0.875rem; color: var(--wp--preset--color--muted); }
.cm-breadcrumb a { text-decoration: none; }
.cm-breadcrumb .sep { margin: 0 0.5em; opacity: 0.7; }
.cm-pagecount { font-family: var(--wp--preset--font-family--cinzel); font-size: 0.8125rem; letter-spacing: 0.15em; color: var(--wp--preset--color--gold); }

/* ---------- Content ---------- */
.entry-content > p,
.wp-block-post-content > p { color: var(--wp--preset--color--text-soft); }
.wp-block-post-content figure img,
.wp-block-post-content .wp-block-image img { border-radius: 2px; }
.wp-block-post-content figcaption,
.wp-block-post-content .wp-element-caption {
	font-family: var(--wp--preset--font-family--cinzel);
	font-size: 0.8125rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gold);
	text-align: center;
}
.wp-block-post-content blockquote,
.wp-block-quote {
	border: 0;
	border-top: 1px solid var(--wp--preset--color--gold);
	border-bottom: 1px solid var(--wp--preset--color--gold);
	padding: 1.5rem 0.5rem;
	text-align: center;
	font-family: var(--wp--preset--font-family--cormorant);
	font-style: italic;
	font-size: 1.6rem;
	line-height: 1.45;
	color: var(--wp--preset--color--gold-pale);
}
.wp-block-post-content hr,
.wp-block-separator { border-color: var(--wp--preset--color--line); opacity: 1; }

/* Regalia figure panel (used by migrated degree pages) */
.cm-regalia {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	padding: 1.75rem 1.5rem;
	text-align: center;
}
.cm-regalia img { max-width: 240px; width: 100%; margin: 0 auto; }

/* Image placeholder (Mark Master section until new images arrive) */
.cm-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 220px;
	border: 1px dashed var(--wp--preset--color--gold-dim);
	background: repeating-linear-gradient(135deg, rgba(201,164,92,0.05) 0 12px, transparent 12px 24px);
	color: var(--wp--preset--color--gold);
	font-family: var(--wp--preset--font-family--cinzel);
	font-size: 0.8125rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	text-align: center;
	padding: 1rem;
}

/* ---------- Cards / grids ---------- */
.cm-card {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding: 1.75rem;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--text);
	text-decoration: none;
	transition: transform 0.35s ease, border-color 0.35s ease, background 0.35s ease;
	height: 100%;
	box-sizing: border-box;
}
a.cm-card:hover, .cm-card:has(a:hover) { transform: translateY(-6px); border-color: var(--wp--preset--color--gold); background: var(--wp--preset--color--surface-hover); }
.cm-card .cm-card-title { font-family: var(--wp--preset--font-family--cormorant); font-size: 1.6rem; line-height: 1.2; color: var(--wp--preset--color--heading); }
.cm-card .cm-card-text { font-size: 0.95rem; color: var(--wp--preset--color--muted); }

.cm-children { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.25rem; list-style: none; margin: 0; padding: 0; }
.cm-children--compact { grid-template-columns: repeat(auto-fill, minmax(88px, 1fr)); gap: 0.6rem; }
.cm-children--compact .cm-card { align-items: center; justify-content: center; padding: 1rem 0.5rem; min-height: 64px; }
.cm-children--compact .cm-card:hover { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--ink); transform: none; }
.cm-children--compact .cm-card:hover .cm-card-title { color: var(--wp--preset--color--ink); }
.cm-children--compact .cm-card-title { font-family: var(--wp--preset--font-family--cinzel); font-size: 1.05rem; text-align: center; }

/* Debunk claim grid (Query Loop with class cm-claim-grid) */
.cm-claim-grid .wp-block-post-template { gap: 1.5rem; }
.cm-claim-grid .wp-block-post {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	padding: 1.75rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	min-height: 230px;
	transition: transform 0.35s ease, border-color 0.35s ease, background 0.35s ease;
}
.cm-claim-grid .wp-block-post:hover { transform: translateY(-6px); border-color: var(--wp--preset--color--gold); background: var(--wp--preset--color--surface-hover); }
.cm-claim-grid .wp-block-post-title a { text-decoration: none; color: var(--wp--preset--color--heading); }
.cm-claim-grid .wp-block-post-excerpt { color: var(--wp--preset--color--muted); }
.cm-claim-grid .wp-block-post-excerpt__more-link { font-size: 0.85rem; letter-spacing: 0.12em; text-transform: uppercase; text-decoration: none; }

/* Pagination (query + page numbers) */
.wp-block-query-pagination, .cm-pagenums { display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: center; align-items: center; font-family: var(--wp--preset--font-family--cinzel); }
.wp-block-query-pagination a, .wp-block-query-pagination span.page-numbers,
.cm-pagenums a, .cm-pagenums span {
	padding: 0.65rem 1rem;
	border: 1px solid var(--wp--preset--color--line-strong);
	text-decoration: none;
	min-width: 1.2em;
	text-align: center;
}
.wp-block-query-pagination .current, .cm-pagenums .current { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--gold); }
.cm-pagenums .dots { border: 0; color: var(--wp--preset--color--muted); }

/* Previous / next between pages */
.cm-pagenav { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; align-items: stretch; }
.cm-pagenav a {
	flex: 1 1 260px;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding: 1.25rem 1.5rem;
	border: 1px solid var(--wp--preset--color--line-strong);
	text-decoration: none;
	color: var(--wp--preset--color--text);
	transition: border-color 0.3s ease, background 0.3s ease;
}
.cm-pagenav a:hover { border-color: var(--wp--preset--color--gold); background: var(--wp--preset--color--surface); }
.cm-pagenav .label { font-size: 0.8rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.cm-pagenav .title { font-family: var(--wp--preset--font-family--cormorant); font-size: 1.45rem; line-height: 1.25; }
.cm-pagenav .next { align-items: flex-end; text-align: right; border-color: var(--wp--preset--color--gold-dim); }
.cm-pagenav .next .label { color: var(--wp--preset--color--gold); }
.cm-pagenav .up { flex: 0 1 180px; align-items: center; justify-content: center; font-family: var(--wp--preset--font-family--cinzel); letter-spacing: 0.12em; }

/* Debunk warning box + buttons */
.cm-warning {
	border: 1px solid var(--wp--preset--color--gold-dim);
	background: rgba(201, 164, 92, 0.06);
	padding: 2rem 2.25rem;
}
.cm-warning .cm-warning-title { font-family: var(--wp--preset--font-family--cinzel); letter-spacing: 0.35em; color: var(--wp--preset--color--gold-light); }
.wp-block-button.is-style-outline .wp-block-button__link { border-color: var(--wp--preset--color--line-strong); color: var(--wp--preset--color--text); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--surface); }

/* "FALSE" verdict stamp: add class cm-stamp to a paragraph */
.cm-stamp {
	display: inline-block;
	padding: 0.5rem 1.25rem;
	border: 3px solid var(--wp--preset--color--verdict);
	color: var(--wp--preset--color--verdict);
	font-family: var(--wp--preset--font-family--cinzel);
	font-weight: 700;
	letter-spacing: 0.3em;
	transform: rotate(-4deg);
}

/* ---------- Footer ---------- */
.cm-footer { border-top: 1px solid var(--wp--preset--color--line); }
.cm-footer a { text-decoration: none; }

/* ---------- Home ---------- */
.cm-hero { position: relative; overflow: hidden; }
.cm-hero .wp-block-cover__inner-container { display: flex; flex-direction: column; align-items: center; gap: 1.25rem; }
.cm-hero h1 { color: var(--wp--preset--color--heading); margin: 0; text-shadow: 0 2px 30px rgba(0,0,0,0.5); }
.cm-hero-mark img { filter: invert(78%) sepia(35%) saturate(520%) hue-rotate(2deg); opacity: 0.9; }
.cm-scroll-cue { display: block; width: 26px; height: 42px; border: 1px solid var(--wp--preset--color--gold-dim); border-radius: 14px; margin: 2.5rem auto 0; position: relative; }
.cm-scroll-cue span { position: absolute; left: 50%; top: 8px; width: 4px; height: 8px; margin-left: -2px; border-radius: 2px; background: var(--wp--preset--color--gold); animation: cm-cue 1.8s ease-in-out infinite; }
@keyframes cm-cue { 0% { opacity: 0; transform: translateY(0); } 40% { opacity: 1; } 100% { opacity: 0; transform: translateY(14px); } }
@media (prefers-reduced-motion: reduce) { .cm-scroll-cue span { animation: none; } }

.cm-card h2, .cm-card h3 { margin: 0; }
.cm-card h2 a, .cm-card h3 a { color: var(--wp--preset--color--heading); text-decoration: none; }
.cm-card h2 a::after, .cm-card h3 a::after { content: ""; position: absolute; inset: 0; }
.wp-block-column.cm-card { position: relative; justify-content: flex-end; min-height: 300px; }
.cm-door-img { margin: 0 0 0.5rem !important; }
.cm-door-img img { width: 120px; }

.cm-chapters { list-style: none; margin: 2.5rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1px; background: var(--wp--preset--color--line); border: 1px solid var(--wp--preset--color--line); }
.cm-chapters a { display: flex; flex-direction: column; gap: 0.3rem; padding: 1.6rem; background: var(--wp--preset--color--ink-2); color: var(--wp--preset--color--text); text-decoration: none; height: 100%; box-sizing: border-box; transition: background 0.3s ease; }
.cm-chapters a:hover { background: var(--wp--preset--color--surface-hover); }
.cm-chapters .n { font-family: var(--wp--preset--font-family--cinzel); font-size: 0.8125rem; letter-spacing: 0.2em; color: var(--wp--preset--color--gold); }
.cm-chapters .t { font-family: var(--wp--preset--font-family--cormorant); font-size: 1.55rem; line-height: 1.2; }

.cm-oath .wp-block-cover__inner-container { display: flex; flex-direction: column; align-items: center; gap: 1.5rem; }
.cm-fineprint li { margin-bottom: 0.9rem; }
.cm-wallets { margin: 0.5rem 0 0; display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 0.5rem 1rem; font-size: 0.85rem; }
.cm-wallets dt { font-family: var(--wp--preset--font-family--cinzel); letter-spacing: 0.1em; color: var(--wp--preset--color--gold); }
.cm-wallets dd { margin: 0; min-width: 0; }
.cm-wallets code { display: block; overflow-wrap: anywhere; color: var(--wp--preset--color--text-soft); background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--line); padding: 0.35rem 0.6rem; user-select: all; }

/* ---------- 2026 look: rounded everything (R32) ---------- */
:root {
	--cm-r-sm: 12px;
	--cm-r: 20px;
	--cm-r-lg: 28px;
	--cm-shadow: 0 1px 0 rgba(255,255,255,0.04) inset, 0 18px 50px -24px rgba(0,0,0,0.65);
	--cm-glass: rgba(18, 27, 46, 0.55);
}
.cm-card, .wp-block-column.cm-card,
.cm-claim-grid .wp-block-post,
.cm-regalia, .cm-warning, .cm-join,
.cm-pagenav a {
	border-radius: var(--cm-r);
	box-shadow: var(--cm-shadow);
	overflow: hidden;
}
.cm-card, .wp-block-column.cm-card, .cm-claim-grid .wp-block-post {
	background: linear-gradient(180deg, rgba(26,38,62,0.9) 0%, rgba(18,27,46,0.9) 100%);
	border-color: rgba(201,164,92,0.14);
}
.cm-join { border-radius: var(--cm-r-lg); }
.wp-block-button__link, .wp-element-button,
.wp-block-query-pagination a, .wp-block-query-pagination span.page-numbers,
.cm-pagenums a, .cm-pagenums span { border-radius: 999px !important; }
.wp-block-post-content img, .wp-block-image img, .cm-door-img img { border-radius: var(--cm-r-sm); }
.cm-hero-mark img, .wp-block-site-logo img { border-radius: 0; }
.cm-placeholder { border-radius: var(--cm-r); }
.cm-wallets code { border-radius: 10px; }
.wp-block-search__input, input, textarea, select { border-radius: 999px; }
.cm-stamp { border-radius: 10px; }

/* Chapters: separate rounded tiles instead of a hairline grid */
.cm-chapters { gap: 1rem; background: none; border: 0; }
.cm-chapters a {
	border-radius: var(--cm-r);
	border: 1px solid rgba(201,164,92,0.12);
	background: linear-gradient(160deg, rgba(26,38,62,0.85), rgba(14,22,38,0.85));
	box-shadow: var(--cm-shadow);
	transition: transform 0.35s ease, border-color 0.35s ease, background 0.35s ease;
}
.cm-chapters a:hover { transform: translateY(-4px); border-color: var(--wp--preset--color--gold); }
.cm-children--compact .cm-card { border-radius: var(--cm-r-sm); }

/* Header: floating glass bar */
.cm-header { background: rgba(11,18,32,0.72); }
@media (min-width: 900px) {
	.cm-header { margin: 12px auto 0; width: min(1240px, calc(100% - 32px)); border: 1px solid rgba(201,164,92,0.14); border-radius: 999px; box-shadow: var(--cm-shadow); }
	.cm-header .cm-progress { border-radius: 999px; margin: 0 24px; }
	.admin-bar .cm-header { top: 44px; }
	body:not(.admin-bar) .cm-header { top: 12px; }
}

/* Hero: frosted-glass content panel */
.cm-hero .wp-block-cover__inner-container {
	background: var(--cm-glass);
	backdrop-filter: blur(14px) saturate(120%);
	-webkit-backdrop-filter: blur(14px) saturate(120%);
	border: 1px solid rgba(201,164,92,0.18);
	border-radius: var(--cm-r-lg);
	padding: clamp(2rem, 5vw, 4rem) clamp(1.25rem, 4vw, 3.5rem);
	box-shadow: var(--cm-shadow);
	max-width: 900px;
}
.cm-oath .wp-block-cover__inner-container { border-radius: var(--cm-r-lg); }
.cm-band { border-radius: var(--cm-r-lg) var(--cm-r-lg) 0 0; }

/* Hero panel: vertical rhythm halfway between v1.0.2 (too tall) and v1.0.3 (too tight) */
.cm-hero .wp-block-cover__inner-container { gap: 1.2rem; padding: clamp(1.5rem, 3.5vw, 2.75rem) clamp(1.25rem, 4vw, 3.25rem); }
.cm-hero .wp-block-cover__inner-container > * { margin-block: 0 !important; }
.cm-hero .cm-hero-mark img { width: 66px !important; }
.cm-hero h1 { font-size: clamp(2.45rem, 6vw, 4.6rem) !important; line-height: 1.04; }
.cm-hero .has-x-large-font-size { font-size: clamp(1.6rem, 2.6vw, 2.15rem) !important; line-height: 1.3; }
.cm-hero p:not(.cm-eyebrow):not(.has-x-large-font-size) { font-size: 1.07rem; line-height: 1.7; max-width: 660px; }
.cm-hero .wp-block-buttons { margin-top: 0.4rem !important; }
.cm-scroll-cue { margin: 1.2rem auto 0; width: 24px; height: 38px; }

/* Hero sits directly under the header and is centred in what is left of the screen,
   so the gap above the box equals the gap below it. */
:root { --cm-header-h: 76px; }
@media (min-width: 900px) { :root { --cm-header-h: 92px; } }
.wp-site-blocks > main.wp-block-group:has(.cm-hero) { margin-block-start: 0; }
.wp-block-post-content > .cm-hero:first-child { margin-block-start: 0 !important; }
.cm-hero.wp-block-cover {
	min-height: calc(100svh - var(--cm-header-h)) !important;
	padding-block: clamp(1rem, 3vh, 2.5rem);
	align-items: center;
}
.admin-bar .cm-hero.wp-block-cover { min-height: calc(100svh - var(--cm-header-h) - 32px) !important; }
/* Header on one row */
.cm-header .wp-block-navigation { flex-wrap: nowrap; }
.cm-header .wp-block-navigation .wp-block-navigation__container { gap: 1.25rem; flex-wrap: nowrap; }
.cm-header .wp-block-navigation-item__content { white-space: nowrap; }

/* Card thumbnails (chapter/children/contents cards) */
.cm-card-thumb { display: block; margin: -1.75rem -1.75rem 0.5rem; height: 170px; background: radial-gradient(circle at 50% 40%, #1C2A46, #0E1626); border-bottom: 1px solid rgba(201,164,92,0.12); overflow: hidden; }
.cm-card-thumb img { width: 100%; height: 100%; object-fit: contain; padding: 1rem; box-sizing: border-box; border-radius: 0 !important; transition: transform 0.5s ease; }
a.cm-card:hover .cm-card-thumb img { transform: scale(1.06); }
.cm-toc { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.cm-caption { font-family: var(--wp--preset--font-family--cinzel); font-size: 0.8125rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--wp--preset--color--gold); text-align: center; }
/* Converted content: centred images in columns, regalia panels */
.wp-block-post-content .wp-block-columns { gap: 1.75rem; align-items: flex-start; }
.wp-block-column.cm-regalia { border-radius: var(--cm-r); }
.wp-block-post-content .wp-block-embed { border-radius: var(--cm-r); overflow: hidden; }
.wp-block-post-content .wp-block-buttons { margin-block: 1.5rem; }

/* ---------- Compact vertical rhythm on all inner pages ---------- */
main.wp-block-group { padding-top: 1rem !important; }
.wp-block-post-title { font-size: clamp(2rem, 3.6vw, 2.9rem) !important; margin-top: 0.75rem !important; margin-bottom: 0.25rem !important; }
.wp-block-post-content > h1, .wp-block-post-content h1.wp-block-heading { font-size: clamp(2rem, 3.6vw, 2.9rem); margin-top: 0.2rem !important; margin-bottom: 0.25rem !important; }
.wp-block-post-content > .cm-eyebrow { margin-bottom: 0 !important; }
.wp-block-post-content > .cm-eyebrow + h1, .wp-block-post-content > .cm-eyebrow + h2 { margin-top: 0.3rem !important; }
.wp-block-post-content > h1 + p { margin-top: 0.4rem !important; }
.wp-block-post-content > .wp-block-shortcode, .wp-block-post-content > ul.cm-children { margin-top: 1rem !important; }

/* Cards: tighter, five across on wide screens */
.cm-children, .cm-toc { grid-template-columns: repeat(auto-fill, minmax(215px, 1fr)) !important; gap: 0.85rem !important; }
.cm-card { padding: 1.05rem 1.25rem !important; gap: 0.35rem !important; }
.cm-card .cm-card-title { font-size: 1.28rem !important; line-height: 1.22 !important; }
.cm-card .cm-eyebrow { font-size: 0.72rem; letter-spacing: 0.22em; }
.cm-card .cm-card-text { font-size: 0.88rem; line-height: 1.5; }
.cm-card-thumb { margin: -1.05rem -1.25rem 0.4rem !important; height: 120px !important; }
.wp-block-column.cm-card { min-height: 0 !important; }
.cm-children li { display: flex; }
.cm-children li > a { flex: 1; }

/* Debunk grid and claim cards follow the same density */
.cm-claim-grid .wp-block-post { padding: 1.15rem 1.3rem !important; gap: 0.4rem !important; min-height: 0 !important; }
.cm-claim-grid .wp-block-post-title { font-size: 1.3rem !important; margin: 0 !important; }
.cm-claim-grid .wp-block-post-template { gap: 0.85rem !important; }
.cm-warning { padding: 1.1rem 1.4rem !important; }

/* Breadcrumb row + prev/next a little tighter */
.cm-pagenav a { padding: 0.9rem 1.2rem !important; }
.cm-pagenav .title { font-size: 1.2rem !important; }

/* ---------- Logo badges on cards (R35) ---------- */
.cm-badge {
	display: inline-flex; align-items: center; justify-content: center;
	width: 58px; height: 58px; flex: 0 0 58px;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 30%, #F6EFDD 0%, #E6D9B8 60%, #CDB98A 100%);
	box-shadow: 0 0 0 2px rgba(201,164,92,0.85), 0 0 0 5px rgba(201,164,92,0.12), 0 10px 22px -10px rgba(0,0,0,0.8);
	overflow: hidden; margin-bottom: 0.55rem;
	transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.cm-badge img { width: 78% !important; height: 78% !important; object-fit: contain; border-radius: 0 !important; }
.cm-badge--emblem { background: radial-gradient(circle at 35% 30%, #22324F, #101A2C); color: var(--wp--preset--color--gold); }
a.cm-card:hover .cm-badge { transform: scale(1.08) rotate(-3deg); box-shadow: 0 0 0 2px var(--wp--preset--color--gold-light), 0 0 0 6px rgba(201,164,92,0.2), 0 14px 26px -10px rgba(0,0,0,0.85); }

/* ---------- Recommended Books: even grid of book cards ---------- */
.cm-book-grid { gap: 1rem !important; margin-block: 1.5rem; }
.cm-book-grid > .wp-block-image.cm-book {
	margin: 0 !important;
	display: flex; flex-direction: column; align-items: center;
	padding: 1rem 0.9rem 1.1rem;
	background: linear-gradient(180deg, rgba(26,38,62,0.9), rgba(18,27,46,0.9));
	border: 1px solid rgba(201,164,92,0.14);
	border-radius: var(--cm-r);
	box-shadow: var(--cm-shadow);
	transition: transform 0.35s ease, border-color 0.35s ease;
}
.cm-book-grid > .wp-block-image.cm-book:hover { transform: translateY(-5px); border-color: var(--wp--preset--color--gold); }
.cm-book-grid .cm-book a { display: flex; align-items: center; justify-content: center; width: 100%; height: 290px; }
.cm-book-grid .cm-book img { max-width: 100% !important; max-height: 290px !important; width: auto !important; height: auto !important; object-fit: contain; border-radius: 6px !important; box-shadow: 0 14px 28px -14px rgba(0,0,0,0.9); }
.cm-book-grid .cm-book figcaption {
	font-family: var(--wp--preset--font-family--source-sans) !important;
	text-transform: none !important; letter-spacing: 0 !important;
	font-size: 0.85rem !important; line-height: 1.35 !important;
	color: var(--wp--preset--color--text-soft) !important;
	margin: 0.75rem 0 0 !important; text-align: center;
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
	min-height: calc(1.35em * 3);
}

/* Images inside columns always fit their column (old fixed widths such as 500px made them overflow and crop) — site-wide */
.wp-block-column .wp-block-image,
.wp-block-column .wp-block-image figure { max-width: 100%; margin-left: auto; margin-right: auto; }
.wp-block-column .wp-block-image img,
.wp-block-column .wp-block-image.is-resized img {
	width: auto !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: 340px;
	object-fit: contain;
	display: block;
	margin: 0 auto;
}
.wp-block-column.cm-regalia { display: flex; flex-direction: column; justify-content: center; overflow: visible; }
.wp-block-column.cm-regalia img { max-width: 100% !important; }

/* Regalia panels: image at the TOP of the box and as wide as the box allows — site-wide */
.wp-block-column.cm-regalia { justify-content: flex-start !important; align-self: flex-start; padding: 1rem !important; }
.wp-block-column.cm-regalia .wp-block-image { margin-top: 0 !important; width: 100%; }
.wp-block-column.cm-regalia .wp-block-image img,
.wp-block-column.cm-regalia .wp-block-image.is-resized img {
	width: 92% !important;
	max-width: 92% !important;
	max-height: none !important;
	height: auto !important;
}

/* Rows of 2+ regalia boxes: all boxes as tall as the tallest; image centred, captions aligned at the bottom */
.wp-block-columns:has(> .wp-block-column.cm-regalia + .wp-block-column.cm-regalia) { align-items: stretch !important; }
.wp-block-columns:has(> .wp-block-column.cm-regalia + .wp-block-column.cm-regalia) > .wp-block-column.cm-regalia {
	align-self: stretch !important;
	display: flex; flex-direction: column;
}
.wp-block-columns:has(> .wp-block-column.cm-regalia + .wp-block-column.cm-regalia) > .wp-block-column.cm-regalia > .wp-block-image {
	flex: 1 1 auto;
	display: flex; flex-direction: column; justify-content: space-between; align-items: center;
	margin-bottom: 0 !important;
}
.wp-block-columns:has(> .wp-block-column.cm-regalia + .wp-block-column.cm-regalia) > .wp-block-column.cm-regalia > .wp-block-image img { margin: auto !important; }
.wp-block-columns:has(> .wp-block-column.cm-regalia + .wp-block-column.cm-regalia) > .wp-block-column.cm-regalia figcaption { margin-top: 0.75rem !important; }
/* …and the pictures sit at the TOP of those equal-height boxes, captions stay aligned along the bottom */
.wp-block-columns:has(> .wp-block-column.cm-regalia + .wp-block-column.cm-regalia) > .wp-block-column.cm-regalia > .wp-block-image img { margin: 0 auto !important; }

/* ---------- Debunk claim pages: one flowing article ---------- */
.cm-claim-article { max-width: 780px; margin-inline: auto; }
.cm-claim-article::after { content: ""; display: table; clear: both; }
.cm-claim-box {
	position: relative;
	padding: 1.6rem 1.8rem 1.5rem !important;
	border-radius: var(--cm-r-lg);
	background: linear-gradient(160deg, rgba(240,138,99,0.10), rgba(18,27,46,0.9) 55%);
	border: 1px solid rgba(240,138,99,0.35);
	box-shadow: var(--cm-shadow);
	margin-bottom: 1rem !important;
}
.cm-claim-box .cm-eyebrow { color: var(--wp--preset--color--verdict); }
.cm-claim-box .cm-claim-text {
	font-family: var(--wp--preset--font-family--cormorant);
	font-size: clamp(1.45rem, 2.6vw, 1.95rem); line-height: 1.3;
	color: var(--wp--preset--color--heading); margin: 0.4rem 0 0 !important;
}
.cm-claim-box .cm-claim-text strong { font-family: var(--wp--preset--font-family--cinzel); font-size: 0.75em; letter-spacing: 0.1em; color: var(--wp--preset--color--verdict); font-weight: 600; }
.cm-verdict {
	display: flex !important; flex-wrap: wrap; align-items: center; gap: 1rem 1.4rem;
	padding: 1.2rem 1.6rem !important;
	border-radius: var(--cm-r);
	background: var(--wp--preset--color--surface);
	border: 1px solid rgba(201,164,92,0.18);
	margin-bottom: 2.2rem !important;
}
.cm-verdict .cm-stamp { margin: 0 !important; flex: 0 0 auto; }
.cm-verdict .cm-verdict-text { flex: 1 1 300px; margin: 0 !important; color: var(--wp--preset--color--text); font-size: 1.05rem; line-height: 1.6; }
.cm-verdict .cm-verdict-text strong { color: var(--wp--preset--color--gold); letter-spacing: 0.06em; }

.cm-claim-article h2, .cm-claim-article h3 {
	clear: both;
	margin-top: 2.4rem !important;
	padding-top: 1.2rem;
	border-top: 1px solid var(--wp--preset--color--line);
	font-size: clamp(1.5rem, 2.4vw, 1.9rem);
	text-transform: none;
}
.cm-claim-article h2::first-letter, .cm-claim-article h3::first-letter { text-transform: uppercase; }
.cm-claim-article p { font-size: 1.06rem; line-height: 1.85; color: var(--wp--preset--color--text-soft); }

/* Images flow inside the text, alternating sides */
.cm-claim-article .wp-block-image.cm-figure { width: 42%; max-width: 360px; margin-top: 0.4rem !important; margin-bottom: 1.1rem !important; }
.cm-claim-article .wp-block-image.cm-figure.alignright { float: right; margin-left: 1.6rem !important; margin-right: 0 !important; }
.cm-claim-article .wp-block-image.cm-figure.alignleft { float: left; margin-right: 1.6rem !important; margin-left: 0 !important; }
.cm-claim-article .wp-block-image.cm-figure img { width: 100% !important; height: auto !important; border-radius: var(--cm-r-sm); box-shadow: 0 16px 34px -18px rgba(0,0,0,0.9); }
.cm-claim-article .wp-block-image.cm-figure figcaption { text-align: left; margin-top: 0.5rem; }
.cm-claim-article .wp-block-embed { clear: both; margin-block: 1.8rem; }
@media (max-width: 700px) {
	.cm-claim-article .wp-block-image.cm-figure.alignright,
	.cm-claim-article .wp-block-image.cm-figure.alignleft { float: none; width: 100%; max-width: none; margin: 1rem 0 !important; }
}

/* Sources box */
.cm-sources {
	clear: both;
	margin-top: 2.6rem !important;
	padding: 1.2rem 1.5rem !important;
	border-radius: var(--cm-r);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
}
.cm-sources p { font-size: 0.85rem !important; line-height: 1.7 !important; color: var(--wp--preset--color--muted) !important; overflow-wrap: anywhere; }
.cm-sources a { color: var(--wp--preset--color--gold-light); }
/* Book grid inside claim articles: full article width, never floated */
.cm-claim-article .cm-book-grid { clear: both; }
.cm-claim-article .cm-book-grid .cm-book { float: none !important; width: auto !important; max-width: none !important; }
/* Centred figures in claim articles (used when there is not enough text to wrap around a floated image) */
.cm-claim-article .wp-block-image.cm-figure--center { clear: both; float: none !important; width: min(100%, 560px) !important; max-width: 560px !important; margin: 1.6rem auto !important; }
.cm-claim-article .wp-block-image.cm-figure--center figcaption { text-align: center; }
/* Centred claim figures: same moderate size as floated ones — never huge */
.cm-claim-article .wp-block-image.cm-figure--center { width: auto !important; max-width: min(100%, 380px) !important; }
.cm-claim-article .wp-block-image.cm-figure--center img { width: auto !important; max-width: 100% !important; max-height: 420px !important; margin: 0 auto; display: block; }
.cm-claim-article .wp-block-image.cm-figure img { max-height: 460px; object-fit: contain; }

/* Video that cannot be embedded: tidy link instead of an empty box */
.cm-video-link { clear: both; display: flex; flex-direction: column; gap: 0.35rem; margin: 1.4rem 0 !important; padding: 1rem 1.25rem; border-radius: var(--cm-r); background: var(--wp--preset--color--surface); border: 1px solid rgba(201,164,92,0.18); }
.cm-video-link a { text-decoration: none; font-weight: 600; color: var(--wp--preset--color--gold-light); }
.cm-play { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; margin-right: 0.5rem; border-radius: 50%; background: var(--wp--preset--color--gold); color: var(--wp--preset--color--ink); font-size: 0.8rem; }
.cm-video-cap { font-size: 0.85rem; color: var(--wp--preset--color--muted); }

/* Consecutive centred figures in claim articles: side by side */
.cm-claim-article .cm-figure-row { clear: both; gap: 1.25rem !important; margin: 1.6rem 0 !important; align-items: flex-start; }
.cm-claim-article .cm-figure-row > .wp-block-image.cm-figure--center { flex: 1 1 240px; max-width: 300px !important; margin: 0 !important; }
.cm-claim-article .cm-figure-row > .wp-block-image.cm-figure--center img { max-height: 320px !important; }

/* Claim captions: readable normal text (long captions were tiny capitals) */
.cm-claim-article figcaption, .cm-claim-article .wp-element-caption {
	font-family: var(--wp--preset--font-family--source-sans) !important;
	text-transform: none !important; letter-spacing: 0 !important;
	font-size: 0.86rem !important; line-height: 1.5 !important;
	color: var(--wp--preset--color--muted) !important;
}

/* ---------- Regalia suppliers: country headings + even supplier cards ---------- */
.cm-supplier-head { gap: 0.9rem !important; margin-block: 2.6rem 1rem !important; }
.cm-supplier-head h2, h2.cm-supplier-country { margin: 0 !important; }
h2.cm-supplier-country { margin-block: 2.6rem 1rem !important; }
.cm-supplier-head h2.cm-supplier-country { margin: 0 !important; }
.wp-block-image.cm-made-in { margin: 0 !important; flex: 0 0 auto; }
.wp-block-image.cm-made-in img { width: 52px !important; height: 52px !important; object-fit: contain; border-radius: 0 !important; }
.cm-supplier-grid { gap: 1rem !important; }
.cm-supplier {
	display: flex; flex-direction: column; align-items: center; text-align: center;
	margin: 0 !important; padding: 1rem 1rem 1.2rem;
	background: linear-gradient(180deg, rgba(26,38,62,0.9), rgba(18,27,46,0.9));
	border: 1px solid rgba(201,164,92,0.14);
	border-radius: var(--cm-r);
	box-shadow: var(--cm-shadow);
	transition: transform 0.35s ease, border-color 0.35s ease;
}
.cm-supplier:hover { transform: translateY(-4px); border-color: var(--wp--preset--color--gold); }
.cm-supplier > * { margin-block: 0 !important; }
.wp-block-image.cm-supplier-logo { width: 100%; margin: 0 0 0.9rem !important; }
.cm-supplier-logo a, .cm-supplier-logo > img { display: flex; align-items: center; justify-content: center; }
.cm-supplier-logo a, .wp-block-image.cm-supplier-logo:not(:has(a)) {
	height: 120px; padding: 0.8rem; box-sizing: border-box;
	background: #F6F2E8; border-radius: var(--cm-r-sm);
	display: flex; align-items: center; justify-content: center;
}
.cm-supplier-logo img { max-width: 100% !important; max-height: 100% !important; width: auto !important; height: auto !important; object-fit: contain; border-radius: 6px !important; }
.cm-supplier h3 { font-size: 1.05rem !important; line-height: 1.3; margin-bottom: 0.3rem !important; }
.cm-supplier-role, .cm-supplier-offline { font-size: 0.85rem; color: var(--wp--preset--color--text-soft); margin-bottom: 0.9rem !important; }
.cm-supplier-offline { margin: auto 0 0 !important; font-style: italic; color: var(--wp--preset--color--muted); }
.cm-supplier .wp-block-buttons { margin-top: auto !important; justify-content: center; }
.cm-supplier .wp-block-button__link { font-size: 0.82rem; padding: 0.45rem 1rem; overflow-wrap: anywhere; }
.cm-supplier-logo--dark a, .wp-block-image.cm-supplier-logo--dark:not(:has(a)) { background: #141C2C; }
.cm-supplier-logo--emblem img { height: 88px !important; width: 88px !important; }
