/* =========================================================
   Butterbredele.com — Article recette premium Noël
   Scope strict : .bbd-wrap + .bbd-faq uniquement
   Compatible SSCMS / FAQ hors wrapper / étapes sans ol-li
   ========================================================= */

/* Base ultra scopée */
html body .bbd-wrap {
	--bbd-choco: #301407;
	--bbd-brown: #5a2d14;
	--bbd-caramel: #a85a22;
	--bbd-cookie: #d98a35;
	--bbd-cookie-light: #ffc978;
	--bbd-cream: #fff6e7;
	--bbd-cream-2: #fffaf1;
	--bbd-icing: #fffdf7;
	--bbd-red: #b82024;
	--bbd-red-dark: #801215;
	--bbd-green: #1f7a4a;
	--bbd-green-dark: #115233;
	--bbd-gold: #f2c14e;
	--bbd-shadow: rgba(74, 35, 11, .16);
	--bbd-shadow-soft: rgba(74, 35, 11, .08);
	position: relative !important;
	isolation: isolate !important;
	box-sizing: border-box !important;
	color: #332016 !important;
	font-family: inherit !important;
}

html body .bbd-wrap *,
html body .bbd-wrap *::before,
html body .bbd-wrap *::after {
	box-sizing: border-box !important;
}

html body .bbd-wrap {
	max-width: 1160px !important;
	margin: 40px auto 34px !important;
	padding: 0 18px !important;
}

/* Fond gourmand global, uniquement derrière l'article */
html body .bbd-wrap::before {
	content: "" !important;
	position: absolute !important;
	inset: -28px -10px auto -10px !important;
	height: 520px !important;
	z-index: -2 !important;
	pointer-events: none !important;
	border-radius: 36px !important;
	background:
		radial-gradient(circle at 8% 18%, rgba(255,255,255,.95) 0 2px, transparent 3px),
		radial-gradient(circle at 18% 34%, rgba(255,255,255,.75) 0 1px, transparent 3px),
		radial-gradient(circle at 34% 12%, rgba(255,255,255,.8) 0 2px, transparent 4px),
		radial-gradient(circle at 72% 18%, rgba(255,255,255,.9) 0 2px, transparent 4px),
		radial-gradient(circle at 90% 36%, rgba(255,255,255,.75) 0 1px, transparent 3px),
		linear-gradient(180deg, rgba(255,246,231,.96), rgba(255,246,231,0)) !important;
}

/* Hero premium */
html body .bbd-wrap .bbd-hero {
	position: relative !important;
	overflow: hidden !important;
	padding: clamp(24px, 4vw, 42px) !important;
	margin: 0 0 24px !important;
	border-radius: 34px !important;
	border: 1px solid rgba(122,63,25,.22) !important;
	background:
		radial-gradient(circle at 16% 18%, rgba(255,255,255,.92) 0 0, transparent 27%),
		radial-gradient(circle at 84% 18%, rgba(255,231,171,.8) 0 0, transparent 28%),
		linear-gradient(135deg, #fff8e8 0%, #ffe2a9 42%, #fffaf1 100%) !important;
	box-shadow:
		0 26px 70px rgba(74,35,11,.18),
		inset 0 0 0 1px rgba(255,255,255,.62) !important;
}

html body .bbd-wrap .bbd-hero::before,
html body .bbd-wrap .bbd-hero::after {
	content: "✦  ❄  🍪  ✧  🎄  ❄  ✦  🍪  ✧  ❄  🎁  ✦" !important;
	position: absolute !important;
	left: -12% !important;
	right: -12% !important;
	z-index: 0 !important;
	pointer-events: none !important;
	white-space: nowrap !important;
	font-size: 25px !important;
	letter-spacing: 18px !important;
	color: rgba(90,45,20,.28) !important;
	text-shadow: 0 1px 0 rgba(255,255,255,.8) !important;
	animation: bbd-xmas-drift 22s linear infinite !important;
}

html body .bbd-wrap .bbd-hero::before {
	top: 18px !important;
}

html body .bbd-wrap .bbd-hero::after {
	bottom: 22px !important;
	animation-direction: reverse !important;
	animation-duration: 29s !important;
	opacity: .72 !important;
}

html body .bbd-wrap .bbd-hero > * {
	position: relative !important;
	z-index: 1 !important;
}

/* Kicker / eyebrow */
html body .bbd-wrap .bbd-kicker,
html body .bbd-wrap .bbd-eyebrow {
	display: inline-flex !important;
	align-items: center !important;
	width: fit-content !important;
	max-width: 100% !important;
	padding: 8px 13px !important;
	margin: 0 0 13px !important;
	border-radius: 999px !important;
	background:
		linear-gradient(135deg, var(--bbd-red), var(--bbd-red-dark)) !important;
	color: #fffdf7 !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	letter-spacing: .06em !important;
	text-transform: uppercase !important;
	line-height: 1.2 !important;
	box-shadow:
		0 10px 24px rgba(184,32,36,.22),
		inset 0 0 0 1px rgba(255,255,255,.24) !important;
	text-shadow: 0 1px 0 rgba(0,0,0,.16) !important;
}

html body .bbd-wrap .bbd-kicker::before,
html body .bbd-wrap .bbd-eyebrow::before{
	content: "🎄" !important;
	margin-right: 7px !important;
	filter: drop-shadow(0 2px 2px rgba(0,0,0,.16)) !important;
}

/* Grand titre visuel */
html body .bbd-wrap .bbd-title {
	max-width: 980px !important;
	margin: 0 0 16px !important;
	color: var(--bbd-choco) !important;
	font-size: clamp(32px, 5vw, 62px) !important;
	line-height: .98 !important;
	font-weight: 950 !important;
	letter-spacing: -.045em !important;
	text-wrap: balance !important;
	text-shadow:
		0 2px 0 rgba(255,255,255,.88),
		0 18px 34px rgba(122,63,25,.18) !important;
}

html body .bbd-wrap .bbd-title::after {
	content: "" !important;
	display: block !important;
	width: min(330px, 72%) !important;
	height: 11px !important;
	margin-top: 16px !important;
	border-radius: 999px !important;
	background:
		linear-gradient(90deg, var(--bbd-red), var(--bbd-gold), var(--bbd-green), var(--bbd-red)) !important;
	box-shadow:
		0 10px 22px rgba(169,88,29,.22),
		inset 0 1px 0 rgba(255,255,255,.6) !important;
	animation: bbd-garland-glow 2.8s ease-in-out infinite !important;
}

/* Lead */
html body .bbd-wrap .bbd-lead {
	max-width: 920px !important;
	margin: 0 0 24px !important;
	color: #4d3527 !important;
	font-size: clamp(17px, 1.6vw, 19px) !important;
	line-height: 1.82 !important;
	font-weight: 500 !important;
}

/* Hero grid */
html body .bbd-wrap .bbd-hero-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1.38fr) minmax(290px, .62fr) !important;
	gap: 22px !important;
	align-items: stretch !important;
	margin: 24px 0 0 !important;
}

/* Image recette */
html body .bbd-wrap .bbd-photo-card {
	position: relative !important;
	min-height: 300px !important;
	overflow: hidden !important;
	border-radius: 28px !important;
	border: 9px solid #fffdf7 !important;
	background: #fffdf7 !important;
	transform: rotate(-.45deg) !important;
	box-shadow:
		0 26px 58px rgba(74,35,11,.24),
		0 0 0 1px rgba(122,63,25,.16),
		inset 0 0 0 1px rgba(255,255,255,.65) !important;
}

html body .bbd-wrap .bbd-photo-card img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 300px !important;
	max-height: 470px !important;
	object-fit: cover !important;
	filter: saturate(1.08) contrast(1.03) warm(1) !important;
	transform: scale(1.01) !important;
}

html body .bbd-wrap .bbd-photo-card::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 1 !important;
	pointer-events: none !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,0) 50%, rgba(48,20,7,.18) 100%),
		radial-gradient(circle at 18% 16%, rgba(255,255,255,.30), transparent 32%) !important;
}

html body .bbd-wrap .bbd-photo-card::after {
	content: "🍪" !important;
	position: absolute !important;
	right: 16px !important;
	bottom: 15px !important;
	z-index: 2 !important;
	width: 56px !important;
	height: 56px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 50% !important;
	background: rgba(255,253,247,.94) !important;
	border: 1px solid rgba(122,63,25,.18) !important;
	box-shadow: 0 12px 26px rgba(48,20,7,.28) !important;
	font-size: 28px !important;
	animation: bbd-cookie-pop 3s ease-in-out infinite !important;
}

/* Carte repères */
html body .bbd-wrap .bbd-fast-card,
html body .bbd-wrap .bbd-tip-card,
html body .bbd-wrap .bbd-link-card,
html body .bbd-wrap .bbd-note{
	position: relative !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,.97), rgba(255,247,232,.97)) !important;
	border: 1px solid rgba(169,88,29,.22) !important;
	box-shadow:
		0 16px 38px rgba(74,35,11,.11),
		inset 0 0 0 1px rgba(255,255,255,.68) !important;
}

html body .bbd-wrap .bbd-fast-card,
html body .bbd-wrap .bbd-tip-card,
html body .bbd-wrap .bbd-link-card {
	overflow: hidden !important;
}

html body .bbd-wrap .bbd-fast-card {
	border-radius: 28px !important;
	padding: 23px !important;
}

html body .bbd-wrap .bbd-fast-card::before,
html body .bbd-wrap .bbd-tip-card::before,
html body .bbd-wrap .bbd-link-card::before {
	content: "" !important;
	position: absolute !important;
	top: 0 !important;
	left: 18px !important;
	right: 18px !important;
	height: 6px !important;
	border-radius: 0 0 999px 999px !important;
	background:
		repeating-linear-gradient(
			90deg,
			var(--bbd-red) 0 16px,
			#fffdf7 16px 24px,
			var(--bbd-green) 24px 40px,
			#fffdf7 40px 48px
		) !important;
	opacity: .96 !important;
}

html body .bbd-wrap .bbd-fast-title {
	margin: 0 0 14px !important;
	color: var(--bbd-choco) !important;
	font-size: 23px !important;
	line-height: 1.15 !important;
	font-weight: 950 !important;
	letter-spacing: -.02em !important;
}

html body .bbd-wrap .bbd-fast-title::before {
	content: "⏱️ " !important;
}

/* Listes internes maîtrisées */
html body .bbd-wrap .bbd-fast-list,
html body .bbd-wrap .bbd-checklist {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

html body .bbd-wrap .bbd-fast-list > li,
html body .bbd-wrap .bbd-checklist > li {
	position: relative !important;
	margin: 0 !important;
	padding: 10px 0 10px 34px !important;
	color: #3a261a !important;
	font-size: 16px !important;
	line-height: 1.65 !important;
	list-style: none !important;
}

html body .bbd-wrap .bbd-fast-list > li::before,
html body .bbd-wrap .bbd-checklist > li::before {
	content: "🍪" !important;
	position: absolute !important;
	left: 0 !important;
	top: 10px !important;
	filter: drop-shadow(0 4px 5px rgba(74,35,11,.18)) !important;
	animation: bbd-mini-pop 3.6s ease-in-out infinite !important;
}

html body .bbd-wrap .bbd-fast-list strong,
html body .bbd-wrap .bbd-checklist strong {
	color: var(--bbd-choco) !important;
	font-weight: 950 !important;
}

/* Boutons */
html body .bbd-wrap .bbd-actions {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	margin-top: 24px !important;
}

html body .bbd-wrap .bbd-btn,
html body .bbd-wrap .bbd-card-cta {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	min-height: 46px !important;
	padding: 13px 19px !important;
	border-radius: 999px !important;
	text-decoration: none !important;
	font-weight: 950 !important;
	line-height: 1.2 !important;
	letter-spacing: -.01em !important;
	cursor: pointer !important;
	transition:
		transform .22s ease,
		box-shadow .22s ease,
		filter .22s ease,
		background .22s ease !important;
}

html body .bbd-wrap .bbd-btn:hover,
html body .bbd-wrap .bbd-card-cta:hover {
	transform: translateY(-2px) !important;
	filter: saturate(1.08) !important;
}

html body .bbd-wrap .bbd-btn--primary,
html body .bbd-wrap .bbd-card-cta {
	color: #fffdf7 !important;
	background:
		linear-gradient(135deg, var(--bbd-red), var(--bbd-red-dark)) !important;
	border: 1px solid rgba(255,255,255,.26) !important;
	box-shadow:
		0 14px 30px rgba(184,32,36,.25),
		inset 0 0 0 1px rgba(255,255,255,.18) !important;
	text-shadow: 0 1px 0 rgba(0,0,0,.18) !important;
}

html body .bbd-wrap .bbd-btn--primary::after,
html body .bbd-wrap .bbd-card-cta::after {
	content: "✨" !important;
	display: inline-block !important;
	animation: bbd-sparkle 1.9s ease-in-out infinite !important;
}

html body .bbd-wrap .bbd-btn--ghost {
	color: var(--bbd-brown) !important;
	background:
		linear-gradient(180deg, #fffdf7, #fff0d5) !important;
	border: 1px solid rgba(122,63,25,.28) !important;
	box-shadow: 0 12px 26px rgba(74,35,11,.10) !important;
}

/* Sommaire */
html body .bbd-wrap .bbd-summary {
	position: relative !important;
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	margin: 0 0 24px !important;
	padding: 15px !important;
	border-radius: 26px !important;
	background:
		linear-gradient(135deg, #fffdf7, #fff1d7) !important;
	border: 1px dashed rgba(122,63,25,.34) !important;
	box-shadow: 0 16px 36px rgba(74,35,11,.09) !important;
}

html body .bbd-wrap .bbd-summary::before {
	content: "🎁" !important;
	position: absolute !important;
	right: 18px !important;
	top: -16px !important;
	width: 40px !important;
	height: 40px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 50% !important;
	background: #fffdf7 !important;
	box-shadow: 0 8px 18px rgba(74,35,11,.16) !important;
}

html body .bbd-wrap .bbd-summary a {
	display: inline-flex !important;
	align-items: center !important;
	padding: 10px 14px !important;
	border-radius: 999px !important;
	background: #fffdf7 !important;
	color: var(--bbd-brown) !important;
	border: 1px solid rgba(122,63,25,.16) !important;
	box-shadow: 0 7px 16px rgba(74,35,11,.08) !important;
	font-weight: 900 !important;
	text-decoration: none !important;
	line-height: 1.2 !important;
	transition:
		transform .2s ease,
		background .2s ease,
		box-shadow .2s ease !important;
}

html body .bbd-wrap .bbd-summary a::before {
	content: "✦" !important;
	margin-right: 7px !important;
	color: var(--bbd-red) !important;
}

html body .bbd-wrap .bbd-summary a:hover {
	transform: translateY(-2px) !important;
	background: #fff5df !important;
	box-shadow: 0 10px 20px rgba(74,35,11,.12) !important;
}

/* Sections article */
html body .bbd-wrap .bbd-section {
	position: relative !important;
	overflow: hidden !important;
	margin: 0 0 24px !important;
	padding: clamp(22px, 3vw, 32px) !important;
	border-radius: 30px !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,.985), rgba(255,249,239,.985)) !important;
	border: 1px solid rgba(169,88,29,.18) !important;
	box-shadow:
		0 18px 46px rgba(74,35,11,.095),
		inset 0 0 0 1px rgba(255,255,255,.62) !important;
}

html body .bbd-wrap .bbd-section::after {
	content: "" !important;
	position: absolute !important;
	right: -96px !important;
	top: -96px !important;
	width: 220px !important;
	height: 220px !important;
	border-radius: 50% !important;
	background:
		radial-gradient(circle, rgba(242,193,78,.20), rgba(242,193,78,0) 68%) !important;
	pointer-events: none !important;
}

html body .bbd-wrap .bbd-section--soft {
	background:
		radial-gradient(circle at 12% 18%, rgba(255,255,255,.86), transparent 34%),
		linear-gradient(135deg, #fff7e8 0%, #fff0d5 100%) !important;
	border: 1px solid rgba(242,193,78,.36) !important;
}

html body .bbd-wrap .bbd-section h2 {
	position: relative !important;
	z-index: 1 !important;
	margin: 0 0 14px !important;
	color: var(--bbd-choco) !important;
	font-size: clamp(24px, 3.2vw, 36px) !important;
	line-height: 1.12 !important;
	font-weight: 950 !important;
	letter-spacing: -.025em !important;
	text-wrap: balance !important;
	text-shadow: 0 1px 0 rgba(255,255,255,.9) !important;
}

html body .bbd-wrap .bbd-section h2::before {
	content: "🍪 " !important;
	font-size: .84em !important;
}

html body .bbd-wrap .bbd-section h3 {
	position: relative !important;
	z-index: 1 !important;
	margin: 0 0 9px !important;
	color: var(--bbd-brown) !important;
	font-size: 20px !important;
	line-height: 1.25 !important;
	font-weight: 950 !important;
	letter-spacing: -.01em !important;
}

html body .bbd-wrap .bbd-section p,
html body .bbd-wrap .bbd-section li,
html body .bbd-wrap .bbd-section td,
html body .bbd-wrap .bbd-section th {
	position: relative !important;
	z-index: 1 !important;
	font-size: 16px !important;
	line-height: 1.76 !important;
}

html body .bbd-wrap .bbd-section p {
	margin: 0 0 15px !important;
	color: #3b2a20 !important;
}

html body .bbd-wrap .bbd-section p:last-child {
	margin-bottom: 0 !important;
}

html body .bbd-wrap .bbd-section a {
	color: var(--bbd-red-dark) !important;
	font-weight: 950 !important;
	text-decoration: underline !important;
	text-decoration-thickness: 2px !important;
	text-underline-offset: 4px !important;
}

/* Tableau premium */
html body .bbd-wrap .bbd-table-wrap {
	position: relative !important;
	z-index: 1 !important;
	width: 100% !important;
	margin: 20px 0 !important;
}

html body .bbd-wrap .bbd-table {
	width: 100% !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	overflow: hidden !important;
	border-radius: 22px !important;
	background: #fffdf7 !important;
	box-shadow:
		0 16px 36px rgba(74,35,11,.10),
		0 0 0 1px rgba(122,63,25,.14) !important;
}

html body .bbd-wrap .bbd-table th,
html body .bbd-wrap .bbd-table td {
	padding: 14px 15px !important;
	text-align: left !important;
	vertical-align: top !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(122,63,25,.13) !important;
}

html body .bbd-wrap .bbd-table th {
	color: #fffdf7 !important;
	background:
		linear-gradient(135deg, var(--bbd-brown), var(--bbd-caramel)) !important;
	font-weight: 950 !important;
	line-height: 1.35 !important;
	text-shadow: 0 1px 0 rgba(0,0,0,.18) !important;
}

html body .bbd-wrap .bbd-table td {
	color: #342217 !important;
	background: rgba(255,253,247,.94) !important;
	font-weight: 650 !important;
}

html body .bbd-wrap .bbd-table tbody tr:nth-child(even) td {
	background: rgba(255,243,223,.92) !important;
}

html body .bbd-wrap .bbd-table tbody tr:hover td {
	background: rgba(255,227,171,.80) !important;
}

html body .bbd-wrap .bbd-table tbody tr:last-child td {
	border-bottom: 0 !important;
}

/* Notes */
html body .bbd-wrap .bbd-note {
	position: relative !important;
	z-index: 1 !important;
	margin: 20px 0 0 !important;
	padding: 18px 20px 18px 58px !important;
	border-radius: 22px !important;
	color: #382419 !important;
	line-height: 1.72 !important;
	background:
		linear-gradient(135deg, #fffdf7, #fff2d8) !important;
	border: 1px solid rgba(169,88,29,.22) !important;
}

html body .bbd-wrap .bbd-note::before {
	content: "💡" !important;
	position: absolute !important;
	left: 18px !important;
	top: 17px !important;
	width: 30px !important;
	height: 30px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 50% !important;
	background: #fffdf7 !important;
	box-shadow: 0 7px 16px rgba(74,35,11,.14) !important;
}

html body .bbd-wrap .bbd-note--warm {
	background:
		linear-gradient(135deg, #fff1d4, #fffaf1) !important;
}

/* Étapes sans ol/li */
html body .bbd-wrap .bbd-steps {
	position: relative !important;
	z-index: 1 !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 20px 0 0 !important;
	padding: 0 !important;
	counter-reset: bbd-step !important;
	box-sizing: border-box !important;
}

html body .bbd-wrap .bbd-steps > .bbd-step {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 0 14px !important;
	box-sizing: border-box !important;
}

html body .bbd-wrap .bbd-steps > .bbd-step:last-child {
	margin-bottom: 0 !important;
}

html body .bbd-wrap .bbd-step {
	position: relative !important;
	display: block !important;
	margin: 0 !important;
	padding: 20px 20px 20px 70px !important;
	border-radius: 24px !important;
	counter-increment: bbd-step !important;
	background:
		linear-gradient(180deg, #fffdf7, #fff3df) !important;
	border: 1px solid rgba(169,88,29,.20) !important;
	box-shadow:
		0 14px 30px rgba(74,35,11,.08),
		inset 0 0 0 1px rgba(255,255,255,.65) !important;
	transition:
		transform .22s ease,
		box-shadow .22s ease,
		border-color .22s ease !important;
}

html body .bbd-wrap .bbd-step:hover {
	transform: translateY(-3px) !important;
	border-color: rgba(184,32,36,.24) !important;
	box-shadow:
		0 18px 40px rgba(74,35,11,.12),
		0 0 0 4px rgba(242,193,78,.12) !important;
}

html body .bbd-wrap .bbd-step::before {
	content: counter(bbd-step) !important;
	position: absolute !important;
	left: 20px !important;
	top: 20px !important;
	width: 38px !important;
	height: 38px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 50% !important;
	color: #fff !important;
	font-weight: 950 !important;
	background:
		radial-gradient(circle at 35% 28%, #ffe0a0, var(--bbd-caramel)) !important;
	box-shadow:
		0 9px 18px rgba(74,35,11,.20),
		inset 0 0 0 2px rgba(255,255,255,.38) !important;
}

html body .bbd-wrap .bbd-step::after {
	content: "✦" !important;
	position: absolute !important;
	right: 18px !important;
	top: 16px !important;
	color: rgba(184,32,36,.22) !important;
	font-size: 20px !important;
}

/* Grilles */
html body .bbd-wrap .bbd-grid-3,
html body .bbd-wrap .bbd-grid-2 {
	position: relative !important;
	z-index: 1 !important;
	display: grid !important;
	gap: 18px !important;
	margin-top: 20px !important;
}

html body .bbd-wrap .bbd-grid-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html body .bbd-wrap .bbd-grid-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

/* Cards */
html body .bbd-wrap .bbd-tip-card,
html body .bbd-wrap .bbd-link-card{
	border-radius: 24px !important;
	padding: 20px !important;
	transition:
		transform .22s ease,
		box-shadow .22s ease,
		border-color .22s ease !important;
}

html body .bbd-wrap .bbd-tip-card:hover,
html body .bbd-wrap .bbd-link-card:hover {
	transform: translateY(-5px) rotate(.18deg) !important;
	border-color: rgba(184,32,36,.27) !important;
	box-shadow:
		0 22px 48px rgba(74,35,11,.15),
		0 0 0 4px rgba(242,193,78,.13) !important;
}

html body .bbd-wrap .bbd-card-icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 50px !important;
	height: 50px !important;
	margin: 0 0 13px !important;
	border-radius: 18px !important;
	font-size: 25px !important;
	color: #fff !important;
	background:
		radial-gradient(circle at 32% 26%, #ffe2a5, #c9792b) !important;
	box-shadow:
		0 10px 22px rgba(74,35,11,.20),
		inset 0 0 0 2px rgba(255,255,255,.38) !important;
	animation: bbd-gentle-wiggle 4.5s ease-in-out infinite !important;
}

html body .bbd-wrap .bbd-card-cta {
	width: auto !important;
	max-width: 100% !important;
	margin: 10px auto 0 !important;
	white-space: normal !important;
	text-align: center !important;
	overflow-wrap: anywhere !important;
	word-break: normal !important;
}

html body .bbd-wrap .bbd-link-card,
html body .bbd-wrap .bbd-tip-card {
	min-width: 0 !important;
	max-width: 100% !important;
	text-align: center !important;
}

html body .bbd-wrap .bbd-link-card h3,
html body .bbd-wrap .bbd-tip-card h3,
html body .bbd-wrap .bbd-link-card p,
html body .bbd-wrap .bbd-tip-card p {
	max-width: 100% !important;
	white-space: normal !important;
	overflow-wrap: anywhere !important;
	word-break: normal !important;
}

/* Animations */
@keyframes bbd-xmas-drift {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(190px);
	}
}

@keyframes bbd-garland-glow {
	0%,
	100% {
		filter: saturate(1) brightness(1);
		transform: scaleX(1);
	}
	50% {
		filter: saturate(1.25) brightness(1.08);
		transform: scaleX(1.035);
	}
}

@keyframes bbd-cookie-pop {
	0%,
	100% {
		transform: translateY(0) scale(1);
	}
	50% {
		transform: translateY(-3px) scale(1.07);
	}
}

@keyframes bbd-mini-pop {
	0%,
	100% {
		transform: translateY(0) scale(1);
	}
	50% {
		transform: translateY(-2px) scale(1.08);
	}
}

@keyframes bbd-sparkle {
	0%,
	100% {
		transform: rotate(0deg) scale(1);
		opacity: .78;
	}
	50% {
		transform: rotate(14deg) scale(1.24);
		opacity: 1;
	}
}

@keyframes bbd-gentle-wiggle {
	0%,
	100% {
		transform: rotate(0deg);
	}
	25% {
		transform: rotate(-2deg);
	}
	75% {
		transform: rotate(2deg);
	}
}

@keyframes bbd-snow-soft {
	0%,
	100% {
		transform: translateY(0);
		opacity: .44;
	}
	50% {
		transform: translateY(5px);
		opacity: .82;
	}
}

/* Mobile / anti-débordement */
@media (max-width: 880px) {
	html body .bbd-wrap {
		padding: 0 12px !important;
	}

	html body .bbd-wrap .bbd-hero,
	html body .bbd-wrap .bbd-section{
		border-radius: 24px !important;
	}

	html body .bbd-wrap .bbd-hero {
		padding: 24px !important;
	}

	html body .bbd-wrap .bbd-hero-grid {
		grid-template-columns: 1fr !important;
	}

	html body .bbd-wrap .bbd-grid-3,
	html body .bbd-wrap .bbd-grid-2 {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-top: 20px !important;
	}

	html body .bbd-wrap .bbd-grid-3 > *,
	html body .bbd-wrap .bbd-grid-2 > * {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 0 16px !important;
		box-sizing: border-box !important;
	}

	html body .bbd-wrap .bbd-grid-3 > *:last-child,
	html body .bbd-wrap .bbd-grid-2 > *:last-child {
		margin-bottom: 0 !important;
	}

	html body .bbd-wrap .bbd-photo-card {
		min-height: 0 !important;
		transform: none !important;
		border-width: 6px !important;
	}

	html body .bbd-wrap .bbd-photo-card img {
		min-height: 220px !important;
		max-height: none !important;
	}

	html body .bbd-wrap .bbd-actions,
	html body .bbd-wrap .bbd-summary {
		flex-direction: column !important;
		align-items: stretch !important;
	}

	html body .bbd-wrap .bbd-btn,
	html body .bbd-wrap .bbd-card-cta,
	html body .bbd-wrap .bbd-summary a {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	html body .bbd-wrap .bbd-title::after {
		width: 82% !important;
	}

	html body .bbd-wrap .bbd-hero::before,
	html body .bbd-wrap .bbd-hero::after {
		font-size: 18px !important;
		letter-spacing: 10px !important;
		opacity: .45 !important;
	}

	html body .bbd-wrap .bbd-summary::before {
		display: none !important;
	}
}

/* Tableaux mobile en cartes, sans double scroll */
@media (max-width: 680px) {
	html body .bbd-wrap .bbd-table,
	html body .bbd-wrap .bbd-table thead,
	html body .bbd-wrap .bbd-table tbody,
	html body .bbd-wrap .bbd-table tr,
	html body .bbd-wrap .bbd-table td {
		display: block !important;
		width: 100% !important;
	}

	html body .bbd-wrap .bbd-table {
		background: transparent !important;
		box-shadow: none !important;
		border-radius: 0 !important;
		overflow: visible !important;
	}

	html body .bbd-wrap .bbd-table thead {
		display: none !important;
	}

	html body .bbd-wrap .bbd-table tr {
		margin: 0 0 14px !important;
		border-radius: 20px !important;
		overflow: hidden !important;
		background: #fffdf7 !important;
		border: 1px solid rgba(122,63,25,.16) !important;
		box-shadow: 0 12px 26px rgba(74,35,11,.08) !important;
	}

	html body .bbd-wrap .bbd-table td {
		display: flex !important;
		justify-content: space-between !important;
		align-items: flex-start !important;
		gap: 14px !important;
		padding: 13px 14px !important;
		border-bottom: 1px solid rgba(122,63,25,.12) !important;
		text-align: right !important;
		background: #fffdf7 !important;
	}

	html body .bbd-wrap .bbd-table td::before {
		content: attr(data-label) !important;
		flex: 0 0 42% !important;
		text-align: left !important;
		color: var(--bbd-brown) !important;
		font-weight: 950 !important;
	}

	html body .bbd-wrap .bbd-table tr td:last-child {
		border-bottom: 0 !important;
	}

	html body .bbd-wrap .bbd-step {
		padding: 66px 16px 17px !important;
	}

	html body .bbd-wrap .bbd-step::before {
		left: 16px !important;
		top: 16px !important;
	}

	html body .bbd-wrap .bbd-note {
		padding: 58px 16px 17px !important;
	}

	html body .bbd-wrap .bbd-note::before {
		left: 16px !important;
		top: 16px !important;
	}

}

/* Accessibilité : animations réduites */
@media (prefers-reduced-motion: reduce) {
	html body .bbd-wrap *,
	html body .bbd-wrap *::before,
	html body .bbd-wrap *::after {
		animation: none !important;
		transition: none !important;
		scroll-behavior: auto !important;
	}
}

/* FAQ déroulable dédiée homepage Butterbredele */
html body .bbd-home-faq {
	max-width: 1160px !important;
	margin: 34px auto 46px !important;
	padding: 26px 18px !important;
	border-radius: 28px !important;
	background:
		radial-gradient(circle at top left, rgba(255, 239, 186, .92), transparent 34%),
		linear-gradient(135deg, #fffaf0 0%, #fff3dc 48%, #fff8ec 100%) !important;
	border: 1px solid rgba(170, 90, 38, .18) !important;
	box-shadow: 0 18px 46px rgba(116, 54, 18, .12) !important;
}

html body .bbd-home-faq h2 {
	margin: 0 0 18px !important;
	padding: 0 !important;
	background: none !important;
	color: #5f2d12 !important;
	font-size: clamp(1.45rem, 2.5vw, 2.15rem) !important;
	line-height: 1.15 !important;
	text-align: center !important;
}

html body .bbd-home-faq-item {
	margin: 12px auto !important;
	padding: 0 !important;
	max-width: 920px !important;
	border-radius: 18px !important;
	background: rgba(255, 255, 255, .86) !important;
	border: 1px solid rgba(170, 90, 38, .16) !important;
	box-shadow: 0 10px 24px rgba(116, 54, 18, .08) !important;
	overflow: hidden !important;
}

html body .bbd-home-faq-item summary {
	position: relative !important;
	display: block !important;
	cursor: pointer !important;
	padding: 17px 54px 17px 20px !important;
	font-weight: 900 !important;
	color: #6d3315 !important;
	list-style: none !important;
	background: linear-gradient(90deg, rgba(255, 255, 255, .9), rgba(255, 248, 231, .9)) !important;
}

html body .bbd-home-faq-item summary::-webkit-details-marker {
	display: none !important;
}

html body .bbd-home-faq-item summary::after {
	content: "+" !important;
	position: absolute !important;
	top: 50% !important;
	right: 18px !important;
	width: 28px !important;
	height: 28px !important;
	transform: translateY(-50%) !important;
	border-radius: 999px !important;
	background: #8b3f18 !important;
	color: #fff !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 20px !important;
	line-height: 1 !important;
	box-shadow: 0 8px 18px rgba(139, 63, 24, .22) !important;
}

html body .bbd-home-faq-item[open] summary::after {
	content: "−" !important;
}

html body .bbd-home-faq-answer {
	padding: 0 20px 18px !important;
	color: #55301c !important;
	font-size: 1rem !important;
	line-height: 1.72 !important;
}

html body .bbd-home-faq-answer p {
	margin: 0 !important;
	padding: 0 !important;
	color: inherit !important;
}

html body .bbd-home-faq-answer a,
html body .bbd-fast-link {
	color: #8b3f18 !important;
	font-weight: 900 !important;
	text-decoration: underline !important;
	text-decoration-thickness: 2px !important;
	text-underline-offset: 3px !important;
}

html body .bbd-fast-link {
	display: inline !important;
}

html body .bbd-fast-link:hover,
html body .bbd-home-faq-answer a:hover {
	color: #b94f16 !important;
}

@media (max-width: 640px) {
	html body .bbd-home-faq {
		margin: 26px 12px 34px !important;
		padding: 20px 12px !important;
		border-radius: 22px !important;
	}

	html body .bbd-home-faq-item summary {
		padding: 15px 48px 15px 16px !important;
	}

	html body .bbd-home-faq-answer {
		padding: 0 16px 16px !important;
	}
}

/* Liens discrets dans la card "À découvrir ici" */
html body .bbd-fast-card .bbd-fast-link,
html body .bbd-fast-card .bbd-fast-link:visited {
	display: block !important;
	color: inherit !important;
	text-decoration: none !important;
	text-decoration-thickness: 0 !important;
	text-underline-offset: 0 !important;
	font-weight: inherit !important;
}

html body .bbd-fast-card .bbd-fast-link strong {
	color: #6d3315 !important;
	font-weight: 900 !important;
}

html body .bbd-fast-card .bbd-fast-link:hover,
html body .bbd-fast-card .bbd-fast-link:focus {
	color: inherit !important;
	text-decoration: none !important;
	transform: translateX(2px) !important;
}

html body .bbd-fast-card .bbd-fast-link:focus-visible {
	outline: 2px solid rgba(139, 63, 24, .28) !important;
	outline-offset: 3px !important;
	border-radius: 8px !important;
}

html body .bbd-wrap .bbd-btn--primary,
html body .bbd-wrap .bbd-card-cta {
	color: #fffdf7 !important;
	text-decoration:none!important;
}

/* =========================================================
   Butterbredele - CLEAN final mobile/layout fixes
   Objectif : corriger cards + auteur sans empiler les patchs
   ========================================================= */

/* Neutraliser le background global h3 du thème dans les composants BBD */
html body .bbd-wrap .bbd-step h3,
html body .bbd-wrap .bbd-link-card h3,
html body .bbd-wrap .bbd-tip-card h3,
html body .bbd-wrap .bbd-fast-card h3 {
	background: none !important;
	background-image: none !important;
	background-color: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
	white-space: normal !important;
	overflow-wrap: break-word !important;
	word-break: normal !important;
}

/* Cards : contenu centré, mais sans largeur forcée qui pousse le viewport */
html body .bbd-wrap .bbd-link-card,
html body .bbd-wrap .bbd-tip-card,
html body .bbd-wrap .bbd-fast-card {
	min-width: 0 !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

html body .bbd-wrap .bbd-link-card,
html body .bbd-wrap .bbd-tip-card {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
}

html body .bbd-wrap .bbd-link-card > *,
html body .bbd-wrap .bbd-tip-card > *,
html body .bbd-wrap .bbd-fast-card > * {
	min-width: 0 !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

html body .bbd-wrap .bbd-card-icon {
	margin-left: auto !important;
	margin-right: auto !important;
}

html body .bbd-wrap .bbd-link-card p,
html body .bbd-wrap .bbd-tip-card p {
	width: 100% !important;
	max-width: 100% !important;
	white-space: normal !important;
	overflow-wrap: break-word !important;
	word-break: normal !important;
}

/* CTA : une seule logique, pas de 100vw caché, pas de texte coupé */
html body .bbd-wrap a.bbd-card-cta,
html body .bbd-wrap .bbd-card-cta {
	display: inline-flex !important;
	width: auto !important;
	max-width: 100% !important;
	min-width: 0 !important;
	align-self: center !important;
	margin: 12px auto 0 !important;
	padding: 12px 18px !important;
	box-sizing: border-box !important;
	white-space: normal !important;
	text-align: center !important;
	overflow-wrap: break-word !important;
	word-break: normal !important;
	color: wheat !important;
	text-decoration: none !important;
}

html body .bbd-wrap a.bbd-card-cta:visited,
html body .bbd-wrap a.bbd-card-cta:hover,
html body .bbd-wrap a.bbd-card-cta:focus {
	color: wheat !important;
	text-decoration: none !important;
}

html body .bbd-wrap .bbd-card-cta::after {
	flex: 0 0 auto !important;
}

/* Tables : cards mobiles lisibles, sans double scroll forcé */
html body .bbd-wrap .bbd-table-wrap {
	max-width: 100% !important;
	overflow-x: auto !important;
	overflow-y: visible !important;
	-webkit-overflow-scrolling: touch !important;
	box-sizing: border-box !important;
}

@media (max-width: 680px) {
	html body .bbd-wrap .bbd-section {
		overflow: visible !important;
	}

	html body .bbd-wrap .bbd-table {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		white-space: normal !important;
	}

	html body .bbd-wrap .bbd-table td {
		display: grid !important;
		grid-template-columns: minmax(92px, 38%) minmax(0, 1fr) !important;
		gap: 12px !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
		text-align: left !important;
		white-space: normal !important;
		overflow-wrap: break-word !important;
		word-break: normal !important;
	}

	html body .bbd-wrap .bbd-table td::before {
		display: block !important;
		min-width: 0 !important;
		max-width: 100% !important;
		white-space: normal !important;
		overflow-wrap: break-word !important;
		word-break: normal !important;
		text-align: left !important;
	}
}

@media (max-width: 480px) {
	html body .bbd-wrap .bbd-link-card,
	html body .bbd-wrap .bbd-tip-card {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	html body .bbd-wrap a.bbd-card-cta,
	html body .bbd-wrap .bbd-card-cta {
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 14px !important;
		padding-right: 14px !important;
		line-height: 1.28 !important;
	}

	html body .bbd-wrap .bbd-card-cta::after {
		display: none !important;
		content: "" !important;
	}

	html body .bbd-wrap .bbd-table td {
		grid-template-columns: 1fr !important;
		gap: 4px !important;
	}
}

/* Anti-overflow page : ne pas utiliser pour les tables, seulement le viewport */
@media (max-width: 768px) {
	html,
	html body {
		max-width: 100% !important;
		overflow-x: hidden !important;
	}

	html body .main,
	html body .content,
	html body .sscms_content_post,
	html body .sscms_content_post .container,
	html body .sscms_content_post .row,
	html body .sscms_content_post .grid_8,
	html body .sscms_content_post .blog,
	html body .sscms_content_post main,
	html body article#ss_the_content,
	html body .bbd-wrap {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	html body article#ss_the_content img,
	html body article#ss_the_content iframe,
	html body article#ss_the_content video,
	html body article#ss_the_content embed,
	html body article#ss_the_content object {
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
}

/* Bloc auteur natif : image full width puis texte dessous sur mobile */
@media (max-width: 768px) {
	html body article#ss_the_content .block_author_sscma,
	html body .block_author_sscma {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding: 0 12px 18px !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
	}

	html body article#ss_the_content .block_author_sscma h5,
	html body .block_author_sscma h5 {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 0 14px !important;
		box-sizing: border-box !important;
		text-align: center !important;
		white-space: normal !important;
		overflow-wrap: break-word !important;
	}

	html body article#ss_the_content .block_author_sscma img,
	html body .block_author_sscma img {
		display: block !important;
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		margin: 0 0 16px !important;
		border-radius: 14px !important;
		box-sizing: border-box !important;
	}

	html body article#ss_the_content .block_author_sscma p,
	html body .block_author_sscma p {
		display: block !important;
		float: none !important;
		clear: both !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		box-sizing: border-box !important;
		font-size: 1rem !important;
		line-height: 1.72 !important;
		text-align: left !important;
		white-space: normal !important;
		overflow-wrap: break-word !important;
		word-break: normal !important;
	}
}
