/*
Theme Name: Mac & Pen · Encre
Theme URI: https://www.the-mac-shop.com/
Author: Mac & Pen
Author URI: https://www.the-mac-shop.com/
Description: Le thème de the-mac-shop.com, en direction « Encre » : encre noire, rose riso, scotch et tampons. Tous les textes se modifient dans l'éditeur de site. Les planches, la vitrine 3D, les autres produits et le formulaire viennent du plugin Mac & Pen.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Version: 1.0.3
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: macpen-encre
Tags: full-site-editing, block-patterns, block-styles, custom-logo, editor-style, wide-blocks, one-column, two-columns, portfolio
*/

/* ---------------------------------------------------------------
   Ce que theme.json ne sait pas faire : scotch, tampons, trame,
   ombres décalées au survol, détails de mise en page.
   Les blocs du plugin (classes macpen-*) ont leur propre CSS.
   --------------------------------------------------------------- */

/* Les sections se touchent : pas d'espace entre en-tête, contenu et pied.
   Le pied de page reste en bas de l'écran sur les pages courtes. */
.wp-site-blocks {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-height: 100dvh;
}

.wp-site-blocks > * + * {
	margin-block-start: 0;
}

.wp-site-blocks > footer {
	margin-top: auto;
}

/* Rien ne dépasse sur les côtés (vagues, bulles, cadres penchés), sans couper ce qui dépasse en bas. */
.wp-site-blocks {
	overflow-x: clip;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

:where(h1, h2, h3, h4) {
	text-wrap: balance;
	overflow-wrap: break-word;
}

/* Focus bien visible partout. */
:focus-visible {
	outline: 3px solid var(--wp--preset--color--rose);
	outline-offset: 2px;
}

/* Le surlignage de l'éditeur (« bizarres », « tout ça ») déborde un peu du mot. */
mark.has-inline-color {
	padding: 0 0.12em;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

/* Dans les titres, le surlignage rose devient une bande à la hauteur des capitales :
   la police des titres est très haute et le fond normal mordrait sur la ligne du dessus. */
:is(h1, h2, h3, h4) mark.has-inline-color:is([style*="ff48b0" i], [style*="255, 72, 176"], [style*="--rose)"], .has-rose-background-color) {
	background-color: transparent !important;
	background-image: linear-gradient(var(--wp--preset--color--rose), var(--wp--preset--color--rose));
	background-repeat: no-repeat;
	background-size: 100% 0.93em;
	background-position: 0 60%;
}

/* ---------- Boutons ---------- */

.wp-element-button,
.wp-block-button__link {
	min-height: 44px;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	text-decoration: none;
	transition: transform 0.12s ease, box-shadow 0.12s ease, background-color 0.12s ease, color 0.12s ease;
}

.wp-block-button__link:hover {
	transform: translate(2px, 2px);
	box-shadow: 3px 3px 0 0 var(--wp--preset--color--rose);
}

/* Style « Contour » : trait de 3 px, sans ombre. */
.wp-block-button.is-style-contour .wp-block-button__link {
	background: transparent;
	color: inherit;
	border: 3px solid currentColor;
	box-shadow: none;
	padding: 14px 18px;
}

.wp-block-button.is-style-contour .wp-block-button__link:hover {
	background: var(--wp--preset--color--encre);
	color: var(--wp--preset--color--papier);
	border-color: var(--wp--preset--color--encre);
	transform: none;
}

.has-encre-background-color .wp-block-button.is-style-contour .wp-block-button__link:hover {
	background: var(--wp--preset--color--papier);
	color: var(--wp--preset--color--encre);
	border-color: var(--wp--preset--color--papier);
}

/* Variante blanche avec ombre rose (lien Instagram de l'à propos). */
.wp-block-button.encre-bouton-ombre .wp-block-button__link {
	background: var(--wp--preset--color--papier);
	color: var(--wp--preset--color--encre);
	box-shadow: 4px 4px 0 0 var(--wp--preset--color--rose);
	font-size: 14px;
	padding: 15px 18px;
}

.wp-block-button.encre-bouton-ombre .wp-block-button__link:hover {
	background: var(--wp--preset--color--papier);
	color: var(--wp--preset--color--encre);
	box-shadow: 2px 2px 0 0 var(--wp--preset--color--rose);
	transform: translate(2px, 2px);
}

/* ---------- Étiquette, tampon, scotch, encadré ---------- */

p.is-style-etiquette {
	width: -moz-fit-content;
	width: fit-content;
	max-width: 100%;
	box-sizing: border-box;
	background: var(--wp--preset--color--encre);
	color: var(--wp--preset--color--papier);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	padding: 8px 14px;
	border-radius: 999px;
}

.has-encre-background-color p.is-style-etiquette {
	background: var(--wp--preset--color--papier);
	color: var(--wp--preset--color--encre);
}

p.is-style-tampon {
	width: 112px;
	height: 112px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 12px;
	border: 3px solid var(--wp--preset--color--encre);
	border-radius: 50%;
	background: var(--wp--preset--color--papier);
	color: var(--wp--preset--color--encre);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	transform: rotate(10deg);
}

.wp-block-image.is-style-scotch {
	position: relative;
}

.wp-block-image.is-style-scotch::before {
	content: "";
	position: absolute;
	z-index: 1;
	top: -13px;
	left: 50%;
	width: 120px;
	height: 26px;
	margin-left: -60px;
	background: rgba(255, 72, 176, 0.75);
	transform: rotate(-3deg);
	pointer-events: none;
}

.wp-block-image.is-style-scotch img {
	display: block;
	box-sizing: border-box;
	border: 3px solid var(--wp--preset--color--encre);
	border-radius: 18px;
}

.wp-block-group.is-style-encadre {
	border: 3px solid var(--wp--preset--color--encre);
	border-radius: 18px 24px 16px 22px / 22px 16px 24px 18px;
	background: var(--wp--preset--color--papier);
	color: var(--wp--preset--color--encre);
	padding: 12px 14px;
}

/* Trame rose (points), pour décorer un fond. */
.encre-trame {
	background-color: var(--wp--preset--color--papier);
	background-image: radial-gradient(circle, var(--wp--preset--color--rose) 30%, transparent 34%);
	background-size: 14px 14px;
}

/* ---------- Bords mous ----------
   Les sections finissent en vague, comme de l'encre qui coule sur la suivante :
   la vague prend la couleur de fond de la section, avec un trait d'encre dessous.
   Style de groupe « Bords mous » (is-style-mou). Les sections de l'accueil (ancres #hero,
   #expo, #autres, #apropos, #contact) le reçoivent aussi, même enregistrées avant cette version.
   Seulement sur le site : dans l'éditeur, les pseudo-éléments servent au cadre de sélection.
   Les vagues passent au-dessus de la section suivante (z-index 2). Le contact est au niveau 1 :
   les gouttes de l'à propos passent dessus, les siennes passent sur le pied de page. */
:root {
	--encre-vague-1: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 64' preserveAspectRatio='none'%3E%3Cpath d='M0 0H900V20.2L895 18.7L890 17.7L885 17.1L880 16.9L875 17.2L870 17.8L865 18.9L860 20.3L855 22.1L850 24.1L845 26.3L840 28.8L835 31.3L830 34L825 36.7L820 39.4L815 42.1L810 44.6L805 46.9L800 49L795 50.9L790 52.5L785 53.8L780 54.8L775 55.6L770 56L765 56.3L760 56.3L755 56.3L750 56L745 55.6L740 54.8L735 53.8L730 52.5L725 50.9L720 49L715 46.9L710 44.6L705 42.1L700 39.4L695 36.7L690 34L685 31.3L680 28.7L675 26.3L670 24.1L665 22.1L660 20.4L655 19.1L650 18.1L645 17.6L640 17.6L635 18L630 18.9L625 20.3L620 22.2L615 24.3L610 26.7L605 29.1L600 31.6L595 33.8L590 35.8L585 37.5L580 38.7L575 39.5L570 39.9L565 40L560 39.9L555 39.6L550 38.8L545 37.7L540 36.2L535 34.3L530 32.3L525 30.1L520 27.9L515 25.9L510 24.3L505 23L500 22.3L495 22.1L490 22.5L485 23.4L480 24.9L475 26.8L470 29.1L465 31.8L460 34.6L455 37.7L450 40.7L445 43.8L440 46.8L435 49.5L430 52.1L425 54.4L420 56.3L415 57.9L410 59.2L405 60.1L400 60.7L395 60.9L390 61L385 60.9L380 60.7L375 60.1L370 59.2L365 57.9L360 56.3L355 54.4L350 52.1L345 49.5L340 46.7L335 43.8L330 40.7L325 37.6L320 34.5L315 31.6L310 28.9L305 26.5L300 24.5L295 23L290 22L285 21.6L280 21.9L275 22.7L270 24L265 25.7L260 27.6L255 29.6L250 31.4L245 33L240 34.2L235 35L230 35.3L225 35.4L220 35.2L215 34.7L210 33.7L205 32.3L200 30.4L195 28.2L190 25.8L185 23.4L180 21L175 19L170 17.3L165 16.2L160 15.7L155 15.7L150 16.3L145 17.5L140 19.1L135 21.1L130 23.5L125 26.1L120 28.8L115 31.5L110 34.2L105 36.7L100 38.9L95 40.8L90 42.3L85 43.4L80 44.1L75 44.5L70 44.6L65 44.5L60 44.2L55 43.5L50 42.4L45 40.9L40 39L35 36.8L30 34.4L25 31.8L20 29.2L15 26.6L10 24.2L5 22L0 20.2Z'/%3E%3C/svg%3E");
	--encre-vague-2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 64' preserveAspectRatio='none'%3E%3Cpath d='M0 0H900V20.8L895 19.3L890 18.3L885 17.8L880 17.9L875 18.5L870 19.7L865 21.4L860 23.3L855 25.2L850 27L845 28.4L840 29.3L835 29.8L830 29.8L825 29.7L820 29.1L815 28.1L810 26.6L805 24.7L800 22.6L795 20.5L790 18.6L785 17.1L780 16.1L775 15.6L770 15.7L765 16.3L760 17.3L755 18.7L750 20.3L745 22.2L740 24.4L735 26.7L730 29.2L725 31.8L720 34.5L715 37.2L710 40L705 42.7L700 45.3L695 47.9L690 50.3L685 52.5L680 54.4L675 56.1L670 57.6L665 58.8L660 59.7L655 60.3L650 60.7L645 61L640 61L635 61L630 60.7L625 60.3L620 59.7L615 58.8L610 57.6L605 56.1L600 54.4L595 52.5L590 50.3L585 48L580 45.5L575 43L570 40.4L565 37.9L560 35.5L555 33.3L550 31.4L545 29.8L540 28.6L535 27.8L530 27.6L525 27.9L520 28.6L515 29.9L510 31.6L505 33.6L500 35.8L495 38.1L490 40.5L485 42.8L480 44.8L475 46.6L470 47.9L465 49L460 49.6L455 49.9L450 49.9L445 49.7L440 49.3L435 48.5L430 47.3L425 45.7L420 43.6L415 41.2L410 38.5L405 35.5L400 32.4L395 29.3L390 26.3L385 23.5L380 20.9L375 18.6L370 16.7L365 15.2L360 14.1L355 13.6L350 13.5L345 14L340 14.9L335 16.4L330 18.2L325 20.4L320 22.7L315 24.9L310 27L305 28.8L300 30.2L295 31.1L290 31.6L285 31.7L280 31.7L275 31.3L270 30.4L265 29.2L260 27.5L255 25.6L250 23.5L245 21.5L240 19.7L235 18.2L230 17.1L225 16.5L220 16.4L215 16.9L210 17.7L205 19L200 20.6L195 22.5L190 24.7L185 27L180 29.5L175 32.1L170 34.8L165 37.5L160 40.2L155 42.7L150 45.2L145 47.4L140 49.5L135 51.3L130 52.8L125 54.1L120 55.1L115 55.8L110 56.2L105 56.4L100 56.5L95 56.4L90 56.2L85 55.8L80 55.1L75 54.1L70 52.8L65 51.3L60 49.5L55 47.4L50 45.2L45 42.7L40 40.2L35 37.5L30 34.8L25 32.1L20 29.5L15 27L10 24.7L5 22.6L0 20.8Z'/%3E%3C/svg%3E");
	--encre-vague-3: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 64' preserveAspectRatio='none'%3E%3Cpath d='M0 0H900V31.6L895 30.3L890 29.6L885 29.5L880 30L875 30.7L870 31.6L865 32.3L860 32.8L855 32.8L850 32.5L845 32L840 31.1L835 29.7L830 27.6L825 25.1L820 22.4L815 19.7L810 17.4L805 15.5L800 14.2L795 13.5L790 13.5L785 14L780 15L775 16.5L770 18.4L765 20.7L760 23.2L755 26L750 29L745 31.9L740 34.8L735 37.6L730 40L725 42.1L720 43.8L715 45.1L710 45.9L705 46.3L700 46.4L695 46.3L690 45.9L685 45.1L680 43.9L675 42.2L670 40.1L665 37.7L660 35.1L655 32.3L650 29.5L645 26.8L640 24.4L635 22.4L630 20.8L625 19.7L620 19.1L615 19.2L610 19.8L605 21L600 22.7L595 24.8L590 27.3L585 30.1L580 33.2L575 36.3L570 39.5L565 42.6L560 45.5L555 48.1L550 50.4L545 52.4L540 53.9L535 55L530 55.7L525 56L520 56.1L515 56L510 55.7L505 55L500 53.9L495 52.4L490 50.4L485 48.1L480 45.5L475 42.6L470 39.5L465 36.3L460 33.1L455 30L450 27.2L445 24.7L440 22.6L435 21.1L430 20.2L425 20L420 20.4L415 21.5L410 23.2L405 25.2L400 27.3L395 29.5L390 31.3L385 32.8L380 33.7L375 34.2L370 34.3L365 34.1L360 33.6L355 32.5L350 31L345 29L340 26.6L335 24.2L330 21.8L325 19.8L320 18.1L315 17.1L310 16.6L305 16.7L300 17.4L295 18.7L290 20.5L285 22.7L280 25.2L275 28L270 31.1L265 34.4L260 37.8L255 41.1L250 44.4L245 47.6L240 50.5L235 53.2L230 55.5L225 57.3L220 58.8L215 59.9L210 60.6L205 60.9L200 61L195 60.9L190 60.6L185 59.9L180 58.8L175 57.3L170 55.5L165 53.2L160 50.6L155 47.6L150 44.5L145 41.3L140 38L135 34.8L130 31.9L125 29.2L120 27L115 25.3L110 24.2L105 23.8L100 24L95 24.9L90 26.4L85 28.3L80 30.5L75 32.8L70 35.1L65 37.2L60 38.9L55 40.3L50 41.1L45 41.5L40 41.6L35 41.4L30 41L25 40.1L20 38.7L15 37L10 35.1L5 33.2L0 31.6Z'/%3E%3C/svg%3E");
	--encre-ligne-rose: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 22' preserveAspectRatio='none'%3E%3Cpath d='M0 8.3 L5 8.7 L10 9.2 L15 9.7 L20 10.2 L25 10.8 L30 11.3 L35 11.9 L40 12.3 L45 12.7 L50 13 L55 13.3 L60 13.4 L65 13.5 L70 13.5 L75 13.5 L80 13.4 L85 13.3 L90 13 L95 12.7 L100 12.3 L105 11.8 L110 11.3 L115 10.7 L120 10.1 L125 9.6 L130 9 L135 8.5 L140 8.1 L145 7.7 L150 7.5 L155 7.4 L160 7.3 L165 7.5 L170 7.7 L175 8 L180 8.5 L185 9 L190 9.5 L195 10 L200 10.5 L205 10.9 L210 11.2 L215 11.4 L220 11.5 L225 11.5 L230 11.5 L235 11.5 L240 11.3 L245 11 L250 10.7 L255 10.3 L260 9.9 L265 9.5 L270 9.1 L275 8.8 L280 8.7 L285 8.6 L290 8.7 L295 8.9 L300 9.2 L305 9.6 L310 10.2 L315 10.7 L320 11.4 L325 12 L330 12.7 L335 13.3 L340 14 L345 14.6 L350 15.1 L355 15.6 L360 16 L365 16.3 L370 16.6 L375 16.8 L380 16.9 L385 17 L390 17 L395 17 L400 16.9 L405 16.8 L410 16.6 L415 16.3 L420 16 L425 15.6 L430 15.1 L435 14.6 L440 14 L445 13.3 L450 12.7 L455 12 L460 11.4 L465 10.8 L470 10.2 L475 9.7 L480 9.3 L485 9 L490 8.8 L495 8.7 L500 8.7 L505 8.9 L510 9.2 L515 9.5 L520 9.9 L525 10.4 L530 10.9 L535 11.3 L540 11.7 L545 12 L550 12.3 L555 12.4 L560 12.5 L565 12.5 L570 12.5 L575 12.4 L580 12.2 L585 12 L590 11.6 L595 11.2 L600 10.7 L605 10.2 L610 9.7 L615 9.2 L620 8.7 L625 8.3 L630 8 L635 7.8 L640 7.7 L645 7.8 L650 7.9 L655 8.1 L660 8.3 L665 8.7 L670 9.1 L675 9.6 L680 10.1 L685 10.7 L690 11.2 L695 11.8 L700 12.4 L705 13 L710 13.5 L715 14 L720 14.4 L725 14.8 L730 15.2 L735 15.5 L740 15.7 L745 15.8 L750 15.9 L755 16 L760 16 L765 16 L770 15.9 L775 15.8 L780 15.7 L785 15.5 L790 15.2 L795 14.8 L800 14.4 L805 14 L810 13.5 L815 13 L820 12.4 L825 11.8 L830 11.2 L835 10.7 L840 10.1 L845 9.6 L850 9.1 L855 8.7 L860 8.3 L865 8 L870 7.8 L875 7.7 L880 7.6 L885 7.6 L890 7.8 L895 8 L900 8.3' fill='none' stroke='#ff48b0' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

body:not(.editor-styles-wrapper) :where(.wp-block-group.is-style-mou, .encre-entete, #hero.alignfull, #expo.alignfull, #autres.alignfull, #apropos.alignfull, #contact.alignfull) {
	--vague: var(--encre-vague-1);
	--vague-h: 54px;
	--vague-l: 900px;
	--vague-x: 0px;
	--trait: var(--wp--preset--color--encre);
	position: relative;
	border-bottom-width: 0 !important;
}

body:not(.editor-styles-wrapper) :is(.wp-block-group.is-style-mou, #hero.wp-block-group.alignfull):not(.has-background) {
	background-color: var(--wp--preset--color--papier);
}

body:not(.editor-styles-wrapper) :where(.wp-block-group.is-style-mou, .encre-entete, #hero.alignfull, #expo.alignfull, #autres.alignfull, #apropos.alignfull, #contact.alignfull)::before,
body:not(.editor-styles-wrapper) :where(.wp-block-group.is-style-mou, .encre-entete, #hero.alignfull, #expo.alignfull, #autres.alignfull, #apropos.alignfull, #contact.alignfull)::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	z-index: 2;
	height: var(--vague-h);
	pointer-events: none;
	-webkit-mask: var(--vague) repeat-x var(--vague-x) 0 / var(--vague-l) 100%;
	mask: var(--vague) repeat-x var(--vague-x) 0 / var(--vague-l) 100%;
}

/* Dessous : le trait (la même vague, 4 px plus bas). Dessus : la vague, couleur de la section. */
body:not(.editor-styles-wrapper) :where(.wp-block-group.is-style-mou, .encre-entete, #hero.alignfull, #expo.alignfull, #autres.alignfull, #apropos.alignfull, #contact.alignfull)::before {
	background-color: var(--trait);
	translate: 0 4px;
}

body:not(.editor-styles-wrapper) :where(.wp-block-group.is-style-mou, .encre-entete, #hero.alignfull, #expo.alignfull, #autres.alignfull, #apropos.alignfull, #contact.alignfull)::after {
	background-color: inherit;
}

/* Chaque section a sa vague. */
body:not(.editor-styles-wrapper) .encre-entete {
	--vague: var(--encre-vague-3);
	--vague-h: 30px;
	--vague-x: -210px;
}

body:not(.editor-styles-wrapper) #expo.alignfull {
	--vague: var(--encre-vague-2);
	--vague-x: -120px;
}

body:not(.editor-styles-wrapper) #autres.alignfull {
	--vague: var(--encre-vague-3);
	--vague-x: -380px;
}

body:not(.editor-styles-wrapper) #apropos.alignfull {
	--vague-x: -430px;
}

/* Le contact (fond encre) coule en gouttes noires bordées de rose sur le pied de page. */
body:not(.editor-styles-wrapper) #contact.alignfull,
body:not(.editor-styles-wrapper) .encre-contact {
	--vague: var(--encre-vague-2);
	--vague-x: -300px;
	--trait: var(--wp--preset--color--rose);
}

/* Lampe à lave : deux bulles roses qui montent doucement derrière le formulaire. */
body:not(.editor-styles-wrapper) .encre-contact {
	position: relative;
	z-index: 1;
	isolation: isolate;
}

body:not(.editor-styles-wrapper) .encre-contact > .wp-block-columns::before,
body:not(.editor-styles-wrapper) .encre-contact > .wp-block-columns::after {
	content: "";
	position: absolute;
	z-index: -1;
	aspect-ratio: 1;
	background: var(--wp--preset--color--rose);
	opacity: 0.17;
	border-radius: 42% 58% 63% 37% / 41% 44% 56% 59%;
	pointer-events: none;
	animation: encre-lave 16s ease-in-out infinite alternate, encre-monte 24s ease-in-out infinite alternate;
}

/* Les champs du formulaire gardent le fond encre : les bulles passent derrière, pas dedans. */
.encre-contact :is(.macpen-champ input, .macpen-champ textarea, .macpen-champ select) {
	background-color: var(--wp--preset--color--encre);
}

body:not(.editor-styles-wrapper) .encre-contact > .wp-block-columns::before {
	left: 3%;
	bottom: 8%;
	width: clamp(150px, 24vw, 320px);
}

body:not(.editor-styles-wrapper) .encre-contact > .wp-block-columns::after {
	right: 5%;
	top: 10%;
	width: clamp(90px, 13vw, 190px);
	--monte-x: -26px;
	animation-duration: 13s, 19s;
	animation-delay: -7s, -12s;
}

@keyframes encre-lave {
	0% { border-radius: 42% 58% 63% 37% / 41% 44% 56% 59%; }
	33% { border-radius: 63% 37% 45% 55% / 55% 61% 39% 45%; }
	66% { border-radius: 38% 62% 33% 67% / 60% 38% 62% 40%; }
	100% { border-radius: 55% 45% 58% 42% / 38% 57% 43% 62%; }
}

@keyframes encre-monte {
	from { translate: 0 0; }
	to { translate: var(--monte-x, 26px) -70px; }
}

/* Pied de page : un trait rose ondulé au lieu du trait droit… */
.encre-pied {
	border-top-width: 0 !important;
	background-image: var(--encre-ligne-rose);
	background-repeat: repeat-x;
	background-position: -140px 0;
	background-size: 900px 22px;
}

/* …sauf sous le contact de l'accueil : ses gouttes ont déjà leur trait rose. */
.wp-site-blocks > main:has(> :last-child:is(.encre-contact, #contact)) ~ footer .encre-pied {
	background-image: none;
}

/* Style d'image « Bulle » : la photo dans une bulle qui ondule, comme dans une lampe à lave. */
.wp-block-image.is-style-bulle img {
	box-sizing: border-box;
	border: 3px solid var(--wp--preset--color--encre);
	border-radius: 42% 58% 63% 37% / 41% 44% 56% 59%;
	box-shadow: 10px 12px 0 0 var(--wp--preset--color--rose);
	animation: encre-lave 15s ease-in-out infinite alternate;
}

@media (max-width: 600px) {
	body:not(.editor-styles-wrapper) :is(.wp-block-group.is-style-mou, :is(#hero, #expo, #autres, #apropos, #contact).wp-block-group.alignfull) {
		--vague-h: 34px;
		--vague-l: 560px;
	}

	body:not(.editor-styles-wrapper) .encre-entete {
		--vague-h: 22px;
		--vague-l: 560px;
	}
}

/* ---------- En-tête ---------- */

.encre-entete .wp-block-site-logo img {
	height: auto;
}

/* Titre du site en secours, seulement quand aucun logo n'est choisi. */
.encre-entete:has(.wp-block-site-logo img) .wp-block-site-title,
.encre-pied:has(.wp-block-site-logo img) .wp-block-site-title {
	display: none;
}

.encre-entete .wp-block-navigation .wp-block-navigation-item__content {
	padding: 15px 12px;
}

.encre-entete .wp-block-navigation__responsive-container-open,
.encre-entete .wp-block-navigation__responsive-container-close {
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
}

/* Menu ouvert sur téléphone : grands liens en police de titre, alignés à gauche. */
.encre-entete .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open {
	padding: var(--wp--preset--spacing--40);
}

.encre-entete .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.encre-entete .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: flex-start;
	justify-content: flex-start;
}

.encre-entete .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: var(--wp--preset--spacing--70);
}

.encre-entete .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: var(--wp--preset--spacing--20);
}

.encre-entete .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--titre);
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.1;
	padding: 6px 0;
}

.encre-entete .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--encre);
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--rose);
	text-decoration-thickness: 6px;
	text-underline-offset: 4px;
}

.encre-entete .encre-bouton-entete .wp-block-button__link {
	font-size: 14px;
	letter-spacing: 0.06em;
	padding: 15px 18px;
	box-shadow: 4px 4px 0 0 var(--wp--preset--color--rose);
}

/* ---------- Sections de l'accueil ---------- */

.encre-entete-section {
	row-gap: 16px;
}

.encre-entete-section > h2 {
	margin: 0;
}

.encre-intro {
	margin: 0;
	max-width: 34em;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 14px;
	line-height: 1.55;
}

/* Le texte d'intro reste à droite du titre tant qu'il y a la place. */
.encre-entete-section > .encre-intro {
	flex: 0 1 28em;
}

.encre-chapo {
	font-size: 1.15rem;
	line-height: 1.55;
	max-width: 32em;
}

.encre-hero .wp-block-buttons {
	gap: 14px;
}

@media (min-width: 782px) {
	.encre-hero {
		min-height: 720px;
		box-sizing: border-box;
	}
}

/* Sans le plugin, les blocs dynamiques n'affichent rien : on masque la colonne vide. */
:is(.encre-hero, .encre-contact, .encre-fiche) .wp-block-column:not(:has(*)) {
	display: none;
}

/* À propos : le portrait, son scotch et son tampon. */
.encre-portrait {
	position: relative;
	max-width: 420px;
	margin-inline: auto;
}

.encre-portrait > .wp-block-image {
	margin: 0;
}

.encre-portrait > p.is-style-tampon {
	position: absolute;
	z-index: 2;
	right: -16px;
	bottom: -16px;
	margin: 0;
}

.encre-faits {
	width: 100%;
}

.encre-fait-label {
	margin: 0;
	color: var(--wp--preset--color--gris);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.encre-fait-valeur {
	margin: 0;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
}

/* Contact : les liens prennent la couleur du texte (blanc sur encre). */
.encre-contact a:where(:not(.wp-element-button)) {
	color: inherit;
}

.encre-note {
	max-width: 34em;
	font-weight: 700;
	line-height: 1.5;
}

/* ---------- Pied de page ---------- */

.encre-pied {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
}

.encre-pied p {
	margin: 0;
}

.encre-pied .wp-block-navigation {
	font-size: 13px;
	letter-spacing: 0;
	text-transform: none;
}

.encre-pied .wp-block-navigation .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ---------- Produits (archives, recherche, fiche) ---------- */

.encre-puces {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.encre-puces a {
	display: inline-block;
	background: var(--wp--preset--color--encre);
	color: var(--wp--preset--color--papier);
	padding: 7px 11px;
	border-radius: 999px;
	line-height: 1;
	text-decoration: none;
}

.encre-puces a:hover,
.encre-puces a:focus {
	background: var(--wp--preset--color--rose);
	color: var(--wp--preset--color--encre);
}

.encre-puces .wp-block-post-terms__separator {
	display: none;
}

.encre-carte .wp-block-post-featured-image {
	margin-bottom: 0;
}

.encre-carte .wp-block-post-featured-image img {
	box-sizing: border-box;
	border: 3px solid var(--wp--preset--color--encre);
	border-radius: 20px 26px 18px 24px / 24px 18px 26px 20px;
}

.encre-carte .wp-block-post-title a:hover {
	color: var(--wp--preset--color--rose-fonce);
}

.encre-fiche .wp-block-post-featured-image img {
	box-sizing: border-box;
	border: 3px solid var(--wp--preset--color--encre);
	border-radius: 24px 32px 22px 28px / 28px 22px 32px 24px;
}

.encre-retour a {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	display: inline-block;
	padding: 12px 0;
}

/* Pagination */
.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers {
	display: inline-block;
	min-width: 44px;
	padding: 12px 8px;
	text-align: center;
	text-decoration: none;
}

.wp-block-query-pagination .page-numbers.current {
	border-radius: 999px;
	background: var(--wp--preset--color--encre);
	color: var(--wp--preset--color--papier);
}

/* Recherche */
.wp-block-search__input {
	border: 3px solid var(--wp--preset--color--encre);
	border-radius: 999px;
	min-height: 48px;
	padding: 10px 18px;
	font-family: var(--wp--preset--font-family--mono);
}

.wp-block-search__button {
	min-height: 48px;
	margin-left: 8px;
}

/* 404 */
.encre-404-chiffres {
	font-size: clamp(4.5rem, 12vw, 9.5rem);
	line-height: 1;
	white-space: nowrap;
	margin: 0;
}

/* ---------- Petits écrans ---------- */

@media (max-width: 781px) {
	.encre-portrait > p.is-style-tampon {
		right: 4px;
		bottom: -14px;
		width: 96px;
		height: 96px;
		font-size: 12px;
	}

	.encre-hero .wp-block-columns {
		gap: 32px;
	}
}

@media (max-width: 600px) {
	.encre-entete .wp-block-site-logo img {
		width: 64px !important;
	}

	.encre-entete .encre-bouton-entete .wp-block-button__link {
		font-size: 13px;
		padding: 13px 14px;
	}

	.encre-pied > .wp-block-group {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wp-block-image.is-style-bulle img,
	body:not(.editor-styles-wrapper) .encre-contact > .wp-block-columns::before,
	body:not(.editor-styles-wrapper) .encre-contact > .wp-block-columns::after {
		animation: none;
	}

	.wp-element-button,
	.wp-block-button__link {
		transition: none;
	}

	.wp-block-button__link:hover,
	.wp-block-button.encre-bouton-ombre .wp-block-button__link:hover {
		transform: none;
	}
}
