/*
Theme Name: Key Compliance
Theme URI: https://keycompliancegroup.com
Author: Key Compliance Group, LLC
Description: Custom block theme for Key Compliance Group. Logo navy with gold accents and PT Serif to match the logo lettering. Built so articles, tools, the FAQ, and program kits are easy to find. Edit everything in Pages, Posts, and Appearance, Editor.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Version: 2.6.5
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: key-compliance
*/

/* Basics */
:root { --kcg-radius: 4px; --kcg-line: var(--wp--preset--color--line); }
body { -webkit-font-smoothing: antialiased; }
.wp-site-blocks { overflow-x: clip; }
.wp-site-blocks > *, .kcg-main > *, .kcg-landing > *, .kcg-main > .wp-block-post-content { margin-block: 0; }
.kcg-section > :first-child { margin-top: 0; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
main p a:not(.wp-element-button), .wp-block-post-content a:not(.wp-element-button) { text-decoration-color: var(--wp--preset--color--accent-light); text-underline-offset: 4px; }
::selection { background: #DCDAEB; color: var(--wp--preset--color--ink); }
html { caret-color: var(--wp--preset--color--navy); accent-color: var(--wp--preset--color--navy); scrollbar-color: #B9B6D3 var(--wp--preset--color--ground); }
:focus-visible { outline: 2px solid var(--wp--preset--color--navy); outline-offset: 3px; }
:where(.kcg-navy, .kcg-footer, .kcg-card.is-featured) :focus-visible { outline-color: var(--wp--preset--color--accent-light); }

/* Header */
.kcg-header { background: var(--wp--preset--color--white); border-bottom: 1px solid var(--kcg-line); }
.kcg-header__inner { padding-top: 16px; padding-bottom: 16px; gap: 16px 28px !important; }
.kcg-logo { display: block; line-height: 0; flex: none; }
.kcg-logo img { display: block; height: 48px; width: auto; }
.kcg-header .wp-block-navigation a { text-decoration: none; }
.kcg-header .wp-block-navigation a:hover, .kcg-header .wp-block-navigation .current-menu-item > a { color: var(--wp--preset--color--navy); text-decoration: underline; text-decoration-color: var(--wp--preset--color--accent-light); text-decoration-thickness: 2px; text-underline-offset: 8px; }
.kcg-header .wp-block-search__button { background: transparent; color: var(--wp--preset--color--navy); padding: 8px; border: 0; margin: 0; }
.kcg-header .wp-block-search__button svg { width: 22px; height: 22px; fill: currentColor; }
.kcg-header .wp-block-button__link { padding: 0.7rem 1.1rem; font-size: 0.9375rem; }
@media (max-width: 600px) {
	.kcg-logo img { height: 32px; }
	.kcg-header .kcg-header-cta { display: none; }
	.kcg-header__inner { gap: 12px !important; }
	.kcg-header__inner > .wp-block-group { gap: 4px !important; flex-shrink: 0; align-items: center; }
	.kcg-header .wp-block-search, .kcg-header .wp-block-search__inside-wrapper { display: flex; align-items: center; margin: 0; }
	.kcg-header .wp-block-search__button { padding: 6px; }
}
@media (max-width: 380px) { .kcg-logo img { height: 27px; } }

/* Footer */
.kcg-footer { background: var(--wp--preset--color--navy); color: var(--wp--preset--color--mist); border-top: 4px solid var(--wp--preset--color--accent-light); font-size: var(--wp--preset--font-size--small); }
.kcg-footer a { color: var(--wp--preset--color--white); text-decoration: none; }
.kcg-footer a:hover { text-decoration: underline; text-decoration-color: var(--wp--preset--color--accent-light); }
.kcg-footer p { margin: 0; color: var(--wp--preset--color--mist); }
.kcg-footer h2 { color: var(--wp--preset--color--gold-light); font-family: var(--wp--preset--font-family--sans); font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; margin: 0 0 0.5rem; }
.kcg-footer .wp-block-navigation { font-size: var(--wp--preset--font-size--small); }
.kcg-logo-footer { display: inline-block; line-height: 0; }
.kcg-logo-footer img { display: block; width: 200px; height: auto; }
.kcg-footer-bottom { border-top: 1px solid var(--wp--preset--color--navy-light); padding-top: 1.25rem; margin-top: 2.5rem !important; }

/* Sections */
.kcg-section { padding-top: var(--wp--preset--spacing--80); padding-bottom: var(--wp--preset--spacing--80); }
.kcg-section.is-tight { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); }
.kcg-gray { background: var(--wp--preset--color--ground); }
.kcg-white { background: var(--wp--preset--color--white); }
.kcg-ruled-top { border-top: 1px solid var(--kcg-line); }
.kcg-ruled-y { border-top: 1px solid var(--kcg-line); border-bottom: 1px solid var(--kcg-line); }
.kcg-navy { background: var(--wp--preset--color--navy); color: var(--wp--preset--color--white); }
.kcg-navy :where(h1, h2, h3) { color: var(--wp--preset--color--white); }
.kcg-navy p { color: var(--wp--preset--color--mist); }
.kcg-lead { font-size: var(--wp--preset--font-size--medium); color: #3D3B57; max-width: 640px; }
.is-layout-constrained > .kcg-lead { margin-left: max(0px, calc((100% - var(--wp--style--global--content-size)) / 2)) !important; margin-right: auto !important; }
.kcg-muted { color: var(--wp--preset--color--muted); }
.kcg-head-row { align-items: flex-end !important; gap: 1rem 3rem !important; }
.kcg-head-row > * { margin: 0 !important; }
.kcg-head-row > p { max-width: 560px; }
.kcg-link a, a.kcg-link { font-weight: 600; text-decoration: underline; text-decoration-color: var(--wp--preset--color--accent-light); text-underline-offset: 5px; }

/* Buttons */
.wp-block-button.is-style-outline .wp-block-button__link { background: var(--wp--preset--color--white); color: var(--wp--preset--color--navy); border: 1px solid var(--wp--preset--color--navy); padding: calc(0.875rem - 1px) calc(1.5rem - 1px); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--tag); color: var(--wp--preset--color--navy); }
.kcg-btn-light .wp-block-button__link { background: var(--wp--preset--color--white); color: var(--wp--preset--color--navy); }
.kcg-btn-light .wp-block-button__link:hover { background: var(--wp--preset--color--tag); color: var(--wp--preset--color--navy); }
.kcg-btn-small .wp-block-button__link { padding: 0.6rem 0.9rem; font-size: 0.9375rem; }

/* Hero */
.kcg-hero { padding-top: var(--wp--preset--spacing--70); padding-bottom: 0; }
.kcg-hero > .wp-block-columns { align-items: center; gap: 3.5rem; }
.kcg-hero h1 { color: var(--wp--preset--color--navy); }
.kcg-contact-card { background: var(--wp--preset--color--white); border: 1px solid #D9D7E6; border-radius: var(--kcg-radius); padding: clamp(1.5rem, 3vw, 2rem); box-shadow: 0 24px 48px -32px rgba(41, 35, 92, 0.45); }
.kcg-contact-card > * { margin-block: 0 !important; }
.kcg-contact-card > * + * { margin-top: 0.875rem !important; }
.kcg-contact-card h2 { font-size: 1.625rem; }
.kcg-contact-card .wp-block-button, .kcg-contact-card .wp-block-button__link { width: 100%; text-align: center; }
.kcg-small { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }

/* Key divider and credentials: echo the rules in the logo */
.kcg-divider { display: flex; align-items: center; gap: 1.75rem; margin-top: var(--wp--preset--spacing--70); }
.kcg-divider span { flex: 1 1 auto; height: 2px; background: var(--wp--preset--color--accent-light); }
.kcg-divider img { height: 40px; width: auto; display: block; flex: none; }
.kcg-creds { text-align: center; padding-top: 1.75rem; padding-bottom: 3.5rem; }
.kcg-creds > .wp-block-columns { gap: 1.5rem 2rem; }
.kcg-creds h3 { font-size: 1.25rem; letter-spacing: 0.12em; text-transform: uppercase; margin: 0 0 0.25rem; }
.kcg-creds p { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); margin: 0; }

/* Resources hub */
.kcg-resources { border-top: 2px solid var(--wp--preset--color--navy); gap: 0 !important; margin-top: 2rem !important; }
.kcg-resources > .wp-block-column { border-bottom: 1px solid var(--kcg-line); padding: 1.5rem 1.5rem 1.75rem 0; }
.kcg-resources > .wp-block-column > * { margin-block: 0 !important; }
.kcg-resources > .wp-block-column > * + * { margin-top: 0.5rem !important; }
.kcg-resources h3 { font-size: 1.4375rem; }
.kcg-resources h3 a { text-decoration: none; color: var(--wp--preset--color--navy); }
.kcg-resources h3 a:hover { text-decoration: underline; text-decoration-color: var(--wp--preset--color--accent-light); }
.kcg-count { font-size: 0.8125rem !important; font-weight: 600; letter-spacing: 0.06em; color: var(--wp--preset--color--accent); }
.kcg-site-search { flex: 0 1 440px; min-width: 0; }
.wp-block-search__input { border: 1px solid #CFCDDC; border-radius: var(--kcg-radius); padding: 0.75rem 0.875rem; font: inherit; }
.wp-block-search__label { font-size: 0.875rem; font-weight: 500; }
.wp-block-search__button { margin-left: 0.5rem; }

/* Services letter board */
.kcg-board { border: 10px solid var(--wp--preset--color--ink); border-radius: var(--kcg-radius); background: repeating-linear-gradient(180deg, var(--wp--preset--color--navy) 0 34px, #221D4E 34px 36px); padding: 1rem 1.5rem 1.5rem; margin: 0; }
.kcg-board table { border-collapse: collapse; width: 100%; color: var(--wp--preset--color--white); font-size: clamp(0.8125rem, 1.2vw, 1rem); font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; table-layout: auto; }
.kcg-board th { color: var(--wp--preset--color--mist); font-size: 0.75rem; letter-spacing: 0.2em; font-weight: 500; text-align: left; border: 0; padding: 0.25rem 0; }
.kcg-board td { border: 0; border-bottom: 2px dotted rgba(215, 200, 170, 0.35); padding: 0.375rem 0; line-height: 1.6; }
.kcg-board td:last-child, .kcg-board th:last-child { text-align: right; color: var(--wp--preset--color--gold-light); padding-left: 1rem; white-space: nowrap; }

/* Cards and kits */
.wp-block-columns.kcg-cards { gap: 1.25rem; }
.wp-block-columns.kcg-cards > .wp-block-column { display: flex; }
.kcg-card { background: var(--wp--preset--color--white); border: 1px solid var(--kcg-line); border-radius: var(--kcg-radius); padding: clamp(1.5rem, 3vw, 1.875rem); width: 100%; box-sizing: border-box; display: flex; flex-direction: column; }
.kcg-card > * { margin-block: 0 !important; }
.kcg-card > * + * { margin-top: 0.875rem !important; }
.kcg-card .wp-block-buttons { margin-top: auto !important; padding-top: 1rem; }
.kcg-card .wp-block-button, .kcg-card .wp-block-button__link { width: 100%; text-align: center; }
.kcg-card.is-featured { background: var(--wp--preset--color--navy); border-color: var(--wp--preset--color--navy); color: var(--wp--preset--color--white); }
.kcg-card.is-featured :where(h2, h3) { color: var(--wp--preset--color--white); }
.kcg-card.is-featured p { color: var(--wp--preset--color--mist); }
.kcg-flag { font-size: 0.75rem !important; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--wp--preset--color--accent) !important; }
.kcg-card.is-featured .kcg-flag { color: var(--wp--preset--color--gold-light) !important; }
.kcg-price { font-family: var(--wp--preset--font-family--serif); font-weight: 700; font-size: 2rem; line-height: 1.1; color: inherit; }
.kcg-card.is-featured .kcg-price { color: var(--wp--preset--color--white) !important; }
.kcg-price-note { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.kcg-checks { list-style: none; padding: 1.125rem 0 0 !important; border-top: 1px solid var(--kcg-line); }
.kcg-card.is-featured .kcg-checks { border-top-color: var(--wp--preset--color--navy-light); }
.kcg-checks li { position: relative; padding-left: 1.75rem; margin: 0 0 0.625rem; font-size: 0.9375rem; }
.kcg-checks li::before { content: ""; position: absolute; left: 0; top: 0.3em; width: 1.05rem; height: 1.05rem; background: var(--wp--preset--color--accent); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / contain no-repeat; }
.kcg-card.is-featured .kcg-checks li::before { background: var(--wp--preset--color--accent-light); }

/* Tool rows */
.kcg-tool-list { border-top: 1px solid var(--kcg-line); }
.kcg-tool-list > * { margin-block: 0 !important; }
.kcg-tool-row { border-bottom: 1px solid var(--kcg-line); padding: 1.125rem 0; flex-wrap: wrap; gap: 0.75rem 1.25rem !important; }
.kcg-tool-row > .wp-block-group { flex: 1 1 260px; min-width: 0; }
.kcg-tool-row > .wp-block-group > * { margin: 0 !important; }
.kcg-tool-name { font-weight: 600; }
.kcg-tool-meta { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.kcg-fmt { font-size: 0.75rem !important; font-weight: 600; letter-spacing: 0.1em; color: var(--wp--preset--color--navy); background: var(--wp--preset--color--tag); padding: 4px 8px; border-radius: 3px; min-width: 3.25rem; text-align: center; margin: 0 !important; }
.kcg-tools-box { background: var(--wp--preset--color--white); border: 1px solid var(--kcg-line); border-radius: var(--kcg-radius); padding: 0.25rem clamp(1rem, 3vw, 1.75rem); margin-top: 0.875rem !important; }
.kcg-tools-box .kcg-tool-list { border-top: 0; }
.kcg-tools-box .kcg-tool-row:last-child { border-bottom: 0; }
.kcg-tools-box + .wp-block-heading { margin-top: 3rem !important; }
@media (max-width: 600px) {
	.kcg-tool-row { display: grid !important; grid-template-columns: auto 1fr; align-items: start; gap: 0.5rem 0.875rem !important; }
	.kcg-tool-row > .wp-block-buttons { grid-column: 2; }
}

/* Pills: categories and jump links */
.kcg-pills, ul.wp-block-categories.kcg-pills { display: flex; flex-wrap: wrap; gap: 0.625rem; list-style: none; padding: 0; margin: 1.5rem 0 0; }
.kcg-pills li { margin: 0; }
.kcg-pills a, .kcg-pills .wp-block-button__link { display: inline-flex; align-items: center; min-height: 44px; box-sizing: border-box; padding: 0.5rem 1rem !important; border: 1px solid #CFCDDC; border-radius: 999px !important; background: var(--wp--preset--color--white) !important; color: var(--wp--preset--color--navy) !important; text-decoration: none; font-size: 0.875rem; font-weight: 500; }
.kcg-pills a:hover, .kcg-pills .current-cat a { background: var(--wp--preset--color--navy) !important; color: var(--wp--preset--color--white) !important; border-color: var(--wp--preset--color--navy); }

/* Article cards */
.kcg-post-card { --kcg-pad: clamp(1.25rem, 3vw, 1.5rem); padding: 0 0 var(--kcg-pad); overflow: hidden; }
.kcg-post-card > *:not(.kcg-post-thumb) { padding-inline: var(--kcg-pad); }
.kcg-post-card .kcg-post-thumb { margin: 0 0 0.25rem !important; }
.kcg-post-card .kcg-post-thumb img { display: block; width: 100%; transition: transform .5s cubic-bezier(.16, 1, .3, 1); }
.kcg-post-card:hover .kcg-post-thumb img { transform: scale(1.02); }
.kcg-post-card .kcg-meta { justify-content: space-between; font-size: 0.8125rem; font-weight: 600; }
.kcg-post-card .kcg-meta > * { margin: 0 !important; font-size: 0.8125rem !important; }
.kcg-post-card .wp-block-post-date { color: var(--wp--preset--color--muted); }
.kcg-post-card .wp-block-post-terms a { color: var(--wp--preset--color--accent); text-decoration: none; }
.kcg-post-card .wp-block-post-title { font-size: 1.3125rem; line-height: 1.3; }
.kcg-post-card .wp-block-post-title a:hover { text-decoration: underline; text-decoration-color: var(--wp--preset--color--accent-light); text-underline-offset: 4px; }
.kcg-post-card .wp-block-post-excerpt__more-text { display: none; }

.wp-block-query-pagination { margin-top: 2.5rem; font-weight: 500; }
.kcg-empty { background: var(--wp--preset--color--white); border: 1px dashed #CFCDDC; border-radius: var(--kcg-radius); padding: 2rem; color: var(--wp--preset--color--muted); }

/* Single article */
.kcg-byline { gap: 0.25rem 1rem !important; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.kcg-byline > * { margin: 0 !important; }
.kcg-byline .wp-block-post-terms a { font-weight: 600; text-decoration: none; color: var(--wp--preset--color--accent); }
.kcg-article .wp-block-post-content { font-size: 1.125rem; line-height: 1.75; }
.kcg-article .wp-block-post-content > * { max-width: 70ch; }
.kcg-article .wp-block-post-content :where(h2) { font-size: 1.875rem; margin-top: 2.5rem; }
.kcg-article .wp-block-post-featured-image img { border-radius: var(--kcg-radius); }
.kcg-article .kcg-card.is-featured { margin-top: 3rem !important; }
.kcg-article .kcg-card .wp-block-button, .kcg-article .kcg-card .wp-block-button__link { width: auto; }

/* Tables */
.kcg-table { background: var(--wp--preset--color--white); border: 1px solid var(--kcg-line); border-radius: var(--kcg-radius); overflow-x: auto; }
.kcg-table table { min-width: 720px; border-collapse: collapse; width: 100%; font-size: 0.9375rem; }
.kcg-table th, .kcg-table td { border: 0; border-top: 1px solid var(--kcg-line); padding: 0.875rem 1.25rem; text-align: center; }
.kcg-table thead th { border-top: 0; border-bottom: 2px solid var(--wp--preset--color--navy); background: var(--wp--preset--color--tag); font-weight: 600; }
.kcg-table th:first-child, .kcg-table td:first-child { text-align: left; }
.kcg-table td:nth-child(3) { background: #F7F5EF; }
.kcg-table tbody td:not(:first-child) { font-weight: 600; color: var(--wp--preset--color--navy); font-variant-numeric: tabular-nums; }

/* FAQ */
.kcg-faq { border-top: 2px solid var(--wp--preset--color--navy); }
.kcg-faq > * { margin-block: 0 !important; }
.kcg-faq .wp-block-details { border-bottom: 1px solid var(--kcg-line); padding: 1.25rem 0; }
.kcg-faq summary { cursor: pointer; font-weight: 600; font-size: 1.125rem; color: var(--wp--preset--color--navy); }
.kcg-faq summary:hover { text-decoration: underline; text-decoration-color: var(--wp--preset--color--accent-light); text-underline-offset: 5px; }
.kcg-faq .wp-block-details > :not(summary) { margin-top: 0.75rem; color: #3D3B57; max-width: 70ch; }
.kcg-faq-group-title { margin-top: var(--wp--preset--spacing--60) !important; }

/* About */
.kcg-photo img { border-radius: var(--kcg-radius); aspect-ratio: 1; object-fit: cover; }
.kcg-cases { border-top: 1px solid var(--kcg-line); }
.kcg-cases > * { margin-block: 0 !important; }
.kcg-case { border-bottom: 1px solid var(--kcg-line); padding: 1.5rem 0; gap: 2rem; margin: 0 !important; }
.kcg-case p { margin: 0 0 0.5rem; }
.kcg-case-result { font-family: var(--wp--preset--font-family--serif); font-style: italic; font-size: 1.1875rem; color: var(--wp--preset--color--accent); }

/* CTA band */
.kcg-band { border-radius: var(--kcg-radius); padding: clamp(1.75rem, 4vw, 3rem); }
.kcg-band > .wp-block-columns { align-items: center; gap: 2rem; }

@media (prefers-reduced-motion: no-preference) {
	.wp-element-button, .kcg-pills a { transition: background-color .2s cubic-bezier(.16, 1, .3, 1), color .2s cubic-bezier(.16, 1, .3, 1); }
}
@media (max-width: 781px) { .kcg-head-row { align-items: flex-start !important; } }

/* Services page and tool page extras */
.kcg-service-group + .kcg-service-group { margin-top: var(--wp--preset--spacing--70) !important; padding-top: var(--wp--preset--spacing--60); border-top: 1px solid var(--kcg-line); }
.kcg-service { padding: 1.25rem 0; border-bottom: 1px solid var(--kcg-line); }
.kcg-service > * { margin-block: 0 !important; }
.kcg-service > * + * { margin-top: 0.375rem !important; }
.kcg-service h3 { font-size: 1.25rem; }
.kcg-checklist p { margin: 0; display: flex; gap: 0.6rem; align-items: center; color: var(--wp--preset--color--muted); }
.kcg-checklist p::before { content: ""; flex: none; width: 1.1rem; height: 1.1rem; background: var(--wp--preset--color--accent); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / contain no-repeat; }
.kcg-table tbody td:not(:first-child) { font-weight: 500; }
.kcg-footer .wp-block-navigation__container { gap: 0.5rem; }

/* Product-first additions (v2.1) */
.kcg-hero-kit { box-shadow: 0 24px 48px -32px rgba(41, 35, 92, 0.6); }
.kcg-hero-kit h2 { font-size: 1.6875rem; }
.kcg-hero-kit .kcg-price { font-size: 2.25rem; }
.kcg-card.is-featured .kcg-price-note { color: var(--wp--preset--color--mist); }
.kcg-tool-price { font-family: var(--wp--preset--font-family--serif); font-weight: 700; color: var(--wp--preset--color--navy); min-width: 4rem; text-align: right; margin: 0 !important; }
.kcg-tool-price.is-free { color: var(--wp--preset--color--accent); }
.kcg-tool-price.is-kit { font-family: var(--wp--preset--font-family--sans); font-weight: 600; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--accent); max-width: 9rem; line-height: 1.3; }

/* Library catalog on the Program kits page */
.kcg-catalog .wp-block-details > ul { list-style: none; padding: 0; margin: 0.75rem 0 0; max-width: none !important; columns: 2 22rem; column-gap: 2.5rem; }
.kcg-catalog .wp-block-details li { break-inside: avoid; padding: 0.375rem 0; border-bottom: 1px solid var(--kcg-line); font-size: 0.9375rem; }
.kcg-catalog .kcg-ed { display: block; font-size: 0.8125rem; color: var(--wp--preset--color--muted); }
.kcg-catalog .kcg-core { color: var(--wp--preset--color--accent); font-weight: 600; }

/* Fintech and Bank editions */
.kcg-editions .wp-block-column { background: var(--wp--preset--color--white); border: 1px solid var(--kcg-line); border-radius: var(--kcg-radius); padding: clamp(1.25rem, 3vw, 1.75rem); }
.kcg-editions .wp-block-column > * { margin-top: 0; }
.kcg-editions .wp-block-column > * + * { margin-top: 0.75rem; }

/* Order page */
.kcg-order h1 { font-size: clamp(2rem, 4.2vw, 2.75rem); }
.kcg-order .kcg-price { margin-top: 0.5rem; }
.kcg-order-lead { font-size: var(--wp--preset--font-size--medium); }
.kcg-tool-row .kcg-btn-small .wp-block-button__link { min-width: 6rem; text-align: center; }
.kcg-btn-ghost .wp-block-button__link { background: transparent; color: var(--wp--preset--color--white); border: 1px solid rgba(255, 255, 255, 0.55); padding: calc(0.875rem - 1px) calc(1.5rem - 1px); }
.kcg-btn-ghost .wp-block-button__link:hover { background: rgba(255, 255, 255, 0.08); color: var(--wp--preset--color--white); border-color: var(--wp--preset--color--white); }
.kcg-tools-box + h2 { margin-top: 3rem !important; }
@media (max-width: 600px) {
	.kcg-tool-row { grid-template-columns: auto 1fr auto; }
	.kcg-tool-row > .wp-block-buttons { grid-column: 2 / 4; }
}

/* Terms of Use and Privacy Policy */
.kcg-legal h2 { font-size: var(--wp--preset--font-size--large); margin-top: 2.25rem; }

/* Mobile menu overlay */
.kcg-header .wp-block-navigation__responsive-container.is-menu-open { padding: 20px 24px 32px; }
.kcg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch; padding-top: 48px; }
.kcg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: stretch; gap: 0; width: 100%; }
.kcg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { border-bottom: 1px solid var(--kcg-line); width: 100%; }
.kcg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { display: block; padding: 14px 0; font-family: var(--wp--preset--font-family--serif); font-weight: 700; font-size: 1.375rem; color: var(--wp--preset--color--navy); }
.kcg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item, .kcg-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { justify-content: flex-start; text-align: left; align-items: flex-start; }

/* 2.5.0: post card titles are H2 for heading order; keep the H3 look. */
.kcg-post-card h2.wp-block-post-title { font-size: var(--wp--preset--font-size--large); font-weight: 700; line-height: 1.28; letter-spacing: 0; }

/* Checkout assurance (2.6.0) */
.kcg-assure { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2.25rem; margin-top: 2rem !important; padding: 1.25rem 0; border-top: 1px solid var(--kcg-line); border-bottom: 1px solid var(--kcg-line); }
.kcg-assure-badge { flex: none; line-height: 0; }
.kcg-assure-badge img { display: block; width: 150px; height: auto; }
.kcg-assure-list { flex: 1 1 520px; display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 0.875rem 1.75rem; list-style: none; margin: 0 !important; padding: 0 !important; }
.kcg-assure-list li { display: flex; gap: 0.625rem; align-items: flex-start; margin: 0; font-size: 0.875rem; line-height: 1.45; color: var(--wp--preset--color--muted); }
.kcg-assure-list svg { flex: none; width: 1.25rem; height: 1.25rem; margin-top: 0.1rem; color: var(--wp--preset--color--accent); }
.kcg-assure-list strong { display: block; color: var(--wp--preset--color--ink); font-weight: 600; }
.kcg-assure.is-tools { margin-top: 0 !important; margin-bottom: 2.5rem !important; }
.kcg-assure.is-edition { margin-top: 1.75rem !important; margin-bottom: 1.75rem !important; }
@media (max-width: 600px) { .kcg-assure { gap: 1rem; } .kcg-assure-list { grid-template-columns: 1fr; } }

/* Credential badges (2.6.2) */
.kcg-badges { display: flex; flex-wrap: wrap; gap: 1.5rem 2rem; margin-top: 1.75rem !important; padding-top: 1.5rem; border-top: 1px solid var(--kcg-line); }
.kcg-badge { display: flex; flex-direction: column; align-items: flex-start; gap: 0.25rem; text-decoration: none; font-size: 0.8125rem; font-weight: 500; color: var(--wp--preset--color--navy); }
.kcg-badge img { display: block; width: 150px; height: 150px; margin: -25px 0 -22px -10px; }
.kcg-badge:hover span { text-decoration: underline; text-decoration-color: var(--wp--preset--color--accent-light); text-underline-offset: 4px; }

/* 2.6.4: section intro notes sit under their heading instead of floating to the right */
.kcg-head-row:has(> p.kcg-muted, > p.kcg-lead) { flex-direction: column; align-items: flex-start !important; gap: 0.5rem !important; }
.kcg-head-row:has(> p.kcg-muted, > p.kcg-lead) > p { max-width: 880px; }
