/* ============================================================
   Blocs core Gutenberg — habillage charte IZI WAX.

   POURQUOI CE FICHIER PLUTOT QU'UN theme.json
   Kadence stylise les blocs core depuis global.min.css et le Personnaliser,
   avec des selecteurs a plat (.wp-block-button__link), places APRES le
   global-styles-inline-css genere par theme.json — lequel n'ecrit qu'en
   :root :where(...), a faible specificite. Le theme.json du parent neutralise
   en plus styles.elements.button pour garder la main. Un theme.json enfant
   serait donc sans effet sur le front.

   CE QUI EXISTAIT DEJA
   functions.php repointe --global-palette-btn-bg et ses voisines sur la
   charte : la COULEUR des boutons core etait donc deja bonne. Mais la FORME
   restait celle de Kadence (border-radius:3px, padding:.4em 1em, 1.125rem).
   On garde cette surcharge de variables, utile aux elements rendus par
   Kadence (boutons d'envoi de formulaire notamment) ; ce fichier reprend la
   main sur la geometrie et sur tous les autres blocs core.

   Les selecteurs sont prefixes .iziwax (classe de body), convention du theme
   pour surcharger Kadence sans toucher au parent.

   Pendant editeur : assets/blocks-core-editor.css.

   Aucune valeur en dur : tout vient des tokens :root de main.css.
   ============================================================ */


/* ============================================================
   1. Largeur de lecture des blocs core
   ------------------------------------------------------------
   page.php sort the_content() sans conteneur pour les pages assemblees :
   les blocs core tombent directement dans <main class="site-main">.
   On les cale sur .wrap (--max / --pad) sans toucher a nos sections,
   reconnaissables a leur classe wp-block-iziwax-*.
   ============================================================ */
.iziwax .site-main > :is(p, h1, h2, h3, h4, h5, h6, ul, ol, dl, pre, table, hr,
                         figure, blockquote, [class*="wp-block-"]):not([class*="wp-block-iziwax-"]):not(.alignfull) {
	width: 100%;
	max-width: var(--max);
	margin-inline: auto;
	padding-inline: var(--pad);
}
.iziwax .site-main > :is(p, h1, h2, h3, h4, h5, h6, ul, ol, dl, pre, table, hr,
                         figure, blockquote, [class*="wp-block-"]):not([class*="wp-block-iziwax-"]) {
	margin-block: 22px;
}
.iziwax .site-main > .alignwide:not([class*="wp-block-iziwax-"]) {
	max-width: var(--max-xl);
}


/* ============================================================
   2. Boutons — core/button et core/buttons
   ------------------------------------------------------------
   Reprend .btn de main.css (~l.72). Sans variante choisie on retombe sur
   le bouton jaune, bouton principal du site. Les trois autres habillages
   sont exposes dans l'editeur par register_block_style().
   ============================================================ */
.iziwax .wp-block-button__link,
.iziwax .wp-element-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-family: var(--body);
	font-weight: 600;
	font-size: 16px;
	line-height: 1.3;
	padding: 15px 26px;
	border-radius: 999px;
	border: 2px solid transparent;
	background: var(--jaune);
	color: var(--noir);
	text-decoration: none;
	box-shadow: none;
	transition: transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
}
.iziwax .wp-block-button__link:hover,
.iziwax .wp-block-button__link:focus,
.iziwax .wp-element-button:hover,
.iziwax .wp-element-button:focus {
	background: var(--jaune-fonce);
	border-color: transparent;
	/* Kadence pose une ombre et force la couleur au survol. */
	box-shadow: none !important;
	color: var(--noir) !important;
}
.iziwax .wp-block-button__link:active,
.iziwax .wp-element-button:active {
	transform: translateY(1px);
}

/* Variante contour — equivalent de .btn--ligne */
.iziwax .wp-block-button.is-style-izi-ligne .wp-block-button__link {
	background: transparent;
	border-color: var(--noir);
	color: var(--noir);
}
.iziwax .wp-block-button.is-style-izi-ligne .wp-block-button__link:hover,
.iziwax .wp-block-button.is-style-izi-ligne .wp-block-button__link:focus {
	background: var(--noir);
	border-color: var(--noir);
	color: var(--blanc) !important;
}

/* Variante noire — equivalent de .btn--noir */
.iziwax .wp-block-button.is-style-izi-noir .wp-block-button__link {
	background: var(--noir);
	border-color: var(--noir);
	color: var(--blanc);
}
.iziwax .wp-block-button.is-style-izi-noir .wp-block-button__link:hover,
.iziwax .wp-block-button.is-style-izi-noir .wp-block-button__link:focus {
	background: var(--blanc);
	border-color: var(--noir);
	color: var(--noir) !important;
}

/* Variante blanche, pour les fonds sombres — equivalent de .btn--blanc */
.iziwax .wp-block-button.is-style-izi-blanc .wp-block-button__link {
	background: var(--blanc);
	border-color: var(--blanc);
	color: var(--noir);
}
.iziwax .wp-block-button.is-style-izi-blanc .wp-block-button__link:hover,
.iziwax .wp-block-button.is-style-izi-blanc .wp-block-button__link:focus {
	background: var(--jaune-pale);
	border-color: var(--jaune-pale);
	color: var(--noir) !important;
}

/* Kadence impose sa propre geometrie a is-style-outline : on l'aligne
   sur la variante contour maison plutot que de laisser les deux coexister. */
.iziwax .wp-block-button.is-style-outline .wp-block-button__link {
	padding: 15px 26px;
	border: 2px solid var(--noir);
	background: transparent;
	color: var(--noir);
}
.iziwax .wp-block-button.is-style-outline .wp-block-button__link:hover,
.iziwax .wp-block-button.is-style-outline .wp-block-button__link:focus {
	background: var(--noir);
	color: var(--blanc) !important;
}

@media (max-width: 560px) {
	.iziwax .wp-block-buttons .wp-block-button,
	.iziwax .wp-block-buttons .wp-block-button .wp-block-button__link {
		width: 100%;
	}
}


/* ============================================================
   3. Titres et texte courant
   ------------------------------------------------------------
   .contenu et .contenu--texte (content.css / page.css) couvrent deja les
   pages simples et l'article. Ces regles servent aux blocs core deposes
   dans une page assemblee.
   ============================================================ */
.iziwax .site-main > :is(h1, h2, h3, h4, h5, h6),
.iziwax .wp-block-group :is(h2, h3, h4),
.iziwax .wp-block-column :is(h2, h3, h4) {
	font-family: var(--display);
	color: var(--noir);
	letter-spacing: -.01em;
}
.iziwax .site-main > h2 { font-size: clamp(28px, 2.6vw, 42px); }
.iziwax .site-main > h3 { font-size: 21px; font-weight: 700; }
.iziwax .site-main > h4 { font-size: 18px; font-weight: 700; }
.iziwax .site-main > :is(h5, h6) { font-size: 16px; font-weight: 600; color: var(--gris); }

.iziwax .site-main > p,
.iziwax .wp-block-group > p,
.iziwax .wp-block-column > p {
	font-family: var(--body);
	color: var(--gris);
	line-height: 1.65;
}
.iziwax .site-main > p strong,
.iziwax .wp-block-column > p strong { color: var(--noir); font-weight: 600; }

/* Liens de contenu : ambre souligne, comme dans .contenu. */
.iziwax .site-main > p a:not(.btn):not(.wp-element-button),
.iziwax .wp-block-column a:not(.btn):not(.wp-element-button),
.iziwax .wp-block-group a:not(.btn):not(.wp-element-button) {
	color: var(--ambre);
	text-decoration: underline;
	text-underline-offset: 2px;
	transition: color .15s ease;
}
.iziwax .site-main > p a:not(.btn):not(.wp-element-button):hover,
.iziwax .wp-block-column a:not(.btn):not(.wp-element-button):hover,
.iziwax .wp-block-group a:not(.btn):not(.wp-element-button):hover {
	color: var(--noir) !important;
}


/* ============================================================
   4. Listes — core/list
   ============================================================ */
.iziwax .wp-block-list {
	padding-left: 20px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.iziwax ul.wp-block-list { list-style: disc; }
.iziwax ol.wp-block-list { list-style: decimal; }
.iziwax .wp-block-list li {
	font-family: var(--body);
	color: var(--gris);
	line-height: 1.6;
}
.iziwax .wp-block-list li::marker { color: var(--jaune-fonce); }

/* Variante a coches. La coche est un SVG pose en background-position:center :
   le centrage est exact par construction, contrairement a un pseudo-element
   pivote dont il faudrait recalculer le centre visuel a chaque changement de
   taille. La couleur du trait ne peut pas venir d'un token (une data-URI
   n'accede pas aux variables CSS) : #9a7300 = var(--ambre). */
.iziwax .wp-block-list.is-style-izi-check {
	list-style: none;
	padding-left: 0;
	gap: 12px;
}
.iziwax .wp-block-list.is-style-izi-check li {
	position: relative;
	padding-left: 34px;
}
.iziwax .wp-block-list.is-style-izi-check li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .22em;
	width: 20px;
	height: 20px;
	border-radius: 999px;
	border: 1px solid var(--jaune);
	background: var(--jaune-pale)
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a7300' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E")
		center / 11px 11px no-repeat;
}


/* ============================================================
   5. Citations — core/quote et core/pullquote
   ============================================================ */
.iziwax .wp-block-quote {
	border-left: 3px solid var(--jaune);
	padding: 4px 0 4px 20px;
	margin-block: 28px;
}
.iziwax .wp-block-quote p {
	font-family: var(--display);
	font-size: 19px;
	line-height: 1.5;
	color: var(--noir);
}
.iziwax .wp-block-quote cite,
.iziwax .wp-block-pullquote cite {
	display: block;
	margin-top: 12px;
	font-family: var(--mono);
	font-size: 12px;
	font-style: normal;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--gris);
}
.iziwax .wp-block-quote.is-style-plain { border-left: none; padding-left: 0; }

.iziwax .wp-block-pullquote {
	background: var(--jaune-pale);
	border: 1px solid var(--jaune);
	border-radius: var(--r);
	padding: 32px 30px;
	margin-block: 34px;
	text-align: left;
}
.iziwax .wp-block-pullquote blockquote { border: none; padding: 0; margin: 0; }
/* Kadence pose un guillemet decoratif de 200px pris dans sa palette
   (.wp-block-pullquote blockquote::before). Il n'a pas sa place ici. */
.iziwax .wp-block-pullquote blockquote::before { content: none; }
/* Selecteur a trois niveaux : Kadence impose font-size:1.15em et
   font-style:italic en 0,1,2, au-dessus d'un simple .wp-block-pullquote p. */
.iziwax .wp-block-pullquote blockquote p {
	font-family: var(--display);
	font-size: clamp(19px, 1.8vw, 24px);
	font-style: normal;
	font-weight: 600;
	line-height: 1.4;
	color: var(--noir);
}


/* ============================================================
   6. Separateur — core/separator
   ============================================================ */
.iziwax .wp-block-separator {
	border: none;
	border-top: 1px solid var(--ligne);
	margin-block: 34px;
	opacity: 1;
}
.iziwax .wp-block-separator.is-style-wide { max-width: none; }
.iziwax .wp-block-separator.is-style-dots {
	border-top: none;
	text-align: center;
	line-height: 1;
}
.iziwax .wp-block-separator.is-style-dots::before {
	content: "···";
	color: var(--jaune);
	font-size: 26px;
	letter-spacing: .6em;
	padding-left: .6em;
}


/* ============================================================
   7. Tableau — core/table
   ============================================================ */
.iziwax .wp-block-table table {
	width: 100%;
	border-collapse: collapse;
	font-family: var(--body);
	font-size: 15px;
}
.iziwax .wp-block-table :is(th, td) {
	border: 1px solid var(--ligne);
	padding: 12px 14px;
	text-align: left;
	color: var(--gris);
}
.iziwax .wp-block-table th {
	background: var(--gris-clair);
	font-weight: 600;
	color: var(--noir);
}
/* Kadence souligne l'en-tete et le pied d'un trait de 3px pris dans sa
   palette (--global-palette6, gris bleute). L'aplat gris clair de <th>
   suffit a distinguer l'en-tete. */
.iziwax .wp-block-table thead { border-bottom: 1px solid var(--ligne); }
.iziwax .wp-block-table tfoot { border-top: 1px solid var(--ligne); }
.iziwax .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background: var(--gris-clair);
}
.iziwax .wp-block-table.is-style-stripes :is(th, td) { border-color: transparent; }
.iziwax .wp-block-table figcaption {
	margin-top: 10px;
	font-family: var(--mono);
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--gris);
}
@media (max-width: 760px) {
	.iziwax .wp-block-table { overflow-x: auto; }
	.iziwax .wp-block-table :is(th, td) { min-width: 140px; }
}


/* ============================================================
   8. Mise en page — core/columns, core/group
   ============================================================ */
.iziwax .wp-block-columns { gap: clamp(20px, 3vw, 40px); }
.iziwax .wp-block-column > :first-child { margin-top: 0; }
.iziwax .wp-block-column > :last-child { margin-bottom: 0; }

.iziwax .wp-block-group.has-background {
	border-radius: var(--r);
	padding: clamp(24px, 3vw, 40px);
}
.iziwax .wp-block-group.is-style-izi-carte {
	background: var(--blanc);
	border: 1px solid var(--ligne);
	border-radius: var(--r);
	padding: 30px;
}
.iziwax .wp-block-group.is-style-izi-gris {
	background: var(--gris-clair);
	border-radius: var(--r);
	padding: 30px;
}


/* ============================================================
   9. Media — core/image, core/gallery, core/cover, core/media-text
   ============================================================ */
.iziwax .wp-block-image img,
.iziwax .wp-block-gallery img,
.iziwax .wp-block-media-text__media img {
	border-radius: var(--r);
	height: auto;
}
.iziwax .wp-block-image figcaption,
.iziwax .wp-block-gallery figcaption,
.iziwax .wp-block-embed figcaption {
	margin-top: 10px;
	font-family: var(--mono);
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--gris);
	text-align: left;
}
.iziwax .wp-block-image.is-style-rounded img { border-radius: 999px; }

.iziwax .wp-block-cover {
	border-radius: var(--r);
	overflow: hidden;
	min-height: clamp(280px, 40vh, 440px);
}
.iziwax .site-main > .wp-block-cover.alignfull { border-radius: 0; }
.iziwax .wp-block-cover :is(h1, h2, h3) {
	font-family: var(--display);
	color: var(--blanc);
}
.iziwax .wp-block-cover p:not(.has-text-color) { color: rgba(255, 255, 255, .92); }

.iziwax .wp-block-media-text { gap: clamp(24px, 3vw, 48px); }
.iziwax .wp-block-media-text__content { padding: 0; }
.iziwax .wp-block-media-text__content > :first-child { margin-top: 0; }


/* ============================================================
   10. Details (accordeon) — core/details
   Calque sur la FAQ maison (.faq de content.css).
   ============================================================ */
.iziwax .wp-block-details {
	background: var(--blanc);
	border: 1px solid var(--ligne);
	border-radius: var(--r);
	padding: 18px 22px;
	margin-block: 10px;
}
.iziwax .wp-block-details summary {
	font-family: var(--display);
	font-weight: 700;
	font-size: 17px;
	color: var(--noir);
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.iziwax .wp-block-details summary::-webkit-details-marker { display: none; }
.iziwax .wp-block-details summary::marker { content: ""; }
.iziwax .wp-block-details summary::after {
	content: "";
	flex: none;
	width: 9px;
	height: 9px;
	border-right: 2px solid var(--ambre);
	border-bottom: 2px solid var(--ambre);
	transform: rotate(45deg);
	transition: transform .2s ease;
}
.iziwax .wp-block-details[open] summary::after { transform: rotate(-135deg); }
.iziwax .wp-block-details[open] summary { margin-bottom: 12px; }
.iziwax .wp-block-details p {
	font-size: 16px;
	line-height: 1.6;
	color: var(--gris);
}


/* ============================================================
   11. Code — core/code et core/preformatted
   ============================================================ */
.iziwax .wp-block-code,
.iziwax .wp-block-preformatted {
	background: var(--noir);
	border-radius: var(--r);
	padding: 20px 22px;
	overflow-x: auto;
}
.iziwax .wp-block-code code,
.iziwax .wp-block-preformatted {
	font-family: var(--mono);
	font-size: 14px;
	line-height: 1.6;
	color: var(--blanc);
}


/* ============================================================
   12. Divers — recherche, fichier, articles recents
   ============================================================ */
.iziwax .wp-block-search__input {
	background: var(--blanc);
	border: 1px solid var(--ligne);
	border-radius: 999px;
	padding: 14px 22px;
	font-family: var(--body);
	font-size: 16px;
	color: var(--noir);
}
.iziwax .wp-block-search__input:focus {
	border-color: var(--jaune);
	outline: none;
}
.iziwax .wp-block-search__button { margin-left: 8px; }

.iziwax .wp-block-file {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	background: var(--gris-clair);
	border-radius: var(--r);
	padding: 16px 22px;
	font-family: var(--body);
	font-size: 16px;
}
.iziwax .wp-block-file a:not(.wp-block-file__button) {
	color: var(--noir);
	font-weight: 600;
}

.iziwax .wp-block-latest-posts__list { list-style: none; padding-left: 0; }
.iziwax .wp-block-latest-posts__list li { margin-block: 10px; }
.iziwax .wp-block-latest-posts__list a {
	font-family: var(--display);
	font-weight: 700;
	color: var(--noir);
}
.iziwax .wp-block-latest-posts__list a:hover { color: var(--ambre) !important; }
.iziwax .wp-block-latest-posts__post-date {
	font-family: var(--mono);
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--gris);
}
