/**
 * Compatibilité Gutenberg / patterns — sans styles inline dans les patterns.
 * Complète le design system pour les wrappers wp-block-* et motifs décoratifs.
 */

/* Reset marges Gutenberg sur structure Wize */
.wize-section.wp-block-group,
.wize-section .wp-block-group,
.wize-front-page.wp-block-group,
.wize-front-page .wp-block-group {
	margin-block: 0;
}

.wize-section.alignfull {
	width: 100%;
	max-width: none;
}

/* Barres décoratives (remplacent le template-part PHP bars) */
.wize-has-bars::before {
	content: "";
	display: inline-block;
	width: 9px;
	height: 26px;
	margin-bottom: 14px;
	margin-right: 5px;
	background: var(--color-orange-1);
	box-shadow: 14px 0 0 var(--color-orange-2);
	vertical-align: top;
}

.wize-hero .wize-has-bars::before {
	background: rgba(255, 255, 255, 0.85);
	box-shadow: 14px 0 0 rgba(255, 255, 255, 0.85);
}

.wize-sec-head--center.wize-has-bars::before {
	display: block;
	margin-inline: auto;
}

/* Boutons core → styles Wize */
.wp-block-button.wize-btn {
	margin: 0;
	background: none;
	padding: 0;
	border: none;
	box-shadow: none;
	border-radius: 0;
	line-height: inherit;
}

.wp-block-button.wize-btn .wp-block-button__link {
	display: inline-block;
	background: var(--color-gradient-brand);
	color: var(--color-text-inverse) !important;
	padding: var(--space-btn-pad);
	border-radius: var(--radius-sm);
	font-weight: var(--font-weight-semibold);
	font-size: var(--font-size-btn);
	font-family: var(--font-sans);
	box-shadow: var(--shadow-btn);
	border: 2px solid transparent;
	text-decoration: none;
	line-height: 1.2;
}

.wp-block-button.wize-btn--ghost .wp-block-button__link {
	background: transparent;
	border-color: var(--color-white);
	box-shadow: none;
	color: var(--color-text-inverse) !important;
}

.wp-block-button.wize-btn--inv .wp-block-button__link {
	background: var(--color-white);
	color: var(--color-orange-2) !important;
	box-shadow: var(--shadow-btn-inv);
}

.wp-block-buttons.wize-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

/* Stats : valeurs en paragraphe */
.wize-stats__value {
	margin: 0;
}

.wize-stats__label {
	margin: 0;
}

/* Steps : numéro en paragraphe */
.wize-step__num {
	margin: 0 0 14px;
}

/* Tiles : tag en paragraphe */
.wize-tile__tag {
	margin: 0;
}

.wize-tile__arrow {
	margin: 0;
}

.wize-tile__title a {
	color: inherit;
	text-decoration: none;
}

.wize-tile__title a:hover {
	color: var(--color-orange-2);
}

/* Hublinks : paragraphes-items dans la grille éditoriale */
.wize-hublinks > .wize-hublinks__item {
	margin: 0;
}

.wize-hublinks__title,
.wize-hublinks__text,
.wize-hublinks__arrow {
	display: block;
}

/* Badges / logos : paragraphes dans flex */
.wize-badges > .wize-badge,
.wize-logos > .wize-logos__item {
	margin: 0;
}

/* Liste checklist Gutenberg */
.wize-checklist.wp-block-list {
	padding-left: 0;
}

.wize-mod.wp-block-group {
	display: flex;
	flex-direction: column;
}

.wize-tile.wp-block-group {
	display: flex;
	flex-direction: column;
}

/* Blocs core/image dans les patterns */
.wize-media.wp-block-image,
.wize-media.wp-block-image img {
	width: 100%;
	margin: 0;
}

.wize-media.wp-block-image img {
	display: block;
	height: auto;
	object-fit: cover;
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-media);
	background: var(--color-mint-2);
}

/* Hero : ratio 4/3, coins gérés par .wize-figwrap__ph */
.wize-figwrap__ph .wize-media.wp-block-image img {
	aspect-ratio: 4 / 3;
	border-radius: 0;
	box-shadow: none;
	object-fit: cover;
}

/* Splits services / avant-après / B2B */
.wize-media--tall.wp-block-image img {
	aspect-ratio: 3 / 4;
	max-height: 430px;
	width: 100%;
	object-fit: cover;
}

/* Modules architecture — ratios naturels, pas de déformation */
.wize-mod__media {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 270px;
	padding: 12px;
	background: var(--color-mint);
}

.wize-mod__media .wize-media--mod.wp-block-image {
	height: auto;
	width: 100%;
	margin: 0;
}

.wize-mod__media .wize-media--mod.wp-block-image img {
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 220px;
	object-fit: contain;
	object-position: center;
	border-radius: 0;
	box-shadow: none;
	background: transparent;
	margin-inline: auto;
}

@media (min-width: 900px) {
	.wize-mod__media {
		min-height: 270px;
		padding: 14px;
	}

	.wize-mod__media .wize-media--mod.wp-block-image img {
		max-height: 240px;
	}
}

/* Tiles univers (accueil / pages avec vrai média) */
.wize-tile__media .wize-media--tile.wp-block-image img {
	height: 200px;
	width: 100%;
	object-fit: cover;
	object-position: top;
	border-radius: 0;
	box-shadow: none;
}

@media (min-width: 900px) {
	.wize-tile__media .wize-media--tile.wp-block-image img {
		height: 250px;
	}
}
