/*
 * AKclaim design system, from the redesign prototype.
 *
 * Colours come from the Kadence global palette (set in functions.php),
 * so changing a colour in the Customizer updates everything here.
 *   palette1 actieblauw · palette2 hover · palette3 navy · palette4 tekst
 *   palette5 gedempt · palette7 rand · palette8 zacht · palette10 warm
 *
 * Component classes are prefixed "ak-" and are meant to be added via
 * "Additional CSS class(es)" on Kadence/core blocks.
 */

:root {
	--ak-radius: 14px;
	--ak-radius-sm: 10px;
	--ak-shadow: 0 10px 28px rgba(11, 47, 87, .08);
	--ak-shadow-sm: 0 4px 14px rgba(11, 47, 87, .04);
	--ak-max: 1180px;
}

/* ---------- Typography ---------- */

body {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 18px;
	line-height: 1.6;
	color: var(--global-palette4);
}

h1, h2, h3, h4, h5, h6,
.entry-title {
	font-family: Arial, Helvetica, sans-serif;
	color: var(--global-palette3);
	line-height: 1.15;
}

h1, .entry-hero h1, .entry-title {
	font-size: clamp(2.45rem, 5vw, 4.4rem);
	font-weight: 800;
	letter-spacing: -.035em;
}

h2 {
	font-size: clamp(2rem, 3vw, 2.65rem);
	font-weight: 800;
	letter-spacing: -.02em;
}

h3 {
	font-size: 1.35rem;
	font-weight: 800;
}

.entry-content a:not(.wp-block-button__link):not(.ak-link-card),
.widget a {
	color: var(--global-palette1);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.entry-content a:not(.wp-block-button__link):not(.ak-link-card):hover,
.widget a:hover {
	color: var(--global-palette2);
}

/* ---------- Accessibility ---------- */

:focus-visible {
	outline: 3px solid var(--global-palette12);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}

/* ---------- Buttons ---------- */

.button,
button.button,
.wp-block-button__link,
.wp-element-button,
.kb-button,
input[type="submit"] {
	border-radius: var(--ak-radius-sm);
	border: 2px solid var(--global-palette1);
	font-weight: 800;
	padding: .82rem 1.15rem;
}

.wp-block-button.is-style-outline .wp-block-button__link,
.ak-btn-secondary .wp-block-button__link,
.kb-button.ak-btn-secondary {
	background: var(--global-palette9);
	color: var(--global-palette1);
}

/* ---------- Wordmark ---------- */

.site-branding .site-title,
.ak-wordmark {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 2rem;
	font-weight: 800;
	letter-spacing: -.04em;
	line-height: 1;
	color: var(--global-palette3);
	white-space: nowrap;
}

.ak-wordmark-light {
	color: #2A7FEA;
	font-weight: 800;
}

.site-footer .ak-wordmark,
.site-footer .ak-wordmark-light {
	color: var(--global-palette9);
}

.site-footer .ak-wordmark-light {
	color: #9CC7FF;
}

/* ---------- Header ---------- */

#masthead .site-main-header-wrap .site-header-row-container-inner {
	background: rgba(255, 255, 255, .96);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--global-palette7);
}

#masthead .site-top-header-wrap .site-header-row-container-inner {
	background: var(--global-palette8);
	border-bottom: 1px solid #e7eef6;
}

#masthead .site-top-header-wrap .secondary-navigation a {
	font-size: .85rem;
	color: var(--global-palette5);
	padding-top: .35rem;
	padding-bottom: .35rem;
}

#masthead .site-top-header-wrap .secondary-navigation a:hover {
	color: var(--global-palette1);
}

.site-header .main-navigation .primary-menu-container > ul > li.menu-item > a {
	color: var(--global-palette3);
	font-weight: 700;
	font-size: .94rem;
	padding-left: .6em;
	padding-right: .6em;
	border-bottom: 3px solid transparent;
}

.site-header .main-navigation .primary-menu-container > ul > li.menu-item > a:hover {
	color: var(--global-palette1);
}

.site-header .main-navigation .primary-menu-container > ul > li.current-menu-item > a,
.site-header .main-navigation .primary-menu-container > ul > li.current-menu-ancestor > a {
	border-bottom-color: var(--global-palette1);
}

.site-header .header-navigation .sub-menu {
	border: 1px solid var(--global-palette7);
	border-radius: var(--ak-radius-sm);
	box-shadow: var(--ak-shadow);
	overflow: hidden;
}

.site-header .header-button,
.mobile-header-button-wrap .mobile-header-button {
	background: var(--global-palette1);
	color: var(--global-palette9);
	border: 2px solid var(--global-palette1);
	border-radius: var(--ak-radius-sm);
	font-weight: 800;
	padding: .7rem 1.1rem;
	box-shadow: none;
}

.site-header .header-button:hover,
.mobile-header-button-wrap .mobile-header-button:hover {
	background: var(--global-palette2);
	border-color: var(--global-palette2);
	color: var(--global-palette9);
}

.site-header .header-button::after,
.mobile-header-button-wrap .mobile-header-button::after {
	content: "\2192";
	margin-left: .45em;
}

.mobile-toggle-open-container .menu-toggle-open {
	color: var(--global-palette3);
	border: 1px solid var(--global-palette7);
	border-radius: var(--ak-radius-sm);
}

/* ---------- Footer ---------- */

.site-footer .site-middle-footer-wrap .site-footer-row-container-inner,
.site-footer .site-bottom-footer-wrap .site-footer-row-container-inner {
	background: var(--global-palette3);
	color: var(--global-palette9);
}

.site-footer .site-middle-footer-wrap .site-footer-row-container-inner {
	padding-top: 2.5rem;
}

.site-footer .site-bottom-footer-wrap .site-footer-row-container-inner {
	border-top: 1px solid rgba(255, 255, 255, .15);
	font-size: .9rem;
}

.site-footer a,
.site-footer .widget-title,
.site-footer .footer-navigation a {
	color: var(--global-palette9);
}

.site-footer a:hover,
.site-footer .footer-navigation a:hover {
	color: #9CC7FF;
}

.site-footer .widget-title {
	font-size: 1rem;
	font-weight: 800;
	margin-bottom: .7rem;
}

.site-footer .widget_nav_menu ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer .widget_nav_menu li {
	margin: .35rem 0;
	padding: 0;
	border: 0;
	line-height: 1.4;
}

.site-footer .widget_nav_menu a {
	font-size: .95rem;
	text-decoration: none;
}

.site-footer .widget_nav_menu a:hover,
.site-footer .widget_nav_menu a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.site-footer .footer-navigation .menu > li > a {
	font-size: .9rem;
}

.site-footer .footer-social-wrap {
	margin-top: 1.2rem;
}

.site-footer .footer-social-wrap .social-button {
	width: 2.6em;
	height: 2.6em;
	justify-content: center;
}

/* Kadence's outline style forces a transparent background with !important,
   so the hover fill and the QR tile need !important too. */
.site-footer .footer-social-wrap .social-style-outline .social-button:hover {
	background: var(--global-palette1) !important;
}

/* QR code stays legible: white tile instead of an outlined circle.
   Selector matches Kadence's own (very specific) social-button rule. */
.site-footer .site-footer-wrap .site-footer-section .footer-social-wrap .footer-social-inner-wrap .social-button.social-link-custom1,
.site-footer .site-footer-wrap .site-footer-section .footer-social-wrap .footer-social-inner-wrap .social-button.social-link-custom1:hover {
	background: var(--global-palette9) !important;
	border-color: var(--global-palette9);
	border-radius: 8px;
	padding: 2px;
}

.site-footer .site-footer-wrap .site-footer-section .footer-social-wrap .footer-social-inner-wrap .social-button.social-link-custom1:hover {
	box-shadow: 0 0 0 3px #9CC7FF;
}

/* Kadence sets an inline max-width on custom icon images. */
.site-footer .footer-social-wrap .social-link-custom1 img {
	width: 100%;
	height: auto;
	max-width: 100% !important;
}

.site-footer .ak-footer-tagline {
	margin-top: .8rem;
	color: rgba(255, 255, 255, .85);
}

/* ---------- Sections ---------- */

.ak-hero {
	background: linear-gradient(90deg, #fff 0%, #fff 48%, #eef6ff 100%);
	border-bottom: 1px solid #e7eef6;
}

.ak-section-soft {
	background: var(--global-palette8);
}

.ak-reading {
	max-width: 760px;
}

.ak-eyebrow {
	font-weight: 800;
	color: var(--global-palette3);
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: .78rem;
}

.ak-lead {
	font-size: 1.16rem;
	max-width: 720px;
}

.ak-art {
	min-height: 340px;
	border-radius: 24px;
	overflow: hidden;
	background:
		radial-gradient(circle at 20% 20%, rgba(42, 127, 234, .22), transparent 28%),
		linear-gradient(145deg, #dcecff 0%, #f9fbfe 58%, #c8ddf5 100%);
	box-shadow: var(--ak-shadow);
}

/* ---------- Cards & callouts ---------- */

.ak-card {
	background: var(--global-palette9);
	border: 1px solid var(--global-palette7);
	border-radius: var(--ak-radius);
	padding: 1.4rem;
	box-shadow: var(--ak-shadow-sm);
}

.ak-card.ak-soft { background: #f8fbff; }
.ak-card.ak-warm { background: var(--global-palette10); }

.ak-notice {
	border-left: 5px solid var(--global-palette1);
	background: #eef6ff;
	border-radius: 12px;
	padding: 1.1rem 1.2rem;
}

.ak-result {
	background: linear-gradient(145deg, #edf9f4, #fff);
	border: 1px solid #b9e3d0;
	border-radius: 16px;
	padding: 1.4rem;
}

.ak-stat {
	font-size: 2rem;
	font-weight: 900;
	color: var(--global-palette3);
}

.ak-big-number {
	font-size: clamp(2.4rem, 5vw, 4.2rem);
	font-weight: 900;
	color: var(--global-palette1);
	line-height: 1;
}

/* ---------- Badges ---------- */

.ak-badge {
	display: inline-flex;
	align-items: center;
	padding: .28rem .6rem;
	border-radius: 999px;
	font-weight: 800;
	font-size: .78rem;
	background: #E6F1FF;
	color: var(--global-palette3);
}

.ak-badge.ak-green { background: #E7F7F0; color: #08684B; }
.ak-badge.ak-amber { background: #FFF1D8; color: var(--global-palette14); }
.ak-badge.ak-gray  { background: #ECEFF3; color: #4B5563; }

/* ---------- Lists & timeline ---------- */

.ak-list-clean {
	list-style: none;
	padding: 0;
	margin: 0;
}

.ak-list-clean li {
	padding: .55rem 0;
	border-bottom: 1px solid #e8edf3;
}

.ak-list-clean li:last-child { border-bottom: 0; }

.ak-timeline {
	position: relative;
	padding-left: 1.4rem;
}

.ak-timeline::before {
	content: "";
	position: absolute;
	left: .34rem;
	top: .4rem;
	bottom: .4rem;
	width: 2px;
	background: #8bb8ea;
}

.ak-timeline > * {
	position: relative;
	padding: 0 0 1.3rem 1rem;
}

.ak-timeline > *::before {
	content: "";
	position: absolute;
	left: -1.18rem;
	top: .35rem;
	width: .8rem;
	height: .8rem;
	border-radius: 50%;
	background: var(--global-palette1);
	box-shadow: 0 0 0 4px #fff;
}

/* ---------- Forms (Formidable, Bit Form, Newsletter, core) ---------- */

.entry-content label,
.frm_forms label {
	font-weight: 800;
	color: var(--global-palette3);
}

.entry-content input[type="text"],
.entry-content input[type="email"],
.entry-content input[type="tel"],
.entry-content input[type="number"],
.entry-content input[type="password"],
.entry-content select,
.entry-content textarea {
	min-height: 52px;
	border: 1px solid #9fb8d1;
	border-radius: var(--ak-radius-sm);
	padding: .72rem .8rem;
	color: var(--global-palette4);
}

.ak-help {
	font-size: .92rem;
	color: var(--global-palette5);
}

.ak-error {
	color: var(--global-palette13);
	font-weight: 800;
}

/* ---------- Title band (pages, forums, topics) ---------- */

.entry-hero .entry-hero-container-inner {
	background: linear-gradient(90deg, #fff 0%, #fff 48%, #eef6ff 100%);
	border-bottom: 1px solid #e7eef6;
}

.entry-hero .hero-section-overlay {
	display: none;
}

.entry-hero .entry-header {
	min-height: 0;
	padding: 3rem 0 2.6rem;
}

.entry-hero .entry-title {
	font-size: clamp(2.1rem, 1.4rem + 2.4vw, 3.4rem);
	margin: .4rem 0 0;
	max-width: 900px;
	hyphens: auto;
}

.entry-hero .kadence-breadcrumbs {
	font-size: .9rem;
	color: var(--global-palette5);
	margin: 0;
}

.entry-hero .kadence-breadcrumbs a {
	color: var(--global-palette1);
}

/* Regular (not rebuilt) pages: readable column with breathing room under the title band. */
body.page:not(.bbpress).content-style-unboxed .entry-content:not(:has(> .ak-section)) {
	max-width: 860px;
}

body.page:not(.bbpress) .content-area:not(:has(.ak-section)),
body.bbpress .content-area {
	margin-top: 2.5rem;
	margin-bottom: 4rem;
}

/* ---------- Single blog posts ---------- */

/* Article titles are long: smaller than page titles. */
body.single-post .entry-header .entry-title {
	font-size: clamp(1.9rem, 1.3rem + 1.8vw, 2.9rem);
	letter-spacing: -.02em;
	hyphens: auto;
}

body.single-post .entry-header .entry-taxonomies a {
	color: var(--global-palette1);
	letter-spacing: .08em;
}

body.single-post .entry-header .entry-meta {
	color: var(--global-palette5);
	font-size: .9rem;
}

/* ---------- Page sections (homepage and landing pages) ---------- */

.entry-content > .ak-section.alignfull {
	margin-top: 0;
	margin-bottom: 0;
	padding: 4rem 16px;
}

/* Same content width and left edge as Kadence's header, title band and footer. */
.entry-content > .ak-section > .wp-block-group__inner-container > * {
	max-width: calc(var(--global-content-width) - 2 * var(--global-content-edge-padding));
}

/* Reading columns stay narrow and left-aligned (the core constrained layout centres
   children with !important margins, hence the !important here). */
.entry-content > .ak-section > .wp-block-group__inner-container > .ak-reading {
	max-width: 780px;
	/* Left edge of the centred content area: half of what is left beside it. */
	margin-left: max(0px, calc((100% - (var(--global-content-width) - 2 * var(--global-content-edge-padding))) / 2)) !important;
}

/* Inside a centred closing band the reading column stays centred. */
.entry-content > .ak-section.ak-cta-band > .wp-block-group__inner-container > .ak-reading {
	margin-left: auto !important;
}

.entry-content > .ak-section.alignfull {
	padding-left: var(--global-content-edge-padding);
	padding-right: var(--global-content-edge-padding);
}

.ak-section h2 {
	margin-top: 0;
}

.ak-section.ak-hero {
	padding-top: 4.6rem;
	padding-bottom: 4.6rem;
}

.ak-grid, .ak-grid > .wp-block-group__inner-container {
	display: grid;
	gap: 1rem;
	margin-top: 1.4rem;
}

.ak-grid-2, .ak-grid-2 > .wp-block-group__inner-container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ak-grid-3, .ak-grid-3 > .wp-block-group__inner-container { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* On the front end Kadence (a classic theme) wraps group content in
   .wp-block-group__inner-container: the grid lives there, the outer div stays a block. */
:is(.ak-grid, .ak-hero-grid, .ak-example, .ak-how):has(> .wp-block-group__inner-container) {
	display: block;
}

.ak-grid > .wp-block-group__inner-container {
	margin-top: 0;
}

.ak-grid > *,
.ak-grid > .wp-block-group__inner-container > *,
.ak-card > *,
.ak-card > .wp-block-group__inner-container > * {
	margin-top: 0;
}

/* Grid gap does the spacing; no block margins between cards. */
.ak-grid > .wp-block-group__inner-container > * {
	margin-bottom: 0;
}

.ak-card h3 {
	margin: 0 0 .5rem;
}

.ak-card p:last-child {
	margin-bottom: 0;
}

.ak-card h3 .ak-badge {
	vertical-align: .2em;
	margin-right: .35rem;
	min-width: 1.6rem;
	justify-content: center;
}

.ak-card-plain {
	box-shadow: none;
	margin-bottom: 1rem;
}

.ak-kicker {
	font-size: .92rem;
	color: var(--global-palette5);
	margin-bottom: .4rem;
}

/* Hero */

.ak-hero-grid, .ak-hero-grid > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	align-items: center;
	gap: 3rem;
}

.ak-hero-text > *,
.ak-hero-text > .wp-block-group__inner-container > * {
	margin-top: 0;
}

/* Sized so "arbeidsongeschikten" fits on one line in the hero column and on phones;
   hyphenation (page is lang="nl-NL") as a fallback. */
.ak-hero h1 {
	font-size: clamp(2rem, 1.2rem + 2.6vw, 3.6rem);
	margin-bottom: 1rem;
	hyphens: auto;
	overflow-wrap: break-word;
}

.ak-hero .ak-eyebrow {
	margin-bottom: .8rem;
}

.ak-actions {
	gap: .8rem;
	margin-top: 1.4rem;
	margin-bottom: 1.2rem;
}

.ak-art.wp-block-image {
	min-height: 0;
	margin: 0;
}

.ak-art.wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 24px;
}

/* Example */

.ak-example, .ak-example > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: 1.2fr .8fr;
	gap: 2rem;
	align-items: center;
}

.ak-example-figure {
	padding: 2rem;
}

.ak-big-number-unit {
	display: block;
	font-size: 1.1rem;
	font-weight: 800;
	color: var(--global-palette3);
	margin-top: .5rem;
}

/* Hoe werkt het: numbered steps */

.ak-how, .ak-how > .wp-block-group__inner-container {
	align-items: start;
	gap: 2rem;
}

ol.ak-steps {
	list-style: none;
	counter-reset: ak-step;
	margin: 1rem 0 0;
	padding: 0;
}

ol.ak-steps li {
	counter-increment: ak-step;
	position: relative;
	padding: 0 0 1.1rem 3rem;
	margin: 0;
}

ol.ak-steps li::before {
	content: counter(ak-step);
	position: absolute;
	left: 0;
	top: -.1rem;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--global-palette1);
	color: var(--global-palette9);
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
}

ol.ak-steps li:not(:last-child)::after {
	content: "";
	position: absolute;
	left: calc(1rem - 1px);
	top: 2.1rem;
	bottom: .1rem;
	width: 2px;
	background: #8bb8ea;
}

/* Link cards */

a.ak-link-card {
	display: block;
	height: 100%;
	text-decoration: none;
	color: var(--global-palette4);
	transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

a.ak-link-card:hover {
	border-color: var(--global-palette1);
	box-shadow: var(--ak-shadow);
	transform: translateY(-2px);
	color: var(--global-palette4);
}

.ak-link-card-title {
	display: block;
	font-size: 1.2rem;
	font-weight: 800;
	color: var(--global-palette3);
	margin-bottom: .3rem;
}

.ak-link-card-title::after {
	content: " \2192";
	color: var(--global-palette1);
}

.ak-link-card-text {
	display: block;
}

/* Pillars (Discriminatie) */

.ak-pillar .ak-badge {
	font-size: .85rem;
}

.ak-pillar h3 {
	font-size: 1.5rem;
	margin-top: .2rem;
}

.ak-quote.wp-block-quote {
	margin: 1.2rem 0;
	padding: 1rem 1.2rem;
	border-left: 5px solid var(--global-palette1);
	background: #eef6ff;
	border-radius: 0 12px 12px 0;
	font-style: italic;
	color: var(--global-palette3);
}

.ak-quote.wp-block-quote p {
	margin: 0;
	font-size: 1rem;
}

.ak-quote.wp-block-quote cite {
	display: block;
	margin-top: .5rem;
	font-size: .85rem;
	font-style: normal;
	color: var(--global-palette5);
}

/* Notice block (closing remarks, conclusions) */

.ak-section .ak-notice {
	margin-top: 1.6rem;
	font-size: 1rem;
}

.ak-notice p:last-child {
	margin-bottom: 0;
}

/* Yes/no comparison (Samenvoegbepaling) */

.ak-compare .ak-card {
	border-width: 2px;
	padding: 1.6rem;
}

.ak-compare-result {
	font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2rem);
	font-weight: 900;
	line-height: 1.15;
	margin: 0;
}

.ak-compare-yes {
	border-color: #b9e3d0;
	background: linear-gradient(145deg, #edf9f4, #fff);
}

.ak-compare-yes .ak-compare-result { color: var(--global-palette11); }
.ak-compare-yes .ak-compare-result::before { content: "\2713\00a0"; }

.ak-compare-no {
	border-color: #f2c4c4;
	background: linear-gradient(145deg, #fdf1f1, #fff);
}

.ak-compare-no .ak-compare-result { color: var(--global-palette13); }
.ak-compare-no .ak-compare-result::before { content: "\2715\00a0"; }

/* Compare cards with a full text under the result (Juridisch) */

.ak-compare-text .ak-compare-result {
	font-size: 1.35rem;
	margin-bottom: .8rem;
}

/* Long texts of different length: each card keeps its own height. */
.ak-compare-text > .wp-block-group__inner-container {
	align-items: start;
}

/* Steps inside a reading column get some room after the lead */

.ak-reading ol.ak-steps {
	margin-top: 1.6rem;
}

/* Tiles list (Nog meer discriminatie) */

ul.ak-tiles {
	list-style: none;
	padding: 0;
	margin: 1.4rem 0 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .8rem;
}

ul.ak-tiles li {
	margin: 0;
	padding: 1rem 1.1rem;
	background: var(--global-palette9);
	border: 1px solid var(--global-palette7);
	border-left: 4px solid var(--global-palette1);
	border-radius: var(--ak-radius-sm);
	font-weight: 700;
	color: var(--global-palette3);
	line-height: 1.4;
}

@media (max-width: 900px) {
	ul.ak-tiles { grid-template-columns: 1fr; }
}

/* Video and table blocks inside sections */

.ak-video {
	max-width: 960px;
	margin-inline: auto;
}

.ak-video video {
	display: block;
	width: 100%;
	border-radius: var(--ak-radius);
	box-shadow: var(--ak-shadow);
	background: #000;
}

.ak-video .wp-block-video {
	margin: 0;
}

.ak-example-figure .ak-actions {
	margin-bottom: 0;
}

/* TablePress tables in the AKclaim style */

.entry-content .tablepress {
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--global-palette7);
	border-radius: var(--ak-radius);
	overflow: hidden;
	font-size: .95rem;
}

/* !important: DataTables highlights the sorted column header with its own background.
   TablePress writes an empty header cell as <td>, so both are covered. */
.entry-content .tablepress thead th,
.entry-content .tablepress thead td {
	background: var(--global-palette3) !important;
	color: var(--global-palette9);
	font-weight: 800;
	border: 0;
}

.entry-content .tablepress td,
.entry-content .tablepress th {
	padding: .65rem .9rem;
	border-top: 1px solid #e8edf3;
}

.entry-content .tablepress .odd td {
	background: var(--global-palette9);
}

.entry-content .tablepress .even td {
	background: var(--global-palette8);
}

.entry-content .tablepress tbody tr:hover td {
	background: #E6F1FF;
}

.entry-content .tablepress td.column-1 {
	font-weight: 800;
	color: var(--global-palette3);
}

.ak-table {
	overflow-x: auto;
}

/* Totals table: bold last row (TOTALE SCHADE). */
.ak-table-totals .tablepress tbody tr:last-child td {
	font-weight: 800;
	color: var(--global-palette3);
	background: #E6F1FF;
	border-top: 2px solid var(--global-palette3);
}

/* Calculator page: form card + explanation side by side */

.ak-calc,
.ak-calc > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: 2rem;
	align-items: start;
}

.ak-calc:has(> .wp-block-group__inner-container) {
	display: block;
}

.ak-calc-form {
	padding: 1.6rem;
}

.ak-calc-form iframe {
	display: block;
	width: 100% !important;
}

.ak-calc-side .ak-card p {
	font-size: .95rem;
}

@media (max-width: 900px) {
	.ak-calc,
	.ak-calc > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
	}
}

/* Contact: details + Kadence form as two cards */

.ak-contact,
.ak-contact > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: 1fr 1.6fr;
	gap: 2rem;
	align-items: start;
}

.ak-contact:has(> .wp-block-group__inner-container) {
	display: block;
}

.ak-contact-details p {
	line-height: 1.7;
}

.ak-contact-form {
	padding: 1.8rem;
}

/* Kadence form fields and button; out-ranks the form's per-block ".kadence-form-<id>" rules. */
.entry-content .ak-contact-form .kb-form .kadence-blocks-form-field label {
	font-weight: 800;
	color: var(--global-palette3);
	font-size: .95rem;
}

.entry-content .ak-contact-form .kb-form .kadence-blocks-form-field input,
.entry-content .ak-contact-form .kb-form .kadence-blocks-form-field textarea {
	min-height: 48px;
	border: 1px solid #9fb8d1 !important;
	border-radius: var(--ak-radius-sm) !important;
	padding: .6rem .8rem;
	font-size: 1rem;
	background: var(--global-palette9);
	color: var(--global-palette4);
}

.entry-content .ak-contact-form .kb-form .kadence-blocks-form-field textarea {
	min-height: 160px;
}

.entry-content .ak-contact-form .kb-form .kb-submit-field .kb-button {
	background: var(--global-palette1) !important;
	color: var(--global-palette9) !important;
	border: 2px solid var(--global-palette1) !important;
	border-radius: var(--ak-radius-sm) !important;
	font-weight: 800;
	padding: .8rem 1.4rem !important;
	text-transform: none;
}

.entry-content .ak-contact-form .kb-form .kb-submit-field .kb-button:hover {
	background: var(--global-palette2) !important;
	border-color: var(--global-palette2) !important;
}

@media (max-width: 900px) {
	.ak-contact,
	.ak-contact > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
	}
}

/* Mijn Dossier: account box and Pods forms */

.ak-account {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .3rem .8rem;
	background: var(--global-palette8);
	border: 1px solid var(--global-palette7);
	border-left: 5px solid var(--global-palette1);
	border-radius: var(--ak-radius-sm);
	padding: .9rem 1.1rem;
	margin-bottom: 1.6rem;
}

.ak-account-label {
	font-size: .85rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--global-palette5);
}

.ak-account-value {
	font-weight: 800;
	color: var(--global-palette3);
	overflow-wrap: anywhere;
}

.entry-content .pods-form .pods-field__container {
	margin-bottom: 1.2rem;
}

.entry-content .pods-form label,
.entry-content .pods-form .pods-form-ui-label {
	font-weight: 800;
	color: var(--global-palette3);
}

.entry-content .pods-form abbr[title] {
	text-decoration: none;
	color: var(--global-palette13);
	border: 0;
}

.entry-content .pods-form input[type="checkbox"] {
	width: 1.15rem;
	height: 1.15rem;
	margin: 0 .5rem 0 0;
	vertical-align: -.15em;
	accent-color: var(--global-palette1);
}

/* Checkboxes sit in a list: no bullet indent. */
.entry-content .pods-form .pods-form-ui-field ul {
	list-style: none;
	margin: .3rem 0 0;
	padding: 0;
}

.entry-content .pods-form .pods-checkbox-pick__option__label {
	font-weight: 700;
	color: var(--global-palette4);
}

.entry-content .pods-form .pods-submit-button,
.entry-content .pods-form input[type="submit"] {
	background: var(--global-palette1);
	color: var(--global-palette9);
	border: 2px solid var(--global-palette1);
	border-radius: var(--ak-radius-sm);
	font-weight: 800;
	padding: .8rem 1.4rem;
}

/* Over: tagline, group definition, planning, initiator */

.ak-tagline.wp-block-site-tagline {
	font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.3rem);
	font-weight: 800;
	color: var(--global-palette3);
	line-height: 1.2;
	margin: 0 0 1rem;
}

.ak-section .ak-group-definition {
	margin-top: 2rem;
	max-width: 900px;
}

.ak-group-definition .ak-quote.wp-block-quote p {
	font-size: .98rem;
	line-height: 1.6;
}

.ak-planning .tablepress-table-name {
	font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
	font-weight: 800;
	color: var(--global-palette3);
	margin: 0 0 1rem;
}

/* Planning: four columns that fit the content width (scrolls sideways only on phones). */
.entry-content .ak-planning .tablepress {
	width: 100%;
	table-layout: fixed;
}

.entry-content .ak-planning .tablepress .column-1 { width: 13%; }
.entry-content .ak-planning .tablepress .column-2 { width: 21%; }
.entry-content .ak-planning .tablepress .column-3 { width: 38%; }
.entry-content .ak-planning .tablepress .column-4 { width: 28%; }

.entry-content .ak-planning .tablepress td.column-1 {
	white-space: normal;
}

.entry-content .ak-planning .tablepress td.column-2,
.entry-content .ak-planning .tablepress td.column-4 {
	font-weight: 700;
	color: var(--global-palette3);
}

@media (max-width: 900px) {
	.entry-content .ak-planning .tablepress {
		table-layout: auto;
		min-width: 760px;
	}
}

.ak-initiator {
	margin-top: 2rem;
	text-align: center;
	color: var(--global-palette5);
	font-style: italic;
}

/* Dates (dd-mm-jjjj) in the first column never break. */
.entry-content .tablepress td.column-1 {
	white-space: nowrap;
}

/* Blog: Kadence tabs in the AKclaim style. Kadence tabs are a static block, so an extra class
   never reaches the saved HTML; these selectors out-rank Kadence's per-block ".kt-tabs-id…" rules. */

.entry-content .wp-block-kadence-tabs .kt-tabs-wrap > .kt-tabs-title-list {
	gap: .5rem;
	border-bottom: 2px solid var(--global-palette3);
	margin-bottom: 0;
}

.entry-content .wp-block-kadence-tabs .kt-tabs-wrap > .kt-tabs-title-list li {
	margin: 0;
}

.entry-content .wp-block-kadence-tabs .kt-tabs-wrap > .kt-tabs-title-list li .kt-tab-title {
	background: var(--global-palette8);
	border: 1px solid var(--global-palette7);
	border-bottom: 0;
	border-radius: var(--ak-radius-sm) var(--ak-radius-sm) 0 0;
	color: var(--global-palette3);
	font-weight: 800;
	padding: .7rem 1.3rem;
}

.entry-content .wp-block-kadence-tabs .kt-tabs-wrap > .kt-tabs-title-list li .kt-tab-title:hover {
	background: #E6F1FF;
	color: var(--global-palette3);
}

.entry-content .wp-block-kadence-tabs .kt-tabs-wrap > .kt-tabs-title-list li.kt-tab-title-active .kt-tab-title {
	background: var(--global-palette3);
	border-color: var(--global-palette3);
	color: var(--global-palette9);
}

.entry-content .wp-block-kadence-tabs .kt-tabs-wrap > .kt-tabs-content-wrap > .wp-block-kadence-tab {
	border: 0;
	padding: 1.6rem 0 0;
	background: transparent;
}

/* Blog: post lists as cards */

ul.wp-block-latest-posts.ak-post-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin: 0;
	padding: 0;
}

ul.wp-block-latest-posts.ak-post-list > li {
	width: auto;
	margin: 0;
	padding: 1.4rem;
	background: var(--global-palette9);
	border: 1px solid var(--global-palette7);
	border-radius: var(--ak-radius);
	box-shadow: var(--ak-shadow-sm);
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	column-gap: .35rem;
}

/* Title and excerpt take a full row; author and date share the row between them. */
/* Beats Kadence's ".wp-block-latest-posts.wp-block-latest-posts__list.is-grid li>a" (1em top margin, 1.3em size). */
ul.wp-block-latest-posts.ak-post-list > li > a.wp-block-latest-posts__post-title {
	flex: 0 0 100%;
	margin-top: 0;
	font-size: 1.2rem;
	font-weight: 800;
	line-height: 1.3;
	color: var(--global-palette3);
	text-decoration: none;
	margin-bottom: .4rem;
}

.ak-post-list .wp-block-latest-posts__post-title:hover {
	color: var(--global-palette1);
	text-decoration: underline;
}

.ak-post-list .wp-block-latest-posts__post-author,
.ak-post-list .wp-block-latest-posts__post-date {
	font-size: .85rem;
	color: var(--global-palette5);
	margin: 0;
}

.ak-post-list .wp-block-latest-posts__post-author::after {
	content: " ·";
}

.ak-post-list .wp-block-latest-posts__post-excerpt {
	flex: 0 0 100%;
	margin: .7rem 0 0;
	font-size: .95rem;
}

@media (max-width: 900px) {
	ul.wp-block-latest-posts.ak-post-list { grid-template-columns: 1fr; }
}

/* Phones: tabs stay on one row and scroll sideways when they don't fit
   (2 tabs on Blog fit; 6 on Mijn Dossier scroll), titles never wrap. */
@media (max-width: 600px) {
	.entry-content .wp-block-kadence-tabs .kt-tabs-wrap > .kt-tabs-title-list {
		flex-wrap: nowrap;
		gap: .3rem;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
	}
	.entry-content .wp-block-kadence-tabs .kt-tabs-wrap > .kt-tabs-title-list li {
		flex: 0 0 auto;
	}
	.entry-content .wp-block-kadence-tabs .kt-tabs-wrap > .kt-tabs-title-list li .kt-tab-title {
		font-size: .9rem;
		padding: .6rem .8rem;
		white-space: nowrap;
	}
}

/* Closing band */

.entry-content > .ak-section.ak-cta-band {
	background: var(--global-palette3);
	color: var(--global-palette9);
	text-align: center;
}

.ak-cta-band h2 {
	color: var(--global-palette9);
	max-width: 900px;
	margin-inline: auto;
}

.ak-cta-band .ak-actions {
	justify-content: center;
	margin-bottom: 0;
}

.ak-cta-band .wp-block-button__link {
	background: var(--global-palette9);
	border-color: var(--global-palette9);
	color: var(--global-palette3);
}

/* Matches Kadence's .is-style-outline .wp-block-button__link:not(.has-text-color). */
.ak-cta-band .wp-block-button.is-style-outline .wp-block-button__link:not(.has-text-color),
.ak-cta-band .wp-block-button.is-style-outline .wp-block-button__link:not(.has-text-color):visited {
	background: transparent;
	border-color: var(--global-palette9);
	color: var(--global-palette9);
}

.ak-cta-band .wp-block-button.is-style-outline .wp-block-button__link:not(.has-text-color):hover {
	background: var(--global-palette9);
	color: var(--global-palette3);
}

.ak-cta-band .wp-block-button__link:hover {
	background: #E6F1FF;
	color: var(--global-palette3);
}

@media (max-width: 900px) {
	.entry-content > .ak-section.alignfull { padding-top: 3rem; padding-bottom: 3rem; }
	:is(.ak-hero-grid, .ak-example, .ak-grid-2, .ak-grid-3),
	:is(.ak-hero-grid, .ak-example, .ak-grid-2, .ak-grid-3) > .wp-block-group__inner-container { grid-template-columns: 1fr; }
	.ak-hero-grid > .wp-block-group__inner-container { gap: 2rem; }
}

/* ---------- Forums (bbPress + bbp-style-pack) ----------
   #bbpress-forums out-ranks bbp-style-pack's rules; !important only where that plugin uses it. */

/* Kadence's "unboxed" rule targets article.entry; bbPress articles lack that class. */
body.bbpress.content-style-unboxed .content-container article > .entry-content-wrap {
	padding: 0;
	background: transparent;
	box-shadow: none;
}

#bbpress-forums {
	font-size: 17px;
	line-height: 1.55;
	color: var(--global-palette4);
}

#bbpress-forums ul.bbp-forums,
#bbpress-forums ul.bbp-topics,
#bbpress-forums ul.bbp-replies,
#bbpress-forums ul.bbp-lead-topic,
#bbpress-forums ul.bbp-search-results {
	border: 1px solid var(--global-palette7);
	border-radius: var(--ak-radius);
	overflow: hidden;
	box-shadow: var(--ak-shadow-sm);
	font-size: inherit;
}

#bbpress-forums li.bbp-header {
	background: var(--global-palette3) !important;
	color: var(--global-palette9);
	font-size: .85rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .06em;
	padding: .75rem 1.2rem;
	border: 0;
}

#bbpress-forums li.bbp-header a,
#bbpress-forums li.bbp-header div {
	color: var(--global-palette9);
}

#bbpress-forums li.bbp-footer {
	background: var(--global-palette8) !important;
	color: var(--global-palette5);
	font-size: .8rem;
	padding: .5rem 1.2rem;
	border-top: 1px solid var(--global-palette7);
}

/* Rows: plain white / soft grey instead of the plugin's colours (incl. red sticky rows). */
#bbpress-forums li.bbp-body ul.forum,
#bbpress-forums li.bbp-body ul.topic {
	background: var(--global-palette9) !important;
	padding: 1rem 1.2rem;
	border-top: 1px solid #e8edf3;
}

#bbpress-forums li.bbp-body ul.forum:nth-child(even),
#bbpress-forums li.bbp-body ul.topic:nth-child(even) {
	background: var(--global-palette8) !important;
}

#bbpress-forums li.bbp-body ul.topic.sticky,
#bbpress-forums li.bbp-body ul.topic.super-sticky {
	background: #eef6ff !important;
	border-left: 4px solid var(--global-palette1);
}

/* bbp-style-pack sets topic title colour and meta size with !important. */
#bbpress-forums a.bbp-forum-title,
#bbpress-forums a.bbp-topic-permalink {
	font-size: 1.1rem !important;
	font-weight: 800;
	color: var(--global-palette3) !important;
	text-decoration: none;
}

#bbpress-forums a.bbp-forum-title:hover,
#bbpress-forums a.bbp-topic-permalink:hover {
	color: var(--global-palette1) !important;
	text-decoration: underline;
}

#bbpress-forums .bbp-forum-content,
#bbpress-forums .bbp-topic-meta,
#bbpress-forums .bbp-topic-started-by,
#bbpress-forums .bbp-topic-started-in,
#bbpress-forums .bbp-forum-info .bbp-forum-content {
	font-size: .9rem !important;
	color: var(--global-palette5);
	margin-top: .25rem;
}

/* Replies */
#bbpress-forums div.bbp-reply-header,
#bbpress-forums div.bbp-topic-header {
	background: var(--global-palette8) !important;
	border-top: 1px solid var(--global-palette7);
	font-size: .85rem;
	color: var(--global-palette5);
}

#bbpress-forums div.bbp-reply-content,
#bbpress-forums div.bbp-topic-content {
	font-size: 1rem;
	line-height: 1.65;
	color: var(--global-palette4);
}

#bbpress-forums .bbp-reply-author a.bbp-author-link,
#bbpress-forums .bbp-topic-author a.bbp-author-link {
	color: var(--global-palette3);
	font-weight: 800;
	text-decoration: none;
}

#bbpress-forums .bbp-author-avatar img {
	border-radius: 50%;
}

#bbpress-forums .bbp-admin-links a {
	font-size: .75rem;
	color: var(--global-palette5);
	text-decoration: none;
}

#bbpress-forums .bbp-admin-links a:hover {
	color: var(--global-palette1);
	text-decoration: underline;
}

/* Buttons: Abonneren, Verzenden, search (plugin sets 10px !important pills). */
#bbpress-forums #subscription-toggle a,
#bbpress-forums #favorite-toggle a,
#bbpress-forums .bbp-submit-wrapper button,
#bbpress-forums button.button,
#bbpress-forums input.button,
.entry-hero #subscription-toggle a {
	display: inline-block;
	background: var(--global-palette1) !important;
	color: var(--global-palette9) !important;
	border: 2px solid var(--global-palette1);
	border-radius: var(--ak-radius-sm) !important;
	font-size: .95rem !important;
	font-weight: 800;
	padding: .5rem 1rem !important;
	text-decoration: none !important;
	line-height: 1.3;
}

#bbpress-forums #subscription-toggle a:hover,
#bbpress-forums .bbp-submit-wrapper button:hover,
#bbpress-forums button.button:hover,
.entry-hero #subscription-toggle a:hover {
	background: var(--global-palette2) !important;
	border-color: var(--global-palette2);
}

/* Header row: all columns the same size. */
#bbpress-forums li.bbp-header * {
	font-size: inherit !important;
	font-weight: inherit;
}

/* Topic meta ("Begonnen door … · 2 Berichten"): one size. */
#bbpress-forums .bbp-topic-meta *,
#bbpress-forums .bbp-topic-started-by * {
	font-size: inherit !important;
}

/* Topic pages: subscribe lives in the title band; drop the duplicate above the posts. */
body.single-topic #bbpress-forums > #subscription-toggle,
body.single-topic #bbpress-forums > .bbp-topic-description + #subscription-toggle,
body.single-topic #bbpress-forums #favorite-toggle + #subscription-toggle {
	display: none;
}

/* New topic / reply form */
#bbpress-forums fieldset.bbp-form {
	border: 1px solid var(--global-palette7);
	border-radius: var(--ak-radius);
	padding: 1.4rem 1.6rem;
	background: var(--global-palette9);
}

#bbpress-forums fieldset.bbp-form legend {
	font-size: 1.15rem;
	font-weight: 800;
	color: var(--global-palette3);
	padding: 0 .4rem;
}

#bbpress-forums fieldset.bbp-form label {
	font-size: .95rem;
	font-weight: 800;
	color: var(--global-palette3);
}

#bbpress-forums fieldset.bbp-form input[type="text"],
#bbpress-forums fieldset.bbp-form select,
#bbpress-forums fieldset.bbp-form textarea,
#bbpress-forums .bbp-the-content-wrapper textarea {
	min-height: 46px;
	border: 1px solid #9fb8d1 !important;
	border-radius: var(--ak-radius-sm) !important;
	padding: .55rem .75rem;
	font-size: 1rem;
	background: var(--global-palette9);
}

#bbpress-forums .bbp-the-content-wrapper .quicktags-toolbar {
	background: var(--global-palette8);
	border: 1px solid var(--global-palette7);
	border-radius: var(--ak-radius-sm) var(--ak-radius-sm) 0 0;
}

/* Editor toolbar buttons (B, I, LINK…) are input.button too: keep them plain. */
#bbpress-forums .bbp-the-content-wrapper .quicktags-toolbar input.button {
	background: transparent !important;
	border: 1px solid transparent;
	border-radius: 6px !important;
	color: var(--global-palette3) !important;
	font-size: .8rem !important;
	font-weight: 700;
	padding: .3rem .55rem !important;
}

#bbpress-forums .bbp-the-content-wrapper .quicktags-toolbar input.button:hover {
	background: var(--global-palette9) !important;
	border-color: var(--global-palette7);
}

/* Notices (e.g. "Er zijn nog geen onderwerpen") */
#bbpress-forums div.bbp-template-notice {
	border-radius: var(--ak-radius-sm);
	border-left: 5px solid var(--global-palette1);
	background: #eef6ff;
	color: var(--global-palette3);
}

/* ---------- Mobile ---------- */

/* bbPress forum archive title: match normal page titles such as Discriminatie. */
.forum-archive-hero-section .forum-archive-title h1.page-title.archive-title {
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(2.45rem, 5vw, 4.4rem) !important;
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -.035em;
	color: var(--global-palette3);
	margin-top: 0;
}

@media (max-width: 620px) {
	h1, .entry-hero h1, .entry-title,
	.forum-archive-hero-section .forum-archive-title h1.page-title.archive-title {
		font-size: 2.45rem !important;
	}
	h2 { font-size: 2rem; }

	.ak-actions .wp-block-button,
	.ak-actions .kb-button {
		width: 100%;
	}
}

/* Signed-in account label beside the desktop, tablet and mobile logo. */
#masthead .site-header-item[data-section="title_tagline"] {
  display: flex;
  align-items: center;
  gap: clamp(.45rem, 1vw, 1rem);
  min-width: 0;
  max-width: 100%;
}
#masthead .site-branding { flex: 0 0 auto; }
#masthead .ak-header-account-email {
  margin: 0;
  min-width: 0;
  max-width: 18rem;
  color: var(--global-palette4);
  font-size: .82rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
@media (max-width: 1024px) {
  #mobile-header .site-header-main-section-left { min-width: 0; flex: 1 1 auto; }
  #mobile-header .site-header-main-section-right { flex: 0 0 auto; }
  #mobile-header .site-header-item[data-section="title_tagline"] { width: 100%; }
  #mobile-header .ak-header-account-email { max-width: 16rem; font-size: .75rem; }
}
@media (max-width: 480px) {
  #mobile-header .site-title { font-size: clamp(1.55rem, 7vw, 2rem); }
  #mobile-header .site-branding { padding-left: 0; }
  #mobile-header .ak-header-account-email { font-size: .68rem; }
}

/* Homepage progress timeline */
#stand-van-zaken { scroll-margin-top: 110px; }
.ak-progress-section {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(0, 2.8fr);
  gap: 2rem;
  align-items: start;
  padding: 3rem 0;
  margin-block: 1rem 2rem;
}
.ak-progress-intro h2 { font-size: clamp(1.65rem, 2.5vw, 2rem); margin: 0 0 .55rem; }
.ak-progress-intro p { margin: 0; color: var(--global-palette5); font-size: .95rem; line-height: 1.55; }
.ak-progress-track { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); list-style: none; margin: 0 !important; padding: 0 !important; }
.ak-progress-step { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: .55rem; min-width: 0; padding: 0 .35rem; }
.ak-progress-step::after { content: ""; position: absolute; top: 2.3rem; left: 50%; width: 100%; height: 2px; background: #c9d3df; z-index: 0; }
.ak-progress-step:last-child::after { display: none; }
.ak-progress-step.is-complete::after { background: var(--global-palette1); }
.ak-progress-date { font-size: .78rem; font-weight: 700; color: var(--global-palette3); min-height: 1.25rem; line-height: 1.25rem; }
.ak-progress-dot { position: relative; z-index: 1; box-sizing: border-box; flex-shrink: 0; display: grid; place-items: center; width: 1.2rem; height: 1.2rem; background: #fff; border: 3px solid #9eacbd; border-radius: 50%; box-shadow: 0 0 0 4px #fff; font-size: .8rem; line-height: 1; }
.ak-progress-step.is-complete .ak-progress-dot, .ak-progress-step.is-current .ak-progress-dot { border-color: var(--global-palette1); background: var(--global-palette1); color: #fff; }
.ak-progress-step.is-current .ak-progress-dot { box-shadow: 0 0 0 5px var(--global-palette7); }
.ak-progress-step.is-current .ak-progress-date { color: var(--global-palette1); }
.ak-progress-label { font-size: .86rem; line-height: 1.4; color: var(--global-palette5); }
.ak-progress-step.is-current .ak-progress-label { font-weight: 700; color: var(--global-palette3); }
.ak-progress-status { font-size: .72rem; line-height: 1.4; color: var(--global-palette5); }
.ak-progress-step.is-current .ak-progress-status { font-weight: 700; color: var(--global-palette3); }
@media (max-width: 1000px) {
  .ak-progress-section { grid-template-columns: 1fr; gap: 1.7rem; }
  .ak-progress-intro { max-width: 36rem; }
}
@media (max-width: 600px) {
  .ak-progress-section { padding: 2rem 0; }
  .ak-progress-track { grid-template-columns: 1fr; gap: 0; }
  .ak-progress-step { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); grid-template-rows: auto auto auto; column-gap: 1rem; row-gap: .25rem; text-align: left; align-items: start; justify-items: start; padding: 0 0 1.6rem; }
  .ak-progress-date { grid-column: 2; grid-row: 1; }
  .ak-progress-dot { grid-column: 1; grid-row: 1; margin-top: .05rem; }
  .ak-progress-label { grid-column: 2; grid-row: 2; font-size: .95rem; }
  .ak-progress-label br { display: none; }
  .ak-progress-status { grid-column: 2; grid-row: 3; font-size: .8rem; }
  .ak-progress-step::after { top: .7rem; left: .55rem; width: 2px; height: 100%; }
}

/* Detailed procedural timeline */
.ak-progress-detailed { grid-template-columns: 1fr; gap: 1.8rem; }
.ak-progress-detailed .ak-progress-intro { max-width: 48rem; }
.ak-progress-scroll { overflow-x: auto; padding: .5rem .3rem 1rem; scrollbar-color: var(--global-palette1) var(--global-palette7); scrollbar-width: auto; }
.ak-progress-detailed .ak-progress-track { grid-template-columns: repeat(10, minmax(155px, 1fr)); min-width: 1550px; }
.ak-progress-detailed .ak-progress-date { min-height: 2.5rem; display: flex; align-items: end; justify-content: center; }
.ak-progress-detailed .ak-progress-step::after { top: 3.55rem; }
.ak-progress-detailed .ak-progress-label { font-size: .84rem; }
@media (max-width: 600px) {
 .ak-progress-scroll { overflow: visible; padding: 0; }
 .ak-progress-detailed .ak-progress-track { grid-template-columns: 1fr; min-width: 0; }
 .ak-progress-detailed .ak-progress-date { min-height: 1.25rem; display: block; }
 .ak-progress-detailed .ak-progress-step::after { top: .7rem; }
 .ak-progress-detailed .ak-progress-label { font-size: .95rem; }
}
