/* Compléments au CSS d'origine (Tailwind compilé du site Lovable). */

[hidden] {
	display: none !important;
}

/* Barre d'administration WordPress : le header fixe passe dessous. */
.admin-bar [data-grm-nav] {
	top: 32px;
}
@media screen and (max-width: 782px) {
	.admin-bar [data-grm-nav] {
		top: 46px;
	}
}

/* Conteneurs WordPress neutres. */
.wp-site-blocks,
.wp-block-post-content,
.wp-block-template-part {
	margin: 0;
	padding: 0;
}

/* Menus déroulants du header (animation d'origine : 150 ms, décalage 6 px). */
.grm-dd {
	opacity: 0;
	transform: translateY(6px);
	transition: opacity 0.15s ease, transform 0.15s ease;
}
.grm-dd.is-open {
	opacity: 1;
	transform: none;
}

/* Ouverture / fermeture en hauteur (menu mobile). */
.grm-collapse {
	transition: height 0.25s ease, opacity 0.25s ease;
}

/* Apparition au défilement (remplace Framer Motion). */
.grm-reveal {
	opacity: 0;
	transition-property: opacity, transform;
	transition-duration: 0.6s;
	transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
	will-change: opacity, transform;
}
.grm-reveal-up { transform: translateY(20px); }
.grm-reveal-up8 { transform: translateY(8px); }
.grm-reveal-up12 { transform: translateY(12px); }
.grm-reveal-up16 { transform: translateY(16px); }
.grm-reveal-up24 { transform: translateY(24px); }
.grm-reveal-up30 { transform: translateY(30px); }
.grm-reveal-up40 { transform: translateY(40px); }
.grm-reveal-up50 { transform: translateY(50px); }
.grm-reveal-up60 { transform: translateY(60px); }
.grm-reveal-down20 { transform: translateY(-20px); }
.grm-reveal-down30 { transform: translateY(-30px); }
.grm-reveal-left20 { transform: translateX(-20px); }
.grm-reveal-left30 { transform: translateX(-30px); }
.grm-reveal-left40 { transform: translateX(-40px); }
.grm-reveal-left50 { transform: translateX(-50px); }
.grm-reveal-left60 { transform: translateX(-60px); }
.grm-reveal-right20 { transform: translateX(20px); }
.grm-reveal-right30 { transform: translateX(30px); }
.grm-reveal-right40 { transform: translateX(40px); }
.grm-reveal-right50 { transform: translateX(50px); }
.grm-reveal-right60 { transform: translateX(60px); }
.grm-reveal-zoom { transform: scale(0.95); }
.grm-reveal.is-visible {
	opacity: 1;
	transform: none;
}
@media (prefers-reduced-motion: reduce) {
	.grm-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* Carrousels. */
[data-grm-track] {
	transform: translateX(0);
}

/* Contenu des articles de blog (titres, listes) : le reset Tailwind supprime les styles par défaut. */
.grm-prose h2 {
	font-size: 1.5em;
	line-height: 1.3;
	font-weight: 700;
	margin-top: 1.6em;
}
.grm-prose h3 {
	font-size: 1.25em;
	line-height: 1.4;
	font-weight: 700;
	margin-top: 1.4em;
}
.grm-prose h4 {
	font-weight: 700;
}
.grm-prose ul,
.grm-prose ol {
	padding-left: 1.4em;
}
.grm-prose ul {
	list-style: disc;
}
.grm-prose ol {
	list-style: decimal;
}
.grm-prose li + li {
	margin-top: 0.4em;
}
.grm-prose a {
	text-decoration: underline;
}
.grm-prose strong {
	font-weight: 700;
}

/* Message d'erreur des formulaires (remplace les notifications « toast » d'origine). */
.grm-toast {
	position: fixed;
	right: 16px;
	bottom: 96px;
	z-index: 60;
	max-width: 360px;
	padding: 12px 16px;
	border-radius: 8px;
	background: #fff;
	color: #b91c1c;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
	font-size: 14px;
	border: 1px solid #fecaca;
}
@media (min-width: 1024px) {
	.grm-toast {
		bottom: 24px;
	}
}

/* Mobile : le bouton « Gérer les cookies » passe au-dessus de la barre Appeler / Devis
   (même hauteur que le bouton son, à droite). */
@media (max-width: 1023.98px) {
	[data-grm-cookie-manage] {
		bottom: calc(6rem + env(safe-area-inset-bottom)) !important;
	}
}
