/* Rendu front des blocs BBS — tokens alignés sur le thème. */

.bbs-block { position: relative; }
.bbs-page-blocks .bbs-block + .bbs-block { margin-top: 0; }
.bbs-block-content > :last-child { margin-bottom: 0; }

/* Hero */
.bbs-block-hero {
	padding: clamp(4rem, 10vw, 7rem) 0;
	background-size: cover;
	background-position: center;
	background-color: var(--bbs-primary-hex, #004185);
}
.bbs-block-hero:not(.bbs-has-bg) { background: linear-gradient(120deg, #022b57, #004185 55%, #1a5a9c); }
.bbs-block-hero .bbs-hero-overlay { position: absolute; inset: 0; background: transparent; }
.bbs-block-hero.bbs-has-bg .bbs-hero-overlay {
	background: linear-gradient(90deg, rgba(2, 43, 87, .88) 0%, rgba(2, 43, 87, .42) 100%);
}
.bbs-block-hero h1 { letter-spacing: -.02em; }

/* Cartes */
.bbs-card-widget {
	background: #fff;
	border: 1px solid rgba(0, 65, 133, .08);
	border-radius: var(--bbs-card-radius, 8px);
	box-shadow: var(--bbs-card-shadow, 0 12px 40px rgba(0, 0, 0, .06));
	transition: transform .2s ease, box-shadow .2s ease;
}
.bbs-card-widget:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 40px rgba(0, 65, 133, .12);
}
.bbs-card-widget__icon {
	width: auto;
	height: auto;
	border-radius: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	color: var(--bs-primary, #004185);
	font-size: 1.35rem;
	margin-bottom: .35rem;
}

/* Chiffres */
.bbs-block-chiffres {
	background: linear-gradient(180deg, rgba(0, 65, 133, .04), transparent);
}
.bbs-stat-widget__icon { color: var(--bs-secondary, #aab185); font-size: 1.35rem; }
.bbs-stat-widget__number {
	font-size: clamp(1.75rem, 3vw, 2.35rem);
	font-weight: 700;
	color: var(--bs-primary, #004185);
	line-height: 1.1;
}
.bbs-stat-widget__label {
	margin-top: .35rem;
	font-size: .92rem;
	color: #5c6b7a;
}

/* Citation */
.bbs-quote {
	max-width: 760px;
	padding: 2rem 1.5rem;
	border-left: 4px solid var(--bs-secondary, #aab185);
	background: rgba(0, 65, 133, .04);
	border-radius: 0 12px 12px 0;
}
.bbs-quote__text {
	font-size: clamp(1.15rem, 2.2vw, 1.45rem);
	line-height: 1.55;
	color: #1f2937;
	font-style: italic;
	margin: 0;
}
.bbs-quote__photo {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	object-fit: cover;
}

/* Galerie */
.bbs-gallery-item img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform .2s ease;
}
.bbs-gallery-item a:hover img { transform: scale(1.03); }

/* CTA */
.bbs-block-cta .bbs-cta-inner {
	background: var(--bs-primary, #004185);
	border-radius: var(--bbs-radius-lg, 16px);
	box-shadow: 0 16px 40px rgba(0, 65, 133, .22);
}

/* FAQ */
.bbs-faq-item summary { cursor: pointer; list-style: none; }
.bbs-faq-item summary::-webkit-details-marker { display: none; }
.bbs-faq-item[open] summary .fa-chevron-down { transform: rotate(180deg); }
.bbs-faq-item summary .fa-chevron-down { transition: transform .2s ease; }

/* Contact */
.bbs-contact-strip {
	background: linear-gradient(105deg, #022b57 0%, #004185 60%, #1a5a9c 100%);
	border-radius: var(--bbs-radius-lg, 16px);
	color: #fff;
}
.bbs-contact-strip__list li { margin-bottom: .55rem; color: rgba(255, 255, 255, .88); }
.bbs-contact-strip__list a { color: #fff; text-decoration: underline; text-underline-offset: 2px; }
.bbs-contact-strip__list a:hover { color: var(--bs-secondary, #aab185); }

@media (prefers-reduced-motion: reduce) {
	.bbs-card-widget,
	.bbs-gallery-item img,
	.bbs-faq-item summary .fa-chevron-down { transition: none; }
}
