/*
Theme Name: Build Me Up
Theme URI: https://buildmeup.fr/
Author: Clément Guillard
Description: Thème bloc sur mesure de Build Me Up, agence web à Brest. Sans page builder.
Version: 1.3.1
Requires at least: 6.6
Requires PHP: 8.0
License: Propriétaire
Text Domain: buildmeup
*/

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
h2, h3 { scroll-margin-top: 96px; }
:focus-visible { outline: 3px solid var(--wp--preset--color--orange); outline-offset: 3px; }
img { height: auto; }
.wp-site-blocks > * { margin-block-start: 0; }
.bmu-main { padding-top: 0 !important; padding-bottom: 0 !important; }
.bmu-main > .wp-block-post-content > *:first-child { margin-top: 0; }
.bmu-main .wp-block-post-content > .alignfull + .alignfull { margin-top: 0; }
.bmu-simple { padding-block: var(--wp--preset--spacing--60) !important; }

/* ---------- Sections ---------- */
.bmu-section { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); }
.bmu-fond-clair { background: var(--wp--preset--color--fond-clair); }
.bmu-fond-sombre { background: var(--wp--preset--color--bleu-fonce); color: #e6edf6; }
.bmu-fond-bleu { background: linear-gradient(120deg, #123d7a 0%, #275599 100%); color: #ffffff; }
.bmu-fond-sombre :where(h1, h2, h3), .bmu-fond-bleu :where(h1, h2, h3) { color: #ffffff; }
.bmu-fond-sombre a:where(:not(.wp-element-button)), .bmu-fond-bleu a:where(:not(.wp-element-button)) { color: var(--wp--preset--color--jaune); }
.bmu-centre { text-align: center; }
.bmu-centre .wp-block-buttons { justify-content: center; }
.bmu-intro { font-size: var(--wp--preset--font-size--moyen); max-width: 46rem; }
.bmu-centre .bmu-intro { margin-left: auto; margin-right: auto; }
.bmu-section:not(.bmu-centre) > .bmu-intro { max-width: none; }

.bmu-surtitre {
	font-family: var(--wp--preset--font-family--titres);
	font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
	color: var(--wp--preset--color--orange-texte); margin-bottom: 0.25rem;
}
.bmu-fond-sombre .bmu-surtitre, .bmu-fond-bleu .bmu-surtitre { color: var(--wp--preset--color--jaune); }

/* ---------- Boutons ---------- */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent; border: 2px solid currentColor; color: var(--wp--preset--color--bleu);
	padding: calc(0.9rem - 2px) calc(1.6rem - 2px);
}
.bmu-fond-sombre .is-style-outline > .wp-block-button__link,
.bmu-fond-bleu .is-style-outline > .wp-block-button__link { color: #ffffff; }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--jaune); border-color: var(--wp--preset--color--jaune); color: var(--wp--preset--color--bleu-fonce); }
.bmu-preuve { font-size: var(--wp--preset--font-size--petit); opacity: 0.9; margin-top: 1rem; }
.bmu-preuve strong { color: var(--wp--preset--color--orange-texte); }
.bmu-fond-sombre .bmu-preuve strong, .bmu-fond-bleu .bmu-preuve strong { color: var(--wp--preset--color--jaune); }

/* ---------- En-tête ---------- */
.bmu-header {
	position: sticky; top: 0; z-index: 50;
	background: var(--wp--preset--color--bleu-fonce);
	padding-top: 0.6rem; padding-bottom: 0.6rem;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.08);
}
.admin-bar .bmu-header { top: 32px; }
.bmu-header__inner { gap: 1.5rem; }
.bmu-logo { position: relative; width: 230px; flex-shrink: 0; container-type: inline-size; margin: 0; }
.bmu-logo .wp-block-site-logo, .bmu-logo .wp-block-site-logo img { width: 100% !important; }
.bmu-logo .wp-block-site-logo a { display: block; }
.bmu-logo__accroche {
	position: absolute; left: 48.2%; top: 70%; margin: 0 !important; pointer-events: none; white-space: nowrap;
	font-family: var(--wp--preset--font-family--titres); font-weight: 600; line-height: 1;
	font-size: max(9px, 4.6cqi); letter-spacing: 0.3em; text-transform: uppercase; color: var(--wp--preset--color--jaune);
}
.bmu-footer .bmu-logo { width: 240px; margin-bottom: 1.25rem; }
.bmu-header__nav { gap: 1.75rem; }
.bmu-nav { font-family: var(--wp--preset--font-family--titres); font-weight: 600; font-size: 0.95rem; }
.bmu-header { color: #ffffff; }
.bmu-header .bmu-nav, .bmu-header .bmu-nav a.wp-block-navigation-item__content { color: #ffffff; text-decoration: none; }
.bmu-header .bmu-nav a.wp-block-navigation-item__content:hover, .bmu-header .bmu-nav .current-menu-item > a { color: var(--wp--preset--color--jaune); }
.bmu-nav .wp-block-navigation__responsive-container-open { color: #ffffff; }
.bmu-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--bleu-fonce) !important; color: #ffffff; padding: 2rem 1.5rem; }
.bmu-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.5rem; font-size: 1.25rem; }
.bmu-nav .wp-block-navigation__responsive-container-close { color: #ffffff; }
.bmu-header__tel .wp-block-button__link { padding: 0.6rem 1.1rem; font-size: 0.95rem; white-space: nowrap; }
@media (max-width: 781px) {
	.bmu-header .bmu-logo { width: 190px; }
	.bmu-header .bmu-header__tel { display: none !important; }
	.admin-bar .bmu-header { top: 0; }
}

/* ---------- Hero ---------- */
.bmu-hero { padding-top: clamp(2.5rem, 6vw, 5rem); padding-bottom: clamp(3rem, 7vw, 5.5rem); position: relative; overflow: hidden; }
.bmu-hero h1 { margin-top: 0.25rem; }
.bmu-fond-sombre.bmu-hero .bmu-intro { color: #d5e0ee; }
.bmu-hero__visuel { position: relative; }
.bmu-hero__visuel::before {
	content: ""; position: absolute; width: 78%; aspect-ratio: 1; right: -12%; top: -14%;
	border: 26px solid var(--wp--preset--color--jaune); border-radius: 50%; opacity: 0.9; z-index: 0;
}
.bmu-hero__visuel .wp-block-image { position: relative; z-index: 1; margin: 0; }
.bmu-hero__visuel img { border-radius: 18px; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4); }
.bmu-hero__visuel .bmu-mockup img { border-radius: 0; box-shadow: none; filter: drop-shadow(0 24px 40px rgba(0, 0, 0, 0.45)); }
.bmu-hero__visuel:has(.bmu-mockup)::before { width: 62%; right: 4%; top: -6%; }

/* ---------- Cartes ---------- */
.bmu-cartes { gap: 1.5rem; }
.bmu-carte {
	background: #ffffff; color: var(--wp--preset--color--encre);
	border: 1px solid #dbe3ee; border-radius: 18px; padding: 1.75rem 1.5rem;
	height: 100%; display: flex; flex-direction: column;
}
.bmu-carte :where(h2, h3) { color: var(--wp--preset--color--bleu-fonce); }
.bmu-carte a:where(:not(.wp-element-button)) { color: var(--wp--preset--color--bleu); }
.bmu-carte h3 { margin-top: 0; }
.bmu-carte h3::after { content: ""; display: block; width: 44px; height: 4px; border-radius: 4px; background: var(--wp--preset--color--orange); margin-top: 0.6rem; }
.bmu-carte > :last-child { margin-bottom: 0; }
.bmu-carte .wp-block-buttons { margin-top: auto; padding-top: 0.5rem; }
.bmu-carte--vedette { border: 2px solid var(--wp--preset--color--jaune); box-shadow: 0 14px 40px rgba(18, 61, 122, 0.12); }
.bmu-prix { font-family: var(--wp--preset--font-family--titres); font-weight: 800; font-size: 1.9rem; color: var(--wp--preset--color--bleu); margin: 0.25rem 0 0.5rem; line-height: 1.1; }
.bmu-prix span { font-size: 0.95rem; font-weight: 600; color: var(--wp--preset--color--gris); }

.wp-block-list.bmu-coches { list-style: none; padding-left: 0; }
.bmu-coches li { position: relative; padding-left: 1.6rem; margin-bottom: 0.45rem; }
.bmu-coches li::before { content: ""; position: absolute; left: 0; top: 0.55em; width: 0.7rem; height: 0.38rem; border-left: 3px solid var(--wp--preset--color--orange); border-bottom: 3px solid var(--wp--preset--color--orange); transform: rotate(-45deg); }

/* ---------- Réalisations ---------- */
.bmu-reals { gap: 1.5rem; }
.bmu-real { margin: 0; }
.bmu-real .wp-block-image { margin: 0 0 0.75rem; }
.bmu-real img { border-radius: 14px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25); aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.bmu-real p { margin: 0; font-size: var(--wp--preset--font-size--petit); }
.bmu-real p strong { font-family: var(--wp--preset--font-family--titres); font-size: 1rem; }
.bmu-fond-clair .bmu-real img, .bmu-fond-blanc .bmu-real img { box-shadow: 0 10px 30px rgba(18, 61, 122, 0.15); }

@media (max-width: 781px) {
	.bmu-reals.bmu-reals--defile {
		display: flex !important; flex-wrap: nowrap; overflow-x: auto; gap: 1rem;
		scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 0.5rem;
	}
	.bmu-reals--defile::-webkit-scrollbar { display: none; }
	.bmu-reals--defile > .bmu-real { flex: 0 0 82%; scroll-snap-align: start; }
}

/* Fiches et page /realisations/ */
.wp-block-list.bmu-recap { list-style: none; padding-left: 0; margin: 0; }
.bmu-recap li { padding: 0.55rem 0; border-bottom: 1px solid #e2e8f0; font-size: var(--wp--preset--font-size--petit); }
.bmu-recap li:last-child { border-bottom: 0; }
.bmu-recap strong { color: var(--wp--preset--color--bleu-fonce); }
.bmu-real--fiche .wp-block-post-featured-image { margin: 0 0 0.75rem; }
.bmu-real--fiche .wp-block-post-featured-image img { border-radius: 14px; box-shadow: 0 10px 30px rgba(18, 61, 122, 0.15); }
.bmu-real__titre { font-size: 1.125rem !important; margin: 0 0 0.25rem; }
.bmu-real__titre a { color: var(--wp--preset--color--bleu-fonce); text-decoration: none; }
.bmu-real__titre a:hover { color: var(--wp--preset--color--orange-texte); }
.bmu-real--fiche .wp-block-post-excerpt { font-size: var(--wp--preset--font-size--petit); margin: 0; }
.bmu-real--fiche .wp-block-post-excerpt p { margin: 0; }
.bmu-reals-liste .wp-block-post-template { gap: 2rem 1.5rem; }
.bmu-real p a { font-weight: 600; }
.bmu-fond-sombre .bmu-real strong a { color: #ffffff; text-decoration: none; }

/* ---------- Étapes ---------- */
.bmu-etape__num { font-family: var(--wp--preset--font-family--titres); font-weight: 800; font-size: 2.75rem; line-height: 1; color: var(--wp--preset--color--orange-texte); margin-bottom: 0.5rem; }
.bmu-etape__duree { display: inline-block; align-self: flex-start; font-family: var(--wp--preset--font-family--titres); font-weight: 700; font-size: 0.8125rem; background: var(--wp--preset--color--fond-clair); color: var(--wp--preset--color--bleu); padding: 0.25rem 0.75rem; border-radius: 999px; }

/* ---------- Photo ---------- */
.bmu-photo img { border-radius: 18px; }
.bmu-section .wp-block-columns { column-gap: clamp(2rem, 5vw, 4.5rem); }
.bmu-photo--decalee { margin-right: 18px; margin-bottom: 18px; }
.bmu-photo--decalee { position: relative; }
.bmu-photo--decalee img { box-shadow: 18px 18px 0 var(--wp--preset--color--jaune); }

.bmu-mockup-large { max-width: 980px; margin: 0 auto 2.5rem !important; }
.bmu-mockup-large img { border-radius: 18px; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35); }

/* ---------- FAQ ---------- */
.bmu-faq .wp-block-details { border-bottom: 1px solid #d3dce8; padding: 1.1rem 0; margin: 0; }
.bmu-faq .wp-block-details summary { font-family: var(--wp--preset--font-family--titres); font-weight: 700; color: var(--wp--preset--color--bleu-fonce); cursor: pointer; list-style: none; position: relative; padding-right: 2rem; }
.bmu-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.bmu-faq .wp-block-details summary::after { content: "+"; position: absolute; right: 0.25rem; top: -0.1rem; font-size: 1.5rem; color: var(--wp--preset--color--orange-texte); }
.bmu-faq .wp-block-details[open] summary::after { content: "\2212"; }
.bmu-faq .wp-block-details > p { margin-top: 0.75rem; }

/* ---------- Contact ---------- */
.calendly-inline-widget { min-width: 300px; height: 720px; border-radius: 18px; overflow: hidden; background: #ffffff; }

/* ---------- Pied de page ---------- */
.bmu-footer { background: var(--wp--preset--color--bleu-fonce); color: #c4d1e2; padding-top: var(--wp--preset--spacing--60); padding-bottom: 2rem; font-size: var(--wp--preset--font-size--petit); }
.bmu-footer a { color: #ffffff; text-decoration: none; }
.bmu-footer a:hover { color: var(--wp--preset--color--jaune); text-decoration: underline; }
.bmu-footer__titre { font-size: 0.8125rem !important; letter-spacing: 0.14em; text-transform: uppercase; color: var(--wp--preset--color--jaune) !important; }
.wp-block-list.bmu-footer__liens { list-style: none; padding-left: 0; }
.bmu-footer__liens li { margin-bottom: 0.5rem; }
.bmu-footer__bas { border-top: 1px solid rgba(255, 255, 255, 0.12); padding-top: 1.5rem; margin-top: 2.5rem; font-size: 0.875rem; }
.bmu-footer__bas a { text-decoration: underline; }
.bmu-footer__bas a strong { color: var(--wp--preset--color--jaune); font-weight: 700; }

/* ---------- Barre d'appel mobile ---------- */
.bmu-barre-appel { display: none !important; }
@media (max-width: 781px) {
	body { padding-bottom: 58px; }
	.bmu-barre-appel {
		display: flex !important; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
		gap: 0 !important; margin: 0 !important; box-shadow: 0 -4px 18px rgba(0, 0, 0, 0.18);
	}
	.bmu-barre-appel p { flex: 1; margin: 0 !important; }
	.bmu-barre-appel a {
		display: block; text-align: center; padding: 1rem 0.5rem; text-decoration: none;
		font-family: var(--wp--preset--font-family--titres); font-weight: 700;
	}
	.bmu-barre-appel p:first-child a { background: var(--wp--preset--color--jaune); color: var(--wp--preset--color--bleu-fonce); }
	.bmu-barre-appel p:last-child a { background: var(--wp--preset--color--bleu); color: #ffffff; }
}

/* ---------- Vagues (forme « waves » de l'ancien site), sous le hero et une fois en milieu de page ---------- */
:root { --bmu-vague-h: clamp(28px, 4.5vw, 64px); }
.bmu-section { position: relative; }
.wp-block-post-content > .bmu-section { background-color: #ffffff; }
.wp-block-post-content > .bmu-section.bmu-fond-clair { background-color: var(--wp--preset--color--fond-clair); }
.wp-block-post-content > .bmu-section.bmu-fond-sombre { background-color: var(--wp--preset--color--bleu-fonce); }
/* La section qui précède une vague garde toute sa marge basse : la vague s'ajoute par-dessus. */
.wp-block-post-content > .bmu-section:has(+ .bmu-vague) { padding-bottom: calc(var(--wp--preset--spacing--60) + var(--bmu-vague-h)) !important; }
.wp-block-post-content > .bmu-vague::before {
	content: ""; position: absolute; left: 0; right: 0; bottom: 100%;
	height: var(--bmu-vague-h); margin-bottom: -1px;
	background: inherit; pointer-events: none;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath fill-rule='evenodd' d='M0,0H1000V100H0Z M421.9,6.5c22.6-2.5,51.5,0.4,75.5,5.3c23.6,4.9,70.9,23.5,100.5,35.7c75.8,32.2,133.7,44.5,192.6,49.7c23.6,2.1,48.7,3.5,103.4-2.5c54.7-6,106.2-25.6,106.2-25.6V0H0v30.3c0,0,72,32.6,158.4,30.5c39.2-0.7,92.8-6.7,134-22.4c21.2-8.1,52.2-18.2,79.7-24.2C399.3,7.9,411.6,7.5,421.9,6.5z'/%3E%3C/svg%3E") center bottom / 100% 100% no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath fill-rule='evenodd' d='M0,0H1000V100H0Z M421.9,6.5c22.6-2.5,51.5,0.4,75.5,5.3c23.6,4.9,70.9,23.5,100.5,35.7c75.8,32.2,133.7,44.5,192.6,49.7c23.6,2.1,48.7,3.5,103.4-2.5c54.7-6,106.2-25.6,106.2-25.6V0H0v30.3c0,0,72,32.6,158.4,30.5c39.2-0.7,92.8-6.7,134-22.4c21.2-8.1,52.2-18.2,79.7-24.2C399.3,7.9,411.6,7.5,421.9,6.5z'/%3E%3C/svg%3E") center bottom / 100% 100% no-repeat;
}

