/*
Theme Name: IPS Pompes
Author: Opaline
Author URI:
Theme URI:
Tags: full-site-editing, block-patterns
Text Domain: ips-pompes
Requires at least: 6.4
Requires PHP: 7.4
Tested up to: 6.4
Version: 100.1

License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* Styles intended only for the front.*/
html {
	scroll-behavior: smooth;
}

@media screen and (prefers-reduced-motion: reduce) {

	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}

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

/* Focus visible au clavier */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--preset--color--secondary);
	outline-offset: 2px;
}

a {
	transition: color 0.2s ease;
}

/* Navigation */
.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content {
	color: var(--wp--preset--color--primary) !important;
	text-decoration: none;
}

.wp-block-navigation .wp-block-navigation-item__content:hover,
.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content {
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--secondary);
	text-decoration-thickness: 2px;
	text-underline-offset: 6px;
}

.wp-block-navigation .wp-block-navigation-item:not(:last-child)::after {
	content: "";
	display: inline-block;
	width: 6px;
	height: 32px;
	margin-left: 1rem;
	margin-right: 1rem;
	background-image: repeating-radial-gradient(
		circle,
		var(--wp--preset--color--secondary) 0 2px,
		transparent 2px 8px
	);
	background-repeat: repeat-y;
	background-size: 8px 8px;
	background-position: center top;
	vertical-align: middle;
}

.wp-block-navigation .wp-block-navigation__container {
	gap: 0;
}

/* Menu mobile ouvert : liste verticale sans séparateurs */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item::after {
	display: none !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: var(--wp--preset--spacing--40);
	font-size: var(--wp--preset--font-size--large);
}

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

/* Images de contenu : jamais plus larges que leur conteneur */
.wp-block-post-content .wp-block-image img {
	height: auto;
	max-width: 100%;
}

.wp-block-post-content .wp-block-image img[style*="aspect-ratio"] {
	height: 100%;
}

/* WPForms : alignement sur le design system */
.wpforms-container .wpforms-field-label,
.wpforms-container .wpforms-field-sublabel {
	color: var(--wp--preset--color--primary) !important;
}

.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="tel"],
.wpforms-container textarea,
.wpforms-container select {
	border: 1px solid #b9cfd8 !important;
	border-radius: 6px !important;
	color: var(--wp--preset--color--contrast) !important;
	font-family: inherit !important;
	font-size: 1rem !important;
	min-height: 44px;
	padding: 0.5rem 0.75rem !important;
}

.wpforms-container input:focus,
.wpforms-container textarea:focus,
.wpforms-container select:focus {
	border-color: var(--wp--preset--color--primary) !important;
	box-shadow: 0 0 0 3px rgba(53, 115, 139, 0.2) !important;
}

.wpforms-container button[type="submit"].wpforms-submit {
	background-color: var(--wp--preset--color--secondary) !important;
	border: 0 !important;
	border-radius: 6px !important;
	color: var(--wp--preset--color--contrast) !important;
	font-family: inherit !important;
	font-size: var(--wp--preset--font-size--small) !important;
	font-weight: 700 !important;
	min-height: 44px;
	padding: 0.75rem 1.5rem !important;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.wpforms-container button[type="submit"].wpforms-submit:hover {
	background-color: var(--wp--preset--color--primary) !important;
	color: var(--wp--preset--color--base) !important;
}

/* Le footer s'enchaîne sans espace après le dernier bloc */
.wp-site-blocks > footer {
	margin-block-start: 0;
}

/* ------------------------------------------------------------------
   Rythme vertical et hiérarchie du contenu
------------------------------------------------------------------ */

/* Grilles image + texte : texte centré verticalement, plus de vide sous un texte court */
.wp-block-post-content .is-layout-grid {
	align-items: center;
}

/* Les cartes d'une même grille gardent la même hauteur */
.wp-block-post-content .is-layout-grid > .has-background {
	align-self: stretch;
}

/* Photos des grilles : format homogène 4:3 (les détourés PNG restent entiers) */
.wp-block-post-content .is-layout-grid > .wp-block-image img:not([src$=".png"]):not([src$=".svg"]) {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	width: 100%;
}

.wp-block-post-content .wp-block-image img {
	border-radius: 12px;
}

/* Vidéo : coins arrondis comme les photos */
.wp-block-post-content .wp-block-embed iframe {
	border-radius: 12px;
}

/* Un titre qui suit du texte ouvre une nouvelle section : plus d'air au-dessus */
.wp-block-post-content :is(h2, h3).wp-block-heading:not(:first-child) {
	margin-block-start: clamp(2.5rem, 5vw, 3.5rem);
}

.wp-block-post-content :is(h2, h3).wp-block-heading + * {
	margin-block-start: var(--wp--preset--spacing--40);
}

/* Listes à puces : petit losange jaune */
.wp-block-post-content ul.wp-block-list {
	list-style: none;
	padding-left: 0;
}

.wp-block-post-content ul.wp-block-list > li {
	position: relative;
	padding-left: 1.6rem;
}

.wp-block-post-content ul.wp-block-list > li + li {
	margin-top: 0.5em;
}

.wp-block-post-content ul.wp-block-list > li::before {
	content: "";
	position: absolute;
	left: 0.3rem;
	top: calc(0.85em - 0.25rem);
	width: 0.5rem;
	height: 0.5rem;
	background-color: var(--wp--preset--color--secondary);
	border-radius: 1px;
	transform: rotate(45deg);
}

/* Chiffres clés (accueil) */
.wp-block-post-content .ips-stats {
	align-items: stretch;
	gap: var(--wp--preset--spacing--40);
}

.ips-stat {
	background-color: var(--wp--preset--color--tertiary);
	border-radius: 12px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	height: 100%;
	padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40);
	text-align: center;
}

.ips-stat > * {
	margin: 0 !important;
}

.ips-stat__value {
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--xx-large);
	font-weight: 700;
	line-height: 1.1;
}

.ips-stat__label {
	font-size: var(--wp--preset--font-size--small);
	margin-top: 0.5rem !important;
}

/* Grille alignée par le haut (vidéo + texte) */
.wp-block-post-content .is-layout-grid.ips-align-top {
	align-items: start;
}

/* Cartes d'action (accueil) : texte à gauche, bouton à droite */
.ips-action-card {
	column-gap: var(--wp--preset--spacing--60) !important;
}

.ips-action-card > :first-child {
	flex: 1 1 26rem;
}

.ips-action-card > :last-child {
	flex: 0 0 auto;
}

.ips-action-card .is-style-title-highlight {
	font-size: var(--wp--preset--font-size--large);
}

/* Bandeau « Commande avant midi » */
.ips-order-banner {
	align-items: center;
	text-align: center;
}

.ips-order-banner > p {
	margin: 0 !important;
	line-height: 1.2;
}

.ips-order-banner__step:first-child::after {
	content: "→" / "";
	color: var(--wp--preset--color--base);
	display: inline-block;
	margin-left: var(--wp--preset--spacing--40);
}

@media (max-width: 600px) {
	.ips-order-banner {
		flex-direction: column;
		gap: 0.5rem !important;
	}

	.ips-order-banner__step:first-child::after {
		content: "↓" / "";
		display: block;
		margin: 0.5rem auto 0;
	}
}

/* Carte d'action LinkedIn : sans fond, centrée et verticale */
.ips-action-card.ips-action-card--featured {
	background: none !important;
	flex-direction: column;
	align-items: center !important;
	gap: var(--wp--preset--spacing--40) !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	text-align: center;
}

.ips-action-card.ips-action-card--featured > * {
	flex: none;
}

.ips-action-card--featured .ips-action-card__text {
	max-width: 46rem;
}

.ips-action-card--featured .ips-action-card__text > * {
	margin-left: auto !important;
	margin-right: auto !important;
}

.ips-action-card--featured .is-style-title-highlight {
	justify-content: center;
	text-align: center;
}

.ips-action-card--featured .wp-block-buttons {
	justify-content: center;
}

.ips-action-card--featured .is-style-title-highlight::before {
	display: none;
}
