/*
Theme Name: Albassirah
Theme URI: https://www.albassirah.com
Author: <a href="https://trdigitalservices.com/">TR Digital Services</a> <a href="https://github.com/wikiwyrhead">Dev</a>
Description: Gutenberg block theme for Albassirah — a scholarly Islamic knowledge library featuring cours audio, articles, livres PDF, and rappels en images. Built with modern full-site editing, block patterns, and refined typography.
Requires at least: 6.7
Tested up to: 7.0
Requires PHP: 8.0
Version: 2.10.5
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: albassirah
Tags: Site Editor, Block Editor Patterns, Block Editor Styles, Wide Blocks, translation-ready
*/

/* Minimal CSS: theme.json gaps + intentional composition polish. */

*,
*::before,
*::after {
	box-sizing: border-box;
}

/* Kill white seams between full-bleed bands and before footer */
.wp-site-blocks {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.wp-site-blocks > * {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

.wp-site-blocks > main.wp-block-group,
.wp-site-blocks > .wp-block-group {
	width: 100%;
}

/* Last page band sits flush against footer */
.wp-site-blocks > footer.wp-block-group {
	margin-top: 0 !important;
}

html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	margin: 0;
}

/*
 * Text links: no hover underline, no click/focus border ring.
 * Color change on hover is enough. Buttons keep their own styles.
 * Form fields keep focus rings (see .wpcf7 below).
 */
a:where(:not(.wp-element-button)) {
	text-decoration: none;
}

a:where(:not(.wp-element-button)):hover,
a:where(:not(.wp-element-button)):focus,
a:where(:not(.wp-element-button)):focus-visible,
a:where(:not(.wp-element-button)):active {
	text-decoration: none;
	outline: none;
}

h1,
h2,
h3 {
	text-wrap: balance;
}

p {
	text-wrap: pretty;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

/* ——— Header design2: navy topbar + cream nav ——— */
header.wp-block-group,
.alb-header,
header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: transparent;
	border-bottom: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	padding: 0 !important;
}

.alb-topbar {
	background: var(--wp--preset--color--primary-dark) !important;
	color: rgba(255, 255, 255, 0.88);
	font-size: 0.82rem;
}

.alb-topbar > .alignwide,
.alb-topbar .wp-block-group.alignwide {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	width: 100% !important;
}

.alb-topbar-meta {
	margin: 0;
	opacity: 0.9;
}

/* Top utility menu: À propos · Contact (with existing top bar) */
.alb-topbar-menu {
	margin-left: auto !important;
	display: flex !important;
	align-items: center !important;
	gap: 1.25rem !important;
}

.alb-topbar-menu .alb-topbar-link {
	margin: 0;
	line-height: 1.2;
}

.alb-topbar a {
	color: rgba(255, 255, 255, 0.92);
	text-decoration: none;
	font-weight: 500;
	letter-spacing: 0.02em;
}

.alb-topbar a:hover,
.alb-topbar a:focus-visible {
	color: var(--wp--preset--color--accent);
	text-decoration: none;
}

/* Gold pill CTA (kept from previous top header) */
.alb-topbar-cta a {
	display: inline-block;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--ink) !important;
	font-weight: 700;
	font-size: 0.72rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 0.35rem 0.85rem;
	border-radius: 999px;
	text-decoration: none !important;
}

.alb-topbar-cta a:hover,
.alb-topbar-cta a:focus-visible {
	filter: brightness(1.06);
	color: var(--wp--preset--color--ink) !important;
	text-decoration: none !important;
}

.alb-topbar {
	background: var(--wp--preset--color--primary-dark, #062e52) !important;
	margin-top: 0 !important;
}

.alb-nav-bar {
	background: var(--wp--preset--color--base, #f7f4ee) !important;
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding-top: 0.45rem !important;
	padding-bottom: 0.45rem !important;
	margin-top: 0 !important;
}

.alb-header .wp-block-site-logo img,
header .wp-block-site-logo img,
.wp-block-site-logo img {
	max-height: 52px !important;
	width: auto !important;
}

/* Header brand: image logo only (site title removed by design) */
.alb-header .wp-block-site-logo,
header .wp-block-site-logo,
.wp-block-site-logo {
	display: block;
	margin: 0;
	line-height: 0;
}

.alb-header-tools {
	flex: 1 1 auto;
	justify-content: flex-end;
	min-width: 0;
}

/* ——— Header Desktop Search Redesign (Premium Bespoke) ——— */
.alb-header-search,
.alb-header-search.wp-block-search {
	transition: width 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.alb-header-search .wp-block-search__inside-wrapper {
	border: 1px solid var(--wp--preset--color--border, #C9D6E4);
	border-radius: 9999px;
	background: var(--wp--preset--color--surface, #FFFFFF);
	overflow: hidden;
	min-height: 40px;
	box-shadow: 0 2px 6px rgba(6, 46, 82, 0.03);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.alb-header-search .wp-block-search__inside-wrapper:hover {
	border-color: #A0B5CB;
	box-shadow: 0 3px 10px rgba(6, 46, 82, 0.06);
}

.alb-header-search .wp-block-search__inside-wrapper:focus-within {
	border-color: var(--wp--preset--color--primary, #0B4F8A) !important;
	box-shadow: 0 4px 14px rgba(6, 46, 82, 0.09) !important;
}

.alb-header-search .wp-block-search__input {
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	padding: 0.45rem 1rem !important;
	font-size: 0.88rem !important;
	font-family: var(--wp--preset--font-family--ui, "Source Sans 3", sans-serif) !important;
	color: var(--wp--preset--color--ink, #0E1C2B) !important;
	min-width: 0;
	background: transparent;
	transition: color 0.2s ease;
}

.alb-header-search .wp-block-search__input:focus {
	outline: none !important;
	box-shadow: none !important;
}

.alb-header-search .wp-block-search__input::placeholder {
	color: var(--wp--preset--color--muted, #44576B);
	opacity: 0.7;
	transition: opacity 0.2s ease;
}

.alb-header-search .wp-block-search__inside-wrapper:focus-within .wp-block-search__input::placeholder {
	opacity: 0.4;
}

.alb-header-search .wp-block-search__button {
	border: none !important;
	outline: none !important;
	background: var(--wp--preset--color--primary-dark, #062E52) !important;
	color: var(--wp--preset--color--accent, #E09A1B) !important;
	border-radius: 0 9999px 9999px 0 !important;
	margin: 0 !important;
	min-width: 44px;
	min-height: 40px;
	padding: 0.4rem 0.75rem !important;
	transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.alb-header-search .wp-block-search__inside-wrapper:focus-within .wp-block-search__button {
	background: var(--wp--preset--color--primary-dark, #062E52) !important;
	color: #FFFFFF !important;
}

.alb-header-search .wp-block-search__button:hover {
	background: var(--wp--preset--color--primary, #0B4F8A) !important;
	color: #FFFFFF !important;
}

/* ——— Mobile Search Toggle Button & Modal Popup ——— */
.alb-mobile-search-toggle {
	display: none;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1.5px solid var(--wp--preset--color--border, #C9D6E4);
	background: var(--wp--preset--color--surface, #FFFFFF);
	color: var(--wp--preset--color--primary-dark, #062E52);
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.alb-mobile-search-toggle:hover,
.alb-mobile-search-toggle:focus-visible {
	background: var(--wp--preset--color--primary-dark, #062E52);
	color: var(--wp--preset--color--accent, #E09A1B);
	border-color: var(--wp--preset--color--primary-dark, #062E52);
	outline: none;
}

@media (max-width: 960px) {
	.alb-header-search,
	.alb-header-search.wp-block-search {
		display: none !important;
	}

	.alb-mobile-search-toggle {
		display: flex !important;
	}
}

/* Search Modal Window */
body.alb-search-modal-open {
	overflow: hidden !important;
}

.alb-search-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 99999;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding-top: max(4rem, 12vh);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}

.alb-search-modal.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.alb-search-modal__backdrop {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(6, 46, 82, 0.85);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.alb-search-modal__content {
	position: relative;
	z-index: 2;
	width: min(540px, 90vw);
	background: var(--wp--preset--color--surface, #FFFFFF);
	border-radius: 14px;
	box-shadow: 0 20px 50px rgba(6, 46, 82, 0.35);
	overflow: hidden;
	transform: translateY(-20px) scale(0.96);
	transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.alb-search-modal.is-open .alb-search-modal__content {
	transform: translateY(0) scale(1);
}

.alb-search-modal__header {
	background: var(--wp--preset--color--primary-dark, #062E52);
	padding: 1.25rem 1.5rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.alb-search-modal__title {
	margin: 0 !important;
	font-family: var(--wp--preset--font-family--heading, Literata, serif) !important;
	font-size: 1.15rem !important;
	font-weight: 600 !important;
	color: #FFFFFF !important;
}

.alb-search-modal__close {
	background: transparent;
	border: none;
	color: var(--wp--preset--color--accent, #E09A1B);
	cursor: pointer;
	padding: 0.25rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 4px;
	transition: color 0.2s ease, transform 0.2s ease;
}

.alb-search-modal__close:hover {
	color: #FFFFFF;
	transform: scale(1.1);
}

.alb-search-modal__form {
	padding: 1.5rem;
}

.alb-search-modal__input-wrap {
	display: flex;
	gap: 0.65rem;
	flex-wrap: wrap;
}

.alb-search-modal__input {
	flex: 1 1 240px;
	padding: 0.75rem 1rem !important;
	font-size: 1rem !important;
	font-family: var(--wp--preset--font-family--ui, "Source Sans 3", sans-serif) !important;
	border: 1.5px solid var(--wp--preset--color--border, #C9D6E4) !important;
	border-radius: 8px !important;
	outline: none;
	background: var(--wp--preset--color--base, #F7F4EE) !important;
	color: var(--wp--preset--color--ink, #0E1C2B) !important;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}

.alb-search-modal__input:focus {
	border-color: var(--wp--preset--color--primary, #0B4F8A) !important;
	background: #FFFFFF !important;
	box-shadow: 0 0 0 3px rgba(11, 79, 138, 0.12) !important;
}

.alb-search-modal__submit {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.75rem 1.25rem;
	font-size: 0.95rem;
	font-weight: 600;
	font-family: var(--wp--preset--font-family--ui, "Source Sans 3", sans-serif);
	background: var(--wp--preset--color--primary-dark, #062E52);
	color: var(--wp--preset--color--accent, #E09A1B);
	border: 1.5px solid var(--wp--preset--color--primary-dark, #062E52);
	border-radius: 8px;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.alb-search-modal__submit:hover {
	background: var(--wp--preset--color--primary, #0B4F8A);
	border-color: var(--wp--preset--color--primary, #0B4F8A);
	color: #FFFFFF;
}

/* ——— Header / nav polish (dual bar + mobile overlay) ——— */

/* Nav bar: keep logo + tools on one row whenever possible */
.alb-nav-bar > .wp-block-group.alignwide,
.alb-nav-bar .wp-block-group.alignwide {
	flex-wrap: nowrap;
	align-items: center;
	gap: 1rem;
}

.alb-header-tools {
	flex-wrap: nowrap;
	align-items: center;
}

/* Raise hamburger breakpoint: full horizontal nav needs room (logo + 6 items + search) */
@media (max-width: 960px) {
	/* Show open (hamburger) control on far right — borderless & animated */
	.alb-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 44px !important;
		height: 44px !important;
		padding: 0 !important;
		border: none !important;
		border-radius: 50% !important;
		background: transparent !important;
		color: var(--wp--preset--color--primary) !important;
		box-shadow: none !important;
		transition: background 0.2s ease, transform 0.2s ease, color 0.2s ease !important;
		order: 2 !important;
		margin-left: auto !important;
		cursor: pointer !important;
	}

	.alb-header .wp-block-navigation__responsive-container-open:hover,
	.alb-header .wp-block-navigation__responsive-container-open:focus-visible {
		background: var(--wp--preset--color--primary-soft) !important;
		color: var(--wp--preset--color--primary) !important;
		transform: scale(1.06);
	}

	.alb-header .wp-block-navigation__responsive-container-open svg {
		width: 24px !important;
		height: 24px !important;
		transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
	}

	.alb-header .wp-block-navigation__responsive-container-open:hover svg {
		transform: rotate(90deg);
	}

	.alb-header .wp-block-navigation__responsive-container-open:active svg {
		transform: scale(0.9);
	}

	/* Hide desktop strip until overlay is opened */
	.alb-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}

	.alb-header .wp-block-navigation__responsive-container.is-menu-open {
		display: flex !important;
	}

	/* Compact tools: search on left, burger on right-most */
	.alb-header-tools {
		width: auto !important;
		flex: 1 1 auto;
		justify-content: flex-end !important;
		flex-wrap: nowrap !important;
		gap: 0.5rem !important;
		min-width: 0;
	}

	.alb-header-tools .wp-block-navigation {
		order: 2 !important;
	}

	.alb-header-search,
	.alb-header-search.wp-block-search {
		width: min(200px, 46vw) !important;
		max-width: min(200px, 46vw) !important;
		flex: 0 1 auto;
		order: 1 !important;
	}

	.alb-header-search .wp-block-search__inside-wrapper {
		width: 100%;
		min-height: 40px;
	}

	.alb-nav-bar {
		padding-top: 0.65rem !important;
		padding-bottom: 0.65rem !important;
	}
}

/* Phone: tighter dual bar, tagline + utility still present */
@media (max-width: 600px) {
	.alb-topbar {
		font-size: 0.75rem;
	}

	.alb-topbar > .wp-block-group.alignwide,
	.alb-topbar .wp-block-group.alignwide {
		flex-wrap: nowrap;
		gap: 0.5rem;
		align-items: center;
		justify-content: space-between !important;
	}

	.alb-topbar-meta {
		display: none !important;
	}

	.alb-topbar-menu {
		width: 100% !important;
		display: flex !important;
		justify-content: space-between !important;
		align-items: center !important;
		gap: 0.55rem !important;
		margin-left: 0 !important;
	}

	.alb-topbar-cta a {
		padding: 0.3rem 0.65rem;
		font-size: 0.68rem;
	}

	.alb-header-search,
	.alb-header-search.wp-block-search {
		width: min(160px, 48vw) !important;
		max-width: min(160px, 48vw) !important;
	}

	.wp-site-blocks > header .wp-block-site-logo img {
		max-height: 38px;
	}
}

/* Slide from left animation for mobile menu drawer */
@keyframes albSlideFromLeft {
	from {
		transform: translateX(-100%);
		opacity: 0.6;
	}
	to {
		transform: translateX(0);
		opacity: 1;
	}
}

/* Modern Overlay Menu Drawer: smooth slide from left, logo header, collapsed submenus, Qui sommes-nous button */
.alb-header .wp-block-navigation__responsive-container.is-menu-open {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	bottom: 0 !important;
	right: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	max-height: 100dvh !important;
	padding: 0 !important;
	background: rgba(6, 46, 82, 0.5) !important;
	backdrop-filter: blur(4px) !important;
	-webkit-backdrop-filter: blur(4px) !important;
	color: var(--wp--preset--color--ink) !important;
	display: flex !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
	z-index: 99999 !important;
}

.alb-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__responsive-dialog {
	margin: 0;
	max-width: min(340px, 86vw);
	width: min(340px, 86vw);
	height: 100%;
	max-height: 100vh;
	background: #ffffff !important;
	padding: 1.25rem 1.25rem 1.5rem !important;
	display: flex !important;
	flex-direction: column !important;
	box-sizing: border-box !important;
	box-shadow: 12px 0 40px rgba(6, 46, 82, 0.25) !important;
	animation: albSlideFromLeft 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
}

/* Mobile menu additions: hidden by default on desktop & when closed */
.alb-mobile-menu-header,
.alb-mobile-menu-cta-wrap {
	display: none !important;
}

/* Mobile menu header with Logo (left) and Close button (right) */
.alb-header .wp-block-navigation__responsive-container.is-menu-open .alb-mobile-menu-header {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	padding-bottom: 0.85rem !important;
	margin-bottom: 0.85rem !important;
	border-bottom: 1.5px solid var(--wp--preset--color--border) !important;
	flex-shrink: 0 !important;
	order: 1 !important;
}

.alb-mobile-menu-logo {
	display: flex !important;
	align-items: center !important;
	text-decoration: none !important;
	flex: 0 1 auto !important;
}

.alb-mobile-menu-logo img {
	height: 34px !important;
	max-height: 34px !important;
	width: auto !important;
	max-width: 150px !important;
	object-fit: contain !important;
	display: block !important;
}

/* Borderless close control inside top bar of mobile menu */
.alb-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__responsive-container-close {
	position: relative !important;
	margin: 0 !important;
	align-self: center !important;
	flex-shrink: 0 !important;
	width: 38px !important;
	height: 38px !important;
	min-width: 38px !important;
	min-height: 38px !important;
	border: none !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: var(--wp--preset--color--ink) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	z-index: 2;
	transition: all 0.2s ease !important;
	cursor: pointer !important;
}

.alb-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__responsive-container-close:hover {
	background: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--primary) !important;
	transform: rotate(90deg);
}

.alb-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__responsive-container-content {
	padding-top: 0 !important;
	width: 100%;
	flex: 1 1 auto !important;
	overflow-y: auto !important;
	order: 2 !important;
}

.alb-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__container {
	align-items: stretch !important;
	justify-content: flex-start !important;
	gap: 0 !important;
	width: 100%;
}

.alb-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-item {
	width: 100%;
	margin: 0;
	position: relative;
}

.alb-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-item > .wp-block-navigation-item__content,
.alb-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-item > a {
	display: flex !important;
	align-items: center;
	justify-content: flex-start !important;
	text-align: left !important;
	width: 100%;
	min-height: 48px;
	padding: 0.75rem 0.35rem !important;
	font-family: var(--wp--preset--font-family--source-sans-3), sans-serif !important;
	font-size: 1.05rem !important;
	font-weight: 600;
	border-bottom: 1px solid var(--wp--preset--color--border);
	color: var(--wp--preset--color--ink) !important;
	transition: color 0.15s ease, background 0.15s ease !important;
}

.alb-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-item > .wp-block-navigation-item__content:hover,
.alb-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-item > a:hover {
	color: var(--wp--preset--color--primary) !important;
}

/* Submenus collapsed by default in mobile drawer */
.alb-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__submenu-container {
	display: none !important;
	flex-direction: column;
	width: 100% !important;
	position: static !important;
	height: auto !important;
	padding: 0.25rem 0 0.5rem 0.85rem !important;
	margin: 0 !important;
	border: none !important;
	border-left: 2.5px solid var(--wp--preset--color--accent) !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* Submenu open state when toggled */
.alb-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-submenu.is-open > .wp-block-navigation__submenu-container,
.alb-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-submenu[aria-expanded="true"] > .wp-block-navigation__submenu-container,
.alb-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-submenu__toggle[aria-expanded="true"] + .wp-block-navigation__submenu-container {
	display: flex !important;
}

.alb-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item > .wp-block-navigation-item__content,
.alb-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item > a {
	min-height: 42px;
	font-size: 0.95rem !important;
	font-weight: 500;
	border-bottom-color: rgba(201, 214, 228, 0.5);
	color: var(--wp--preset--color--muted) !important;
}

.alb-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-submenu__toggle {
	min-width: 44px;
	min-height: 44px;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: transparent !important;
	border: none !important;
	color: var(--wp--preset--color--muted) !important;
	cursor: pointer !important;
	position: absolute !important;
	right: 0 !important;
	top: 2px !important;
	z-index: 2 !important;
	transition: transform 0.25s ease, color 0.25s ease !important;
}

.alb-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-submenu.is-open > .wp-block-navigation-submenu__toggle svg,
.alb-header .wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-submenu__toggle[aria-expanded="true"] svg {
	transform: rotate(180deg) !important;
}

/* Qui sommes-nous ? action button below mobile menu links */
.alb-header .wp-block-navigation__responsive-container.is-menu-open .alb-mobile-menu-cta-wrap {
	display: block !important;
	margin-top: 0.85rem !important;
	padding-top: 0.85rem !important;
	border-top: 1px solid var(--wp--preset--color--border) !important;
	width: 100% !important;
	text-align: center !important;
	flex-shrink: 0 !important;
	order: 3 !important;
}

.alb-mobile-menu-cta {
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
	background: var(--wp--preset--color--accent) !important;
	color: var(--wp--preset--color--ink) !important;
	font-family: var(--wp--preset--font-family--source-sans-3), sans-serif !important;
	font-weight: 700 !important;
	font-size: 0.95rem !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	padding: 0.85rem 1.25rem !important;
	border-radius: 999px !important;
	text-decoration: none !important;
	box-shadow: 0 3px 10px rgba(6, 46, 82, 0.12) !important;
	transition: filter 0.2s ease, transform 0.2s ease !important;
}

.alb-mobile-menu-cta:hover,
.alb-mobile-menu-cta:focus-visible {
	filter: brightness(1.06) !important;
	color: var(--wp--preset--color--ink) !important;
	text-decoration: none !important;
}

.alb-mobile-menu-cta:hover,
.alb-mobile-menu-cta:focus-visible {
	filter: brightness(1.06) !important;
	color: var(--wp--preset--color--ink) !important;
	text-decoration: none !important;
}

/* ——— Dark surfaces: clear light text (no effects) ——— */
.has-primary-dark-background-color,
.alb-hero-band,
.alb-cat-hero,
.wp-site-blocks > footer.wp-block-group {
	color: rgba(255, 255, 255, 0.9);
	background-color: var(--wp--preset--color--primary-dark);
}

.has-primary-dark-background-color .wp-block-heading,
.has-primary-dark-background-color h1,
.has-primary-dark-background-color h2,
.has-primary-dark-background-color h3,
.alb-hero-band .wp-block-heading,
.alb-cat-hero .wp-block-heading,
.wp-site-blocks > footer .wp-block-heading {
	color: #fff;
}

.has-primary-dark-background-color .wp-block-heading a,
.alb-hero-band .wp-block-heading a,
.alb-hero-band a:not(.wp-element-button),
.has-primary-dark-background-color a:not(.wp-element-button),
.wp-site-blocks > footer a {
	color: #fff;
	text-decoration: none;
}

.has-primary-dark-background-color a:not(.wp-element-button):hover,
.alb-hero-band a:not(.wp-element-button):hover,
.wp-site-blocks > footer a:hover {
	text-decoration: none;
	color: #fff;
}

.has-primary-dark-background-color .has-muted-on-dark,
.alb-hero-band .has-muted-on-dark,
.alb-cat-hero .has-muted-on-dark,
.has-primary-dark-background-color .has-muted-color {
	color: rgba(255, 255, 255, 0.78) !important;
}

.has-primary-dark-background-color .has-surface-color,
.alb-hero-band .has-surface-color {
	color: #fff !important;
}

/* Footer Logo & Brand Sizing Balance (max-height 100px & flush left alignment) */
.alb-footer-brand,
.alb-footer-logo,
.alb-footer-logo figure,
.alb-footer-logo a {
	display: block !important;
	margin-left: 0 !important;
	padding-left: 0 !important;
	text-align: left !important;
}

.alb-footer-logo img {
	max-height: 100px !important;
	width: auto !important;
	max-width: 220px !important;
	height: auto !important;
	display: block !important;
	margin-left: -28px !important;
	margin-right: auto !important;
	margin-bottom: 0.75rem !important;
	object-fit: contain !important;
	object-position: left center !important;
}

.alb-footer-brand .alb-footer-tagline {
	max-width: 320px !important;
	line-height: 1.5 !important;
	opacity: 0.88 !important;
	margin-left: 0 !important;
}

.has-primary-dark-background-color .has-accent-color,
.alb-hero-band .has-accent-color {
	color: var(--wp--preset--color--accent) !important;
}

/* Outline on dark: simple border, no fill gimmicks */
.has-primary-dark-background-color .wp-block-button.is-style-outline .wp-block-button__link,
.alb-hero-band .wp-block-button.is-style-outline .wp-block-button__link,
.alb-cat-hero .wp-block-button.is-style-outline .wp-block-button__link {
	border: 1px solid rgba(255, 255, 255, 0.65);
	color: #fff !important;
	background: transparent !important;
}

.has-primary-dark-background-color .wp-block-button.is-style-outline .wp-block-button__link:hover,
.alb-hero-band .wp-block-button.is-style-outline .wp-block-button__link:hover {
	border-color: #fff;
	background: transparent !important;
	text-decoration: none;
}

/* ——— Hero: solid field, print-like hierarchy (no gradients/grid/glass) ——— */
.alb-hero-band {
	background: var(--wp--preset--color--primary-dark);
}

.alb-hero-band .wp-block-heading.has-xx-large-font-size {
	letter-spacing: -0.02em;
	max-width: 20ch;
	line-height: 1.12;
	font-weight: 600;
}

.alb-hero-band .wp-block-button__link {
	min-height: 46px;
	border-radius: 4px !important;
	font-family: var(--wp--preset--font-family--body);
	font-weight: 600;
	letter-spacing: 0;
}

/* Quiet editorial panel — not glassmorphism */
.alb-hero-spot {
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.28) !important;
	border-radius: 2px !important;
	box-shadow: none;
	backdrop-filter: none;
}

.alb-hero-spot:hover {
	transform: none;
	border-color: rgba(255, 255, 255, 0.45) !important;
}

/* ——— Parcours: scholarly series catalogue (not related to La bibliothèque) ———
 * La bibliothèque = format doors on LIGHT surface white.
 * Parcours = named multi-leçon series on SOFT BLUE (#E4EDF6).
 */
/*
 * Homepage band rhythm (after navy value strip):
 * Soft blue #E4EDF6 ONLY on Confiance CTA — not hero/cards/Parcours.
 * 1. La bibliothèque — light surface white (cards)
 * 2. Parcours — warm cream base #F7F4EE (subtle alternate)
 * 3. About — light surface white
 * 4. Confiance CTA — soft blue primary-soft #E4EDF6
 * 5. Footer — navy primary-dark
 */
.alb-programs {
	background: var(--wp--preset--color--surface) !important;
	border-bottom: none;
}

.alb-parcours {
	background: var(--wp--preset--color--base) !important;
	border-top: 1px solid var(--wp--preset--color--border);
	position: relative;
}

.alb-parcours-head {
	max-width: 38rem;
	margin-inline: auto;
	margin-bottom: 0.25rem;
	text-align: center;
}

.alb-parcours-head .alb-section-title,
.alb-parcours-head .wp-block-heading {
	letter-spacing: -0.02em;
	margin: 0 0 0.55rem;
}

.alb-parcours-head .alb-section-lead {
	margin-inline: auto;
	max-width: 34rem;
}

/* Option A — Asymmetric Audio Hub (Featured Card + Tracklist Stack) */
.alb-parcours-grid {
	align-items: stretch !important;
}

.alb-parcours-featured-card {
	background: var(--wp--preset--color--surface) !important;
	border: 1px solid var(--wp--preset--color--border) !important;
	border-radius: 12px !important;
	box-shadow: 0 4px 20px rgba(6, 46, 82, 0.06) !important;
	height: 100%;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.alb-parcours-featured-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 30px rgba(6, 46, 82, 0.12) !important;
}

.alb-audio-badge-bar {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin-bottom: 1rem !important;
	width: 100% !important;
}

.alb-audio-badge {
	display: inline-flex !important;
	align-items: center !important;
	font-family: var(--wp--preset--font-family--body), sans-serif !important;
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	color: var(--wp--preset--color--accent) !important;
	background: rgba(224, 154, 27, 0.1) !important;
	padding: 0.35rem 0.65rem !important;
	border-radius: 4px !important;
}

.alb-audio-pill {
	display: inline-flex !important;
	align-items: center !important;
	font-family: var(--wp--preset--font-family--body), sans-serif !important;
	font-size: 0.72rem !important;
	font-weight: 600 !important;
	color: var(--wp--preset--color--muted) !important;
	background: var(--wp--preset--color--base) !important;
	padding: 0.35rem 0.65rem !important;
	border-radius: 4px !important;
}

.alb-parcours-featured-card .wp-block-heading {
	margin: 0.5rem 0 0.5rem !important;
	font-size: clamp(1.2rem, 1.8vw, 1.45rem) !important;
	line-height: 1.3 !important;
}

.alb-parcours-featured-card .wp-block-heading a {
	color: var(--wp--preset--color--ink) !important;
	text-decoration: none !important;
}

.alb-parcours-featured-card .wp-block-heading a:hover {
	color: var(--wp--preset--color--primary) !important;
}

.alb-series-meta {
	font-family: var(--wp--preset--font-family--body), sans-serif !important;
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	color: var(--wp--preset--color--primary) !important;
	margin-bottom: 0.65rem !important;
}

.alb-series-desc {
	font-family: var(--wp--preset--font-family--body), sans-serif !important;
	font-size: 0.95rem !important;
	line-height: 1.55 !important;
	color: var(--wp--preset--color--muted) !important;
	margin-bottom: 1.25rem !important;
}

/* Audio Tracklist Stack */
.alb-parcours-tracklist {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.6rem !important;
	height: 100%;
}

.alb-track-item {
	background: var(--wp--preset--color--surface) !important;
	border: 1px solid var(--wp--preset--color--border) !important;
	border-radius: 8px !important;
	padding: 0.75rem 1.1rem !important;
	transition: border-color 0.2s ease, transform 0.2s ease !important;
}

.alb-track-item:hover {
	border-color: var(--wp--preset--color--primary) !important;
	transform: translateX(3px);
}

.alb-track-header {
	display: flex !important;
	align-items: center !important;
	gap: 0.85rem !important;
	width: 100% !important;
}

.alb-track-num {
	font-family: var(--wp--preset--font-family--body), sans-serif !important;
	font-size: 0.85rem !important;
	font-weight: 700 !important;
	color: var(--wp--preset--color--accent) !important;
	opacity: 0.9;
	flex-shrink: 0;
}

.alb-track-info {
	flex: 1 1 auto;
	min-width: 0;
}

.alb-track-title {
	margin: 0 0 0.2rem !important;
	font-family: var(--wp--preset--font-family--heading), serif !important;
	font-size: 0.98rem !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
}

.alb-track-title a {
	color: var(--wp--preset--color--ink) !important;
	text-decoration: none !important;
}

.alb-track-title a:hover {
	color: var(--wp--preset--color--primary) !important;
}

.alb-track-sub {
	margin: 0 !important;
	font-family: var(--wp--preset--font-family--body), sans-serif !important;
	font-size: 0.8rem !important;
	color: var(--wp--preset--color--muted) !important;
}

.alb-track-play {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	border-radius: 50% !important;
	background: var(--wp--preset--color--primary-soft) !important;
	color: var(--wp--preset--color--primary) !important;
	text-decoration: none !important;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease !important;
	flex-shrink: 0;
}

.alb-track-item:hover .alb-track-play {
	background: var(--wp--preset--color--primary) !important;
	color: #ffffff !important;
	transform: scale(1.08);
}

.alb-parcours-cta-bar {
	margin-top: 2rem !important;
	justify-content: center !important;
}

@media (max-width: 781px) {
	.alb-series-card {
		padding: 1.05rem 0 !important;
	}
}

/* ——— CTA: flat soft band, no gradient ——— */
.alb-cta-band {
	background: var(--wp--preset--color--primary-soft);
	border-top: 1px solid var(--wp--preset--color--border);
}

/* Flatten card hovers sitewide (less “product UI”) */
.wp-block-post-template > .wp-block-post > .wp-block-group:hover,
.wp-block-post-template .alb-card:hover {
	border-color: var(--wp--preset--color--border) !important;
	transform: none;
	box-shadow: none;
}

.alb-card {
	border-radius: 2px !important;
	box-shadow: none !important;
}

/* ——— Query card chrome (loop-cards) ——— */
.wp-block-post-template.is-layout-grid {
	gap: 1.25rem;
}

.wp-block-post-template > .wp-block-post > .wp-block-group,
.wp-block-post-template .alb-card {
	height: 100%;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px;
	overflow: hidden;
	transition: border-color 0.2s ease;
}

.wp-block-post-template > .wp-block-post > .wp-block-group:hover,
.wp-block-post-template .alb-card:hover {
	border-color: #9db6cf;
}

.wp-block-post-template .wp-block-post-featured-image {
	margin: 0;
	aspect-ratio: 16 / 10;
	background: var(--wp--preset--color--primary-soft);
	overflow: hidden;
}

.wp-block-post-template .wp-block-post-featured-image a,
.wp-block-post-template .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wp-block-post-template .wp-block-post-terms,
.wp-block-post-template .wp-block-post-title,
.wp-block-post-template .wp-block-post-date,
.wp-block-post-template .wp-block-post-excerpt {
	padding-left: 1.15rem;
	padding-right: 1.15rem;
}

.wp-block-post-template .wp-block-post-terms {
	padding-top: 1rem;
	margin-bottom: 0.25rem;
}

.wp-block-post-template .wp-block-post-title {
	margin: 0 0 0.35rem;
	font-size: 1.1rem;
	line-height: 1.3;
}

.wp-block-post-template .wp-block-post-date {
	margin: 0 0 0.35rem;
}

.wp-block-post-template .wp-block-post-excerpt {
	padding-bottom: 1.15rem;
}

/* List loop (audio / fatâwâ / docs — title-first rows) */
.wp-block-post-template.alb-loop-list,
.alb-loop-list {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.alb-loop-list .wp-block-post-title,
.wp-block-post-template.alb-loop-list .wp-block-post-title {
	font-size: 1.08rem;
	line-height: 1.35;
	margin: 0 0 0.25rem;
}

.alb-loop-list .wp-block-post-title a,
.wp-block-post-template.alb-loop-list .wp-block-post-title a {
	text-decoration: none;
}

.alb-loop-list .wp-block-post-title a:hover,
.wp-block-post-template.alb-loop-list .wp-block-post-title a:hover {
	color: var(--wp--preset--color--primary);
}

/* ——— Audio list cards + native player ——— */
.alb-cat-hero-icon {
	flex: 0 0 auto;
	width: 2.5rem;
	height: 2.5rem;
	margin: 0 !important;
	line-height: 0;
}

.alb-cat-hero-icon img {
	width: 2.5rem;
	height: 2.5rem;
	display: block;
	/* Invert gold stroke icon for navy hero: keep brand gold as-is (already gold). */
	filter: none;
}

.alb-audio-subnav {
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.alb-audio-subnav a {
	color: var(--wp--preset--color--primary);
	text-decoration: none;
	font-weight: 600;
}

.alb-audio-subnav a:hover,
.alb-audio-subnav a:focus-visible {
	color: var(--wp--preset--color--primary-dark);
	text-decoration: underline;
}

.alb-audio-row {
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/*
 * CPT catalogue (.alb-audios-list) — scholarly list rows:
 * left icon + left title stack + full-width player (matches category-cours-islam-audios).
 */
.alb-audios-list {
	display: block;
	margin: 0;
	padding: 0;
	max-width: 100%;
}

.alb-audios-list .alb-audio-row {
	box-sizing: border-box;
	width: 100%;
	display: block;
	text-align: left;
	border: 1px solid #c9d6e4;
	border-radius: 8px;
	background: var(--wp--preset--color--surface, #fff);
	margin: 0 0 var(--wp--preset--spacing--40, 1.25rem);
	padding: var(--wp--preset--spacing--50, 1.5rem);
	box-shadow: none;
}

.alb-audios-list .alb-audio-row:hover {
	border-color: var(--wp--preset--color--primary, #0b4f8a);
	box-shadow: 0 8px 24px rgba(11, 79, 138, 0.08);
}

.alb-audios-list .alb-audio-row-main {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 1rem;
	width: 100%;
	text-align: left;
}

.alb-audios-list .alb-audio-icon {
	flex: 0 0 3rem;
	width: 3rem;
	height: 3rem;
	min-width: 3rem;
	max-width: 3rem;
	margin: 0.15rem 0 0;
	padding: 0;
	line-height: 0;
}

.alb-audios-list .alb-audio-icon img {
	display: block;
	width: 3rem;
	height: 3rem;
	max-width: 100%;
	object-fit: contain;
}

.alb-audios-list .alb-audio-row-body {
	flex: 1 1 auto;
	min-width: 0;
	width: auto;
	max-width: none;
	text-align: left;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.35rem;
}

.alb-audios-list .alb-audio-row-terms,
.alb-audios-list .alb-audio-row-date,
.alb-audios-list .alb-audio-row-title {
	margin: 0;
	width: 100%;
	text-align: left;
}

.alb-audios-list .alb-audio-row-terms a {
	color: var(--wp--preset--color--primary, #0b4f8a);
	font-weight: 600;
	text-decoration: none;
}

.alb-audios-list .alb-audio-row-terms a:hover,
.alb-audios-list .alb-audio-row-terms a:focus-visible {
	text-decoration: underline;
}

.alb-audios-list .alb-audio-row-title {
	font-family: var(--wp--preset--font-family--heading, Literata, Georgia, serif);
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--ink, #0e1c2b);
}

.alb-audios-list .alb-audio-row-title a {
	color: var(--wp--preset--color--ink, #0e1c2b);
	text-decoration: none;
}

.alb-audios-list .alb-audio-row-title a:hover,
.alb-audios-list .alb-audio-row-title a:focus-visible {
	color: var(--wp--preset--color--primary, #0b4f8a);
	text-decoration: underline;
}

.alb-audios-list .alb-audio-row-date {
	color: var(--wp--preset--color--muted, #44576b);
}

.alb-audios-list .alb-audio-player {
	margin-top: 0.65rem;
	padding-top: 0.75rem;
	border-top: 1px solid var(--wp--preset--color--border, #c9d6e4);
	width: 100%;
	text-align: left;
}

.alb-audio-single-summary {
	margin-top: var(--wp--preset--spacing--40, 1.25rem);
}

/* Category archive rows (block template) still use shared hover. */
.wp-block-post-template .alb-audio-row:hover {
	border-color: var(--wp--preset--color--primary) !important;
	box-shadow: 0 8px 24px rgba(11, 79, 138, 0.08);
}

.alb-audio-icon {
	flex: 0 0 auto !important;
	width: 3rem !important;
	height: 3rem !important;
	min-width: 3rem;
	margin: 0.15rem 0 0 !important;
	line-height: 0;
}

.alb-audio-icon img {
	width: 3rem !important;
	height: 3rem !important;
	max-width: none !important;
	display: block;
	object-fit: contain;
}

/* Pagination under CPT list */
.alb-audios-list + .alb-pagination,
.alb-audios-list + nav.alb-pagination {
	margin-top: var(--wp--preset--spacing--60, 2rem);
}

@media (max-width: 600px) {
	.alb-audios-list .alb-audio-row-main {
		gap: 0.75rem;
	}

	.alb-audios-list .alb-audio-icon,
	.alb-audios-list .alb-audio-icon img {
		width: 2.5rem;
		height: 2.5rem;
		min-width: 2.5rem;
		max-width: 2.5rem;
	}
}

.alb-audio-player {
	margin-top: 1rem;
	margin-bottom: 1.25rem;
	padding-top: 1rem;
	border-top: 1px solid var(--wp--preset--color--border);
}

.alb-audio-player--list .alb-audio-el,
.alb-audio-player--single .alb-audio-el {
	width: 100%;
	height: 2.65rem;
	border-radius: 6px;
	accent-color: var(--wp--preset--color--primary);
}

.alb-audio-nowplaying {
	margin: 0.6rem 0 0;
	font-size: 0.85rem;
	line-height: 1.45;
	color: var(--wp--preset--color--muted);
}

.alb-audio-nowplaying-label {
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	margin-right: 0.4rem;
}

.alb-audio-track-meta {
	margin: 0.5rem 0 0;
	font-size: 0.85rem;
	line-height: 1.45;
	color: var(--wp--preset--color--muted);
}

.alb-audio-track-meta a,
.alb-audio-open {
	color: var(--wp--preset--color--primary);
	font-weight: 600;
	text-decoration: none;
}

.alb-audio-track-meta a:hover,
.alb-audio-open:hover {
	text-decoration: underline;
}

.alb-audio-player--empty {
	border-top: 1px solid var(--wp--preset--color--border);
	padding-top: 0.65rem;
}

/* Single post playlist (Branding-aligned elevated & spacious audio player) */
.alb-audio-player--single {
	margin: 0 0 2.5rem;
	padding: 1.75rem 2rem 2rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 14px;
	background: var(--wp--preset--color--surface);
	box-shadow: 0 12px 36px rgba(6, 46, 82, 0.07);
}

.alb-audio-player-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1.25rem;
	margin-bottom: 1.15rem;
	padding-bottom: 0.95rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.alb-audio-player-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.35rem 0.85rem;
	background: var(--wp--preset--color--primary-dark);
	color: var(--wp--preset--color--accent);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	border-radius: 6px;
}

.alb-audio-player-badge svg {
	fill: var(--wp--preset--color--accent);
}

.alb-audio-player-count {
	margin: 0;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--wp--preset--color--muted);
}

.alb-audio-now-playing {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.85rem 1.15rem;
	margin-bottom: 1.25rem;
	background: var(--wp--preset--color--base);
	border-left: 4px solid var(--wp--preset--color--accent);
	border-radius: 0 8px 8px 0;
	font-size: 0.92rem;
}

.alb-audio-now-playing-label {
	font-weight: 700;
	font-size: 0.78rem;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	flex-shrink: 0;
}

.alb-audio-now-playing-title {
	font-weight: 600;
	color: var(--wp--preset--color--ink);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.alb-audio-player--single .alb-audio-el {
	width: 100%;
	height: 3rem;
	border-radius: 8px;
	accent-color: var(--wp--preset--color--primary);
	outline: none;
	margin-bottom: 0.5rem;
}

.alb-audio-playlist {
	list-style: none;
	margin: 1.25rem 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	max-height: 34rem;
	overflow-y: auto;
	padding-right: 0.35rem;
}

.alb-audio-playlist::-webkit-scrollbar {
	width: 6px;
}
.alb-audio-playlist::-webkit-scrollbar-track {
	background: rgba(0, 0, 0, 0.03);
	border-radius: 3px;
}
.alb-audio-playlist::-webkit-scrollbar-thumb {
	background: var(--wp--preset--color--border);
	border-radius: 3px;
}

.alb-audio-playlist-item {
	margin: 0;
	display: flex;
	align-items: center;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 10px;
	background: var(--wp--preset--color--surface);
	transition: all 0.2s ease;
	position: relative;
	overflow: hidden;
}

.alb-audio-playlist-item:hover {
	border-color: var(--wp--preset--color--primary);
	box-shadow: 0 4px 14px rgba(6, 46, 82, 0.07);
	transform: translateY(-1px);
}

.alb-audio-playlist-item.is-active {
	border-color: var(--wp--preset--color--primary);
	background: rgba(6, 46, 82, 0.035);
	box-shadow: 0 6px 18px rgba(6, 46, 82, 0.09);
}

.alb-audio-playlist-item.is-active::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 4px;
	background: var(--wp--preset--color--accent);
}

.alb-audio-playlist-btn {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex: 1 1 auto;
	padding: 0.85rem 1.15rem;
	border: 0;
	background: transparent;
	text-align: left;
	cursor: pointer;
	font: inherit;
	color: var(--wp--preset--color--ink);
	min-width: 0;
}

.alb-audio-playlist-btn:focus-visible {
	outline: none;
}

.alb-audio-playlist-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: rgba(6, 46, 82, 0.08);
	color: var(--wp--preset--color--primary);
	flex-shrink: 0;
	transition: all 0.2s ease;
}

.alb-audio-playlist-btn:hover .alb-audio-playlist-icon {
	background: var(--wp--preset--color--primary);
	color: #ffffff;
}

.alb-audio-playlist-item.is-active .alb-audio-playlist-icon {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--accent);
}

.alb-audio-playlist-index {
	flex: 0 0 auto;
	min-width: 1.75rem;
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--wp--preset--color--primary);
	line-height: 1;
}

.alb-audio-playlist-item.is-active .alb-audio-playlist-index {
	color: var(--wp--preset--color--primary);
}

.alb-audio-playlist-title {
	flex: 1 1 auto;
	font-size: 0.98rem;
	line-height: 1.4;
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

@media (max-width: 640px) {
	.alb-audio-playlist-btn {
		gap: 0.65rem;
		padding: 0.75rem 0.85rem;
	}
	.alb-audio-playlist-title {
		white-space: normal;
		font-size: 0.92rem;
		line-height: 1.35;
	}
	.alb-audio-player--single {
		padding: 1.25rem 1rem 1.5rem;
	}
}

.alb-audio-download-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin-right: 0.75rem;
	border-radius: 8px;
	color: var(--wp--preset--color--muted);
	background: rgba(6, 46, 82, 0.04);
	flex-shrink: 0;
	transition: all 0.2s ease;
}

.alb-audio-download-btn:hover {
	background: var(--wp--preset--color--primary);
	color: #ffffff;
	transform: scale(1.05);
}

/* ——— Elevated Single Audio Page Enhancements ——— */

/* Single Audio Split Hero */
.alb-audio-hero-split {
	display: grid;
	grid-template-columns: 1fr 340px;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: center;
	max-width: var(--wp--style--global--wide-size, 1160px) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

@media (max-width: 900px) {
	.alb-audio-hero-split {
		grid-template-columns: 1fr;
	}
	.alb-audio-hero-right {
		display: none;
	}
}

.alb-audio-hero-artwork {
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
	border: 1px solid rgba(255, 255, 255, 0.15);
	line-height: 0;
}

.alb-audio-hero-artwork img {
	width: 100% !important;
	height: auto !important;
	display: block;
	object-fit: cover;
}

.alb-audio-hero-quick-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	font-size: 0.85rem;
	opacity: 0.85;
	margin: 0.75rem 0 0;
}

.alb-audio-hero-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-top: 0.5rem;
	margin-bottom: 0.75rem;
}

.alb-audio-hero-tags .alb-hero-badge-sujet a,
.alb-audio-hero-tags .alb-hero-badge-intervenant a {
	display: inline-flex;
	align-items: center;
	padding: 0.3rem 0.75rem;
	border-radius: 6px;
	font-size: 0.82rem;
	font-weight: 600;
	text-decoration: none;
	transition: opacity 0.15s ease, transform 0.15s ease;
}

.alb-audio-hero-tags .alb-hero-badge-sujet a {
	background: rgba(224, 154, 27, 0.2);
	color: var(--wp--preset--color--accent, #E09A1B) !important;
	border: 1px solid rgba(224, 154, 27, 0.4);
}

.alb-audio-hero-tags .alb-hero-badge-intervenant a {
	background: rgba(255, 255, 255, 0.12);
	color: #FFFFFF !important;
	border: 1px solid rgba(255, 255, 255, 0.2);
}

.alb-audio-hero-tags a:hover {
	opacity: 0.9;
	transform: translateY(-1px);
}

/* Now Playing Sound Wave Indicator */
.alb-audio-now-playing-wave {
	display: inline-flex;
	align-items: flex-end;
	gap: 2px;
	height: 14px;
	margin-right: 0.35rem;
}

.alb-audio-now-playing-wave span {
	display: inline-block;
	width: 3px;
	background: var(--wp--preset--color--accent, #E09A1B);
	border-radius: 1px;
	animation: alb-wave 1.2s ease-in-out infinite alternate;
}

.alb-audio-now-playing-wave span:nth-child(1) { height: 6px; animation-delay: 0.1s; }
.alb-audio-now-playing-wave span:nth-child(2) { height: 14px; animation-delay: 0.3s; }
.alb-audio-now-playing-wave span:nth-child(3) { height: 9px; animation-delay: 0.2s; }

@keyframes alb-wave {
	0% { height: 4px; }
	100% { height: 14px; }
}

/* ——— Single Audio 2-Column Body Layout ——— */
.alb-audio-layout-grid {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: clamp(1.75rem, 3.5vw, 2.75rem);
	align-items: flex-start;
	width: 100%;
}

@media (max-width: 960px) {
	.alb-audio-layout-grid {
		grid-template-columns: 1fr;
	}
}

.alb-audio-layout-main {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	min-width: 0;
}

/* Presentation Card */
.alb-audio-content-card {
	background: var(--wp--preset--color--surface, #FFFFFF);
	border: 1px solid var(--wp--preset--color--border, #C9D6E4);
	border-radius: 12px;
	padding: 1.75rem 2rem;
	box-shadow: 0 4px 20px rgba(6, 46, 82, 0.04);
}

.alb-audio-card-heading {
	margin: 0 0 1rem;
	font-family: var(--wp--preset--font-family--heading, Literata, serif);
	font-size: 1.35rem;
	font-weight: 600;
	color: var(--wp--preset--color--primary-dark, #062E52);
	position: relative;
	padding-bottom: 0.65rem;
	border-bottom: 2px solid rgba(224, 154, 27, 0.35);
}

.alb-audio-summary-lead {
	font-family: var(--wp--preset--font-family--body, "Source Sans 3", sans-serif);
	font-size: 1.08rem;
	line-height: 1.65;
	color: var(--wp--preset--color--ink, #0E1C2B);
	margin-bottom: 0.85rem;
}

.alb-audio-rich-text p {
	font-size: 0.96rem;
	line-height: 1.6;
	color: var(--wp--preset--color--muted, #44576B);
	margin: 0 0 0.75rem;
}

.alb-audio-rich-text p:last-child {
	margin-bottom: 0;
}

/* Study Advice / Tips Card */
.alb-audio-tips-card {
	background: rgba(11, 79, 138, 0.035);
	border: 1px solid rgba(11, 79, 138, 0.15);
	border-left: 4px solid var(--wp--preset--color--primary, #0B4F8A);
	border-radius: 0 10px 10px 0;
	padding: 1.35rem 1.5rem;
}

.alb-audio-tips-title {
	margin: 0 0 0.65rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-family: var(--wp--preset--font-family--body, "Source Sans 3", sans-serif);
	font-size: 0.98rem;
	font-weight: 700;
	color: var(--wp--preset--color--primary-dark, #062E52);
}

.alb-audio-tips-title svg {
	color: var(--wp--preset--color--primary, #0B4F8A);
}

.alb-audio-tips-list {
	margin: 0;
	padding-left: 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	font-size: 0.88rem;
	color: var(--wp--preset--color--muted, #44576B);
	line-height: 1.5;
}

/* PDF Study Material Card */
.alb-audio-single-pdf-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1.5rem;
	padding: 1.5rem 1.75rem;
	margin: 0;
	background: var(--wp--preset--color--surface, #FFFFFF);
	border: 1px solid var(--wp--preset--color--border, #C9D6E4);
	border-radius: 12px;
	box-shadow: 0 4px 16px rgba(6, 46, 82, 0.04);
}

.alb-audio-single-pdf-card__main {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	flex: 1 1 300px;
}

.alb-audio-single-pdf-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	background: rgba(11, 79, 138, 0.08);
	color: var(--wp--preset--color--primary, #0B4F8A);
	border-radius: 10px;
	flex-shrink: 0;
}

.alb-audio-single-pdf-card__badge {
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent, #E09A1B);
	background: var(--wp--preset--color--primary-dark, #062E52);
	padding: 0.15rem 0.5rem;
	border-radius: 4px;
	margin-bottom: 0.35rem;
}

.alb-audio-single-pdf-card__title {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading, Literata, serif);
	font-size: 1.15rem;
	font-weight: 600;
	color: var(--wp--preset--color--ink, #0E1C2B);
}

.alb-audio-single-pdf-card__desc {
	margin: 0.25rem 0 0;
	font-size: 0.88rem;
	color: var(--wp--preset--color--muted, #44576B);
}

/* ——— Sidebar Cards ——— */
.alb-audio-layout-sidebar {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.alb-audio-sidebar-box {
	background: var(--wp--preset--color--surface, #FFFFFF);
	border: 1px solid var(--wp--preset--color--border, #C9D6E4);
	border-radius: 12px;
	padding: 1.35rem 1.5rem;
	box-shadow: 0 4px 16px rgba(6, 46, 82, 0.04);
}

.alb-audio-sidebar-title {
	margin: 0 0 0.85rem;
	font-family: var(--wp--preset--font-family--heading, Literata, serif);
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--wp--preset--color--primary-dark, #062E52);
	border-bottom: 1px solid var(--wp--preset--color--border, #C9D6E4);
	padding-bottom: 0.5rem;
}

/* Specs List */
.alb-audio-spec-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.alb-audio-spec-item {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

.alb-audio-spec-label {
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted, #44576B);
}

.alb-audio-spec-val {
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--wp--preset--color--ink, #0E1C2B);
}

.alb-audio-spec-val a {
	color: var(--wp--preset--color--primary, #0B4F8A);
	text-decoration: none;
}

.alb-audio-spec-val a:hover {
	text-decoration: underline;
}

/* Share Buttons */
.alb-audio-share-desc {
	margin: 0 0 0.75rem;
	font-size: 0.84rem;
	color: var(--wp--preset--color--muted, #44576B);
}

.alb-audio-share-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.alb-share-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.45rem 0.75rem;
	font-family: var(--wp--preset--font-family--body, "Source Sans 3", sans-serif);
	font-size: 0.8rem;
	font-weight: 600;
	text-decoration: none;
	border-radius: 6px;
	transition: all 0.15s ease;
	flex: 1 1 80px;
	text-align: center;
}

.alb-share-btn--wa {
	background: #25D366;
	color: #FFFFFF;
}

.alb-share-btn--wa:hover {
	background: #1EBE5B;
	color: #FFFFFF;
}

.alb-share-btn--tg {
	background: #229ED9;
	color: #FFFFFF;
}

.alb-share-btn--tg:hover {
	background: #1B8ABF;
	color: #FFFFFF;
}

.alb-share-btn--x {
	background: #0F1419;
	color: #FFFFFF;
}

.alb-share-btn--x:hover {
	background: #000000;
	color: #FFFFFF;
}

/* Sidebar Back Button */
.alb-audio-sidebar-back-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	width: 100%;
	padding: 0.7rem 1rem;
	background: var(--wp--preset--color--base, #F7F4EE);
	border: 1px solid var(--wp--preset--color--border, #C9D6E4);
	border-radius: 8px;
	font-family: var(--wp--preset--font-family--body, "Source Sans 3", sans-serif);
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--wp--preset--color--primary, #0B4F8A);
	text-decoration: none;
	transition: all 0.15s ease;
}

.alb-audio-sidebar-back-btn:hover {
	background: var(--wp--preset--color--primary, #0B4F8A);
	color: #FFFFFF;
	border-color: var(--wp--preset--color--primary, #0B4F8A);
}

/* Related Audio Cards */
.alb-card--audio-rec {
	border: 1px solid var(--wp--preset--color--border, #C9D6E4);
	border-radius: 10px;
	box-shadow: 0 4px 16px rgba(6, 46, 82, 0.04);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.alb-card--audio-rec:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(6, 46, 82, 0.09);
}

.alb-card--audio-rec .wp-block-post-title {
	font-family: var(--wp--preset--font-family--heading, Literata, serif);
	font-size: 1.05rem;
	line-height: 1.35;
	font-weight: 600;
}

.alb-card--audio-rec .wp-block-post-title a {
	color: var(--wp--preset--color--ink, #0E1C2B);
	text-decoration: none;
}

.alb-card--audio-rec .wp-block-post-title a:hover {
	color: var(--wp--preset--color--primary, #0B4F8A);
}

/* Ensure list rows are tappable */
@media (max-width: 781px) {
	.alb-loop-list .wp-block-group,
	.wp-block-post-template.alb-loop-list .wp-block-group {
		min-height: 44px;
	}

	.alb-audio-row-main {
		flex-wrap: nowrap !important;
	}

	.alb-audio-icon {
		width: 2.5rem !important;
		height: 2.5rem !important;
		min-width: 2.5rem;
	}

	.alb-audio-icon img {
		width: 2.5rem !important;
		height: 2.5rem !important;
	}

	/* Nav overlay full width on small screens */
	.wp-block-navigation__responsive-container.is-menu-open {
		padding: 1.25rem;
	}
}

/* ——— Query pagination (reusable .alb-pagination) ——— */
.wp-block-query-pagination.alb-pagination,
nav.alb-pagination.wp-block-query-pagination {
	width: 100%;
	margin-top: var(--wp--preset--spacing--60, 2rem) !important;
	padding-top: 1.25rem;
	border-top: 1px solid var(--wp--preset--color--border, #c9d6e4);
	gap: 0.75rem 1rem !important;
	align-items: center !important;
	row-gap: 0.85rem !important;
}

.alb-pagination .wp-block-query-pagination-previous,
.alb-pagination .wp-block-query-pagination-next {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	padding: 0.55rem 1rem;
	font-family: var(--wp--preset--font-family--body, "Source Sans 3", system-ui, sans-serif);
	font-size: 0.78rem !important;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none !important;
	color: var(--wp--preset--color--primary, #0b4f8a) !important;
	background: var(--wp--preset--color--surface, #fff);
	border: 1px solid var(--wp--preset--color--border, #c9d6e4);
	border-radius: 4px;
	line-height: 1.2;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.alb-pagination .wp-block-query-pagination-previous:hover,
.alb-pagination .wp-block-query-pagination-previous:focus-visible,
.alb-pagination .wp-block-query-pagination-next:hover,
.alb-pagination .wp-block-query-pagination-next:focus-visible {
	color: var(--wp--preset--color--surface, #fff) !important;
	background: var(--wp--preset--color--primary-dark, #062e52);
	border-color: var(--wp--preset--color--primary-dark, #062e52);
	outline: none;
}

.alb-pagination .wp-block-query-pagination-previous-arrow,
.alb-pagination .wp-block-query-pagination-next-arrow {
	display: inline-block;
	font-size: 1em;
	line-height: 1;
	opacity: 0.9;
}

.alb-pagination .wp-block-query-pagination-numbers,
.alb-pagination-numbers {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	flex: 1 1 auto;
	margin: 0;
	padding: 0;
}

/* ——— Unified Brand Pagination (IOGKF Parity & Square Button Tokens) ——— */
.alb-pagination,
.navigation.pagination,
.wp-block-query-pagination {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-wrap: wrap !important;
	gap: 0.4rem !important;
	margin-top: 2.5rem !important;
	margin-bottom: 1.5rem !important;
	width: 100% !important;
}

.alb-pagination ul.page-numbers,
.navigation.pagination ul.page-numbers {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-wrap: wrap !important;
	gap: 0.4rem !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.alb-pagination .page-numbers,
.navigation.pagination .page-numbers,
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next,
.wp-block-query-pagination-numbers a,
.wp-block-query-pagination-numbers span {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 2.625rem !important;
	min-height: 2.625rem !important;
	padding: 0.4rem 0.85rem !important;
	font-family: var(--wp--preset--font-family--body, "Source Sans 3", system-ui, sans-serif) !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	color: var(--wp--preset--color--ink, #0E1C2B) !important;
	background: var(--wp--preset--color--surface, #FFFFFF) !important;
	border: 1px solid var(--wp--preset--color--border, #C9D6E4) !important;
	border-radius: 0px !important;
	transition: all 0.18s ease-in-out !important;
	box-shadow: 0 1px 2px rgba(6, 46, 82, 0.04) !important;
}

/* Hover & Focus state */
.alb-pagination a.page-numbers:hover,
.alb-pagination a.page-numbers:focus-visible,
.navigation.pagination a.page-numbers:hover,
.navigation.pagination a.page-numbers:focus-visible,
.wp-block-query-pagination-previous:hover,
.wp-block-query-pagination-next:hover,
.wp-block-query-pagination-numbers a:hover {
	color: var(--wp--preset--color--primary, #0B4F8A) !important;
	background: var(--wp--preset--color--soft-blue, #E4EDF6) !important;
	border-color: var(--wp--preset--color--primary, #0B4F8A) !important;
	outline: none !important;
	transform: translateY(-1px) !important;
}

/* Active / Current Page */
.alb-pagination .page-numbers.current,
.navigation.pagination .page-numbers.current,
.wp-block-query-pagination-numbers .current {
	color: #FFFFFF !important;
	background: var(--wp--preset--color--primary-dark, #062E52) !important;
	border-color: var(--wp--preset--color--primary-dark, #062E52) !important;
	font-weight: 700 !important;
	cursor: default !important;
	pointer-events: none !important;
	box-shadow: 0 2px 6px rgba(6, 46, 82, 0.25) !important;
}

/* Dots ellipsis */
.alb-pagination .page-numbers.dots,
.navigation.pagination .page-numbers.dots {
	min-width: 1.75rem !important;
	border: none !important;
	background: transparent !important;
	color: var(--wp--preset--color--muted, #44576B) !important;
	font-weight: 700 !important;
	letter-spacing: 0.1em !important;
	box-shadow: none !important;
	pointer-events: none !important;
}

/* Prev / Next special button styling */
.alb-pagination a.prev,
.alb-pagination a.next,
.navigation.pagination a.prev,
.navigation.pagination a.next,
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
	padding-left: 1rem !important;
	padding-right: 1rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	font-size: 0.8rem !important;
}

/* Mobile: stack prev / numbers / next for thumb reach */
@media (max-width: 600px) {
	.wp-block-query-pagination.alb-pagination,
	.alb-pagination ul.page-numbers {
		justify-content: center !important;
	}

	.alb-pagination .wp-block-query-pagination-previous,
	.alb-pagination .wp-block-query-pagination-next,
	.alb-pagination a.prev,
	.alb-pagination a.next {
		flex: 1 1 calc(50% - 0.5rem);
		order: 2;
	}

	.alb-pagination .wp-block-query-pagination-previous,
	.alb-pagination a.prev {
		order: 1;
	}

	.alb-pagination .wp-block-query-pagination-numbers {
		order: 0;
		flex: 1 1 100%;
		width: 100%;
	}
}

/* ——— Single reading ——— */
body.single-post .wp-block-post-content {
	font-size: 1.0625rem;
	line-height: 1.72;
	max-width: 40rem;
}

.alb-single-crumb a {
	color: var(--wp--preset--color--muted);
	text-decoration: none;
}

.alb-single-crumb a:hover {
	color: var(--wp--preset--color--primary);
}

/* ——— Single article two-column (article + sidebar) ——— */
.alb-single-columns {
	column-gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: flex-start;
}

.alb-single-sidebar {
	position: sticky;
	top: calc(var(--wp-admin--admin-bar-height, 0px) + 5.5rem);
	align-self: flex-start;
	max-height: calc(100vh - var(--wp-admin--admin-bar-height, 0px) - 6.5rem);
	overflow-y: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
	z-index: 10;
}

.alb-single-sidebar::-webkit-scrollbar {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
}

.alb-single-sidebar .wp-block-group.has-border-color {
	border-radius: 4px;
	background: var(--wp--preset--color--surface);
}

.alb-single-sidebar .alb-section-kicker {
	margin-bottom: 0.5rem;
}

.alb-single-sidebar .wp-block-post-date,
.alb-single-sidebar .wp-block-post-terms {
	display: block;
}

.alb-single-sidebar .wp-block-query .wp-block-group {
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding-bottom: 0.6rem;
}

.alb-single-sidebar .wp-block-query .wp-block-group:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.alb-single-sidebar .wp-block-buttons .wp-block-button {
	width: 100%;
}

.alb-single-sidebar .wp-block-buttons .wp-block-button__link {
	width: 100%;
	text-align: center;
	justify-content: center;
}

@media (max-width: 900px) {
	.alb-single-columns {
		display: block;
	}
	.alb-single-sidebar {
		position: static;
		max-height: none;
		overflow-y: visible;
		margin-top: var(--wp--preset--spacing--50);
	}
}

/* ——— Gallery ——— */
.wp-block-gallery.has-nested-images figure.wp-block-image {
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border);
	background: var(--wp--preset--color--surface);
}

.wp-block-gallery .wp-element-caption {
	font-size: 0.82rem;
	color: var(--wp--preset--color--muted);
	padding: 0.45rem 0.6rem 0.65rem;
	line-height: 1.4;
}

/* ——— Footer (navy) — logo + columns + social from prod ——— */
.wp-site-blocks > footer.wp-block-group,
.wp-site-blocks > footer.alb-footer {
	margin-top: auto;
	background: var(--wp--preset--color--primary-dark) !important;
	color: rgba(255, 255, 255, 0.9);
}

.alb-footer-logo {
	margin: 0 0 1rem !important;
	line-height: 0;
}

.alb-footer-logo a {
	display: inline-block;
	line-height: 0;
}

.alb-footer-logo img {
	display: block;
	width: auto;
	max-width: 168px;
	height: auto;
	max-height: 56px;
	object-fit: contain;
}

.alb-footer-tagline {
	color: rgba(255, 255, 255, 0.72) !important;
	max-width: 28rem;
	line-height: 1.6;
	margin: 0 !important;
}

.alb-footer-heading {
	font-family: var(--wp--preset--font-family--body) !important;
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent) !important;
	margin: 0 0 0.85rem !important;
}

.alb-footer-list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.alb-footer-list li {
	margin: 0 0 0.55rem !important;
	padding: 0 !important;
}

.alb-footer-list a,
.alb-footer-bottom-links a,
.alb-footer-social-link a {
	color: rgba(255, 255, 255, 0.88) !important;
	text-decoration: none !important;
	font-size: 0.95rem;
	line-height: 1.45;
}

.alb-footer-list a:hover,
.alb-footer-bottom-links a:hover,
.alb-footer-social-link a:hover {
	color: var(--wp--preset--color--accent) !important;
}

.alb-footer-social-note {
	color: rgba(255, 255, 255, 0.62) !important;
	margin: 0 0 0.85rem !important;
	line-height: 1.5;
	max-width: 16rem;
}

.alb-footer-social {
	gap: 0.5rem 0.75rem !important;
}

.alb-footer-social-link {
	margin: 0 !important;
}

.alb-footer-social-link a {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.4rem 0.7rem;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 999px;
	font-size: 0.82rem !important;
	font-weight: 600;
	letter-spacing: 0.02em;
	transition: border-color 0.15s ease, color 0.15s ease, background-color 0.15s ease;
}

.alb-footer-social-link a:hover {
	border-color: rgba(224, 154, 27, 0.65);
	background: rgba(224, 154, 27, 0.1);
}

.alb-footer-social-link img {
	display: block;
	width: 16px;
	height: 16px;
	flex: 0 0 auto;
}

.alb-footer-rule {
	border: none !important;
	border-top: 1px solid rgba(255, 255, 255, 0.14) !important;
	background: transparent !important;
	opacity: 1 !important;
	height: 0 !important;
}

.alb-footer-bottom {
	width: 100%;
	gap: 1.25rem 2.5rem !important;
}

.alb-footer-copy,
.alb-footer-bottom-links {
	color: rgba(255, 255, 255, 0.65) !important;
	margin: 0 !important;
	font-size: 0.85rem !important;
	letter-spacing: 0.02em;
}

.alb-footer-bottom-links a {
	display: inline-block;
	padding: 0.2rem 0.35rem;
	transition: color 0.18s ease;
}

.wp-site-blocks > footer p,
.wp-site-blocks > footer .wp-block-site-title a {
	color: rgba(255, 255, 255, 0.9);
}

.wp-site-blocks > footer a {
	text-decoration: none;
	color: rgba(255, 255, 255, 0.92);
}

.wp-site-blocks > footer a:hover {
	text-decoration: none;
	color: var(--wp--preset--color--accent);
}

.wp-site-blocks > footer .wp-block-separator {
	border-color: rgba(255, 255, 255, 0.18) !important;
	background: rgba(255, 255, 255, 0.18) !important;
	opacity: 1;
}

@media (max-width: 781px) {
	.alb-footer-logo img {
		max-height: 48px;
		max-width: 140px;
	}

	.alb-footer-bottom {
		flex-direction: column;
		align-items: flex-start !important;
		gap: 0.5rem !important;
	}
}

/* ——— Buttons touch ——— */
.wp-element-button,
.wp-block-button__link {
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

/* ——— CF7 (plugin markup) ——— */
.wpcf7 form {
	max-width: 32rem;
	padding: 1.5rem;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px;
}

.wpcf7 label {
	display: block;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: 0.9rem;
	margin-bottom: 0.3rem;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
	width: 100%;
	padding: 0.7rem 0.85rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px;
	font: inherit;
	margin-bottom: 0.75rem;
	min-height: 44px;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 1px;
	border-color: var(--wp--preset--color--primary);
}

.wpcf7 input[type="submit"],
.wpcf7 .wpcf7-submit {
	min-height: 44px;
	border-radius: 8px;
	border: none;
	padding: 0.75rem 1.25rem;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--surface);
	cursor: pointer;
}

.wpcf7 input[type="submit"]:hover,
.wpcf7 .wpcf7-submit:hover {
	background: var(--wp--preset--color--primary-dark);
}

/* Category dark heroes (templates) */
.alb-cat-hero .wp-block-query-title,
.alb-cat-hero h1 {
	color: var(--wp--preset--color--surface);
}

.alb-cat-hero .wp-block-term-description,
.alb-cat-hero .wp-block-term-description p {
	color: rgba(255, 255, 255, 0.8);
	font-size: 1.1rem;
	line-height: 1.55;
	max-width: 40rem;
}

/* ——— Mobile (content / forms; header handled above at 960/600) ——— */
@media (max-width: 781px) {
	.wp-block-post-template.is-layout-grid {
		grid-template-columns: 1fr !important;
	}

	.alb-hero-band .wp-block-button,
	.alb-hero-band .wp-block-button__link,
	.alb-cta-band .wp-block-button,
	.alb-cta-band .wp-block-button__link,
	.alb-single-continue .wp-block-button,
	.alb-single-continue .wp-block-button__link {
		width: 100%;
		text-align: center;
		justify-content: center;
	}

	.wpcf7 form {
		max-width: 100%;
		padding: 1.15rem;
	}

	.wpcf7 input[type="submit"],
	.wpcf7 .wpcf7-submit {
		width: 100%;
	}
}


/* ——— Homepage v10: cinematic design2 language, Albassirah content ——— */

body {
	background-color: var(--wp--preset--color--base);
}

/* Nav gold active */
.alb-header .wp-block-navigation a,
header .wp-block-navigation a,
.wp-block-navigation a {
	font-family: var(--wp--preset--font-family--body);
	font-weight: 500;
	font-size: 0.95rem;
	color: var(--wp--preset--color--ink);
}

.alb-header .wp-block-navigation a:hover,
header .wp-block-navigation a:hover,
.alb-header .wp-block-navigation .current-menu-item > a,
header .wp-block-navigation .current-menu-item > a,
.alb-header .wp-block-navigation .current-post-ancestor > a,
header .wp-block-navigation .current-post-ancestor > a {
	color: var(--wp--preset--color--accent);
}

/*
 * Hero — design2 cover background + cream left fade.
 * Content column aligns with header logo / wide content (1120).
 * Zero gap into navy value strip.
 */
.alb-hero-bg.wp-block-cover {
	min-height: clamp(440px, 52vw, 600px) !important;
	padding: clamp(3rem, 6.5vw, 5rem) 0 !important;
	margin: 0 !important;
	align-items: center;
	justify-content: center;
	aspect-ratio: auto !important;
	overflow: hidden;
}

.alb-hero-bg.wp-block-cover .wp-block-cover__image-background {
	object-fit: cover !important;
	object-position: center center !important;
	opacity: 1 !important;
	z-index: 0 !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

.alb-hero-bg.wp-block-cover,
.alb-hero-bg.wp-block-cover .wp-block-cover__inner-container {
	color: var(--wp--preset--color--ink);
}

/* Warm cream tint over photo */
.alb-hero-bg.wp-block-cover .wp-block-cover__background {
	background: linear-gradient(
		100deg,
		rgba(247, 244, 238, 0.08) 0%,
		rgba(6, 46, 82, 0.1) 100%
	) !important;
	opacity: 1 !important;
	z-index: 1 !important;
}

/* Cream left panel fading into photo — fits warm photography */
.alb-hero-bg.wp-block-cover::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	background: linear-gradient(
		90deg,
		#f7f4ee 0%,
		#f7f4ee 34%,
		rgba(247, 244, 238, 0.94) 44%,
		rgba(247, 244, 238, 0.55) 56%,
		rgba(247, 244, 238, 0.15) 68%,
		transparent 80%
	);
}

/*
 * Content track: same math as header wide row.
 * wide 1120 centered + horizontal root-like padding.
 */
.alb-hero-bg .wp-block-cover__inner-container {
	position: relative;
	z-index: 3;
	box-sizing: border-box;
	width: min(100%, var(--wp--style--global--wide-size, 1120px));
	max-width: var(--wp--style--global--wide-size, 1120px);
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 0;
	padding-right: 0;
	/* When viewport > wide, side space is from centering; when smaller, match root pad */
	padding-inline: max(0px, calc((100vw - var(--wp--style--global--wide-size, 1120px)) / -2 + var(--wp--preset--spacing--50)));
}

@supports (width: min(100%, 1120px)) {
	.alb-hero-bg .wp-block-cover__inner-container {
		/* Prefer root padding when narrow */
		padding-left: var(--wp--preset--spacing--50);
		padding-right: var(--wp--preset--spacing--50);
		width: 100%;
		max-width: calc(var(--wp--style--global--wide-size, 1120px) + 2 * var(--wp--preset--spacing--50));
	}
}

.alb-hero-bg .alb-hero-copy {
	max-width: 34rem;
	width: 100%;
	margin: 0 !important;
	text-align: left;
	/* undo global padding double-inset on this group */
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.alb-hero-bg .alb-hero-copy.has-global-padding {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Homepage section seams: no block-gap white strip */
body.home .entry-content.wp-block-post-content.is-layout-flow > * + *,
body.home .entry-content.wp-block-post-content > * + *,
.page-id-25 .entry-content.wp-block-post-content.is-layout-flow > * + *,
.page-id-25 .entry-content.wp-block-post-content > * + * {
	margin-block-start: 0 !important;
}

body.home .entry-content.wp-block-post-content,
.page-id-25 .entry-content.wp-block-post-content {
	gap: 0 !important;
}

body.home main.wp-block-group,
.page-id-25 main.wp-block-group {
	padding: 0 !important;
	margin: 0 !important;
}

.alb-hero-bg.wp-block-cover + *,
.alb-value-strip {
	margin-top: 0 !important;
}

body.home .entry-content,
.page-id-25 .entry-content {
	overflow-x: clip;
}

.alb-hero-display {
	color: var(--wp--preset--color--ink);
	letter-spacing: -0.03em;
	line-height: 1.08 !important;
	font-weight: 700;
	max-width: 14ch;
	margin-bottom: 1.15rem !important;
	word-break: normal;
	overflow-wrap: normal;
	white-space: normal;
	writing-mode: horizontal-tb;
}

.alb-hero-kicker {
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	margin: 0 0 1rem;
	white-space: normal;
	writing-mode: horizontal-tb;
}

.alb-hero-lead {
	color: var(--wp--preset--color--muted);
	max-width: 34rem;
	line-height: 1.7;
	font-size: 1.1rem;
}

/* Hero CTAs: prefer DS button styles (assets/css/buttons.css).
   Only legacy non-DS buttons get fallback chrome. */
.alb-hero-bg .wp-block-button:not([class*="is-style-alb-btn"]) .wp-block-button__link {
	min-height: 48px;
	border-radius: 0;
	font-weight: 600;
}

/* legacy class no longer used for image column */
.alb-hero-visual {
	display: none;
}

@media (max-width: 781px) {
	.alb-hero-bg.wp-block-cover {
		min-height: 520px !important;
	}

	.alb-hero-bg.wp-block-cover .wp-block-cover__image-background {
		object-position: 60% center !important;
	}

	.alb-hero-bg.wp-block-cover::after {
		background: linear-gradient(
			180deg,
			rgba(247, 244, 238, 0.96) 0%,
			rgba(247, 244, 238, 0.9) 48%,
			rgba(247, 244, 238, 0.45) 72%,
			rgba(247, 244, 238, 0.15) 100%
		);
	}

	.alb-hero-display {
		max-width: none;
	}
}

/* Navy pillars — gold SVG icons */
.alb-value-strip {
	background: var(--wp--preset--color--primary-dark);
	color: rgba(255, 255, 255, 0.88);
}

.alb-value-item {
	text-align: center;
	padding: 0.5rem 0.65rem;
}

.alb-value-item .alb-icon-circle,
.alb-value-item .wp-block-image {
	width: 3.25rem;
	height: 3.25rem;
	margin: 0 auto 1.1rem;
}

.alb-value-item .wp-block-image img {
	width: 3.25rem;
	height: 3.25rem;
	object-fit: contain;
}

.alb-value-item {
	text-align: center;
}

.alb-value-strip .wp-block-heading {
	color: #fff;
	font-size: 1.08rem;
	font-weight: 600;
	margin: 0 0 0.5rem;
	text-align: center;
}

.alb-value-strip .wp-block-heading a {
	color: #fff;
	text-decoration: none;
}

.alb-value-strip .wp-block-heading a:hover {
	color: var(--wp--preset--color--accent);
}

.alb-value-strip p {
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.92rem;
	line-height: 1.55;
	margin: 0 auto;
	max-width: 15.5rem;
	text-align: center;
}

/* Programs section */
.alb-programs > .wp-block-group:first-child {
	text-align: center;
	margin-inline: auto;
}

.alb-programs .alb-section-kicker,
.alb-programs .alb-section-title,
.alb-programs .alb-section-lead,
.alb-programs .wp-block-heading.alb-section-title {
	text-align: center;
}

.alb-section-kicker {
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
	margin: 0 0 0.75rem;
}

.alb-section-title {
	letter-spacing: -0.025em;
	margin: 0 0 0.65rem;
}

.alb-section-lead {
	max-width: 36rem;
	margin-inline: auto;
	color: var(--wp--preset--color--muted);
}

.alb-path-card {
	height: 100%;
	background: var(--wp--preset--color--surface);
	border: 1px solid rgba(201, 214, 228, 0.85);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 10px 32px rgba(6, 46, 82, 0.07);
	transition: box-shadow 0.22s ease, transform 0.22s ease;
}

.alb-path-card:hover {
	box-shadow: 0 18px 44px rgba(6, 46, 82, 0.12);
	transform: translateY(-2px);
}

@media (prefers-reduced-motion: reduce) {
	.alb-path-card:hover {
		transform: none;
	}
}

.alb-path-card .wp-block-image {
	margin: 0;
	background: var(--wp--preset--color--primary-soft);
}

.alb-path-card > .wp-block-image img,
.alb-path-card .wp-block-image:first-child img,
.alb-path-card .wp-block-image img,
.alb-path-card .wp-block-image a img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	display: block;
}

.alb-path-body {
	padding: 0 1.25rem 1.5rem;
	margin-top: -1.5rem;
	position: relative;
	text-align: center;
}

.alb-path-body .alb-icon-circle,
.alb-path-body .wp-block-image {
	width: 3rem;
	height: 3rem;
	margin: 0 auto 0.85rem;
	background: var(--wp--preset--color--surface);
	border-radius: 50%;
	box-shadow: 0 6px 16px rgba(6, 46, 82, 0.1);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.alb-path-body .wp-block-image img {
	width: 2.75rem;
	height: 2.75rem;
	object-fit: contain;
	aspect-ratio: auto;
}

.alb-path-body .wp-block-heading {
	margin: 0 0 0.45rem;
	font-size: 1.15rem;
}

.alb-path-body .wp-block-heading a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.alb-path-body .wp-block-heading a:hover {
	color: var(--wp--preset--color--primary);
}

.alb-path-go {
	margin: 1rem 0 0;
	font-weight: 700;
	font-size: 0.8rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.alb-path-go a {
	color: var(--wp--preset--color--accent);
	text-decoration: none;
}

.alb-path-go a:hover {
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

/* About + inventory tiles */
.alb-about-band {
	/* Light white after soft-blue Parcours */
	background: var(--wp--preset--color--surface) !important;
	border-top: 1px solid var(--wp--preset--color--border);
}

.alb-about-title {
	letter-spacing: -0.03em;
	line-height: 1.12;
	max-width: 14ch;
	font-weight: 700;
}

.alb-stat-tile {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	padding: 1.4rem 0.9rem;
	height: 100%;
	text-align: center;
}

.alb-stat-tile .wp-block-image {
	width: 2.5rem;
	height: 2.5rem;
	margin: 0 auto 0.65rem;
}

.alb-stat-tile .wp-block-image img {
	width: 2.5rem;
	height: 2.5rem;
	object-fit: contain;
}

.alb-stat-num {
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(1.85rem, 2.8vw, 2.4rem);
	font-weight: 700;
	color: var(--wp--preset--color--primary);
	line-height: 1.1;
	margin: 0 0 0.3rem;
}

.alb-stat-label {
	color: var(--wp--preset--color--muted);
	margin: 0;
	font-weight: 500;
	font-size: 0.88rem;
}

/* Confiance CTA — soft blue band (not navy: footer already primary-dark) */
.alb-mission-cover,
.alb-confiance-cta {
	background: var(--wp--preset--color--primary-soft) !important;
	color: var(--wp--preset--color--ink);
	min-height: 0;
	background-image: none !important;
	border-top: 1px solid rgba(11, 79, 138, 0.12);
	border-bottom: none;
}

.alb-mission-cover.wp-block-cover,
.alb-confiance-cta.wp-block-cover {
	min-height: 0 !important;
}

.alb-mission-cover .wp-block-cover__image-background,
.alb-mission-cover .wp-block-cover__background,
.alb-confiance-cta .wp-block-cover__image-background,
.alb-confiance-cta .wp-block-cover__background {
	display: none !important;
}

.alb-mission-cover .wp-block-cover__inner-container,
.alb-confiance-cta > .alignwide,
.alb-mission-cover > .alignwide {
	max-width: 1100px;
	margin-inline: auto;
	width: 100%;
	position: relative;
	z-index: 1;
}

.alb-mission-cover .wp-block-heading,
.alb-confiance-cta .wp-block-heading {
	color: var(--wp--preset--color--ink) !important;
	letter-spacing: -0.02em;
	margin: 0 0 0.65rem;
	max-width: 18ch;
}

.alb-mission-cover .has-muted-on-dark,
.alb-mission-cover p:not(.alb-section-kicker),
.alb-confiance-cta .has-muted-on-dark,
.alb-confiance-cta p:not(.alb-section-kicker) {
	color: var(--wp--preset--color--muted) !important;
	max-width: 36rem;
	line-height: 1.65;
	margin: 0;
	font-size: 1.02rem;
}

.alb-mission-cover .alb-section-kicker,
.alb-confiance-cta .alb-section-kicker {
	color: var(--wp--preset--color--accent) !important;
	margin-bottom: 0.75rem;
}

.alb-mission-cover .wp-block-buttons,
.alb-confiance-cta .wp-block-buttons {
	gap: 0.75rem;
}

/* Primary + outline on light band (not outline-dark for navy) */
.alb-confiance-cta .is-style-alb-btn-primary .wp-block-button__link,
.alb-mission-cover .is-style-alb-btn-primary .wp-block-button__link {
	background: var(--wp--preset--color--primary) !important;
	color: #fff !important;
}

.alb-confiance-cta .is-style-alb-btn-outline .wp-block-button__link,
.alb-mission-cover .is-style-alb-btn-outline .wp-block-button__link {
	border-color: var(--wp--preset--color--primary) !important;
	color: var(--wp--preset--color--primary) !important;
	background: transparent !important;
}

.alb-confiance-cta .is-style-alb-btn-outline .wp-block-button__link:hover,
.alb-mission-cover .is-style-alb-btn-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--primary) !important;
	color: #fff !important;
}

/* Footer stays navy — clear separation after soft CTA */
.wp-site-blocks > footer.wp-block-group {
	border-top: none;
}


@media (max-width: 781px) {
	.alb-hero-display {
		max-width: none;
	}

	.alb-home-hero__content,
	.alb-home-hero .alb-hero-copy,
	.alb-hero-split .alb-hero-copy {
		text-align: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
	}

	.alb-home-hero .alb-hero-kicker,
	.alb-home-hero h1,
	.alb-home-hero .alb-hero-lead,
	.alb-hero-split .alb-hero-kicker,
	.alb-hero-split h1,
	.alb-hero-split .alb-hero-lead {
		text-align: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.alb-hero-bg .wp-block-button,
	.alb-hero-bg .wp-block-button__link,
	.alb-home-hero .wp-block-button,
	.alb-home-hero .wp-block-button__link,
	.alb-mission-cover .wp-block-button,
	.alb-mission-cover .wp-block-button__link,
	.alb-confiance-cta .wp-block-button,
	.alb-confiance-cta .wp-block-button__link {
		width: 100% !important;
		min-width: 100% !important;
		box-sizing: border-box !important;
		text-align: center !important;
		justify-content: center !important;
	}

	.alb-section-lead {
		margin-inline: 0;
	}

	.alb-path-card:hover {
		transform: none;
	}
}

/* ——— Page header (canonical site-wide structure) ———
 *
 * Markup order (all non-home pages):
 *   .alb-page-header.alignfull
 *     .alb-page-header__inner.alignwide   ← same left edge on hub & topic
 *       kicker row / icon + kicker
 *       h1
 *       lead
 *       buttons
 *
 * Horizontal alignment rule (hub pages in post-content AND template topics):
 *   full-bleed navy band + wide inner (1120px) centered + copy left within it.
 * Legacy: .alb-cat-hero, .alb-page-intro use the same rules.
 */
.alb-page-header,
.alb-cat-hero,
.alb-page-intro {
	box-sizing: border-box;
	width: 100%;
	/* Shared horizontal pad — matches other full bands site-wide */
	padding-left: var(--wp--preset--spacing--50, 1.5rem) !important;
	padding-right: var(--wp--preset--spacing--50, 1.5rem) !important;
}

/*
 * When the header is inside page post-content, cancel root/content padding so
 * hub headers (in entry-content) line up with template topic headers (not in entry-content).
 */
.wp-block-post-content > .alb-page-header.alignfull,
.entry-content > .alb-page-header.alignfull,
.wp-block-post-content > .alb-cat-hero.alignfull,
.entry-content > .alb-cat-hero.alignfull,
.wp-block-post-content > .alb-page-intro.alignfull,
.entry-content > .alb-page-intro.alignfull {
	width: 100vw;
	max-width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw !important;
	margin-right: -50vw !important;
}

.alb-page-header--dark,
.alb-cat-hero,
.alb-page-intro.alb-cat-hero,
.alb-page-intro.has-primary-dark-background-color {
	background-color: var(--wp--preset--color--primary-dark, #062e52);
}

/* PDF Cover Image Centering & Sizing */
.alb-inner-card img,
.alb-page-body img,
.uk-align-left,
.uk-align-center {
	max-width: 260px !important;
	height: auto !important;
	display: block !important;
	margin: 0 auto 1.5rem auto !important;
	float: none !important;
	border-radius: 8px !important;
	box-shadow: 0 8px 24px rgba(6, 46, 82, 0.12) !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.alb-inner-card img:hover,
.alb-page-body img:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(6, 46, 82, 0.18) !important;
}

/* Wide shell: same max width as site wideSize, always centered */
.alb-page-header__inner,
.alb-page-header > .alignwide,
.alb-cat-hero > .alignwide,
.alb-page-intro > .alignwide,
.alb-page-header .alb-page-header__inner.alignwide {
	width: 100% !important;
	max-width: var(--wp--style--global--wide-size, 1120px) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	box-sizing: border-box !important;
	text-align: left !important;
	/* Defeat WP layout “center all children” on constrained groups */
	justify-items: start !important;
}

/* Copy column: left edge of wide shell, readable measure */
.alb-page-header__inner > *,
.alb-page-header > .alignwide > *,
.alb-cat-hero > .alignwide > *,
.alb-page-intro > .alignwide > * {
	max-width: 42rem !important;
	width: 100%;
	margin-left: 0 !important;
	margin-right: auto !important;
	box-sizing: border-box;
	text-align: left !important;
}

/* Allow page header H1 and single post header titles to use generous wide container measure without all-caps */
.alb-page-header__inner > h1,
.alb-page-header > .alignwide > h1,
.alb-cat-hero > .alignwide > h1,
.alb-page-intro > .alignwide > h1,
.alb-page-header h1.wp-block-heading,
.alb-cat-hero h1.wp-block-heading,
.alb-page-header .wp-block-post-title,
.alb-page-header h1.wp-block-post-title,
.alb-cat-hero .wp-block-post-title,
.alb-page-intro .wp-block-post-title,
.iogkf-mag-single__hero .wp-block-post-title,
.iogkf-mag-single__title {
	max-width: 68rem !important;
	text-transform: none !important;
	font-size: clamp(1.65rem, 3.2vw, 2.35rem) !important;
	line-height: 1.25 !important;
	letter-spacing: -0.02em !important;
	word-wrap: break-word;
}

/* Single sidebar compact post title styling */
.alb-single-sidebar .wp-block-post-title,
.alb-single-sidebar .wp-block-post-title a {
	font-size: 0.95rem !important;
	line-height: 1.35 !important;
	font-weight: 600 !important;
	margin: 0 0 0.25rem !important;
	color: var(--wp--preset--color--ink) !important;
	text-transform: none !important;
	max-width: 100% !important;
}

.alb-single-sidebar .wp-block-post-title a:hover {
	color: var(--wp--preset--color--primary) !important;
}

/* Buttons row must not stretch full wide */
.alb-page-header__inner > .wp-block-buttons,
.alb-page-header > .alignwide > .wp-block-buttons,
.alb-cat-hero > .alignwide > .wp-block-buttons {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 0.85rem !important;
	max-width: 48rem !important;
	width: 100% !important;
	justify-content: flex-start !important;
}

/* Icon above kicker (or beside kicker if flex row) */
.alb-page-header .alb-page-icon,
.alb-page-intro .alb-page-icon,
.alb-cat-hero .alb-page-icon,
.alb-cat-hero-icon,
.alb-page-icon {
	margin: 0 0 0.85rem !important;
	line-height: 0;
}

.alb-page-header .alb-page-icon img,
.alb-page-intro .alb-page-icon img,
.alb-cat-hero .alb-page-icon img,
.alb-cat-hero-icon img,
.alb-page-icon img {
	display: block;
	width: 56px;
	height: 56px;
	max-width: 56px;
}

/* Flex row: icon + kicker (cours-audio hub style) */
.alb-page-header__kicker-row,
.alb-cat-hero .is-nowrap.is-layout-flex:has(.alb-cat-hero-icon),
.alb-cat-hero .is-nowrap.is-layout-flex:has(.alb-page-icon) {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 0.65rem;
}

.alb-page-header__kicker-row .alb-page-icon,
.alb-page-header__kicker-row .alb-cat-hero-icon {
	margin: 0 !important;
}

.alb-page-header__kicker-row .alb-page-icon img,
.alb-page-header__kicker-row .alb-cat-hero-icon img {
	width: 40px;
	height: 40px;
	max-width: 40px;
}

/* Kicker: amber uppercase tracked */
.alb-page-header .alb-section-kicker,
.alb-page-intro .alb-section-kicker,
.alb-cat-hero .alb-section-kicker,
.alb-page-header p.has-accent-color.has-small-font-size,
.alb-cat-hero p.has-accent-color.has-small-font-size,
.alb-page-intro p.has-accent-color.has-small-font-size {
	margin: 0 0 0.65rem;
	font-family: var(--wp--preset--font-family--body, "Source Sans 3", system-ui, sans-serif);
	font-size: 0.78rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: var(--wp--preset--color--accent, #e09a1b) !important;
}

/* H1 */
.alb-page-header h1,
.alb-cat-hero h1,
.alb-page-intro h1,
.alb-cat-hero .wp-block-query-title,
.alb-page-header .wp-block-query-title {
	margin: 0 0 0.75rem;
	font-family: var(--wp--preset--font-family--heading, Literata, Georgia, serif);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.025em;
}

.alb-page-header--dark h1,
.alb-cat-hero h1,
.alb-cat-hero .wp-block-query-title,
.alb-page-intro.has-primary-dark-background-color h1 {
	color: var(--wp--preset--color--surface, #fff) !important;
}

/* Lead */
.alb-page-header .has-muted-on-dark,
.alb-cat-hero .has-muted-on-dark,
.alb-page-intro .has-muted-on-dark,
.alb-page-header .alb-section-lead,
.alb-page-intro .alb-section-lead {
	margin: 0;
	max-width: 36rem;
}

.alb-page-header .wp-block-buttons,
.alb-cat-hero .wp-block-buttons,
.alb-page-intro .wp-block-buttons,
.alb-page-header__inner > .wp-block-buttons {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 0.85rem !important;
	width: 100% !important;
	max-width: 48rem !important;
	margin-top: var(--wp--preset--spacing--40, 1.25rem) !important;
}

/* Single content headers (cream): same structure, light surface */
.alb-page-header--single,
.alb-single > .has-base-background-color:first-child {
	/* structure only — cream band already set by template */
}

.alb-single-crumb {
	margin: 0 0 0.75rem !important;
}

.alb-page-header--dark .alb-single-crumb a,
.alb-cat-hero .alb-single-crumb a,
.has-muted-on-dark a {
	color: rgba(247, 244, 238, 0.88);
	text-decoration: none;
}

.alb-page-header--dark .alb-single-crumb a:hover,
.alb-cat-hero .alb-single-crumb a:hover,
.has-muted-on-dark a:hover {
	color: #fff;
	text-decoration: underline;
}

.alb-page-header--dark .taxonomy-alb_sujet a,
.alb-page-header--dark .taxonomy-category a,
.alb-cat-hero .taxonomy-alb_sujet a,
.alb-cat-hero .taxonomy-category a {
	color: var(--wp--preset--color--accent, #e09a1b) !important;
}

.alb-single .alb-section-kicker,
.alb-page-header--single .alb-section-kicker {
	margin-bottom: 0.5rem;
}

.alb-inner-card {
	height: 100%;
	background: var(--wp--preset--color--surface) !important;
	border: 1px solid rgba(201, 214, 228, 0.85) !important;
	border-radius: 14px !important;
	box-shadow: 0 10px 32px rgba(6, 46, 82, 0.07);
	overflow: hidden;
	transition: box-shadow 0.22s ease, transform 0.22s ease;
}

.alb-inner-card:hover {
	box-shadow: 0 18px 44px rgba(6, 46, 82, 0.12);
	transform: translateY(-2px);
}

.alb-inner-card .alb-page-icon {
	margin-bottom: 0.75rem !important;
}

.alb-inner-card .alb-page-icon img {
	width: 48px;
	height: 48px;
	max-width: 48px;
}

.alb-pdf-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 1.25rem;
	border: 1px solid rgba(201, 214, 228, 0.85);
	border-radius: 14px;
	background: var(--wp--preset--color--surface);
	box-shadow: 0 8px 24px rgba(6, 46, 82, 0.06);
	overflow: hidden;
}

.alb-pdf-row + .alb-pdf-row,
.alb-livres-list .alb-pdf-row + .alb-pdf-row {
	margin-top: 1rem;
}

.alb-pdf-row-main {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.85rem;
	min-width: min(100%, 16rem);
	flex: 1 1 16rem;
}

.alb-pdf-row-text {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	min-width: 0;
}

.alb-pdf-row-title {
	margin: 0;
	line-height: 1.25;
}

.alb-pdf-row-title-link {
	color: inherit;
	text-decoration: none;
}

.alb-pdf-row-title-link:hover,
.alb-pdf-row-title-link:focus-visible {
	color: var(--wp--preset--color--primary, #0b4f8a);
	text-decoration: underline;
}

.alb-livre-single-meta {
	margin-top: 0;
}

@media (prefers-reduced-motion: reduce) {
	.alb-inner-card:hover {
		transform: none;
	}
}

@media (max-width: 781px) {
	.alb-page-icon img {
		width: 48px;
		height: 48px;
		max-width: 48px;
	}
}

/* ——— Single Magazine / PDF Book Layout (IOGKF Parity) ——— */
.iogkf-mag-single__hero {
	background-color: var(--wp--preset--color--primary-dark);
	position: relative;
}

.iogkf-mag-single__hero-inner {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.iogkf-mag-single__eyebrow {
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}

.iogkf-mag-single__title {
	color: var(--wp--preset--color--surface);
	font-family: var(--wp--preset--font-family--heading);
	margin-top: 0.25rem;
	margin-bottom: 0.5rem;
	font-size: clamp(1.75rem, 3.5vw, 2.5rem);
	line-height: 1.25;
}

.iogkf-mag-single__meta {
	color: rgba(255, 255, 255, 0.75);
	font-size: 0.9rem;
}

/* Stage: 2-column flex */
.iogkf-mag-single__stage {
	display: flex;
	gap: clamp(2rem, 5vw, 4rem);
	align-items: stretch;
}

@media (max-width: 860px) {
	.iogkf-mag-single__stage {
		flex-direction: column;
		align-items: stretch;
	}
}

/* Cover Column */
.iogkf-mag-single__cover {
	flex: 0 0 400px;
	max-width: 420px;
	margin: 0;
	display: flex;
	flex-direction: column;
}

@media (max-width: 860px) {
	.iogkf-mag-single__cover {
		flex: 1 1 100%;
		max-width: 400px;
		margin: 0 auto;
	}
}

.iogkf-mag-single__cover-link {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(6, 46, 82, 0.12), 0 2px 8px rgba(6, 46, 82, 0.08);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	text-decoration: none;
}

.iogkf-mag-single__cover-link:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 40px rgba(6, 46, 82, 0.2), 0 4px 12px rgba(6, 46, 82, 0.12);
}

.iogkf-mag-single__cover-link img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

/* Fallback Book Cover Card */
.alb-livre-cover-card {
	background: linear-gradient(145deg, #062e52 0%, #0b4f8a 100%);
	color: #ffffff;
	padding: 2.5rem 1.75rem;
	min-height: 380px;
	height: 100%;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	position: relative;
	border: 1px solid rgba(224, 154, 27, 0.3);
	border-radius: 8px;
	flex: 1 1 auto;
}

.alb-livre-cover-card-badge {
	align-self: flex-start;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--primary-dark);
	font-weight: 700;
	font-size: 0.75rem;
	letter-spacing: 0.15em;
	padding: 0.25rem 0.6rem;
	border-radius: 2px;
	text-transform: uppercase;
}

.alb-livre-cover-card-icon {
	margin: 1.5rem 0 1rem 0;
}

.alb-livre-cover-card-icon img {
	width: 48px;
	height: 48px;
	filter: brightness(0) invert(1);
}

.alb-livre-cover-card-title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.35rem;
	line-height: 1.35;
	color: #ffffff;
	margin: 0 0 0.5rem 0;
}

.alb-livre-cover-card-author {
	font-size: 0.88rem;
	color: rgba(255, 255, 255, 0.8);
	margin: 0;
	font-style: italic;
}

.iogkf-mag-single__cover-cap {
	margin-top: 0.75rem;
	font-size: 0.82rem;
	color: var(--wp--preset--color--muted);
	text-align: center;
}

/* Panel Column */
.iogkf-mag-single__panel {
	flex: 1;
	min-width: 0;
}

.iogkf-mag-single__panel-label {
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
	margin-bottom: 0.35rem;
}

.iogkf-mag-single__panel-title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(1.5rem, 2.5vw, 2rem);
	color: var(--wp--preset--color--ink);
	margin: 0 0 1.5rem 0;
	line-height: 1.3;
}

/* Description List Grid */
.iogkf-mag-single__dl {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 1rem 2rem;
	padding: 1.25rem 1.5rem;
	background: var(--wp--preset--color--base);
	border-radius: 6px;
	border: 1px solid var(--wp--preset--color--border);
	margin-bottom: 1.75rem;
}

.iogkf-mag-single__dl div {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
}

.iogkf-mag-single__dl dt {
	font-size: 0.78rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--muted);
}

.iogkf-mag-single__dl dd {
	margin: 0;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
}

/* Intro & Blurb */
.iogkf-mag-single__intro {
	font-size: 1.05rem;
	line-height: 1.65;
	color: var(--wp--preset--color--ink);
	margin-bottom: 2rem;
}

.iogkf-mag-single__intro p {
	margin-bottom: 1rem;
}

/* Panel Actions Row */
.iogkf-mag-single__panel-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	margin-bottom: 1rem;
}

.iogkf-mag-single__panel-actions .wp-block-button {
	margin: 0;
}

.iogkf-mag-single__pdf-note {
	font-size: 0.82rem;
	color: var(--wp--preset--color--muted);
	margin-top: 1rem;
	margin-bottom: 0;
	font-style: italic;
}

/* ——— Magazine Hub Layout (IOGKF Parity for /livres-pdf/) ——— */
.alb-livres-body-group {
	width: 100%;
}

.alb-livres-body-inner,
.alb-livres-browse,
.alb-livres-body-inner > p {
	width: 100% !important;
	max-width: var(--wp--style--global--wide-size, 1120px) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.alb-livres-hub-layout {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: flex-start;
	width: 100%;
}

@media (max-width: 900px) {
	.alb-livres-hub-layout {
		grid-template-columns: 1fr;
	}
}

.iogkf-post-list__status {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--wp--preset--color--muted);
	margin-top: 0;
	margin-bottom: 1.25rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.alb-post-list--magazine {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

/* Card Item */
.alb-card--livre-item {
	display: flex;
	gap: 1.5rem;
	padding: 1.5rem;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 10px;
	box-shadow: 0 4px 16px rgba(6, 46, 82, 0.05);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.alb-card--livre-item:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(6, 46, 82, 0.1);
}

@media (max-width: 640px) {
	.alb-card--livre-item {
		flex-direction: column;
	}
}

/* Thumbnail / Cover Box */
.iogkf-post-card__image--cover {
	flex: 0 0 160px;
	max-width: 160px;
	border-radius: 6px;
	overflow: hidden;
}

@media (max-width: 640px) {
	.iogkf-post-card__image--cover {
		flex: 1 1 100%;
		max-width: 100%;
		height: 200px;
	}
}

.iogkf-post-card__image--cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Fallback Card image visual */
.alb-card-livre-fallback {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 160px;
	background: linear-gradient(135deg, #062e52 0%, #0b4f8a 100%);
	border-radius: 6px;
	padding: 1rem 0.85rem;
	text-decoration: none;
	color: #ffffff;
	box-sizing: border-box;
}

.alb-card-livre-fallback-inner {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.alb-card-livre-fallback-inner img,
.alb-card-livre-fallback img {
	width: 36px !important;
	height: 36px !important;
	max-width: 36px !important;
	max-height: 36px !important;
	object-fit: contain !important;
	display: block;
	margin: 0.25rem 0;
}

.alb-card-livre-badge {
	align-self: flex-start;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--primary-dark);
	font-weight: 700;
	font-size: 0.65rem;
	padding: 0.15rem 0.4rem;
	border-radius: 2px;
}

.alb-card-livre-fallback-title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.82rem;
	line-height: 1.25;
	color: #ffffff;
	margin: 0.25rem 0 0 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Card Body */
.iogkf-post-card__body {
	flex: 1;
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.iogkf-post-card__meta {
	font-size: 0.82rem;
	color: var(--wp--preset--color--muted);
	margin-bottom: 0.35rem;
}

.iogkf-post-card__label {
	font-weight: 600;
	color: var(--wp--preset--color--accent);
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

.iogkf-post-card__title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.25rem;
	line-height: 1.35;
	margin: 0 0 0.5rem 0;
}

.iogkf-post-card__title a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.iogkf-post-card__title a:hover {
	color: var(--wp--preset--color--primary);
}

.iogkf-post-card__excerpt {
	font-size: 0.94rem;
	color: var(--wp--preset--color--muted);
	margin-bottom: 1.5rem;
	line-height: 1.6;
}

.iogkf-post-card__actions {
	margin-top: auto;
	padding-top: 1.25rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
}

/* Sidebar Styling */
.iogkf-news-sidebar,
.alb-livres-sidebar,
.alb-audios-sidebar,
.alb-articles-sidebar,
.alb-rappels-sidebar {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 10px;
	padding: 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
	position: sticky;
	top: calc(var(--wp-admin--admin-bar-height, 0px) + 5rem);
	align-self: flex-start;
	max-height: calc(100vh - var(--wp-admin--admin-bar-height, 0px) - 6rem);
	overflow-y: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
	z-index: 10;
}

.iogkf-news-sidebar::-webkit-scrollbar,
.alb-livres-sidebar::-webkit-scrollbar,
.alb-audios-sidebar::-webkit-scrollbar,
.alb-articles-sidebar::-webkit-scrollbar,
.alb-rappels-sidebar::-webkit-scrollbar {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
}

@media (max-width: 900px) {
	.iogkf-news-sidebar,
	.alb-livres-sidebar,
	.alb-audios-sidebar,
	.alb-articles-sidebar,
	.alb-rappels-sidebar {
		position: static;
		max-height: none;
		overflow-y: visible;
	}
}

.iogkf-news-sidebar__label {
	font-size: 0.76rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--wp--preset--color--accent);
	margin: 0 0 0.45rem 0;
}

.iogkf-news-sidebar__search-row {
	display: flex;
	gap: 0.5rem;
}

.iogkf-news-sidebar__search-row input[type="search"] {
	flex: 1;
	padding: 0.4rem 0.65rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 4px;
	font-size: 0.85rem;
}

.iogkf-news-sidebar__search-btn {
	background: var(--wp--preset--color--primary-dark);
	color: #ffffff;
	border: none;
	padding: 0.4rem 0.75rem;
	border-radius: 4px;
	font-weight: 600;
	cursor: pointer;
}

.iogkf-news-sidebar__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
}

.iogkf-news-sidebar__link {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.3rem 0.5rem;
	border-radius: 4px;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	font-size: 0.85rem;
	transition: background 0.15s ease;
}

.iogkf-news-sidebar__link:hover,
.iogkf-news-sidebar__link.is-active {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary);
	font-weight: 600;
}

.iogkf-news-sidebar__count {
	font-size: 0.8rem;
	color: var(--wp--preset--color--muted);
}

.iogkf-news-sidebar__recent-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.iogkf-news-sidebar__recent-link {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	text-decoration: none;
}

.iogkf-news-sidebar__recent-title {
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
	line-height: 1.3;
}

.iogkf-news-sidebar__recent-link:hover .iogkf-news-sidebar__recent-title {
	color: var(--wp--preset--color--primary);
}

.iogkf-news-sidebar__recent-date {
	font-size: 0.78rem;
	color: var(--wp--preset--color--muted);
}

/* ——— Audio Hub Layout (IOGKF Parity for /cours-audio/) ——— */
.alb-audios-body-group {
	width: 100%;
}

.alb-audios-body-inner,
.alb-audios-browse,
.alb-audios-body-inner > p {
	width: 100% !important;
	max-width: var(--wp--style--global--wide-size, 1120px) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* ——— Audio Hub Multi-Facet Toolbar (An-Nassiha pattern) ——— */
.alb-audio-toolbar {
	background: var(--wp--preset--color--surface, #FFFFFF);
	border: 1px solid var(--wp--preset--color--border, #C9D6E4);
	border-radius: 12px;
	padding: 1.25rem 1.5rem;
	margin-bottom: 2rem;
	box-shadow: 0 4px 20px rgba(6, 46, 82, 0.04);
}

.alb-audio-toolbar__form {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.alb-audio-toolbar__row {
	display: grid;
	grid-template-columns: 2fr 1.5fr 1.5fr;
	gap: 1rem;
	align-items: center;
}

@media (max-width: 960px) {
	.alb-audio-toolbar__row {
		grid-template-columns: 1fr 1fr;
	}
	.alb-audio-toolbar__field--search {
		grid-column: 1 / -1;
	}
}

@media (max-width: 600px) {
	.alb-audio-toolbar__row {
		grid-template-columns: 1fr;
	}
}

.alb-audio-search-box {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
}

.alb-audio-search-icon {
	position: absolute;
	left: 1rem;
	color: var(--wp--preset--color--primary, #0B4F8A);
	pointer-events: none;
	opacity: 0.8;
}

.alb-audio-input {
	width: 100%;
	padding: 0.75rem 2.25rem 0.75rem 2.75rem;
	font-family: var(--wp--preset--font-family--body, "Source Sans 3", sans-serif);
	font-size: 0.95rem;
	color: var(--wp--preset--color--contrast, #0E1C2B);
	background: var(--wp--preset--color--base, #F7F4EE);
	border: 1px solid var(--wp--preset--color--border, #C9D6E4);
	border-radius: 8px;
	outline: none;
	transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.alb-audio-input:focus {
	background: #FFFFFF;
	border-color: var(--wp--preset--color--primary, #0B4F8A);
	box-shadow: 0 0 0 3px rgba(11, 79, 138, 0.12);
}

.alb-audio-search-clear {
	position: absolute;
	right: 0.75rem;
	display: none;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	padding: 0;
	border: none;
	background: #CBD5E1;
	color: #334155;
	border-radius: 50%;
	font-size: 1.1rem;
	line-height: 1;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}

.alb-audio-search-clear:hover {
	background: var(--wp--preset--color--primary, #0B4F8A);
	color: #FFFFFF;
}

.alb-audio-select-box {
	position: relative;
	width: 100%;
}

.alb-audio-select-box::after {
	content: '';
	position: absolute;
	right: 1.1rem;
	top: 50%;
	transform: translateY(-50%);
	width: 8px;
	height: 5px;
	background-color: var(--wp--preset--color--primary, #0B4F8A);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	pointer-events: none;
}

.alb-audio-select {
	width: 100%;
	padding: 0.75rem 2.25rem 0.75rem 1rem;
	font-family: var(--wp--preset--font-family--body, "Source Sans 3", sans-serif);
	font-size: 0.92rem;
	font-weight: 500;
	color: var(--wp--preset--color--contrast, #0E1C2B);
	background: var(--wp--preset--color--base, #F7F4EE);
	border: 1px solid var(--wp--preset--color--border, #C9D6E4);
	border-radius: 8px;
	outline: none;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
	transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.alb-audio-select:focus {
	background: #FFFFFF;
	border-color: var(--wp--preset--color--primary, #0B4F8A);
	box-shadow: 0 0 0 3px rgba(11, 79, 138, 0.12);
}

.alb-audio-toolbar__meta-strip {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.85rem;
	padding-top: 0.85rem;
	border-top: 1px solid rgba(201, 214, 228, 0.6);
	font-size: 0.875rem;
}

.alb-audio-toolbar__count {
	font-family: var(--wp--preset--font-family--body, "Source Sans 3", sans-serif);
	font-weight: 600;
	color: var(--wp--preset--color--primary-dark, #062E52);
}

.alb-audio-toolbar__active-pills {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.alb-audio-active-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	background: var(--wp--preset--color--primary-dark, #062E52);
	color: #FFFFFF;
	font-family: var(--wp--preset--font-family--body, "Source Sans 3", sans-serif);
	font-size: 0.78rem;
	font-weight: 500;
	padding: 0.3rem 0.65rem 0.3rem 0.75rem;
	border-radius: 9999px;
}

.alb-audio-active-pill__remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.25);
	color: #FFFFFF;
	border: none;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	font-size: 0.85rem;
	line-height: 1;
	padding: 0;
	cursor: pointer;
	transition: background 0.15s ease;
}

.alb-audio-active-pill__remove:hover {
	background: #FFFFFF;
	color: var(--wp--preset--color--primary-dark, #062E52);
}

.alb-audio-toolbar__reset-btn {
	display: none;
	align-items: center;
	background: transparent;
	border: none;
	color: var(--wp--preset--color--primary, #0B4F8A);
	font-family: var(--wp--preset--font-family--body, "Source Sans 3", sans-serif);
	font-size: 0.82rem;
	font-weight: 600;
	cursor: pointer;
	text-decoration: underline;
	margin-left: auto;
	padding: 0;
}

.alb-audio-toolbar__reset-btn:hover {
	color: var(--wp--preset--color--primary-dark, #062E52);
}

/* Audio Catalog Grid */
.alb-audios-grid {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	width: 100%;
}

.alb-audios-empty {
	padding: 3rem 1.5rem;
	text-align: center;
	background: var(--wp--preset--color--surface, #FFFFFF);
	border: 1px dashed var(--wp--preset--color--border, #C9D6E4);
	border-radius: 12px;
	font-family: var(--wp--preset--font-family--body, "Source Sans 3", sans-serif);
	font-size: 1.05rem;
}

/* Audio Card Item */
.alb-card--audio-item {
	display: flex;
	gap: 1.5rem;
	padding: 1.5rem;
	background: var(--wp--preset--color--surface, #FFFFFF);
	border: 1px solid var(--wp--preset--color--border, #C9D6E4);
	border-radius: 10px;
	box-shadow: 0 4px 16px rgba(6, 46, 82, 0.05);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.alb-card--audio-item:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(6, 46, 82, 0.1);
}

.alb-card-intervenant-tag {
	font-weight: 600;
	color: var(--wp--preset--color--primary, #0B4F8A);
	background: rgba(11, 79, 138, 0.08);
	padding: 0.2rem 0.55rem;
	border-radius: 4px;
	font-size: 0.78rem;
	letter-spacing: 0.02em;
}

@media (max-width: 640px) {
	.alb-card--audio-item {
		flex-direction: column;
	}
}

.iogkf-post-card__image--audio {
	flex: 0 0 160px;
	max-width: 160px;
	border-radius: 6px;
	align-self: flex-start;
}

.iogkf-post-card__image--audio a {
	display: block;
	width: 100%;
	line-height: 0;
	border-radius: 6px;
	overflow: hidden;
}

.iogkf-post-card__image--audio img {
	width: 100% !important;
	height: auto !important;
	max-width: 100% !important;
	display: block;
	border-radius: 6px;
}

@media (max-width: 640px) {
	.iogkf-post-card__image--audio {
		flex: 1 1 100%;
		max-width: 100%;
		height: 180px;
	}
}

/* Audio Fallback Spotlight Visual */
.alb-card-audio-fallback {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 160px;
	background: linear-gradient(135deg, #062e52 0%, #0b4f8a 100%);
	border-radius: 6px;
	padding: 1rem 0.85rem;
	text-decoration: none;
	color: #ffffff;
	box-sizing: border-box;
}

.alb-card-audio-fallback-inner {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.alb-card-audio-badge {
	align-self: flex-start;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--primary-dark);
	font-weight: 700;
	font-size: 0.65rem;
	padding: 0.15rem 0.4rem;
	border-radius: 2px;
}

.alb-card-audio-fallback-inner img,
.alb-card-audio-fallback img {
	width: 36px !important;
	height: 36px !important;
	max-width: 36px !important;
	max-height: 36px !important;
	object-fit: contain !important;
	display: block;
	margin: 0.25rem 0;
}

.alb-card-audio-duration {
	font-size: 0.72rem;
	color: var(--wp--preset--color--accent);
	font-weight: 600;
}

.alb-card-audio-fallback-title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.82rem;
	line-height: 1.25;
	color: #ffffff;
	margin: 0.25rem 0 0 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ——— Pre-footer CTA Banners (Soft Blue #E4EDF6 Parity with Homepage Confiance) ——— */
.iogkf-magazine-cta,
.has-soft-blue-background-color,
.has-primary-soft-background-color {
	background-color: #E4EDF6 !important;
	color: var(--wp--preset--color--ink, #0E1C2B) !important;
}

.iogkf-magazine-cta h2,
.iogkf-magazine-cta h3 {
	color: var(--wp--preset--color--primary-dark, #062E52) !important;
}

.iogkf-magazine-cta p:not(.alb-section-kicker) {
	color: var(--wp--preset--color--muted, #44576B) !important;
}

.iogkf-magazine-cta .has-muted-on-dark {
	color: var(--wp--preset--color--muted, #44576B) !important;
}
.alb-articles-body-group,
.alb-audios-body-group,
.alb-livres-body-group,
.alb-rappels-body-group,
.alb-contact-body-group,
.alb-search-body-group,
.alb-404-body-group {
	width: 100%;
}

/* Universal Proactive Content Width Containers (1120px max-width site-wide) */
.alignwide,
.entry-content .alignwide,
.alb-articles-body-inner,
.alb-audios-body-inner,
.alb-livres-body-inner,
.alb-rappels-body-inner,
.alb-contact-columns,
.alb-search-body-inner,
.alb-404-body-inner,
.alb-articles-browse,
.alb-page-header__inner,
.wp-block-group.alignfull > .alignwide,
.wp-block-group.alignfull > .wp-block-group,
.wp-block-group.alignfull > .wp-block-columns {
	width: 100% !important;
	max-width: var(--wp--style--global--wide-size, 1120px) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
}

.alb-contact-columns {
	column-gap: clamp(1.75rem, 4vw, 3rem) !important;
	align-items: stretch !important;
}

.alb-contact-columns > .wp-block-column,
.alb-contact-columns > .wp-block-column:not(:first-child),
.alb-contact-columns .wp-block-column {
	display: flex !important;
	flex-direction: column !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* Universal Proactive Equal Height Cards for Grid Sections */
.alb-programs .wp-block-columns,
.alb-programs .wp-block-columns.alignwide {
	display: flex !important;
	align-items: stretch !important;
}

.alb-programs .wp-block-columns > .wp-block-column,
.alb-programs .alb-inner-card {
	display: flex !important;
	flex-direction: column !important;
	align-self: stretch !important;
	box-sizing: border-box !important;
}

.alb-contact-form-card {
	padding: clamp(1.5rem, 2.5vw, 2.25rem) !important;
	box-shadow: 0 4px 20px rgba(6, 46, 82, 0.04) !important;
}

.alb-contact-form-card .wpcf7,
.alb-contact-form-card .wpcf7-form {
	width: 100% !important;
}

.alb-contact-form-card .alb-form-label {
	width: 100% !important;
}

.alb-contact-form-card .alb-form-grid {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 1.25rem !important;
	width: 100% !important;
}

@media (max-width: 768px) {
	.alb-contact-form-card .alb-form-grid {
		grid-template-columns: 1fr !important;
	}
}

.alb-rappels-hub-layout {
	display: grid !important;
	grid-template-columns: 1fr 300px !important;
	gap: clamp(1.5rem, 3vw, 2.5rem) !important;
	align-items: flex-start !important;
	width: 100% !important;
}

@media (max-width: 900px) {
	.alb-rappels-hub-layout {
		grid-template-columns: 1fr !important;
	}
}

.alb-rappels-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 1.25rem;
}

.alb-rappel-card-item {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 4px 16px rgba(6, 46, 82, 0.05);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	display: flex;
	flex-direction: column;
}

.alb-rappel-card-item:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(6, 46, 82, 0.1);
}

.alb-rappel-card-thumb {
	width: 100%;
	aspect-ratio: 4/3;
	overflow: hidden;
	background: var(--wp--preset--color--primary-dark);
}

.alb-rappel-card-thumb a {
	display: block;
	width: 100%;
	height: 100%;
}

.alb-rappel-card-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.alb-rappel-card-item:hover .alb-rappel-card-thumb img {
	transform: scale(1.04);
}

.alb-rappel-card-info {
	padding: 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	flex: 1;
}

.alb-rappel-card-theme {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}

.alb-rappel-card-title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.95rem;
	line-height: 1.35;
	margin: 0;
	color: var(--wp--preset--color--ink);
}

/* ——— Lightbox Photo Viewer Modal (Rappels en images) ——— */
.alb-lightbox-modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 99999;
	align-items: center;
	justify-content: center;
}

.alb-lightbox-modal.is-open {
	display: flex;
}

.alb-lightbox-backdrop {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(6, 46, 82, 0.88);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	animation: albFadeIn 0.25s ease;
}

.alb-lightbox-container {
	position: relative;
	z-index: 2;
	width: auto;
	max-width: 90vw;
	max-height: 92vh;
	margin: auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	animation: albScaleIn 0.25s ease;
}

.alb-lightbox-close {
	position: absolute;
	top: -3rem;
	right: 0;
	background: rgba(255, 255, 255, 0.15);
	border: 1px solid rgba(255, 255, 255, 0.3);
	color: #ffffff;
	font-size: 2rem;
	line-height: 1;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s ease, transform 0.2s ease;
	z-index: 10;
}

.alb-lightbox-close:hover {
	background: var(--wp--preset--color--accent, #E09A1B);
	color: #0E1C2B;
	transform: scale(1.08);
}

.alb-lightbox-prev,
.alb-lightbox-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255, 255, 255, 0.15);
	border: 1px solid rgba(255, 255, 255, 0.3);
	color: #ffffff;
	font-size: 2.2rem;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s ease, transform 0.2s ease;
	z-index: 10;
}

.alb-lightbox-prev {
	left: -4rem;
}

.alb-lightbox-next {
	right: -4rem;
}

.alb-lightbox-prev:hover,
.alb-lightbox-next:hover {
	background: var(--wp--preset--color--accent, #E09A1B);
	color: #0E1C2B;
	transform: translateY(-50%) scale(1.1);
}

@media (max-width: 900px) {
	.alb-lightbox-prev {
		left: 0.5rem;
		top: auto;
		bottom: 1rem;
		transform: none;
	}
	.alb-lightbox-next {
		right: 0.5rem;
		top: auto;
		bottom: 1rem;
		transform: none;
	}
	.alb-lightbox-prev:hover,
	.alb-lightbox-next:hover {
		transform: scale(1.1);
	}
}

.alb-lightbox-content {
	width: auto;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	background: transparent;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.6);
	border: 1px solid rgba(255, 255, 255, 0.12);
}

.alb-lightbox-stage {
	width: auto;
	max-height: 76vh;
	background: transparent;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	position: relative;
}

.alb-lightbox-img {
	max-width: 100%;
	max-height: 76vh;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
	transition: opacity 0.2s ease;
	border-radius: 6px 6px 0 0;
}

.alb-lightbox-caption {
	width: 100%;
	padding: 0.85rem 1.25rem;
	background: rgba(6, 46, 82, 0.95);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	text-align: center;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.alb-lightbox-theme {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent, #E09A1B);
}

.alb-lightbox-title {
	font-family: var(--wp--preset--font-family--heading, "Literata", serif);
	font-size: 1rem;
	line-height: 1.35;
	margin: 0;
	color: #ffffff;
}

.alb-lightbox-counter {
	font-size: 0.78rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.65);
	margin-top: 0.15rem;
}

@keyframes albFadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes albScaleIn {
	from { opacity: 0; transform: scale(0.95); }
	to { opacity: 1; transform: scale(1); }
}

.alb-articles-hub-layout {
	display: grid !important;
	grid-template-columns: 1fr 300px !important;
	gap: clamp(1.5rem, 3vw, 2.5rem) !important;
	align-items: flex-start !important;
	width: 100% !important;
}

@media (max-width: 900px) {
	.alb-articles-hub-layout {
		grid-template-columns: 1fr !important;
	}
}

.alb-articles-grid {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

/* Article Card Item */
.alb-card--article-item {
	display: flex;
	gap: 1.5rem;
	padding: 1.5rem;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 10px;
	box-shadow: 0 4px 16px rgba(6, 46, 82, 0.05);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.alb-card--article-item:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(6, 46, 82, 0.1);
}

@media (max-width: 640px) {
	.alb-card--article-item {
		flex-direction: column;
	}
}

.iogkf-post-card__image--article {
	flex: 0 0 160px;
	max-width: 160px;
	border-radius: 6px;
	align-self: flex-start;
}

.iogkf-post-card__image--article a {
	display: block;
	width: 100%;
	line-height: 0;
	border-radius: 6px;
	overflow: hidden;
}

.iogkf-post-card__image--article img {
	width: 100% !important;
	height: auto !important;
	max-width: 100% !important;
	display: block;
	border-radius: 6px;
}

@media (max-width: 640px) {
	.iogkf-post-card__image--article {
		flex: 1 1 100%;
		max-width: 100%;
		height: 180px;
	}
}

/* Article Fallback Visual */
.alb-card-article-fallback {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 160px;
	background: linear-gradient(135deg, #062e52 0%, #0b4f8a 100%);
	border-radius: 6px;
	padding: 1rem 0.85rem;
	text-decoration: none;
	color: #ffffff;
	box-sizing: border-box;
}

.alb-card-article-fallback-inner {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.alb-card-article-badge {
	align-self: flex-start;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--primary-dark);
	font-weight: 700;
	font-size: 0.65rem;
	padding: 0.15rem 0.4rem;
	border-radius: 2px;
}

.alb-card-article-fallback-inner img,
.alb-card-article-fallback img {
	width: 36px !important;
	height: 36px !important;
	max-width: 36px !important;
	max-height: 36px !important;
	object-fit: contain !important;
	display: block;
	margin: 0.25rem 0;
}

.alb-card-article-fallback-title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.82rem;
	line-height: 1.25;
	color: #ffffff;
	margin: 0.25rem 0 0 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ——— Contact Form 7 Branding & Inputs ——— */
.wpcf7-form {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.alb-form-label {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	font-family: var(--wp--preset--font-family--body, "Source Sans 3", sans-serif);
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--wp--preset--color--primary-dark, #062E52);
}

.alb-required {
	color: #D9381E;
}

.wpcf7-form-control-wrap {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 textarea,
.wpcf7-form-control {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	padding: 0.75rem 1rem;
	font-family: var(--wp--preset--font-family--body, "Source Sans 3", sans-serif);
	font-size: 0.95rem;
	line-height: 1.5;
	color: var(--wp--preset--color--ink, #0E1C2B);
	background: #FFFFFF;
	border: 1px solid var(--wp--preset--color--border, #C9D6E4);
	border-radius: 4px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	outline: none;
}

.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 input[type="url"]:focus,
.wpcf7 textarea:focus {
	border-color: var(--wp--preset--color--primary, #0B4F8A);
	box-shadow: 0 0 0 3px rgba(11, 79, 138, 0.15);
}

.wpcf7 input[type="submit"],
.alb-form-submit input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.75rem 1.75rem;
	font-family: var(--wp--preset--font-family--body, "Source Sans 3", sans-serif);
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #FFFFFF !important;
	background: var(--wp--preset--color--primary-dark, #062E52) !important;
	border: none !important;
	border-radius: 0px !important;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.15s ease;
	box-shadow: 0 2px 6px rgba(6, 46, 82, 0.2);
}

.wpcf7 input[type="submit"]:hover,
.alb-form-submit input[type="submit"]:hover {
	background: var(--wp--preset--color--primary, #0B4F8A) !important;
	transform: translateY(-1px);
}

.wpcf7-response-output {
	margin: 1rem 0 0 0 !important;
	padding: 0.85rem 1.25rem !important;
	border-radius: 4px !important;
	font-size: 0.9rem !important;
}

.wpcf7-not-valid-tip {
	font-size: 0.8rem;
	color: #D9381E;
	margin-top: 0.3rem;
}

.alb-form-field {
	display: flex;
	flex-direction: column;
	width: 100%;
	margin-bottom: 1rem;
}

.alb-form-grid {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 1.25rem !important;
	width: 100% !important;
	margin-bottom: 0.25rem !important;
}

.alb-form-grid p {
	margin: 0 !important;
	padding: 0 !important;
}

@media (max-width: 640px) {
	.alb-form-grid {
		grid-template-columns: 1fr !important;
	}
}

/* ——— Contact Page: Branded Card Layout ——— */
.alb-contact-form-card {
	padding: 1.75rem !important;
	border: 1px solid #C9D6E4 !important;
	border-radius: 10px !important;
	box-shadow: 0 2px 12px rgba(6, 46, 82, 0.04) !important;
	background: #FFFFFF !important;
	height: 100% !important;
	box-sizing: border-box !important;
	display: flex !important;
	flex-direction: column !important;
}

aside.alb-contact-sidebar-card {
	padding: 1.75rem !important;
	margin: 0 !important;
	border: 1px solid #C9D6E4 !important;
	border-radius: 10px !important;
	box-shadow: 0 2px 12px rgba(6, 46, 82, 0.04) !important;
	background: #FFFFFF !important;
	height: 100% !important;
	box-sizing: border-box !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-start !important;
	gap: 0 !important;
}

@media (max-width: 900px) {
	.alb-contact-sidebar-card {
		position: static !important;
	}
}

/* Card headings */
.alb-contact-form-card h2 {
	margin-top: 0 !important;
	margin-bottom: 0.25rem !important;
	font-size: 1.3rem !important;
	color: var(--wp--preset--color--primary-dark, #062E52) !important;
}

.alb-contact-form-card p.has-muted-color {
	margin-top: 0 !important;
	margin-bottom: 1rem !important;
	font-size: 0.88rem !important;
	line-height: 1.5 !important;
}

/* Remove CF7 auto linebreaks */
.alb-contact-form-card br,
.wpcf7-form br {
	display: none !important;
}

/* CF7 form container — strip plugin defaults */
.alb-contact-form-card .wpcf7,
.alb-contact-form-card .wpcf7-form,
.wpcf7-form {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 !important;
	gap: 0.2rem !important;
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
}

/* Message field flex expansion */
.alb-contact-form-card .alb-form-field--message {
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	margin-bottom: 0 !important;
}

.alb-contact-form-card .alb-form-field--message .wpcf7-form-control-wrap {
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	margin-bottom: 0 !important;
}

/* 2-column grid for Name + Email */
.alb-contact-form-card .alb-form-grid,
.alb-form-grid {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 0.5rem !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	margin-bottom: 0 !important;
}

/* Field wrappers */
.alb-contact-form-card .alb-form-field,
.alb-form-field {
	display: flex !important;
	flex-direction: column !important;
	margin-bottom: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

/* Labels — brand typography */
.alb-contact-form-card .alb-form-label {
	display: block !important;
	margin-bottom: 0.2rem !important;
	font-family: var(--wp--preset--font-family--body, "Source Sans 3", sans-serif) !important;
	font-size: 0.82rem !important;
	font-weight: 600 !important;
	color: var(--wp--preset--color--primary-dark, #062E52) !important;
	letter-spacing: 0.01em !important;
}

.alb-contact-form-card .alb-required {
	color: #E09A1B !important;
	font-weight: 700 !important;
}

/* Form inputs — clean, no hover glow, scholarly */
.alb-contact-form-card input[type="text"],
.alb-contact-form-card input[type="email"],
.alb-contact-form-card textarea {
	padding: 0.5rem 0.75rem !important;
	font-size: 0.9rem !important;
	font-family: var(--wp--preset--font-family--body, "Source Sans 3", sans-serif) !important;
	line-height: 1.45 !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	border: 1px solid #C9D6E4 !important;
	border-radius: 6px !important;
	background: #FAFCFE !important;
	color: var(--wp--preset--color--ink, #0E1C2B) !important;
	outline: none !important;
	box-shadow: none !important;
	transition: border-color 0.2s ease !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}

.alb-contact-form-card input[type="text"]:focus,
.alb-contact-form-card input[type="email"]:focus,
.alb-contact-form-card textarea:focus {
	border-color: #0B4F8A !important;
	box-shadow: none !important;
	outline: none !important;
	background: #FFFFFF !important;
}

/* No hover glow / transform on fields */
.alb-contact-form-card input[type="text"]:hover,
.alb-contact-form-card input[type="email"]:hover,
.alb-contact-form-card textarea:hover {
	border-color: #C9D6E4 !important;
	box-shadow: none !important;
	transform: none !important;
}

.alb-contact-form-card textarea {
	min-height: 240px !important;
	height: 100% !important;
	flex: 1 !important;
	resize: vertical !important;
}

/* Submit button — DS primary style (matches is-style-alb-btn-primary) */
.alb-form-submit-row {
	margin-top: 0.2rem !important;
	display: flex !important;
	justify-content: flex-start !important;
}

.alb-contact-form-card input[type="submit"],
.alb-form-submit-row input[type="submit"] {
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	min-height: 48px !important;
	padding: 0.9rem 2.65rem 0.9rem 1.25rem !important;
	font-family: var(--wp--preset--font-family--body, "Source Sans 3", sans-serif) !important;
	font-size: 0.72rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.1em !important;
	line-height: 1.3 !important;
	text-transform: uppercase !important;
	color: #FFFFFF !important;
	background-color: var(--wp--preset--color--primary-dark, #062E52) !important;
	border: 1px solid transparent !important;
	border-radius: 0 !important;
	cursor: pointer !important;
	box-shadow: none !important;
	background-repeat: no-repeat !important;
	background-position: calc(100% + 1.15em) 50% !important;
	background-size: 0.72em 0.72em !important;
	transition:
		background-color 0.18s ease,
		color 0.18s ease,
		border-color 0.18s ease,
		background-position 0.18s ease,
		filter 0.18s ease !important;
}

.alb-contact-form-card input[type="submit"]:hover,
.alb-contact-form-card input[type="submit"]:focus,
.alb-form-submit-row input[type="submit"]:hover,
.alb-form-submit-row input[type="submit"]:focus {
	background-color: var(--wp--preset--color--primary, #0B4F8A) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12L12 4'/%3E%3Cpath d='M6 4h6v6'/%3E%3C/svg%3E") !important;
	background-position: calc(100% - 0.85em) 50% !important;
	background-repeat: no-repeat !important;
	background-size: 0.72em 0.72em !important;
}

/* Sidebar sections */
.alb-contact-side-section {
	padding-bottom: 1.1rem !important;
	margin-bottom: 1.1rem !important;
}

.alb-contact-side-section:last-child {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
	border-bottom: none !important;
}

.alb-contact-sidebar-card .alb-section-kicker {
	margin-bottom: 0.3rem !important;
}

.alb-contact-sidebar-card h3 {
	font-size: 1.05rem !important;
	margin-bottom: 0.35rem !important;
	color: var(--wp--preset--color--primary-dark, #062E52) !important;
}

.alb-contact-sidebar-card .has-small-font-size {
	line-height: 1.5 !important;
}

.alb-contact-sidebar-card ul {
	padding-left: 1rem !important;
	margin: 0 !important;
}

.alb-contact-sidebar-card ul li {
	margin-bottom: 0.3rem !important;
	line-height: 1.45 !important;
}

/* Sidebar CTA buttons */
.alb-contact-sidebar-card .wp-block-buttons {
	margin-top: 0.5rem !important;
}

@media (max-width: 640px) {
	.alb-form-grid {
		grid-template-columns: 1fr !important;
	}
}

.alb-form-grid p {
	margin: 0 !important;
	padding: 0 !important;
}

/* ——— Scroll-to-Top Button + Scroll Progress Indicator (Brand Aligned) ——— */
.alb-scroll-top {
	position: fixed;
	bottom: 2rem;
	right: 2rem;
	z-index: 9999;
	width: 48px;
	height: 48px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background-color: var(--wp--preset--color--primary-dark, #062e52);
	color: var(--wp--preset--color--accent, #e09a1b);
	box-shadow: 0 4px 18px rgba(6, 46, 82, 0.28);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(16px) scale(0.9);
	transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1),
	            transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
	            visibility 0.3s ease,
	            background-color 0.2s ease,
	            color 0.2s ease,
	            box-shadow 0.2s ease;
}

.alb-scroll-top.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0) scale(1);
}

.alb-scroll-top:hover,
.alb-scroll-top:focus-visible {
	background-color: var(--wp--preset--color--primary, #0b4f8a) !important;
	color: #ffffff !important;
	box-shadow: 0 6px 22px rgba(6, 46, 82, 0.4) !important;
	transform: translateY(-4px) scale(1.05) !important;
	outline: none;
}

.alb-scroll-top:active {
	transform: translateY(-1px) scale(0.98) !important;
}

/* SVG Progress Ring overlay */
.alb-scroll-progress-ring {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform: rotate(-90deg); /* Start progress ring from top 12 o'clock position */
	pointer-events: none;
}

.alb-scroll-bar {
	transition: stroke-dashoffset 0.1s linear, stroke 0.2s ease;
}

.alb-scroll-top:hover .alb-scroll-bar {
	stroke: #ffffff !important;
}

.alb-scroll-icon {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
}

.alb-scroll-icon svg {
	width: 18px;
	height: 18px;
	stroke: currentColor;
	transition: transform 0.2s ease;
}

.alb-scroll-top:hover .alb-scroll-icon svg {
	transform: translateY(-2px);
}

@media (max-width: 600px) {
	.alb-scroll-top {
		bottom: 1.25rem;
		right: 1.25rem;
		width: 44px;
		height: 44px;
	}
}

/* Animated Back Link Hover */
.alb-audio-single-back a,
.alb-back-link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-weight: 600;
	color: var(--wp--preset--color--primary);
	text-decoration: none;
	transition: color 0.2s ease;
}

.alb-back-arrow {
	display: inline-block;
	transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.alb-audio-single-back a:hover .alb-back-arrow,
.alb-back-link:hover .alb-back-arrow {
	transform: translateX(-6px);
}

.alb-audio-single-back a:hover,
.alb-back-link:hover {
	color: var(--wp--preset--color--primary-dark);
}
