/* ==========================================================================
   WEBENSIS v2 — styles du site
   Palette figée : #F5F7FA · #162033 · #20252D · #2F6FED · #F2B705 (CTA uniquement)
   ========================================================================== */

:root {
	--wbs-fond: #F5F7FA;
	--wbs-navy: #162033;
	--wbs-sombre: #20252D;
	--wbs-accent: #2F6FED;
	--wbs-cta: #F2B705;
	--wbs-blanc: #FFFFFF;

	--wbs-text: var(--wbs-navy);
	--wbs-muted: rgba(22, 32, 51, 0.70);
	--wbs-line: rgba(22, 32, 51, 0.10);
	--wbs-accent-soft: rgba(47, 111, 237, 0.08);
	--wbs-accent-light: color-mix(in srgb, var(--wbs-accent) 62%, #fff);
	--wbs-on-dark: #FFFFFF;
	--wbs-on-dark-muted: rgba(255, 255, 255, 0.78);
	--wbs-line-dark: rgba(255, 255, 255, 0.14);

	--wbs-font: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--wbs-radius: 14px;
	--wbs-radius-sm: 10px;
	--wbs-shadow: 0 1px 2px rgba(22, 32, 51, 0.04), 0 8px 24px rgba(22, 32, 51, 0.06);
	--wbs-shadow-hover: 0 2px 4px rgba(22, 32, 51, 0.06), 0 14px 32px rgba(22, 32, 51, 0.10);
	--wbs-gutter: clamp(16px, 4vw, 32px);
	--wbs-section-y: clamp(56px, 7vw, 96px);
	--wbs-header-h: 76px;
	--wbs-ease: cubic-bezier(.2, .7, .2, 1);
	--wbs-t: 200ms;
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--wbs-header-h) + 16px); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
	margin: 0;
	font-family: var(--wbs-font);
	color: var(--wbs-text);
	background: var(--wbs-blanc);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}
.wp-site-blocks { padding: 0 !important; }
.wp-site-blocks > * + * { margin-block-start: 0 !important; }
.wbs-main > * + *, .wbs-main .wp-block-group > * + * { margin-block-start: 0; }
img { max-width: 100%; height: auto; }
a { color: var(--wbs-accent); text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--wbs-accent); outline-offset: 3px; border-radius: 4px; }
.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important;
	width: 1px; word-wrap: normal !important;
}
h1, h2, h3, h4 { font-family: var(--wbs-font); color: inherit; margin: 0; letter-spacing: -0.01em; }
p { margin: 0; }
figure { margin: 0; }
.has-accent-color { color: var(--wbs-accent) !important; }
.wbs-section--dark .has-accent-color, .wbs-hero .has-accent-color, .wbs-cta .has-accent-color, .wbs-feature .has-accent-color { color: var(--wbs-accent-light) !important; }

.wbs-container {
	width: 100%;
	max-width: calc(1200px + 2 * var(--wbs-gutter));
	margin-inline: auto;
	padding-inline: var(--wbs-gutter);
	box-sizing: border-box;
}

/* ---------- Header ---------- */
.wbs-header {
	position: sticky; top: 0; z-index: 50;
	background: rgba(255, 255, 255, 0.96);
	backdrop-filter: saturate(140%) blur(8px);
	border-bottom: 1px solid var(--wbs-line);
}
.admin-bar .wbs-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .wbs-header { top: 46px; } }
.wbs-header__inner { display: flex; align-items: center; gap: 24px; min-height: var(--wbs-header-h); }
.wbs-header__brand { display: inline-flex; align-items: center; flex: 0 0 auto; line-height: 0; }
.wbs-logo { height: 34px; width: auto; display: block; }
.wbs-header__tagline {
	font-size: 0.875rem; color: var(--wbs-muted); white-space: nowrap; letter-spacing: 0.01em;
	padding-left: 20px; border-left: 1px solid var(--wbs-line);
}
.wbs-nav { margin-left: auto; }
.wbs-nav__list { display: flex; align-items: center; gap: 8px; list-style: none; margin: 0; padding: 0; }
.wbs-nav__item { position: relative; display: flex; align-items: center; }
.wbs-nav__item > a {
	display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px;
	color: var(--wbs-navy); text-decoration: none; font-weight: 600; font-size: 1rem;
	position: relative;
}
.wbs-nav__item > a::after {
	content: ""; position: absolute; left: 14px; right: 14px; bottom: 6px; height: 2px;
	background: var(--wbs-accent); transform: scaleX(0); transform-origin: left;
	transition: transform var(--wbs-t) var(--wbs-ease);
}
.wbs-nav__item > a:hover::after, .wbs-nav__item.is-current > a::after { transform: scaleX(1); }
.wbs-nav__item.is-current > a, .wbs-nav__item > a:hover { color: var(--wbs-accent); }
.wbs-nav__item.has-sub > a { padding-right: 4px; }
.wbs-nav__item.has-sub > a::after { right: 4px; }
.wbs-nav__subtoggle {
	display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 44px;
	background: none; border: 0; padding: 0; color: var(--wbs-navy); cursor: pointer; border-radius: 6px;
}
.wbs-chevron { transition: transform var(--wbs-t) var(--wbs-ease); }
.wbs-nav__sub {
	position: absolute; top: calc(100% + 6px); left: 0; min-width: 240px; z-index: 60;
	list-style: none; margin: 0; padding: 8px;
	background: var(--wbs-blanc); border: 1px solid var(--wbs-line); border-radius: var(--wbs-radius-sm);
	box-shadow: var(--wbs-shadow-hover);
	opacity: 0; visibility: hidden; transform: translateY(-4px);
	transition: opacity var(--wbs-t) var(--wbs-ease), transform var(--wbs-t) var(--wbs-ease), visibility 0s linear var(--wbs-t);
}
.wbs-nav__sub::before { content: ""; position: absolute; left: 0; right: 0; top: -10px; height: 10px; }
.wbs-nav__sub a {
	display: block; padding: 10px 12px; border-radius: 8px;
	color: var(--wbs-navy); text-decoration: none; font-weight: 500;
}
.wbs-nav__sub a:hover, .wbs-nav__subitem.is-current a { background: var(--wbs-accent-soft); color: var(--wbs-accent); }
@media (hover: hover) and (min-width: 961px) {
	.wbs-nav__item.has-sub:hover > .wbs-nav__sub { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
	.wbs-nav__item.has-sub:hover .wbs-chevron { transform: rotate(180deg); }
}
.wbs-nav__item.has-sub.is-open > .wbs-nav__sub,
.wbs-nav__item.has-sub:focus-within > .wbs-nav__sub { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.wbs-nav__item.has-sub.is-open .wbs-chevron { transform: rotate(180deg); }

.wbs-burger {
	display: none; margin-left: auto; width: 44px; height: 44px; border: 1px solid var(--wbs-line);
	background: var(--wbs-blanc); border-radius: 10px; cursor: pointer; position: relative;
}
.wbs-burger__bars, .wbs-burger__bars::before, .wbs-burger__bars::after {
	position: absolute; left: 12px; right: 12px; height: 2px; background: var(--wbs-navy); border-radius: 2px;
	transition: transform var(--wbs-t) var(--wbs-ease), opacity var(--wbs-t);
}
.wbs-burger__bars { top: 21px; }
.wbs-burger__bars::before, .wbs-burger__bars::after { content: ""; left: 0; right: 0; }
.wbs-burger__bars::before { top: -7px; }
.wbs-burger__bars::after { top: 7px; }
.wbs-header.is-open .wbs-burger__bars { background: transparent; }
.wbs-header.is-open .wbs-burger__bars::before { transform: translateY(7px) rotate(45deg); }
.wbs-header.is-open .wbs-burger__bars::after { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 1080px) { .wbs-header__tagline { display: none; } }
@media (max-width: 960px) {
	:root { --wbs-header-h: 64px; }
	.wbs-logo { height: 28px; }
	.wbs-burger { display: inline-block; }
	.wbs-nav {
		position: absolute; left: 0; right: 0; top: 100%;
		background: var(--wbs-blanc); border-bottom: 1px solid var(--wbs-line); box-shadow: var(--wbs-shadow-hover);
		display: none; margin: 0;
	}
	.wbs-header.is-open .wbs-nav { display: block; }
	.wbs-nav__list { flex-direction: column; align-items: stretch; gap: 0; padding: 8px var(--wbs-gutter) 16px; }
	.wbs-nav__item { flex-wrap: wrap; border-bottom: 1px solid var(--wbs-line); }
	.wbs-nav__item:last-child { border-bottom: 0; }
	.wbs-nav__item > a { flex: 1; min-height: 52px; padding: 0 4px; }
	.wbs-nav__item > a::after { display: none; }
	.wbs-nav__subtoggle { width: 52px; height: 52px; }
	.wbs-nav__sub {
		position: static; flex-basis: 100%; min-width: 0; box-shadow: none; border: 0; padding: 0 0 8px 8px;
		display: none; opacity: 1; visibility: visible; transform: none;
	}
	.wbs-nav__item.has-sub.is-open > .wbs-nav__sub { display: block; }
	.wbs-nav__sub a { padding: 12px; }
}

/* Header Carte */
.wbs-header--carte { position: relative; background: var(--wbs-navy); border: 0; backdrop-filter: none; }
.wbs-header--carte .wbs-header__inner { flex-direction: column; align-items: flex-start; gap: 6px; padding-block: 22px; min-height: 0; }
.wbs-header--carte .wbs-logo { height: 40px; }
.wbs-header__baseline { color: var(--wbs-on-dark-muted); font-size: 0.95rem; }

/* ---------- Footer ---------- */
.wbs-footer { background: var(--wbs-navy); color: var(--wbs-on-dark); padding-block: 40px; }
.wbs-footer__inner { display: flex; justify-content: space-between; align-items: center; gap: 32px; flex-wrap: wrap; }
.wbs-footer .wbs-logo { height: 30px; }
.wbs-footer__baseline { color: var(--wbs-on-dark-muted); font-size: 0.9rem; margin-top: 8px; }
.wbs-footer__nav { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.wbs-footer__links { display: flex; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; font-size: 0.9rem; }
.wbs-footer__links li { display: inline-flex; align-items: center; }
.wbs-footer__links li + li::before { content: "·"; margin: 0 10px; color: var(--wbs-on-dark-muted); }
.wbs-footer__links a { color: var(--wbs-on-dark); text-decoration: none; }
.wbs-footer__links a:hover { color: var(--wbs-accent-light); text-decoration: underline; }
.wbs-footer__legal { color: var(--wbs-on-dark-muted); font-size: 0.82rem; }
.wbs-footer__legal a { color: var(--wbs-on-dark-muted); }
@media (max-width: 760px) {
	.wbs-footer__inner { flex-direction: column; align-items: flex-start; }
	.wbs-footer__nav { align-items: flex-start; }
	.wbs-footer__links { gap: 6px 18px; }
	.wbs-footer__links li + li::before { display: none; }
}
.wbs-footer--carte { padding-block: 24px 32px; text-align: center; }
.wbs-footer--carte .wbs-footer__links { justify-content: center; margin-top: 8px; gap: 6px 18px; }
.wbs-footer--carte .wbs-footer__links li + li::before { display: none; }
.wbs-footer--carte .wbs-footer__baseline { margin: 0; }

/* ---------- Boutons ---------- */
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.wp-block-button .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 48px; padding: 12px 24px; border-radius: 10px;
	font-family: var(--wbs-font); font-weight: 600; font-size: 1rem; line-height: 1.2;
	text-decoration: none; border: 2px solid transparent; cursor: pointer;
	transition: background-color var(--wbs-t) var(--wbs-ease), color var(--wbs-t), border-color var(--wbs-t), transform var(--wbs-t) var(--wbs-ease), box-shadow var(--wbs-t);
}
.wp-block-button .wp-block-button__link::after {
	content: ""; width: 16px; height: 16px; flex: 0 0 16px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8h9M8.5 4l4 4-4 4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8h9M8.5 4l4 4-4 4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform var(--wbs-t) var(--wbs-ease);
}
.wp-block-button .wp-block-button__link:hover::after { transform: translateX(3px); }
.wp-block-button.is-style-wbs-cta .wp-block-button__link { background: var(--wbs-cta); color: var(--wbs-navy); }
.wp-block-button.is-style-wbs-cta .wp-block-button__link:hover { background: color-mix(in srgb, var(--wbs-cta) 88%, #000); box-shadow: 0 6px 18px rgba(242, 183, 5, 0.28); }
.wp-block-button.is-style-wbs-primary .wp-block-button__link { background: var(--wbs-accent); color: var(--wbs-blanc); }
.wp-block-button.is-style-wbs-primary .wp-block-button__link:hover { background: color-mix(in srgb, var(--wbs-accent) 86%, #000); }
.wp-block-button.is-style-wbs-outline .wp-block-button__link { background: transparent; color: var(--wbs-accent); border-color: var(--wbs-accent); }
.wp-block-button.is-style-wbs-outline .wp-block-button__link:hover { background: var(--wbs-accent-soft); }
.wp-block-button.is-style-wbs-ghost .wp-block-button__link { background: transparent; color: var(--wbs-on-dark); border-color: var(--wbs-line-dark); min-height: 40px; padding: 8px 16px; font-size: 0.9rem; }
.wp-block-button.is-style-wbs-ghost .wp-block-button__link:hover { border-color: var(--wbs-on-dark); }
.wp-block-button .wp-block-button__link:active { transform: translateY(1px); }

/* ---------- Typographie commune ---------- */
.wbs-eyebrow {
	font-size: 0.8rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase;
	color: var(--wbs-accent); margin-bottom: 14px !important;
}
.wbs-label { font-size: 0.82rem; font-weight: 600; color: var(--wbs-accent); margin-bottom: 4px !important; }
.wbs-section__head { max-width: 760px; margin-bottom: clamp(28px, 4vw, 44px) !important; }
.wbs-section__head.is-centered { margin-inline: auto; text-align: center; }
.wbs-section__title { font-size: clamp(1.65rem, 1.2rem + 1.6vw, 2.4rem); font-weight: 700; line-height: 1.15; }
.wbs-section__sub { font-size: clamp(1.05rem, 1rem + 0.4vw, 1.3rem); color: var(--wbs-accent); margin-top: 8px !important; font-weight: 500; }
.wbs-section__intro { color: var(--wbs-muted); margin-top: 12px !important; font-size: 1.05rem; }
.wbs-section--dark .wbs-section__intro { color: var(--wbs-on-dark-muted); }
.wbs-section--dark .wbs-section__sub { color: var(--wbs-accent-light); }

/* ---------- Sections ---------- */
.wbs-section { padding-block: var(--wbs-section-y); }
.wbs-section--light { background: var(--wbs-fond); }
.wbs-section--white { background: var(--wbs-blanc); }
.wbs-section--dark { background: var(--wbs-navy); color: var(--wbs-on-dark); }
.is-style-wbs-dark { background: var(--wbs-navy); color: var(--wbs-on-dark); }
.is-style-wbs-light { background: var(--wbs-fond); }

/* ---------- Hero ---------- */
.wbs-hero {
	position: relative; isolation: isolate; overflow: hidden;
	background: var(--wbs-navy); color: var(--wbs-on-dark);
	min-height: clamp(380px, 38vw, 520px);
	display: flex; align-items: center;
}
.wbs-hero__bg { position: absolute !important; inset: 0; z-index: -2; margin: 0 !important; }
.wbs-hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: right center; display: block; }
.wbs-hero::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(90deg, rgba(22, 32, 51, 0.96) 0%, rgba(22, 32, 51, 0.86) 34%, rgba(22, 32, 51, 0.35) 62%, rgba(22, 32, 51, 0) 82%);
}
.wbs-hero__content { padding-block: clamp(48px, 6vw, 80px); }
.wbs-hero__content > * { max-width: 620px; }
.wbs-hero .wbs-eyebrow { color: var(--wbs-accent-light); }
.wbs-hero__title { font-size: clamp(2rem, 1.25rem + 2.9vw, 3.35rem); font-weight: 700; line-height: 1.08; letter-spacing: -0.02em; }
.wbs-hero__lead { font-size: clamp(1.05rem, 1rem + 0.35vw, 1.25rem); color: var(--wbs-on-dark-muted); margin-top: 18px !important; max-width: 560px; }
.wbs-hero--home .wbs-hero__content > * { max-width: 640px; }
@media (min-width: 1024px) { .wbs-hero--shift .wbs-hero__bg { left: 24%; } }

.wbs-pillars { display: flex; gap: 0; margin-top: 32px !important; flex-wrap: wrap; }
.wbs-pillar {
	display: inline-flex; align-items: center; gap: 10px; font-weight: 600; font-size: 1rem;
	padding: 6px 22px 6px 0; margin-right: 22px !important; border-right: 1px solid var(--wbs-line-dark);
}
.wbs-pillar:last-child { border-right: 0; }
.wbs-pillar::before {
	content: ""; width: 22px; height: 22px; background: var(--wbs-accent-light);
	-webkit-mask: var(--icon) center / contain no-repeat; mask: var(--icon) center / contain no-repeat;
}
.wbs-pillar--comprendre { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m15.5 15.5 5 5' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.wbs-pillar--decider { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/%3E%3Ccircle cx='12' cy='12' r='4' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E"); }
.wbs-pillar--agir { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 2 4 14h7l-1 8 9-12h-7z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E"); }

/* Hero juridique : compact, sobre */
.wbs-hero--legal { min-height: clamp(220px, 20vw, 280px); }
.wbs-hero--legal .wbs-hero__title { font-size: clamp(1.6rem, 1.25rem + 1.3vw, 2.2rem); font-weight: 600; letter-spacing: -0.01em; }
.wbs-hero--legal .wbs-hero__content { padding-block: 40px; }

@media (min-width: 761px) and (max-width: 1023px) {
	.wbs-hero::before { background: linear-gradient(90deg, rgba(22, 32, 51, 0.97) 0%, rgba(22, 32, 51, 0.9) 50%, rgba(22, 32, 51, 0.55) 78%, rgba(22, 32, 51, 0.25) 100%); }
}
@media (max-width: 760px) {
	.wbs-hero { min-height: 0; align-items: flex-end; }
	.wbs-hero__bg img { object-position: 72% center; }
	.wbs-hero::before { background: linear-gradient(180deg, rgba(22, 32, 51, 0.55) 0%, rgba(22, 32, 51, 0.88) 45%, rgba(22, 32, 51, 0.97) 100%); }
	.wbs-hero__content { padding-block: 120px 40px; }
	.wbs-hero--legal .wbs-hero__content { padding-block: 72px 32px; }
	.wbs-pillar { padding-right: 14px; margin-right: 14px !important; font-size: 0.95rem; }
}

/* ---------- Grilles ---------- */
.wbs-grid { display: grid; gap: clamp(16px, 2vw, 24px); }
.wbs-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wbs-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wbs-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1080px) { .wbs-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 960px) { .wbs-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .wbs-grid--2, .wbs-grid--3, .wbs-grid--4 { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Cartes ---------- */
.wbs-card {
	position: relative; overflow: hidden; border-radius: var(--wbs-radius);
	background: var(--wbs-blanc); border: 1px solid var(--wbs-line); box-shadow: var(--wbs-shadow);
	transition: box-shadow var(--wbs-t) var(--wbs-ease), transform var(--wbs-t) var(--wbs-ease), border-color var(--wbs-t);
}
.wbs-card__title { font-size: 1.15rem; font-weight: 600; line-height: 1.3; }
.wbs-card__text { color: var(--wbs-muted); font-size: 0.97rem; }
.wbs-card__media { margin: 0 !important; line-height: 0; }
.wbs-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.is-dark .wbs-card__text { color: var(--wbs-on-dark-muted); }

/* Lien étendu : toute la carte est cliquable */
.wbs-stretched a { color: inherit; text-decoration: none; }
.wbs-stretched a::after { content: ""; position: absolute; inset: 0; z-index: 2; border-radius: inherit; }
.wbs-card:has(.wbs-stretched a):hover { box-shadow: var(--wbs-shadow-hover); transform: translateY(-2px); border-color: rgba(47, 111, 237, 0.35); }
.wbs-card:has(.wbs-stretched a:focus-visible) { outline: 3px solid var(--wbs-accent); outline-offset: 3px; }
.wbs-stretched a:focus-visible { outline: none; }

/* Situations (Accueil) */
.wbs-card--situation { min-height: 150px; display: flex; align-items: center; }
.wbs-card--situation .wbs-card__media { position: absolute; top: 0; bottom: 0; right: 0; width: 42%; }
.wbs-card--situation .wbs-card__media img { object-position: 82% center; }
.wbs-card--situation .wbs-card__title { position: relative; padding: 24px; max-width: 60%; font-size: 1.08rem; }

/* Interventions (Accueil, sombre) */
.wbs-card.is-dark { background: rgba(255, 255, 255, 0.04); border-color: var(--wbs-line-dark); box-shadow: none; color: var(--wbs-on-dark); }
.wbs-card--intervention { padding: 0 24px 24px; display: flex; flex-direction: column; }
.wbs-card--intervention .wbs-card__icon { margin: 0 -24px 18px !important; aspect-ratio: 2 / 1; overflow: hidden; line-height: 0; }
.wbs-card--intervention .wbs-card__icon img { width: 100%; height: 100%; object-fit: cover; }
.wbs-card--intervention .wbs-card__title { font-size: 1.25rem; margin-bottom: 8px !important; }
.wbs-card__result { margin-top: auto !important; padding-top: 16px; border-top: 1px solid var(--wbs-line-dark); }
.wbs-card--intervention > .wbs-card__text { margin-bottom: 18px !important; }
.wbs-card--intervention .wbs-label { color: var(--wbs-accent-light); }

.wbs-price-badge {
	display: inline-block; align-self: flex-start; margin-top: 16px !important;
	background: var(--wbs-cta); color: var(--wbs-navy); font-weight: 700; font-size: 0.92rem;
	padding: 6px 12px; border-radius: 8px;
}

/* Moyens */
.wbs-card--moyen { min-height: 120px; display: flex; align-items: center; }
.wbs-card--moyen .wbs-card__media { position: absolute; top: 0; bottom: 0; right: 0; width: 40%; }
.wbs-card--moyen .wbs-card__media img { object-position: 82% center; }
.wbs-card--moyen .wbs-card__title { position: relative; padding: 22px 24px; max-width: 62%; }
.wbs-card--moyen .wbs-card__title a::before {
	content: ""; position: absolute; left: 24px; bottom: -6px; width: 18px; height: 18px; background: var(--wbs-accent);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8h9M8.5 4l4 4-4 4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8h9M8.5 4l4 4-4 4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform var(--wbs-t) var(--wbs-ease);
}
.wbs-card--moyen:hover .wbs-card__title a::before { transform: translateX(4px); }
.wbs-card--moyen.is-dark { background: var(--wbs-sombre); }
.wbs-card--moyen.is-dark .wbs-card__title a::before { background: var(--wbs-accent-light); }

/* Offre */
.wbs-card--offre { padding: 24px; display: flex; flex-direction: column; gap: 0; }
.wbs-card__top { display: flex; gap: 16px; align-items: flex-start; padding-bottom: 18px; border-bottom: 1px solid var(--wbs-line); }
.wbs-card--offre .wbs-card__icon { flex: 0 0 64px; width: 64px; height: 64px; border-radius: 12px; overflow: hidden; margin: 0 !important; line-height: 0; background: var(--wbs-accent-soft); }
.wbs-card--offre .wbs-card__icon img { width: 100%; height: 100%; object-fit: cover; object-position: center 46%; transform: scale(2.6); }
.wbs-card__entry { color: var(--wbs-muted); font-size: 0.93rem; margin-top: 6px !important; }
.wbs-card__block { padding-block: 16px; border-bottom: 1px solid var(--wbs-line); }
.wbs-card__block:last-of-type { border-bottom: 0; padding-bottom: 0; }
.wbs-card--offre .wbs-card__text { color: var(--wbs-text); opacity: 0.86; }

/* Informatique */
.wbs-card--info { display: flex; flex-direction: column; }
.wbs-card--info .wbs-card__media { height: 116px; overflow: hidden; }
.wbs-card--info .wbs-card__media img { object-position: right center; }
.wbs-card--info .wbs-card__body { padding: 4px 24px 24px; }
.wbs-card--info .wbs-card__title { margin-bottom: 6px !important; }

.wbs-band-wrap { background: var(--wbs-blanc); padding-top: clamp(24px, 3vw, 40px); }
.wbs-band {
	display: grid; grid-template-columns: repeat(3, 1fr);
	background: var(--wbs-fond); border: 1px solid var(--wbs-line); border-radius: var(--wbs-radius);
}
.wbs-band__item { display: flex; align-items: center; gap: 14px; padding: 18px 24px; }
.wbs-band__item + .wbs-band__item { border-left: 1px solid var(--wbs-line); }
.wbs-band__icon { flex: 0 0 56px; width: 56px; height: 56px; border-radius: 12px; overflow: hidden; margin: 0 !important; line-height: 0; background: var(--wbs-blanc); }
.wbs-band__icon img { width: 100%; height: 100%; object-fit: cover; }
.wbs-band__label { font-weight: 600; font-size: 1.1rem; }
@media (max-width: 640px) {
	.wbs-band { grid-template-columns: 1fr; }
	.wbs-band__item + .wbs-band__item { border-left: 0; border-top: 1px solid var(--wbs-line); }
	.wbs-band__item { padding: 14px 18px; }
}

/* Logiciels */
.wbs-card--logiciel { padding: 28px 28px 0; display: flex; flex-direction: column; }
.wbs-card--logiciel .wbs-card__title { font-size: 1.3rem; margin-bottom: 10px !important; }
.wbs-card--logiciel .wbs-card__media { margin: auto -28px 0 !important; height: 170px; overflow: hidden; padding-top: 16px; }
.wbs-card--logiciel .wbs-card__media img { object-position: center 78%; }

/* ---------- Cartes retournables « En savoir plus » ---------- */
.wbs-flip-grid { align-items: start; }
.wbs-flip { position: relative; }
.wbs-flip__back { margin-top: 16px !important; }
.wbs-js .wbs-flip.is-ready {
	perspective: 1800px;
	overflow: clip; overflow-clip-margin: 32px;
	transition: height 250ms var(--wbs-ease);
}
.wbs-js .wbs-flip.is-ready > .wbs-flip__front,
.wbs-js .wbs-flip.is-ready > .wbs-flip__back {
	position: absolute; top: 0; left: 0; right: 0; margin: 0 !important;
	backface-visibility: hidden; -webkit-backface-visibility: hidden;
	transition: transform 250ms var(--wbs-ease), opacity 250ms var(--wbs-ease);
	transform-style: preserve-3d;
}
.wbs-js .wbs-flip.is-ready > .wbs-flip__back { transform: rotateY(-180deg); }
.wbs-js .wbs-flip.is-ready.is-flipped > .wbs-flip__front { transform: rotateY(180deg); }
.wbs-js .wbs-flip.is-ready.is-flipped > .wbs-flip__back { transform: rotateY(0); }
.wbs-js .wbs-flip.is-ready.is-flipped { z-index: 3; }
@media (prefers-reduced-motion: reduce) {
	.wbs-js .wbs-flip.is-ready, .wbs-js .wbs-flip.is-ready > * { transition-duration: 1ms !important; }
	.wbs-js .wbs-flip.is-ready > .wbs-flip__back, .wbs-js .wbs-flip.is-ready.is-flipped > .wbs-flip__front { transform: none; opacity: 0; }
	.wbs-js .wbs-flip.is-ready.is-flipped > .wbs-flip__back { opacity: 1; }
	.wbs-js .wbs-flip.is-ready > .wbs-flip__front { opacity: 1; }
}

/* Formules Web (face avant) */
.wbs-formule {
	display: flex; flex-direction: column; overflow: hidden; border-radius: var(--wbs-radius);
	background: var(--wbs-blanc); border: 1px solid var(--wbs-line); box-shadow: var(--wbs-shadow); box-sizing: border-box;
}
.wbs-flip.is-featured .wbs-formule { border: 2px solid var(--wbs-accent); box-shadow: 0 10px 30px rgba(47, 111, 237, 0.16); }
.wbs-formule__banner { margin: 0 !important; height: 96px; overflow: hidden; line-height: 0; }
.wbs-formule__banner img { width: 100%; height: 100%; object-fit: cover; }
.wbs-badge {
	position: absolute; top: 14px; left: 16px; z-index: 1;
	background: var(--wbs-accent); color: var(--wbs-blanc); font-size: 0.78rem; font-weight: 600;
	padding: 4px 10px; border-radius: 999px;
}
.wbs-formule__name { font-size: 1.5rem; font-weight: 700; padding: 22px 26px 0; }
.wbs-formule__baseline { color: var(--wbs-muted); padding: 2px 26px 0; }
.wbs-formule__price { font-size: 1.3rem; font-weight: 700; color: var(--wbs-accent); padding: 14px 26px 0; }
.wbs-formule .wbs-checklist { padding: 16px 26px 0 !important; }
.wbs-formule__actions { padding: 22px 26px 26px; margin-top: auto !important; }
.wbs-formule__actions .wp-block-button, .wbs-formule__actions .wp-block-button__link { width: 100%; }

.wbs-checklist { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.wbs-checklist li { position: relative; padding-left: 28px; line-height: 1.45; }
.wbs-checklist li::before {
	content: ""; position: absolute; left: 0; top: 3px; width: 18px; height: 18px; background: var(--wbs-accent);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='m3.5 9.5 3.5 3.5 7.5-8' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='m3.5 9.5 3.5 3.5 7.5-8' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.wbs-checklist.is-dark li::before { background: var(--wbs-accent-light); }

/* Détail (dos de carte) : sombre */
.wbs-detail {
	background: var(--wbs-navy); color: var(--wbs-on-dark); border-radius: var(--wbs-radius);
	padding: 22px 26px 26px; box-sizing: border-box; box-shadow: 0 18px 40px rgba(22, 32, 51, 0.28);
}
.wbs-flip__close { justify-content: flex-end; margin-bottom: 6px !important; }
.wbs-flip__close .wp-block-button__link::after { display: none; }
.wbs-flip__close .wp-block-button__link::before { content: "←"; font-weight: 600; }
.wbs-detail .wbs-eyebrow { color: var(--wbs-accent-light); margin-bottom: 6px !important; }
.wbs-detail__title { font-size: 1.3rem; font-weight: 700; line-height: 1.25; margin-bottom: 12px !important; }
.wbs-detail p { color: var(--wbs-on-dark-muted); margin-bottom: 12px !important; font-size: 0.97rem; }
.wbs-detail__intro { color: var(--wbs-on-dark) !important; }
.wbs-detail__label { font-size: 0.85rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--wbs-accent-light); margin: 18px 0 10px !important; }
.wbs-detail .wbs-checklist { margin-bottom: 8px !important; }
.wbs-detail .wbs-checklist li { color: var(--wbs-on-dark); font-size: 0.95rem; }
.wbs-featurelist { list-style: none; margin: 0 0 14px !important; padding: 0; display: grid; gap: 12px; }
.wbs-featurelist li { padding-left: 14px; border-left: 2px solid var(--wbs-accent); color: var(--wbs-on-dark-muted); font-size: 0.93rem; line-height: 1.45; }
.wbs-featurelist strong { color: var(--wbs-on-dark); font-weight: 600; }
.wbs-detail__price { font-size: 1.25rem !important; font-weight: 700; color: var(--wbs-on-dark) !important; margin-top: 16px !important; }
.wbs-detail__scope { border-top: 1px solid var(--wbs-line-dark); padding-top: 14px; }
.wbs-detail__closing { color: var(--wbs-on-dark) !important; }
.wbs-detail__actions { margin-top: 18px !important; }
.wbs-detail__actions .wp-block-button__link { min-height: 44px; padding: 10px 18px; font-size: 0.95rem; }

/* Automatisation : cartes */
.wbs-card--auto { padding: 24px 24px 0; display: flex; flex-direction: column; box-sizing: border-box; }
.wbs-card--auto .wbs-card__title { margin-bottom: 8px !important; }
.wbs-card__line { font-size: 0.84rem; color: var(--wbs-accent); margin-top: 12px !important; line-height: 1.45; }
.wbs-card--auto .wbs-card__media { margin: 8px -24px 0 !important; height: 150px; overflow: hidden; }
.wbs-card--auto .wbs-card__media img { object-position: center 74%; }
.wbs-card--auto .wbs-card__media, .wbs-card--logiciel .wbs-card__media { -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 35%); mask-image: linear-gradient(to bottom, transparent 0, #000 35%); }
.wbs-card__actions { margin: auto -24px 0 !important; padding: 0 24px 24px; }
.wbs-card__actions .wp-block-button, .wbs-card__actions .wp-block-button__link { width: 100%; }
.wbs-card--auto .wbs-card__actions { margin-top: 0 !important; }
.wbs-card--auto .wbs-card__media { margin-top: auto !important; }

/* Bloc photographique transversal */
.wbs-feature { position: relative; isolation: isolate; overflow: hidden; background: var(--wbs-navy); color: var(--wbs-on-dark); }
.wbs-feature__bg { position: absolute !important; inset: 0; z-index: -2; margin: 0 !important; line-height: 0; }
.wbs-feature__bg img { width: 100%; height: 100%; object-fit: cover; object-position: right center; }
.wbs-feature::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(22, 32, 51, 0.94) 0%, rgba(22, 32, 51, 0.7) 45%, rgba(22, 32, 51, 0.1) 80%); }
.wbs-feature__inner { padding-block: clamp(56px, 7vw, 96px); }
.wbs-feature__inner > * { max-width: 560px; }
.wbs-feature__title { font-size: clamp(1.65rem, 1.2rem + 1.6vw, 2.4rem); font-weight: 700; line-height: 1.15; }
.wbs-feature__text { color: var(--wbs-on-dark-muted); margin-top: 14px !important; font-size: 1.08rem; }
@media (max-width: 760px) { .wbs-feature::before { background: rgba(22, 32, 51, 0.82); } }

/* ---------- CTA final ---------- */
.wbs-cta { position: relative; isolation: isolate; overflow: hidden; background: color-mix(in srgb, var(--wbs-navy) 82%, var(--wbs-accent)); color: var(--wbs-on-dark); }
.wbs-cta__bg { position: absolute !important; inset: 0; z-index: -2; margin: 0 !important; line-height: 0; }
.wbs-cta__bg img { width: 100%; height: 100%; object-fit: cover; }
.wbs-cta.has-bg::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(22, 32, 51, 0.92), rgba(22, 32, 51, 0.6)); }
.wbs-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-block: clamp(40px, 5vw, 64px); }
.wbs-cta .wbs-eyebrow { color: var(--wbs-accent-light); margin-bottom: 8px !important; }
.wbs-cta__title { font-size: clamp(1.5rem, 1.15rem + 1.3vw, 2.1rem); font-weight: 700; line-height: 1.2; }
.wbs-cta__text-p { color: var(--wbs-on-dark-muted); margin-top: 8px !important; font-size: 1.05rem; }
.wbs-cta__title:empty, .wbs-cta__text-p:empty { display: none; }
.wbs-cta.is-button-only .wbs-cta__text:not(:has(:not(:empty))) { display: none; }
.wbs-cta.is-button-only .wbs-cta__inner { justify-content: center; }
.wbs-cta.is-button-only:has(.wbs-cta__title:not(:empty)) .wbs-cta__inner { justify-content: space-between; }
@media (max-width: 760px) { .wbs-cta__inner { flex-direction: column; align-items: flex-start; } }

/* ---------- Contact ---------- */
.wbs-contact__grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 24px; align-items: stretch; }
.wbs-panel { background: var(--wbs-blanc); border: 1px solid var(--wbs-line); border-radius: var(--wbs-radius); box-shadow: var(--wbs-shadow); padding: clamp(22px, 3vw, 36px); }
.wbs-contact__aside { position: relative; isolation: isolate; overflow: hidden; border-radius: var(--wbs-radius); background: var(--wbs-navy); color: var(--wbs-on-dark); min-height: 420px; }
.wbs-contact__bg { position: absolute !important; inset: 0; z-index: -2; margin: 0 !important; line-height: 0; }
.wbs-contact__bg img { width: 100%; height: 100%; object-fit: cover; object-position: center bottom; }
.wbs-contact__aside::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(22, 32, 51, 0.97) 0%, rgba(22, 32, 51, 0.9) 45%, rgba(22, 32, 51, 0.25) 100%); }
.wbs-contact__aside-inner { padding: clamp(24px, 3vw, 36px); }
.wbs-contact__title { font-size: 1.6rem; font-weight: 700; margin-bottom: 14px !important; }
.wbs-contact__aside p { color: var(--wbs-on-dark-muted); font-size: 1.05rem; line-height: 1.6; }
.wbs-contact__free { margin-top: 20px !important; padding-top: 18px; border-top: 1px solid var(--wbs-line-dark); }
.wbs-contact__free strong { color: var(--wbs-on-dark); }
@media (max-width: 960px) {
	.wbs-contact__grid { grid-template-columns: 1fr; }
	.wbs-contact__aside { min-height: 0; }
	.wbs-contact__bg { display: none; }
}

/* ---------- Page Carte ---------- */
.wbs-main--carte { background: var(--wbs-fond); }
.wbs-carte { max-width: 560px; margin: 0 auto; padding: 0; }
.wbs-carte__intro { padding: 28px var(--wbs-gutter) 24px; background: var(--wbs-blanc); }
.wbs-carte__title { font-size: clamp(1.6rem, 1.3rem + 1.4vw, 2rem); font-weight: 700; line-height: 1.15; }
.wbs-carte__lead { color: var(--wbs-muted); margin-top: 12px !important; font-size: 1.02rem; }
.wbs-carte__domains { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 20px var(--wbs-gutter); }
.wbs-card--domaine { padding: 0 16px 16px; display: flex; flex-direction: column; }
.wbs-card--domaine .wbs-card__media { margin: 0 -16px 10px !important; height: 72px; overflow: hidden; }
.wbs-card--domaine .wbs-card__media img { object-position: right center; }
.wbs-card--domaine .wbs-card__title { font-size: 1.02rem; font-weight: 600; margin-bottom: 4px !important; }
.wbs-card--domaine .wbs-card__text { font-size: 0.88rem; line-height: 1.45; }
.wbs-carte__direct { background: var(--wbs-navy); color: var(--wbs-on-dark); padding: 22px var(--wbs-gutter); }
.wbs-carte__h2 { font-size: 1.3rem; font-weight: 700; margin-bottom: 14px !important; }
.wbs-carte__cta { background: color-mix(in srgb, var(--wbs-navy) 82%, var(--wbs-accent)); color: var(--wbs-on-dark); padding: 26px var(--wbs-gutter) 30px; text-align: center; }
.wbs-carte__cta p { color: var(--wbs-on-dark-muted); }
.wbs-carte__actions { justify-content: center; margin-top: 18px !important; }
.wbs-carte__actions .wp-block-button, .wbs-carte__actions .wp-block-button__link { width: 100%; }
@media (max-width: 360px) { .wbs-carte__domains { grid-template-columns: 1fr; } }
@media (min-width: 761px) {
	.wbs-carte { max-width: 760px; padding-block: 32px 48px; }
	.wbs-carte > * { border-radius: var(--wbs-radius); margin-bottom: 16px !important; overflow: hidden; }
	.wbs-carte__domains { padding: 0; }
	.wbs-header--carte .wbs-header__inner { max-width: 760px; }
	.wbs-footer--carte .wbs-container { max-width: 760px; }
}

/* ---------- Pages juridiques ---------- */
.wbs-legal__layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: clamp(32px, 4vw, 56px); align-items: start; }
.wbs-toc { position: sticky; top: calc(var(--wbs-header-h) + 24px); }
.wbs-toc__details { border: 1px solid var(--wbs-line); border-radius: var(--wbs-radius-sm); background: var(--wbs-blanc); padding: 16px 12px; }
.wbs-toc__title { font-weight: 600; padding: 2px 8px 10px; list-style: none; cursor: default; }
.wbs-toc__title::-webkit-details-marker { display: none; }
.wbs-toc__list { list-style: none; margin: 0; padding: 0; counter-reset: toc; }
.wbs-toc__list li { counter-increment: toc; }
.wbs-toc__list a {
	display: flex; gap: 10px; padding: 8px; border-radius: 6px; color: var(--wbs-navy); text-decoration: none; font-size: 0.93rem; line-height: 1.4;
}
.wbs-toc__list a:hover { background: var(--wbs-fond); }
.wbs-legal__body { max-width: 760px; }
.wbs-legal__body h2 { font-size: 1.3rem; font-weight: 600; padding-top: 28px; margin-top: 28px !important; border-top: 1px solid var(--wbs-line); }
.wbs-legal__body h2:first-child, .wbs-legal__body .wbs-legal__date + h2 { padding-top: 0; margin-top: 0 !important; border-top: 0; }
.wbs-legal__body .wbs-legal__date { margin: 0 0 24px !important; font-size: 0.9rem; }
.wbs-legal__body .wbs-legal__date strong { color: var(--wbs-navy); font-weight: 600; }
.wbs-legal__body ul { margin: 10px 0 0; padding-left: 20px; display: grid; gap: 6px; }
.wbs-legal__body strong { color: var(--wbs-navy); }
.wbs-legal__body h3 { font-size: 1.08rem; font-weight: 600; margin-top: 20px !important; }
.wbs-legal__body p, .wbs-legal__body li { color: var(--wbs-muted); line-height: 1.7; }
.wbs-legal__body p { margin-top: 10px !important; }
.wbs-placeholder { font-style: italic; }
.wbs-legal__contact { margin-top: 48px !important; padding-top: 20px; border-top: 1px solid var(--wbs-line); font-size: 0.95rem; }
@media (max-width: 960px) {
	.wbs-legal__layout { grid-template-columns: 1fr; gap: 24px; }
	.wbs-toc { position: static; }
	.wbs-toc__title { cursor: pointer; display: flex; justify-content: space-between; align-items: center; padding-bottom: 2px; }
	.wbs-toc__title::after { content: "+"; font-size: 1.2rem; color: var(--wbs-accent); }
	.wbs-toc__details[open] .wbs-toc__title { padding-bottom: 10px; }
	.wbs-toc__details[open] .wbs-toc__title::after { content: "–"; }
}

/* ---------- Formulaire (WEBENSIS Core) ---------- */
.wbs-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 18px; }
.wbs-form__field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.wbs-form__field--full { grid-column: 1 / -1; }
.wbs-form label { font-weight: 600; font-size: 0.93rem; }
.wbs-form .wbs-form__opt { font-weight: 400; color: var(--wbs-muted); }
.wbs-form .wbs-form__req { color: var(--wbs-accent); }
.wbs-form input, .wbs-form select, .wbs-form textarea {
	font: inherit; font-size: 1rem; color: var(--wbs-text); background: var(--wbs-blanc);
	border: 1px solid rgba(22, 32, 51, 0.22); border-radius: 10px; padding: 12px 14px; min-height: 48px; width: 100%; box-sizing: border-box;
	transition: border-color var(--wbs-t), box-shadow var(--wbs-t);
}
.wbs-form textarea { min-height: 140px; resize: vertical; }
.wbs-form select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%23162033' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 12px; padding-right: 40px; }
.wbs-form input:focus, .wbs-form select:focus, .wbs-form textarea:focus { outline: none; border-color: var(--wbs-accent); box-shadow: 0 0 0 3px rgba(47, 111, 237, 0.18); }
.wbs-form [aria-invalid="true"] { border-color: #B42318; }
.wbs-form__error { color: #B42318; font-size: 0.86rem; min-height: 0; }
.wbs-form__hint { color: var(--wbs-muted); font-size: 0.86rem; }
.wbs-form__privacy { grid-column: 1 / -1; font-size: 0.86rem; color: var(--wbs-muted); }
.wbs-form__actions { grid-column: 1 / -1; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.wbs-form__submit {
	display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 12px 28px; border-radius: 10px; border: 0;
	background: var(--wbs-cta); color: var(--wbs-navy); font: inherit; font-weight: 700; font-size: 1.02rem; cursor: pointer;
	transition: background-color var(--wbs-t), box-shadow var(--wbs-t), transform var(--wbs-t);
}
.wbs-form__submit:hover { background: color-mix(in srgb, var(--wbs-cta) 88%, #000); box-shadow: 0 6px 18px rgba(242, 183, 5, 0.28); }
.wbs-form__submit[disabled] { opacity: 0.65; cursor: progress; }
.wbs-form__status { grid-column: 1 / -1; border-radius: 10px; padding: 14px 16px; font-weight: 500; }
.wbs-form__status:empty { display: none; }
.wbs-form__status.is-success { background: rgba(47, 111, 237, 0.08); color: var(--wbs-navy); border: 1px solid rgba(47, 111, 237, 0.3); }
.wbs-form__status.is-error { background: rgba(180, 35, 24, 0.06); color: #B42318; border: 1px solid rgba(180, 35, 24, 0.25); }
.wbs-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 640px) { .wbs-form { grid-template-columns: 1fr; } .wbs-form__submit { width: 100%; justify-content: center; } }

/* Contact direct (page Carte) */
.wbs-direct { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.wbs-direct__btn {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 76px;
	border: 1px solid var(--wbs-line-dark); border-radius: 12px; color: var(--wbs-on-dark); text-decoration: none; font-weight: 600; font-size: 0.92rem; text-align: center; padding: 10px 6px;
	transition: background-color var(--wbs-t), border-color var(--wbs-t);
}
.wbs-direct__btn:hover { background: rgba(255, 255, 255, 0.06); border-color: var(--wbs-on-dark); color: var(--wbs-on-dark); }
.wbs-direct__btn svg { width: 24px; height: 24px; }
.wbs-direct.has-1 { grid-template-columns: 1fr; }
.wbs-direct.has-2 { grid-template-columns: 1fr 1fr; }

/* ---------- Divers ---------- */
.wbs-404 { padding: 96px var(--wbs-gutter); text-align: center; }
.wbs-404 h1 { font-size: 2rem; margin-bottom: 16px; }

/* Éditeur : rendre les dos de carte visibles sous la face avant */
.editor-styles-wrapper .wbs-flip__back { margin-top: 16px; }
.editor-styles-wrapper .wbs-hero__bg, .editor-styles-wrapper .wbs-cta__bg, .editor-styles-wrapper .wbs-feature__bg, .editor-styles-wrapper .wbs-contact__bg { opacity: 0.35; }

/* ==========================================================================
   v1.1 — retours UX du 12/10/2026
   ========================================================================== */

/* ---------- Effet rideau : le Hero reste en place, la page glisse par-dessus ---------- */
.wbs-main { position: relative; }
.wbs-main > .wbs-hero { position: sticky; top: var(--wbs-header-h); z-index: 0; }
.admin-bar .wbs-main > .wbs-hero { top: calc(var(--wbs-header-h) + 32px); }
.wbs-main > *:not(.wbs-hero) { position: relative; z-index: 1; }
.wbs-main > .wbs-hero + * { box-shadow: 0 -20px 40px rgba(22, 32, 51, 0.32); }
.wbs-footer { position: relative; z-index: 1; }

/* Blocs sombres photographiques : image fixe, révélée au défilement */
.wbs-feature.has-bg, .wbs-cta.has-bg { clip-path: inset(0); }
.wbs-feature.has-bg .wbs-feature__bg, .wbs-cta.has-bg .wbs-cta__bg { position: fixed !important; inset: 0; height: 100vh; height: 100lvh; }

@media (prefers-reduced-motion: reduce) {
	.wbs-main > .wbs-hero { position: relative; top: auto; }
	.wbs-main > .wbs-hero + * { box-shadow: none; }
	.wbs-feature.has-bg .wbs-feature__bg, .wbs-cta.has-bg .wbs-cta__bg { position: absolute !important; height: auto; }
}

/* ---------- Cartes : toute la carte est un lien, flèche discrète ---------- */
.wbs-card__title.wbs-stretched a {
	padding-right: 24px;
	background: no-repeat right 0.2em / 16px 16px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8h9M8.5 4l4 4-4 4' fill='none' stroke='%232F6FED' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	transition: background-position var(--wbs-t) var(--wbs-ease);
}
.wbs-card:hover .wbs-card__title.wbs-stretched a { background-position: calc(100% + 0px) 0.2em; }
.wbs-card.is-dark .wbs-card__title.wbs-stretched a {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8h9M8.5 4l4 4-4 4' fill='none' stroke='%2393B4F5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.wbs-card--moyen .wbs-card__title.wbs-stretched a { padding-right: 0; background: none; }
.wbs-card.is-dark:has(.wbs-stretched a):hover { border-color: rgba(255, 255, 255, 0.35); }
.wbs-card--situation .wbs-card__title a { display: block; }

/* Prix : vrai bouton jaune, au-dessus du lien de carte */
.wbs-price-actions { position: relative; z-index: 3; margin-top: 16px !important; }
.wbs-card--offre .wbs-price-actions { margin-top: auto !important; padding-top: 16px; }
.wbs-price-actions .wp-block-button__link { min-height: 40px; padding: 8px 16px; font-size: 0.93rem; }

/* ---------- Images de cartes : entières, fondues dans la carte (plus de coupure nette) ---------- */
.wbs-card--intervention .wbs-card__icon { -webkit-mask-image: linear-gradient(to bottom, #000 55%, transparent 100%); mask-image: linear-gradient(to bottom, #000 55%, transparent 100%); }
.wbs-card--auto .wbs-card__media, .wbs-card--logiciel .wbs-card__media { -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 28%, #000 72%, transparent 100%); mask-image: linear-gradient(to bottom, transparent 0, #000 28%, #000 72%, transparent 100%); }
.wbs-card--info .wbs-card__media, .wbs-card--domaine .wbs-card__media { -webkit-mask-image: linear-gradient(to bottom, #000 55%, transparent 100%); mask-image: linear-gradient(to bottom, #000 55%, transparent 100%); }
.wbs-card--situation .wbs-card__media, .wbs-card--moyen .wbs-card__media { -webkit-mask-image: linear-gradient(to right, transparent 0, #000 40%); mask-image: linear-gradient(to right, transparent 0, #000 40%); }
.wbs-card--logiciel { padding-bottom: 8px; }

/* ---------- Offre : barre des moyens, toujours visible ---------- */
.wbs-main > .wbs-moyens-bar {
	position: sticky; top: var(--wbs-header-h); z-index: 5;
	background: rgba(255, 255, 255, 0.97); backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--wbs-line);
}
.admin-bar .wbs-main > .wbs-moyens-bar { top: calc(var(--wbs-header-h) + 32px); }
.wbs-moyens-bar__inner { display: flex; align-items: center; gap: 20px; padding-block: 12px; }
.wbs-moyens-bar__label { font-size: 0.85rem; font-weight: 600; color: var(--wbs-muted); white-space: nowrap; }
.wbs-moyens-bar__list { display: flex; gap: 10px; list-style: none; margin: 0 !important; padding: 0; overflow-x: auto; scrollbar-width: none; }
.wbs-moyens-bar__list::-webkit-scrollbar { display: none; }
.wbs-moyens-bar__list li { flex: 0 0 auto; }
.wbs-moyens-bar__list a {
	display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 16px;
	border: 1px solid rgba(47, 111, 237, 0.35); border-radius: 999px; background: var(--wbs-blanc);
	color: var(--wbs-navy); font-weight: 600; font-size: 0.95rem; text-decoration: none; white-space: nowrap;
	transition: background-color var(--wbs-t), color var(--wbs-t), border-color var(--wbs-t);
}
.wbs-moyens-bar__list a::after {
	content: ""; width: 14px; height: 14px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8h9M8.5 4l4 4-4 4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8h9M8.5 4l4 4-4 4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.wbs-moyens-bar__list a:hover { background: var(--wbs-accent-soft); color: var(--wbs-accent); border-color: var(--wbs-accent); }
@media (max-width: 760px) {
	.wbs-moyens-bar__inner { flex-direction: column; align-items: stretch; gap: 8px; padding-block: 10px; }
	.wbs-moyens-bar__label { font-size: 0.8rem; }
	.wbs-moyens-bar__list { margin-inline: calc(-1 * var(--wbs-gutter)) !important; padding-inline: var(--wbs-gutter); }
}

/* ---------- Contact : formulaire visible dès l'arrivée ---------- */
.wbs-hero--compact { min-height: clamp(240px, 22vw, 300px); }
.wbs-hero--compact .wbs-hero__content { padding-block: 36px 96px; }
.wbs-hero--compact + .wbs-contact { padding-top: 0; box-shadow: none; background: transparent; }
.wbs-hero--compact + .wbs-contact::before { content: ""; position: absolute; left: 0; right: 0; top: 0; bottom: 0; background: var(--wbs-fond); z-index: -1; top: 72px; box-shadow: 0 -20px 40px rgba(22, 32, 51, 0.32); }
.wbs-hero--compact + .wbs-contact .wbs-contact__grid { position: relative; }
.wbs-hero--compact + .wbs-contact .wbs-panel { box-shadow: 0 18px 50px rgba(22, 32, 51, 0.22); }
.wbs-hero--compact + .wbs-contact { margin-top: -72px !important; }
.wbs-hero--compact + .wbs-contact { padding-bottom: var(--wbs-section-y); }
@media (max-width: 760px) {
	.wbs-hero--compact .wbs-hero__content { padding-block: 64px 88px; }
	.wbs-hero--compact .wbs-hero__lead { margin-top: 10px !important; }
}

/* ---------- Footer en 3 colonnes ---------- */
.wbs-footer__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; align-items: stretch; }
.wbs-footer__brand { display: flex; flex-direction: column; align-items: flex-start; }
.wbs-footer__copy { margin-top: auto !important; padding-top: 24px; font-size: 0.82rem; color: var(--wbs-on-dark-muted); }
.wbs-footer__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.wbs-footer__list a { color: var(--wbs-on-dark); text-decoration: none; font-size: 0.95rem; }
.wbs-footer__list a:hover { color: var(--wbs-accent-light); text-decoration: underline; }
@media (max-width: 760px) {
	.wbs-footer__cols { grid-template-columns: 1fr; gap: 24px; }
	.wbs-footer__brand { display: contents; }
	.wbs-footer__brand > a { order: 1; }
	.wbs-footer__baseline { order: 2; margin-top: -16px !important; }
	.wbs-footer__cols > nav { order: 3; }
	.wbs-footer__copy { order: 10; padding-top: 8px; border-top: 1px solid var(--wbs-line-dark); }
}

/* ---------- « En savoir plus » sur tablette et smartphone : panneau plein écran ---------- */
html.wbs-sheet-open { overflow: hidden; }
.wbs-js .wbs-flip.is-ready.is-sheet { perspective: none; overflow: visible; }
.wbs-js .wbs-flip.is-ready.is-sheet > .wbs-flip__front { transform: none !important; opacity: 1; }
.wbs-js .wbs-flip.is-ready.is-sheet > .wbs-flip__back {
	position: fixed; inset: 0; z-index: 200; border-radius: 0; box-shadow: none;
	overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
	padding: calc(12px + env(safe-area-inset-top, 0px)) var(--wbs-gutter) calc(40px + env(safe-area-inset-bottom, 0px));
	transform: translateY(100%); opacity: 1; backface-visibility: visible;
	transition: transform 250ms var(--wbs-ease);
}
.wbs-js .wbs-flip.is-ready.is-sheet.is-flipped > .wbs-flip__back { transform: translateY(0); }
.wbs-flip.is-sheet > .wbs-flip__back > * { max-width: 640px; margin-inline: auto !important; }
.wbs-flip.is-sheet .wbs-flip__close {
	position: sticky; top: calc(-12px - env(safe-area-inset-top, 0px)); z-index: 2; background: var(--wbs-navy);
	padding-block: 12px; margin-bottom: 8px !important; justify-content: flex-start;
}
@media (prefers-reduced-motion: reduce) {
	.wbs-js .wbs-flip.is-ready.is-sheet > .wbs-flip__back { transition: none; }
}

/* Interventions (Accueil) : le bouton prix se place avant « Résultat » pour garder les résultats alignés */
.wbs-card--intervention .wbs-card__result { order: 2; }
.wbs-card--intervention .wbs-price-actions { order: 1; margin-top: 0 !important; margin-bottom: 16px !important; }

/* Header collant : appliqué au conteneur de la partie de modèle (sinon le collage reste limité à sa propre hauteur) */
.wp-block-template-part:has(> .wbs-header:not(.wbs-header--carte)) { position: sticky; top: 0; z-index: 50; }
.admin-bar .wp-block-template-part:has(> .wbs-header:not(.wbs-header--carte)) { top: 32px; }
@media (max-width: 782px) { .admin-bar .wp-block-template-part:has(> .wbs-header:not(.wbs-header--carte)) { top: 46px; } }
.wbs-header { position: relative; top: auto !important; }

/* Tableaux juridiques (Politique cookies) */
.wbs-legal-table { margin: 16px 0 8px !important; overflow-x: auto; }
.wbs-legal-table table { width: 100%; border-collapse: collapse; font-size: 0.9rem; min-width: 560px; }
.wbs-legal-table th, .wbs-legal-table td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--wbs-line); color: var(--wbs-muted); }
.wbs-legal-table th { color: var(--wbs-navy); font-weight: 600; background: var(--wbs-fond); }
.wbs-legal-table code { font-size: 0.85em; background: var(--wbs-fond); padding: 1px 6px; border-radius: 4px; color: var(--wbs-navy); word-break: break-all; }
.wbs-legal__layout > *, .wbs-legal__body { min-width: 0; }
.wbs-legal-table { max-width: 100%; -webkit-overflow-scrolling: touch; }
.wbs-legal-table code { word-break: normal; white-space: nowrap; }
.wbs-legal-table td:first-child { white-space: nowrap; }

/* ===== v1.1.2 — Opacité de l'arrière-plan (réglage de l'éditeur) ===== */
.wbs-card { --wbs-bg: var(--wbs-blanc); }
.wbs-section--white { --wbs-bg: var(--wbs-blanc); }
.wbs-section--light, .is-style-wbs-light { --wbs-bg: var(--wbs-fond); }
.wbs-section--dark, .is-style-wbs-dark { --wbs-bg: var(--wbs-navy); }
.has-wbs-bg-opacity {
	background-color: color-mix(in srgb, var(--wbs-bg, #FFFFFF) calc(var(--wbs-bg-op, 1) * 100%), transparent) !important;
}
@supports not (background-color: color-mix(in srgb, red 50%, transparent)) {
	.has-wbs-bg-opacity { background-color: var(--wbs-bg, #FFFFFF) !important; }
}

/* ===== v1.1.2 — Cartes Offre : intro, « Ce que WEBENSIS fait », « Résultat » et bouton alignés par rangée ===== */
@media (min-width: 960px) {
	.wbs-grid--3 > .wbs-card--offre { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 0; }
	.wbs-card--offre > .wbs-price-actions { margin-top: 16px; align-self: start; }
}

/* ===== v1.1.4 — Retournement des cartes plus posé (ordinateur) ===== */
@media (min-width: 960px) {
	.wbs-js .wbs-flip.is-ready,
	.wbs-js .wbs-flip.is-ready > .wbs-flip__front,
	.wbs-js .wbs-flip.is-ready > .wbs-flip__back { transition-duration: 1200ms; }
}

/* ===== v1.1.4 — Titres de section centrés, dans une boîte (lisibles sur image ou transparence) ===== */
.wbs-section__head {
	margin-inline: auto; text-align: center;
	background: rgba(255, 255, 255, 0.88); border: 1px solid var(--wbs-line); border-radius: var(--wbs-radius);
	padding: clamp(20px, 3vw, 32px) clamp(20px, 4vw, 40px) !important;
	box-shadow: 0 10px 30px rgba(22, 32, 51, 0.08);
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.wbs-section--dark .wbs-section__head, .is-style-wbs-dark .wbs-section__head {
	background: rgba(22, 32, 51, 0.72); border-color: var(--wbs-line-dark); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

/* ===== v1.1.4 — Contact : photo sans filtre, voile léger derrière le texte, logo peint sur le mur ===== */
.wbs-contact__aside::before { background: linear-gradient(180deg, rgba(22, 32, 51, 0.85) 0%, rgba(22, 32, 51, 0.6) 22%, rgba(22, 32, 51, 0) 38%); }
@media (min-width: 960px) {
	.wbs-contact__aside::after {
		content: ""; position: absolute; z-index: -1; pointer-events: none;
		left: 52%; top: 30%; width: 62%; aspect-ratio: 640 / 122; transform: translateX(-50%);
		background: url("../logos/4-webensis-logo-horizontal-blanc-fond-transparent.png") center / contain no-repeat;
		mix-blend-mode: hard-light; opacity: 0.95; filter: blur(0.35px);
	}
}
@media (max-width: 959px) {
	.wbs-contact__bg { display: block; }
	.wbs-contact__aside { min-height: 460px; }
	.wbs-contact__aside::before { background: linear-gradient(180deg, rgba(22, 32, 51, 0.88) 0%, rgba(22, 32, 51, 0.72) 32%, rgba(22, 32, 51, 0) 58%); }
	.wbs-contact__bg img { object-position: center bottom; }
}

/* ===== v1.1.5 — Formule « Comprendre · Décider · Agir » plus visible (navy), aussi sous le logo sur tablette / smartphone ===== */
.wbs-header:not(.wbs-header--carte) .wbs-header__tagline { font-size: 1rem; font-weight: 600; color: var(--wbs-navy); letter-spacing: 0.02em; }
@media (max-width: 1080px) {
	.wbs-header:not(.wbs-header--carte) .wbs-header__inner { position: relative; }
	.wbs-header:not(.wbs-header--carte) .wbs-header__brand { margin-bottom: 18px; }
	.wbs-header:not(.wbs-header--carte) .wbs-header__tagline {
		display: block; position: absolute; left: var(--wbs-gutter); bottom: 9px; margin: 0;
		padding: 0; border: 0; font-size: 0.8rem; line-height: 1.2; white-space: nowrap;
	}
}
@media (max-width: 960px) {
	:root { --wbs-header-h: 80px; }
}

/* ===== v1.1.5 — Panneau plein écran (mobile) : 1200 ms à l'ouverture et à la fermeture ===== */
.wbs-js .wbs-flip.is-ready.is-sheet > .wbs-flip__back { transition-duration: 1200ms; }

/* ===== v1.1.6 — Cartes « En savoir plus » qui s'étendent (Accueil, Offre) ===== */
.wbs-xp { display: none; }
.editor-styles-wrapper .wbs-xp { display: block; margin-top: 16px; padding: 14px; border: 1px dashed var(--wbs-line); border-radius: var(--wbs-radius-sm); font-size: 0.9rem; }
.editor-styles-wrapper .wbs-xp::before { content: "Détail affiché au clic"; display: block; font-size: 0.75rem; font-weight: 600; color: var(--wbs-accent); margin-bottom: 8px; }
.wbs-expandable { cursor: pointer; }

.is-xp-host { position: relative; }
.wbs-xp-panel {
	position: relative; z-index: 6; display: grid; grid-template-columns: minmax(240px, 30%) 1fr 1fr;
	background: var(--wbs-blanc); color: var(--wbs-navy); border-radius: 16px; overflow: hidden;
	box-shadow: 0 30px 80px rgba(22, 32, 51, 0.40); text-align: left;
	animation: wbs-xp-in 420ms var(--wbs-ease) both;
}
@keyframes wbs-xp-in { from { opacity: 0; transform: translateY(8px) scale(0.97); } to { opacity: 1; transform: none; } }
.wbs-xp-panel.is-closing { animation: wbs-xp-out 220ms ease both; }
@keyframes wbs-xp-out { to { opacity: 0; transform: scale(0.98); } }
.wbs-xp-panel__media { background: var(--wbs-navy); color: var(--wbs-on-dark); display: flex; flex-direction: column; }
.wbs-xp-panel__img { height: 190px; overflow: hidden; -webkit-mask-image: linear-gradient(180deg, #000 60%, transparent); mask-image: linear-gradient(180deg, #000 60%, transparent); }
.wbs-xp-panel__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.wbs-xp-panel__intro { padding: 4px 28px 30px; }
.wbs-xp-panel__name { font-size: 1.5rem; font-weight: 700; line-height: 1.25; margin: 0 0 10px; color: var(--wbs-on-dark); }
.wbs-xp-panel__entry { margin: 0; color: var(--wbs-on-dark-muted); line-height: 1.55; }
.wbs-xp-panel .wbs-xp__main, .wbs-xp-panel .wbs-xp__more { padding: 34px 34px 30px; }
.wbs-xp-panel .wbs-xp__more { border-left: 1px solid var(--wbs-line); }
.wbs-xp-panel .wbs-xp__eyebrow { font-size: 0.78rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wbs-accent); margin: 0 0 10px !important; }
.wbs-xp-panel .wbs-xp__title { font-size: 1.55rem; line-height: 1.25; margin: 0 0 12px !important; color: var(--wbs-navy); }
.wbs-xp-panel .wbs-xp__text { color: var(--wbs-muted); line-height: 1.6; margin: 0 0 18px !important; }
.wbs-xp-panel .wbs-xp__more .wbs-xp__text:last-child { margin-bottom: 0 !important; }
.wbs-xp-panel .wbs-xp__list { margin: 0 0 16px !important; color: var(--wbs-navy); }
.wbs-xp-panel .wbs-xp__actions { margin: 0 !important; }
.wbs-xp-panel__close {
	position: absolute; top: 16px; right: 16px; z-index: 2; width: 40px; height: 40px; border-radius: 10px;
	border: 1px solid var(--wbs-line); background: var(--wbs-blanc); color: var(--wbs-navy); font-size: 22px; line-height: 1; cursor: pointer;
}
.wbs-xp-panel__close:hover { border-color: var(--wbs-accent); color: var(--wbs-accent); }
.wbs-xp-panel__close:focus-visible { outline: 3px solid var(--wbs-accent); outline-offset: 2px; }

@media (min-width: 960px) {
	.is-xp-open > :not(.wbs-xp-panel) { filter: blur(2px); opacity: 0.35; pointer-events: none; transition: filter 300ms, opacity 300ms; }
	.wbs-xp-panel { position: absolute; left: 0; right: 0; top: var(--xp-top, 0); }
}
@media (max-width: 959px) {
	.wbs-xp-panel { grid-template-columns: 1fr; box-shadow: 0 18px 50px rgba(22, 32, 51, 0.30); scroll-margin-top: calc(var(--wbs-header-h) + 12px); }
	.wbs-xp-panel__img { height: 150px; }
	.wbs-xp-panel .wbs-xp__main, .wbs-xp-panel .wbs-xp__more { padding: 24px 22px; }
	.wbs-xp-panel .wbs-xp__more { border-left: 0; border-top: 1px solid var(--wbs-line); }
}
@media (prefers-reduced-motion: reduce) {
	.wbs-xp-panel, .wbs-xp-panel.is-closing { animation: none; }
	.is-xp-open > :not(.wbs-xp-panel) { transition: none; }
}

/* ===== v1.1.7 — Cartes retournables : aucune animation pendant leur mise en place au chargement ===== */
.wbs-flip-init .wbs-flip, .wbs-flip-init .wbs-flip > * { transition: none !important; }

/* ===== v1.2.0 — Cartes extensibles sans lien (Informatique, Logiciels) : repère visuel et focus clavier ===== */
.wbs-expandable .wbs-card__title:not(:has(a))::after { content: "→"; display: inline-block; margin-left: 8px; color: var(--wbs-accent); font-weight: 600; transition: transform var(--wbs-t) var(--wbs-ease); }
.wbs-expandable:hover .wbs-card__title:not(:has(a))::after { transform: translateX(3px); }
.wbs-expandable[tabindex]:hover { box-shadow: var(--wbs-shadow-hover); transform: translateY(-2px); border-color: rgba(47, 111, 237, 0.35); }
.wbs-expandable[tabindex]:focus-visible { outline: 3px solid var(--wbs-accent); outline-offset: 3px; }
