/* Centaora Brand Kit v1.0.0: block styles and patterns. Loaded on the site and inside the block editor. */
:root {
	--cbk-navy: #082452;
	--cbk-deep-navy: #021735;
	--cbk-teal: #10AFC2;
	--cbk-ocean: #075D78;
	--cbk-gold: #D9A53A;
	--cbk-gold-deep: #B9852C;
	--cbk-ivory: #FFF9ED;
	--cbk-soft: #EEF4F7;
	--cbk-ink: #13213A;
	--cbk-muted: #627087;
	--cbk-line: #D5DFE8;
	--cbk-display: "Montserrat", "Avenir Next", "Segoe UI", system-ui, sans-serif;
	--cbk-sans: "Source Sans 3", "Segoe UI", system-ui, sans-serif;
	--cbk-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
}

/* ---------- Containers ---------- */
.wp-block-group[class*="is-style-cbk-"] {
	box-sizing: border-box;
	margin-top: 32px;
	margin-bottom: 32px;
}
.wp-block-group[class*="is-style-cbk-"] > :first-child { margin-top: 0; }
.wp-block-group[class*="is-style-cbk-"] > :last-child { margin-bottom: 0; }

.wp-block-group.is-style-cbk-card {
	background: var(--cbk-soft);
	color: var(--cbk-ink);
	border-radius: 16px;
	padding: 28px 32px;
}
.wp-block-group.is-style-cbk-ivory {
	background: var(--cbk-ivory);
	color: var(--cbk-ink);
	border: 1px solid #EFE3C8;
	border-radius: 16px;
	padding: 32px;
}
.wp-block-group.is-style-cbk-note {
	background: var(--cbk-ivory);
	color: var(--cbk-ink);
	border-top: 4px solid var(--cbk-gold);
	border-radius: 4px 4px 12px 12px;
	padding: 24px 28px;
}
.wp-block-group.is-style-cbk-band {
	background: var(--cbk-deep-navy);
	color: #FFFFFF;
	border-radius: 16px;
	padding: 40px;
}
.wp-block-group.is-style-cbk-card a,
.wp-block-group.is-style-cbk-ivory a,
.wp-block-group.is-style-cbk-note a { color: var(--cbk-ocean); text-decoration: underline; }
.wp-block-group.is-style-cbk-band p,
.wp-block-group.is-style-cbk-band li { color: #FFFFFF; }
.wp-block-group.is-style-cbk-band h1,
.wp-block-group.is-style-cbk-band h2,
.wp-block-group.is-style-cbk-band h3,
.wp-block-group.is-style-cbk-band h4 { color: var(--cbk-gold); }
.wp-block-group.is-style-cbk-band a:not(.wp-block-button__link) { color: var(--cbk-teal); text-decoration: underline; }

.wp-block-group[class*="is-style-cbk-"] h2,
.wp-block-group[class*="is-style-cbk-"] h3,
.wp-block-group[class*="is-style-cbk-"] h4 {
	font-family: var(--cbk-display);
	font-weight: 700;
	line-height: 1.25;
	margin-top: 0;
}
.wp-block-group.is-style-cbk-card h2,
.wp-block-group.is-style-cbk-card h3,
.wp-block-group.is-style-cbk-ivory h2,
.wp-block-group.is-style-cbk-ivory h3,
.wp-block-group.is-style-cbk-note h2,
.wp-block-group.is-style-cbk-note h3 { color: var(--cbk-navy); }

.wp-block-column > .wp-block-group.is-style-cbk-card,
.wp-block-column > .wp-block-group.is-style-cbk-ivory { height: 100%; margin-top: 0; margin-bottom: 0; }

@media (max-width: 600px) {
	.wp-block-group.is-style-cbk-card,
	.wp-block-group.is-style-cbk-ivory,
	.wp-block-group.is-style-cbk-note { padding: 22px 20px; }
	.wp-block-group.is-style-cbk-band { padding: 28px 22px; }
}

/* ---------- Text ---------- */
p.is-style-cbk-eyebrow,
.wp-block-heading.is-style-cbk-eyebrow {
	font-family: var(--cbk-display);
	font-size: 16px;
	line-height: 1.4;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--cbk-ocean);
	margin-bottom: 8px;
}
.wp-block-group.is-style-cbk-band p.is-style-cbk-eyebrow,
.wp-block-group.is-style-cbk-band .wp-block-heading.is-style-cbk-eyebrow { color: var(--cbk-teal); }

p.is-style-cbk-lead {
	font-size: 21px;
	line-height: 1.55;
	color: var(--cbk-ink);
}
.wp-block-group.is-style-cbk-band p.is-style-cbk-lead { color: #FFFFFF; }

p.cbk-stat {
	font-family: var(--cbk-display);
	font-size: 44px;
	line-height: 1.05;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--cbk-navy);
	margin: 0 0 8px;
}
.wp-block-group.is-style-cbk-band p.cbk-stat { color: var(--cbk-gold); }

/* ---------- Lists ---------- */
.wp-block-list.is-style-cbk-checks,
.wp-block-list.is-style-cbk-steps {
	list-style: none;
	padding-left: 0;
	margin-left: 0;
}
.wp-block-list.is-style-cbk-checks > li {
	position: relative;
	padding-left: 34px;
	margin: 0 0 12px;
}
.wp-block-list.is-style-cbk-checks > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.3em;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--cbk-ocean);
}
.wp-block-list.is-style-cbk-checks > li::after {
	content: "";
	position: absolute;
	left: 7px;
	top: calc(0.3em + 4px);
	width: 5px;
	height: 10px;
	border: solid #FFFFFF;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.wp-block-group.is-style-cbk-band .wp-block-list.is-style-cbk-checks > li::before { background: var(--cbk-teal); }
.wp-block-group.is-style-cbk-band .wp-block-list.is-style-cbk-checks > li::after { border-color: var(--cbk-deep-navy); }

.wp-block-list.is-style-cbk-steps { counter-reset: cbk-step; }
.wp-block-list.is-style-cbk-steps > li {
	counter-increment: cbk-step;
	position: relative;
	padding-left: 48px;
	margin: 0 0 20px;
	min-height: 32px;
}
.wp-block-list.is-style-cbk-steps > li::before {
	content: counter(cbk-step);
	position: absolute;
	left: 0;
	top: 0;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--cbk-navy);
	color: #FFFFFF;
	font-family: var(--cbk-display);
	font-weight: 700;
	font-size: 16px;
	line-height: 32px;
	text-align: center;
}
.wp-block-group.is-style-cbk-band .wp-block-list.is-style-cbk-steps > li::before { background: var(--cbk-gold); color: var(--cbk-deep-navy); }

/* ---------- Quote ---------- */
.wp-block-quote.is-style-cbk-quote {
	position: relative;
	border: 0;
	margin: 48px 0;
	padding: 40px 0 0;
	background: none;
}
.wp-block-quote.is-style-cbk-quote::before {
	content: "\201C";
	position: absolute;
	top: -12px;
	left: -4px;
	font-family: var(--cbk-serif);
	font-size: 80px;
	line-height: 1;
	color: var(--cbk-gold);
}
.wp-block-quote.is-style-cbk-quote p {
	font-family: var(--cbk-serif);
	font-style: italic;
	font-size: 26px;
	line-height: 1.4;
	color: var(--cbk-navy);
	margin: 0 0 16px;
}
.wp-block-quote.is-style-cbk-quote cite {
	display: block;
	font-family: var(--cbk-display);
	font-style: normal;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--cbk-muted);
}

/* ---------- Buttons ---------- */
.wp-block-button[class*="is-style-cbk-"] .wp-block-button__link {
	display: inline-block;
	font-family: var(--cbk-display);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.01em;
	text-decoration: none;
	border-radius: 10px;
	padding: 13px 26px;
	border: 2px solid transparent;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.wp-block-button.is-style-cbk-gold .wp-block-button__link { background: var(--cbk-gold); color: var(--cbk-deep-navy); }
.wp-block-button.is-style-cbk-gold .wp-block-button__link:hover { background: var(--cbk-gold-deep); color: var(--cbk-deep-navy); }
.wp-block-button.is-style-cbk-navy .wp-block-button__link { background: var(--cbk-navy); color: #FFFFFF; }
.wp-block-button.is-style-cbk-navy .wp-block-button__link:hover { background: var(--cbk-deep-navy); color: #FFFFFF; }
.wp-block-button.is-style-cbk-outline .wp-block-button__link { background: transparent; color: var(--cbk-ocean); border-color: var(--cbk-ocean); }
.wp-block-button.is-style-cbk-outline .wp-block-button__link:hover { background: var(--cbk-ocean); color: #FFFFFF; }
.wp-block-group.is-style-cbk-band .wp-block-button.is-style-cbk-outline .wp-block-button__link { color: var(--cbk-teal); border-color: var(--cbk-teal); }
.wp-block-group.is-style-cbk-band .wp-block-button.is-style-cbk-outline .wp-block-button__link:hover { background: var(--cbk-teal); color: var(--cbk-deep-navy); }
.wp-block-button[class*="is-style-cbk-"] .wp-block-button__link:focus-visible { outline: 2px solid var(--cbk-ocean); outline-offset: 2px; }
.wp-block-group.is-style-cbk-band .wp-block-button[class*="is-style-cbk-"] .wp-block-button__link:focus-visible { outline-color: var(--cbk-gold); }

/* ---------- Separator ---------- */
.wp-block-separator.is-style-cbk-rule {
	border: 0;
	height: 3px;
	width: 64px;
	max-width: 64px;
	background: var(--cbk-teal);
	opacity: 1;
	margin: 40px 0 24px;
	margin-left: 0;
}

/* ---------- Table ---------- */
.wp-block-table.is-style-cbk-table table { border-collapse: collapse; width: 100%; font-size: 16px; }
.wp-block-table.is-style-cbk-table th,
.wp-block-table.is-style-cbk-table td { padding: 12px 16px; border: 0; border-bottom: 1px solid var(--cbk-line); text-align: left; vertical-align: top; }
.wp-block-table.is-style-cbk-table thead th,
.wp-block-table.is-style-cbk-table thead td { background: var(--cbk-navy); color: #FFFFFF; font-family: var(--cbk-display); font-weight: 700; border-bottom: 0; }
.wp-block-table.is-style-cbk-table tbody tr:nth-child(even) { background: var(--cbk-soft); }
.wp-block-table.is-style-cbk-table figcaption { font-size: 16px; color: var(--cbk-muted); }

/* ---------- Image ---------- */
.wp-block-image.is-style-cbk-rounded img { border-radius: 16px; }
.wp-block-image.is-style-cbk-rounded figcaption { font-size: 16px; color: var(--cbk-muted); }

/* ---------- FAQ (details) ---------- */
.wp-block-details.is-style-cbk-faq {
	border-bottom: 1px solid var(--cbk-line);
	padding: 18px 0;
	margin: 0;
}
.wp-block-details.is-style-cbk-faq summary {
	list-style: none;
	cursor: pointer;
	position: relative;
	padding-right: 36px;
	font-family: var(--cbk-display);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--cbk-navy);
}
.wp-block-details.is-style-cbk-faq summary::-webkit-details-marker { display: none; }
.wp-block-details.is-style-cbk-faq summary::after {
	content: "+";
	position: absolute;
	right: 4px;
	top: -2px;
	font-size: 24px;
	font-weight: 400;
	color: var(--cbk-ocean);
}
.wp-block-details.is-style-cbk-faq[open] summary::after { content: "\2212"; }
.wp-block-details.is-style-cbk-faq > :not(summary) { margin-top: 12px; }
