/*
Theme Name: SAMF
Theme URI: https://www.samf.fr/
Author: DEVOUWEB
Description: Thème de blocs dédié au site du Syndicat des Agents Maritimes de France.
Version: 0.5.0
Requires at least: 7.1
Requires PHP: 8.2
Text Domain: samf
*/

/* Base et surfaces du navigateur. */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
}

body,
button,
input,
select,
textarea {
	font-family: var(--wp--preset--font-family--barlow, Barlow, Arial, sans-serif);
}

::selection {
	background: var(--wp--preset--color--action-yellow, #edcc4d);
	color: var(--wp--preset--color--navy, #222a40);
}

:where(a, button, input, select, summary, textarea):focus-visible {
	border-radius: 0.25rem;
	outline: 3px solid var(--wp--preset--color--blue, #37507f);
	outline-offset: 3px;
}

.samf-primary-navigation .is-menu-open :where(a, button):focus-visible,
.samf-site-footer :where(a, button):focus-visible {
	outline-color: var(--wp--preset--color--action-yellow, #edcc4d);
}

a {
	text-underline-offset: 0.2em;
	text-decoration-thickness: 0.08em;
}

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

/* En-tête et navigation globale. */
.samf-site-header {
	background: var(--wp--preset--color--off-white, #f7f7f5);
	border-bottom: 1px solid var(--wp--preset--color--separator, #e2e3e1);
	box-sizing: border-box;
	min-height: var(--wp--custom--header--height, 6.75rem);
	padding-block: 1rem;
	position: sticky;
	top: 0;
	transition: background-color var(--wp--custom--motion--duration, 180ms) var(--wp--custom--motion--ease-out, ease-out), box-shadow var(--wp--custom--motion--duration, 180ms) var(--wp--custom--motion--ease-out, ease-out);
	z-index: 1000;
}

.samf-site-header__inner {
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size, 84rem);
	width: 100%;
}

.samf-brand {
	display: inline-flex;
	flex: 0 1 16.25rem;
	position: relative;
	z-index: 10002;
}

.samf-brand__logo {
	display: block;
	width: min(16.25rem, 100%);
}

.samf-brand__logo--light {
	display: none;
}

.samf-header-actions {
	gap: clamp(0.5rem, 1.2vw, 1rem);
}

.samf-agent-cta,
.samf-language-switcher {
	position: relative;
	z-index: 10002;
}

.samf-agent-cta .wp-block-button__link {
	min-height: 3.25rem;
	min-width: 15.75rem;
}

.samf-language-switcher {
	align-items: center;
	background: var(--wp--preset--color--navy, #222a40);
	border: 1px solid var(--wp--preset--color--navy, #222a40);
	border-radius: 999px;
	box-sizing: border-box;
	display: flex;
	gap: 0.125rem;
	list-style: none;
	margin: 0;
	padding: 0.0625rem;
	width: auto;
}

/* Polylang 3.9+ : la liste est enveloppée et mise en colonne par défaut. */
.samf-language-switcher ul {
	display: flex;
	flex-direction: row;
	gap: 0.125rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.samf-language-switcher li {
	margin: 0;
}

.samf-language-switcher a {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 999px;
	box-sizing: border-box;
	color: var(--wp--preset--color--white, #fff);
	display: flex;
	font-size: 0.6875rem;
	font-weight: 700;
	gap: 0.4rem;
	height: 2.75rem;
	justify-content: center;
	letter-spacing: 0.04em;
	min-width: 3.75rem;
	padding-inline: 0.7rem;
	text-decoration: none;
	transition: background-color var(--wp--custom--motion--duration, 180ms) var(--wp--custom--motion--ease-out, ease-out), color var(--wp--custom--motion--duration, 180ms) var(--wp--custom--motion--ease-out, ease-out);
}

.samf-language-switcher a:hover {
	background: rgb(255 255 255 / 14%);
	color: var(--wp--preset--color--white, #fff);
}

.samf-language-switcher .current-lang a {
	background: var(--wp--preset--color--action-yellow, #edcc4d);
	color: var(--wp--preset--color--navy, #222a40);
	cursor: default;
}

.samf-language-switcher .current-lang a:hover {
	background: var(--wp--preset--color--title-gold, #dbc368);
	color: var(--wp--preset--color--navy, #222a40);
}

.samf-language-switcher a:focus-visible {
	outline-color: var(--wp--preset--color--action-yellow, #edcc4d);
}

.samf-language-switcher a[lang^="fr"]::after {
	content: "FR";
}

.samf-language-switcher a[lang^="en"]::after {
	content: "EN";
}

.samf-language-switcher img {
	display: block;
	height: auto;
	width: 1rem;
}

/* Polylang 3.9+ : drapeau SVG dans un span dont la largeur est imposée en ligne. */
.samf-language-switcher .pll-switcher-flag {
	width: 1rem !important;
}

.samf-primary-navigation {
	position: relative;
	z-index: 10001;
}

.samf-primary-navigation .wp-block-navigation__responsive-container-open {
	align-items: center;
	color: var(--wp--preset--color--navy, #222a40);
	display: flex;
	height: 3rem;
	justify-content: center;
	width: 3rem;
}

.samf-primary-navigation .wp-block-navigation__responsive-container-open svg,
.samf-primary-navigation .wp-block-navigation__responsive-container-close svg {
	height: 2rem;
	width: 2rem;
}

.samf-primary-navigation .wp-block-navigation__responsive-container.is-menu-open {
	background-color: rgb(34 42 64 / 95%) !important;
	color: var(--wp--preset--color--white, #fff);
	padding: clamp(7rem, 15vh, 10rem) clamp(1.5rem, 7vw, 8rem) 3rem;
	z-index: 10000;
}

.samf-primary-navigation .is-menu-open .wp-block-navigation__responsive-container-close {
	align-items: center;
	color: var(--wp--preset--color--white, #fff);
	display: flex;
	height: 3rem;
	justify-content: center;
	right: clamp(1rem, 3vw, 3rem);
	top: 1.85rem;
	width: 3rem;
}

.samf-primary-navigation .is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: flex-start;
	justify-content: center;
	margin-inline: auto;
	max-width: 42rem;
	width: 100%;
}

.samf-primary-navigation .is-menu-open .wp-block-navigation__container {
	align-items: stretch;
	gap: clamp(0.4rem, 1.5vh, 1rem);
	width: 100%;
}

.samf-primary-navigation .is-menu-open .wp-block-navigation-item {
	width: 100%;
}

.samf-primary-navigation .is-menu-open .wp-block-navigation-item__content {
	align-items: center;
	color: var(--wp--preset--color--white, #fff);
	display: flex;
	font-size: clamp(1.35rem, 1rem + 1.3vw, 2rem);
	font-weight: 300;
	gap: 1rem;
	line-height: 1.15;
	padding-block: 0.55rem;
	text-decoration: none;
	transition: color var(--wp--custom--motion--duration, 180ms) var(--wp--custom--motion--ease-out, ease-out), transform var(--wp--custom--motion--duration, 180ms) var(--wp--custom--motion--ease-out, ease-out);
	width: 100%;
}

.samf-primary-navigation .is-menu-open .wp-block-navigation-item__content::before {
	background: url("assets/images/menu-arrow.svg") center / contain no-repeat;
	content: "";
	flex: 0 0 1.75rem;
	height: 1.75rem;
}

.samf-primary-navigation .is-menu-open .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--action-yellow, #edcc4d);
	transform: translateX(0.3rem);
}

body:has(.samf-primary-navigation .is-menu-open) {
	overflow: hidden;
}

body:has(.samf-primary-navigation .is-menu-open) .samf-site-header {
	background: transparent;
	border-bottom-color: transparent;
	box-shadow: none;
}

body:has(.samf-primary-navigation .is-menu-open) .samf-brand__logo--colour {
	display: none;
}

body:has(.samf-primary-navigation .is-menu-open) .samf-brand__logo--light {
	display: block;
}

/* En-tête superposé à la vidéo d’accueil. */
.samf-site-header--overlay {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 1000;
}

/* Le fond est porté par le groupe interne : c’est lui qu’il faut rendre
   transparent pour laisser voir la vidéo. */
.samf-site-header--overlay .samf-site-header {
	background: transparent;
	border-bottom-color: transparent;
	position: static;
}

.samf-site-header--overlay .samf-brand__logo--colour {
	display: none;
}

.samf-site-header--overlay .samf-brand__logo--light {
	display: block;
}

.samf-site-header--overlay .samf-primary-navigation .wp-block-navigation__responsive-container-open {
	color: var(--wp--preset--color--white, #fff);
}

.samf-site-header--overlay .samf-language-switcher {
	background: rgb(34 42 64 / 55%);
	border-color: rgb(255 255 255 / 45%);
}

/* Accroche d’accueil : vidéo plein écran et promesse SAMF. */
.samf-hero {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 100svh;
	overflow: hidden;
	padding: calc(var(--wp--custom--header--height, 6.75rem) + 2rem) clamp(1rem, 3vw, 3rem) clamp(3rem, 8vh, 6rem);
	position: relative;
	width: 100%;
}

.samf-hero__media {
	inset: 0;
	position: absolute;
}

.samf-hero__video,
.samf-hero__fallback {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.samf-hero__overlay {
	background: var(--wp--custom--overlay--home, rgb(30 27 60 / 51%));
	inset: 0;
	position: absolute;
}

.samf-hero__video {
	inset: 0;
	opacity: 0;
	position: absolute;
}

.samf-hero__video.is-playing {
	opacity: 1;
}

.samf-hero__content {
	color: var(--wp--preset--color--white, #fff);
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size, 84rem);
	position: relative;
	text-align: center;
	width: 100%;
}

.samf-hero__eyebrow {
	font-size: clamp(1rem, 0.85rem + 0.6vw, 1.4rem);
	font-weight: 300;
	letter-spacing: 0.35em;
	margin: 0 0 clamp(0.5rem, 1.5vh, 1.25rem);
	text-indent: 0.35em;
	text-transform: uppercase;
}

.samf-hero__title {
	color: var(--wp--preset--color--white, #fff);
	display: grid;
	gap: clamp(0.1rem, 0.4vh, 0.35rem);
	letter-spacing: -0.015em;
	line-height: 1.02;
	margin: 0 auto clamp(1.75rem, 4vh, 3rem);
	max-width: 22ch;
	text-transform: uppercase;
}

.samf-hero__title-light {
	font-size: clamp(1.75rem, 0.9rem + 3.4vw, 3.4rem);
	font-weight: 300;
}

.samf-hero__title-strong {
	font-size: clamp(2.1rem, 0.9rem + 4.6vw, 4.6rem);
	font-weight: 700;
}

.samf-hero__actions {
	margin: 0;
}

.samf-hero__cta {
	background: var(--wp--preset--color--action-yellow, #edcc4d);
	border: 2px solid var(--wp--preset--color--action-yellow, #edcc4d);
	border-radius: 999px;
	color: var(--wp--preset--color--ink, #1e1b3c);
	display: inline-flex;
	align-items: center;
	font-size: 0.875rem;
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.01em;
	min-height: 3.25rem;
	padding: 0.8rem 2.25rem;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color var(--wp--custom--motion--duration, 180ms) var(--wp--custom--motion--ease-out, ease-out), color var(--wp--custom--motion--duration, 180ms) var(--wp--custom--motion--ease-out, ease-out);
}

.samf-hero__cta:hover {
	background: var(--wp--preset--color--white, #fff);
	border-color: var(--wp--preset--color--white, #fff);
	color: var(--wp--preset--color--ink, #1e1b3c);
}

.samf-hero__cta:focus-visible {
	outline-color: var(--wp--preset--color--action-yellow, #edcc4d);
}

/* Typographie éditoriale et composants réutilisables. */
.samf-main {
	min-height: 45vh;
	padding-block: var(--wp--preset--spacing--huge, 5rem) var(--wp--preset--spacing--section, 8rem);
}

/* L’accueil colle sa vidéo au bord haut : le rythme vertical est porté par le hero. */
.samf-main--home {
	min-height: 0;
	padding-block: 0;
}

.samf-page-title {
	border-bottom: 1px solid var(--wp--preset--color--separator, #e2e3e1);
	margin-bottom: var(--wp--preset--spacing--large, 2.75rem);
	padding-bottom: var(--wp--preset--spacing--huge, 5rem);
}

.samf-page-title__heading {
	margin: 0;
	max-width: 13ch;
}

.samf-page-title__accent {
	color: var(--wp--preset--color--title-gold, #dbc368);
	font-weight: 300;
}

.samf-lead {
	color: var(--wp--preset--color--blue, #37507f);
	font-size: var(--wp--preset--font-size--lead, 1.25rem);
	font-weight: 500;
	line-height: 1.45;
	max-width: 70ch;
}

.wp-block-button.is-style-samf-secondary .wp-block-button__link {
	background: var(--wp--preset--color--blue, #37507f);
	border-color: var(--wp--preset--color--blue, #37507f);
	color: var(--wp--preset--color--title-gold, #dbc368);
}

/* Exception de survol : sur les fonds bleus ou or de la charte, le survol par
   défaut (fond bleu, texte blanc) disparaîtrait. Ces boutons passent au blanc.

   Deux libellés selon la base du bouton : les boutons à base jaune gardent au
   survol l’encre de leur état de repos ; ceux à base bleue prennent le bleu de
   la charte. */
.samf-footer-intro .wp-block-button__link:hover,
.samf-article-xd__contact .wp-block-button__link:hover,
.samf-site-header--overlay .samf-agent-cta .wp-block-button__link:hover {
	background: var(--wp--preset--color--white, #fff);
	border-color: var(--wp--preset--color--white, #fff);
	color: var(--wp--preset--color--ink, #1e1b3c);
}

.wp-block-button.is-style-samf-secondary .wp-block-button__link:hover,
.samf-newsletter-banner .wp-block-button__link:hover {
	background: var(--wp--preset--color--white, #fff);
	border-color: var(--wp--preset--color--white, #fff);
	color: var(--wp--preset--color--blue, #37507f);
}

.wp-block-button.is-style-samf-outline .wp-block-button__link {
	background: transparent;
	border-color: currentcolor;
	color: var(--wp--preset--color--navy, #222a40);
}

.wp-block-button.is-style-samf-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--navy, #222a40);
	color: var(--wp--preset--color--white, #fff);
}

.wp-block-group.is-style-samf-card,
.samf-card {
	background: var(--wp--preset--color--white, #fff);
	border-radius: var(--wp--preset--border-radius--card, 0.875rem);
	box-shadow: var(--wp--preset--shadow--card, 0 0.75rem 2.5rem rgb(34 42 64 / 10%));
	height: 100%;
	overflow: hidden;
	padding: clamp(1.25rem, 2vw, 2rem);
}

.samf-card > :first-child {
	margin-top: 0;
}

.samf-card > :last-child {
	margin-bottom: 0;
}

.samf-card__link {
	font-weight: 600;
}

.samf-card__link::after {
	background: url("assets/images/menu-arrow.svg") center / contain no-repeat;
	content: "";
	display: inline-block;
	height: 1.15em;
	margin-left: 0.45rem;
	transition: transform var(--wp--custom--motion--duration, 180ms) var(--wp--custom--motion--ease-out, ease-out);
	vertical-align: -0.18em;
	width: 1.15em;
}

.samf-card__link:hover::after {
	transform: translateX(0.25rem);
}

.samf-editorial-page > .wp-block-post-content > :first-child {
	margin-top: 0;
}

.samf-editorial-section {
	margin-block: var(--wp--preset--spacing--huge, 5rem);
}

.samf-editorial-section img,
.samf-article__image img,
.samf-case-card__image img,
.samf-case-detail__image img {
	border-radius: var(--wp--preset--border-radius--card, 0.875rem);
}

.samf-placeholder {
	background: var(--wp--preset--color--pale-blue, #ecf1fa);
	border-radius: var(--wp--preset--border-radius--card, 0.875rem);
	padding: clamp(2rem, 5vw, 4rem);
}

.samf-placeholder h2 {
	margin-top: 0;
}

/* Annuaire des compagnies. */
.samf-companies {
	display: grid;
	gap: clamp(2.5rem, 5vw, 5rem) clamp(2rem, 5vw, 5rem);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.samf-companies__title {
	color: var(--wp--preset--color--navy, #222a40);
	font-size: var(--wp--preset--font-size--heading-medium, 2rem);
	margin-top: 0;
}

.samf-companies__list,
.samf-docs__list,
.samf-newsletters {
	list-style: none;
	margin: 0;
	padding: 0;
}

.samf-company {
	align-items: center;
	border-top: 1px solid var(--wp--preset--color--separator, #e2e3e1);
	display: grid;
	gap: 1rem;
	grid-template-columns: 7.5rem minmax(0, 1fr);
	min-height: 6.75rem;
	padding-block: 1rem;
}

.samf-company:last-child {
	border-bottom: 1px solid var(--wp--preset--color--separator, #e2e3e1);
}

.samf-company__logo {
	align-items: center;
	background: var(--wp--preset--color--white, #fff);
	border-radius: 0.5rem;
	display: flex;
	height: 4.75rem;
	justify-content: center;
	padding: 0.65rem;
}

.samf-company__logo img {
	max-height: 3.5rem;
	width: auto;
}

.samf-company__logo-placeholder {
	color: rgb(55 80 127 / 55%);
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
}

.samf-company__body,
.samf-company__name,
.samf-company__mention {
	display: block;
}

.samf-company__name {
	font-weight: 600;
}

.samf-company__place,
.samf-company__mention {
	color: var(--wp--preset--color--navy, #222a40);
	font-size: var(--wp--preset--font-size--small, 0.875rem);
}

/* Cas pratiques. */
.samf-case-list .wp-block-post-template {
	display: grid;
	gap: clamp(1.5rem, 3vw, 2.75rem);
}

.samf-case-card {
	align-items: stretch !important;
	background: var(--wp--preset--color--white, #fff);
	border-radius: var(--wp--preset--border-radius--card, 0.875rem);
	box-shadow: var(--wp--preset--shadow--card, 0 0.75rem 2.5rem rgb(34 42 64 / 10%));
	display: grid !important;
	grid-template-columns: minmax(16rem, 0.8fr) minmax(0, 1.2fr);
	overflow: hidden;
}

.samf-case-list .wp-block-post:nth-child(even) .samf-case-card__image {
	order: 2;
}

.samf-case-card__image,
.samf-case-card__image a,
.samf-case-card__image img {
	height: 100%;
	margin: 0;
	width: 100%;
}

.samf-case-card__image img {
	border-radius: 0;
	object-fit: cover;
}

.samf-case-card__body {
	align-self: center;
	padding: clamp(1.5rem, 4vw, 4rem);
}

.samf-case-card__body h2 {
	margin-top: 0;
}

.samf-case__situation {
	margin-block: var(--wp--preset--spacing--large, 2.75rem);
}

.samf-case__label,
.samf-case__panel-title {
	font-size: var(--wp--preset--font-size--heading-medium, 2rem);
}

.samf-case__panels {
	display: grid;
	gap: clamp(1rem, 3vw, 2rem);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-block: var(--wp--preset--spacing--huge, 5rem);
}

.samf-case__panel {
	background: var(--wp--preset--color--blue, #37507f);
	color: var(--wp--preset--color--white, #fff);
	border-radius: var(--wp--preset--border-radius--card, 0.875rem);
	padding: clamp(1.5rem, 3vw, 3rem);
}

.samf-case__panel--resultat {
	background: var(--wp--preset--color--title-gold, #dbc368);
	color: var(--wp--preset--color--blue, #37507f);
}

.samf-case__panel :where(h2, h3) {
	color: inherit;
}

.samf-case__benefits li::marker {
	color: var(--wp--preset--color--white, #fff);
}

/* Documentation et lettres. */
.samf-doc {
	align-items: center;
	border-top: 1px solid var(--wp--preset--color--separator, #e2e3e1);
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	padding-block: 1rem;
}

.samf-doc__issuer {
	color: var(--wp--preset--color--navy, #222a40);
	font-weight: 600;
}

.samf-doc__download,
.samf-newsletter__link {
	font-weight: 600;
	white-space: nowrap;
}

.samf-section-title {
	margin-top: var(--wp--preset--spacing--huge, 5rem);
}

.samf-form-placeholder {
	background: var(--wp--preset--color--pale-blue, #ecf1fa);
	border: 1px solid rgb(55 80 127 / 18%);
	border-radius: var(--wp--preset--border-radius--subtle, 0.375rem);
	padding: 1.25rem 1.5rem;
}

.samf-newsletter {
	align-items: center;
	border-bottom: 1px solid var(--wp--preset--color--separator, #e2e3e1);
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	padding-block: 1.25rem;
}

.samf-newsletter__title {
	font-size: var(--wp--preset--font-size--lead, 1.25rem);
	font-weight: 500;
}

/* Cartes d’actualités et article. */
.samf-news-grid .wp-block-post-template {
	gap: clamp(1rem, 2vw, 1.75rem);
}

.samf-news-card {
	background: var(--wp--preset--color--white, #fff);
	border-radius: var(--wp--preset--border-radius--card, 0.875rem);
	box-shadow: var(--wp--preset--shadow--card, 0 0.75rem 2.5rem rgb(34 42 64 / 10%));
	display: flex;
	flex-direction: column;
	min-height: 16rem;
	padding: clamp(1.25rem, 2.2vw, 2rem);
}

.samf-news-card h2 {
	margin-top: 1rem;
}

.samf-news-card .samf-card__link {
	margin-top: auto;
}

.samf-tag a {
	background: var(--wp--preset--color--title-gold, #dbc368);
	border-radius: 0.25rem;
	color: var(--wp--preset--color--navy, #222a40);
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 600;
	padding: 0.2rem 0.5rem;
	text-decoration: none;
	text-transform: uppercase;
}

.samf-article__meta {
	justify-content: space-between;
	margin-bottom: var(--wp--preset--spacing--large, 2.75rem);
}

.samf-article .samf-page-title__heading {
	font-size: clamp(2.75rem, 3.5vw, 4rem);
	max-width: 24ch;
}

.samf-article__cta,
.samf-case-detail__cta {
	margin-top: var(--wp--preset--spacing--huge, 5rem);
}

.samf-accordion-group {
	border-top: 1px solid var(--wp--preset--color--separator, #e2e3e1);
}

.samf-accordion {
	border-bottom: 1px solid var(--wp--preset--color--separator, #e2e3e1);
	padding-block: 0;
}

.samf-accordion summary {
	color: var(--wp--preset--color--blue, #37507f);
	cursor: pointer;
	font-size: var(--wp--preset--font-size--lead, 1.25rem);
	font-weight: 500;
	list-style: none;
	padding: 1.5rem 3.5rem 1.5rem 0;
	position: relative;
}

.samf-accordion summary::-webkit-details-marker {
	display: none;
}

.samf-accordion summary::before,
.samf-accordion summary::after {
	background: currentcolor;
	content: "";
	height: 2px;
	position: absolute;
	right: 0.25rem;
	top: 50%;
	transition: transform var(--wp--custom--motion--duration, 180ms) var(--wp--custom--motion--ease-out, ease-out);
	width: 1.5rem;
}

.samf-accordion summary::after {
	transform: rotate(90deg);
}

.samf-accordion[open] summary::after {
	transform: rotate(0deg);
}

.samf-accordion > :not(summary) {
	margin-right: clamp(1rem, 5vw, 4rem);
}

.samf-accordion[open] {
	padding-bottom: 1.5rem;
}

.samf-newsletter-banner {
	background: var(--wp--preset--color--title-gold, #dbc368);
	color: var(--wp--preset--color--navy, #222a40);
	padding-block: var(--wp--preset--spacing--large, 2.75rem);
}

.samf-newsletter-banner__inner {
	gap: var(--wp--preset--spacing--large, 2.75rem);
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size, 84rem);
}

.samf-newsletter-banner h2 {
	color: var(--wp--preset--color--white, #fff);
	font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.75rem);
	color: var(--wp--preset--color--white, #fff);
	margin: 0;
	color: var(--wp--preset--color--white, #fff);
	max-width: 22ch;
	color: var(--wp--preset--color--white, #fff);
}

.samf-form,
.forminator-ui.forminator-custom-form {
	max-width: 66.25rem;
}

.samf-form :where(input:not([type="checkbox"], [type="radio"], [type="submit"]), select, textarea),
.forminator-ui.forminator-custom-form :where(input:not([type="checkbox"], [type="radio"], [type="submit"]), select, textarea) {
	background: var(--wp--preset--color--white, #fff);
	border: 1px solid var(--wp--preset--color--input-border, #d3d3d3);
	border-radius: 0.5rem;
	color: var(--wp--preset--color--navy, #222a40);
	min-height: 3.25rem;
	padding: 0.875rem 1rem;
	width: 100%;
}

.samf-form :where(input, select, textarea):focus,
.forminator-ui.forminator-custom-form :where(input, select, textarea):focus {
	border-color: var(--wp--preset--color--blue, #37507f);
	box-shadow: 0 0 0 3px rgb(55 80 127 / 18%);
	outline: none;
}

.samf-form ::placeholder,
.forminator-ui.forminator-custom-form ::placeholder {
	color: rgb(55 80 127 / 72%);
	opacity: 1;
}

/* Pied de page. */
.samf-site-footer {
	background: var(--wp--preset--color--navy, #222a40);
	color: var(--wp--preset--color--white, #fff);
	padding: 0;
}

.samf-site-footer__main {
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size, 84rem);
	padding-block: var(--wp--preset--spacing--huge, 5rem);
	padding-inline: clamp(1rem, 3vw, 3rem);
}

.samf-footer-brand img {
	width: min(16.25rem, 100%);
}

.samf-footer-tagline {
	font-size: clamp(1.4rem, 1.1rem + 1vw, 2rem);
	font-weight: 600;
	line-height: 1.08;
	max-width: 22ch;
}

.samf-footer-nav {
	border-left: 1px solid var(--wp--preset--color--footer-rule, #7e7f83);
	padding-left: clamp(1.5rem, 3vw, 3rem);
}

.samf-footer-nav h2 {
	color: var(--wp--preset--color--white, #fff);
	font-size: 1.35rem;
	margin: 0 0 1.25rem;
}

.samf-footer-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.samf-footer-nav li + li {
	margin-top: 0.45rem;
}

.samf-site-footer a:not(.wp-block-button__link) {
	color: var(--wp--preset--color--white, #fff);
	text-decoration: none;
}

.samf-site-footer a:not(.wp-block-button__link):hover {
	color: var(--wp--preset--color--action-yellow, #edcc4d);
	text-decoration: underline;
}

.samf-site-footer__legal {
	background: var(--wp--preset--color--navy-deep, #11192e);
	font-size: 0.8125rem;
	padding-block: 1rem;
	text-align: center;
}

.samf-site-footer__legal-inner {
	gap: 0.85rem;
	justify-content: center;
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size, 84rem);
}

.samf-site-footer__legal p {
	margin: 0;
}

@media (max-width: 63.9375rem) {
	.wp-block-post-template.is-layout-grid.columns-3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.samf-agent-cta .wp-block-button__link {
		min-width: 0;
		padding-inline: 1.2rem;
	}

	.samf-site-footer__columns {
		flex-wrap: wrap !important;
	}

	.samf-footer-intro {
		flex-basis: 100% !important;
		margin-bottom: var(--wp--preset--spacing--large, 2.75rem);
	}

	.samf-companies {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 47.9375rem) {
	.wp-block-post-template.is-layout-grid.columns-3 {
		grid-template-columns: minmax(0, 1fr);
	}

	.samf-site-header {
		min-height: 5.75rem;
		padding-block: 0.85rem;
	}

	.samf-brand {
		flex-basis: 10rem;
	}

	.samf-agent-cta {
		display: none !important;
	}

	.samf-header-actions {
		gap: 0.35rem;
	}

	.samf-primary-navigation .wp-block-navigation__responsive-container.is-menu-open {
		padding-inline: 1.5rem;
		padding-top: 7rem;
	}

	.samf-primary-navigation .is-menu-open .wp-block-navigation__responsive-container-content {
		justify-content: flex-start;
	}

	.samf-main {
		padding-block-start: var(--wp--preset--spacing--large, 2.75rem);
	}

	.samf-page-title {
		padding-bottom: var(--wp--preset--spacing--large, 2.75rem);
	}

	.samf-case-card,
	.samf-case__panels {
		grid-template-columns: minmax(0, 1fr);
	}

	.samf-case-list .wp-block-post:nth-child(even) .samf-case-card__image {
		order: initial;
	}

	.samf-case-card__image {
		aspect-ratio: 16 / 9;
	}

	.samf-company {
		grid-template-columns: 5.5rem minmax(0, 1fr);
	}

	.samf-doc,
	.samf-newsletter {
		align-items: flex-start;
		flex-direction: column;
	}

	.samf-newsletter-banner__inner {
		align-items: flex-start !important;
		flex-direction: column;
	}

	.samf-footer-nav {
		border-left: 0;
		border-top: 1px solid var(--wp--preset--color--footer-rule, #7e7f83);
		padding-left: 0;
		padding-top: 1.5rem;
	}
}

@media (max-width: 29.9375rem) {
	.samf-language-switcher a {
		height: 2.75rem;
		min-width: 2.75rem;
		padding-inline: 0;
		width: 2.75rem;
	}

	.samf-language-switcher a::after {
		display: none;
	}

	.samf-language-switcher img {
		width: 1.25rem;
	}

	.samf-language-switcher .pll-switcher-flag {
		width: 1.25rem !important;
	}

	.samf-primary-navigation .wp-block-navigation__responsive-container-open {
		height: 2.75rem;
		width: 2.75rem;
	}

	.samf-site-footer__legal-inner {
		align-items: center !important;
		flex-direction: column;
	}
}

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

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

/* La vidéo d’accueil est décorative : elle cède la place à son image fixe
   lorsque le visiteur demande une réduction des animations. */
@media (prefers-reduced-motion: reduce) {
	.samf-hero__video {
		display: none;
	}

}

/* Affectations de couleurs vérifiées dans les spécifications XD du 09/07/2026. */
.samf-docs summary,
.samf-section-title--download {
	background: var(--wp--preset--color--pale-blue, #ecf1fa);
	color: var(--wp--preset--color--blue, #37507f);
}

.samf-doc__download {
	background: var(--wp--preset--color--title-gold, #dbc368);
	color: var(--wp--preset--color--white, #fff);
}

.samf-news-card :where(h2 a, .samf-card__link),
.samf-case-card .samf-card__link {
	color: var(--wp--preset--color--navy, #222a40);
}

.samf-main:has(.samf-news-grid) {
	background: var(--wp--preset--color--news-background, #f7f5f5);
}

.wp-block-table :where(thead, tfoot) {
	background: var(--wp--preset--color--table-background, #efefef);
}

.wp-block-table :where(table, th, td) {
	border-color: var(--wp--preset--color--separator, #e2e3e1);
}
