/* Compléments au theme.json : ce que les réglages de blocs ne savent pas faire. */

body { -webkit-font-smoothing: antialiased; }

.devoa-maquette {
	background: #f4c542; color: #1d2733; text-align: center;
	font-size: .85rem; font-weight: 600; padding: .35rem 1rem;
}

/* En-tête */
/* Le collant se pose sur l'enveloppe de la partie de modèle, sinon il ne colle pas */
header.wp-block-template-part { position: sticky; top: 0; z-index: 50; }
.admin-bar header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { .admin-bar header.wp-block-template-part { top: 46px; } }
.devoa-entete .wp-block-navigation a { text-decoration: none; }
.devoa-entete .wp-block-navigation a:hover { color: var(--wp--preset--color--vert-fonce); }
.devoa-entete .wp-block-navigation__submenu-container { border-radius: 10px; border: 1px solid var(--wp--preset--color--trait) !important; padding: .4rem 0; min-width: 240px !important; }

/* Boutons issus des codes courts */
.devoa-bouton {
	display: inline-block; white-space: nowrap;
	background: var(--wp--preset--color--marine); color: #fff !important;
	border-radius: 999px; padding: .6rem 1.2rem; font-weight: 600; font-size: .95rem;
	text-decoration: none !important; transition: background .15s;
}
.devoa-bouton:hover { background: var(--wp--preset--color--marine-clair); }
.devoa-bouton--whatsapp { background: var(--wp--preset--color--vert); }
.devoa-bouton--whatsapp:hover { background: var(--wp--preset--color--vert-fonce); }
.devoa-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.25rem; }
.devoa-actions .devoa-bouton { text-align: center; }
.devoa-fiche-carte .devoa-actions .devoa-bouton { flex: 1 1 auto; }
.has-marine-background-color .devoa-bouton:not(.devoa-bouton--whatsapp) { background: #fff; color: var(--wp--preset--color--marine) !important; }
.has-marine-background-color .devoa-bouton:not(.devoa-bouton--whatsapp):hover { background: var(--wp--preset--color--sable); }

/* Textes */
.devoa-surtitre {
	text-transform: uppercase; letter-spacing: .12em; font-size: .8rem; font-weight: 600;
	color: var(--wp--preset--color--vert-fonce); margin-bottom: .25rem;
}
.devoa-vert { color: var(--wp--preset--color--vert); }
.devoa-attenue { opacity: .75; }
.devoa-attenue-fonce { color: var(--wp--preset--color--gris); }
.devoa-retour a { text-decoration: none; font-weight: 500; }

/* Accueil : grande image avec voile */
.devoa-hero.wp-block-cover { min-height: min(78vh, 680px) !important; }
.devoa-hero .wp-block-cover__inner-container { width: min(1200px, 100%) !important; margin-left: auto !important; margin-right: auto !important; padding-left: 0; padding-right: 0; }
.devoa-hero .wp-block-cover__inner-container > * { max-width: none; margin-left: 0; }
/* Texte aligné à gauche sur la grille du site, largeur de lecture limitée par un retrait à droite */
.devoa-hero h1 { color: #fff; padding-right: max(0px, calc(100% - 17ch)); }
.devoa-hero p { padding-right: max(0px, calc(100% - 58ch)); }
.devoa-hero .devoa-surtitre { color: #b9e0a5; }

/* Cartes (cibles, approche, annonces) */
.devoa-tuile {
	background: #fff; border: 1px solid var(--wp--preset--color--trait); border-radius: 14px;
	padding: 1.6rem; height: 100%;
}
.devoa-tuile h3 { margin-top: 0; }
.devoa-tuile ul { padding-left: 1.1rem; margin-bottom: 0; }
.devoa-tuile li + li { margin-top: .35rem; }
.devoa-etape__num {
	display: inline-flex; align-items: center; justify-content: center; width: 2.2rem; height: 2.2rem; margin: 0 0 .6rem;
	border-radius: 50%; background: var(--wp--preset--color--vert); color: #fff; font-weight: 700;
}
/* Les 4 étapes passent en 2 × 2 dans une colonne de texte étroite, sinon « implantation » se coupe en plein mot. */
.wp-block-columns:has(.devoa-etape) { flex-wrap: wrap !important; }
.wp-block-columns:has(.devoa-etape) > .wp-block-column { flex: 1 1 16rem !important; }
.devoa-trait-vert { width: 56px; height: 4px; border: 0; background: var(--wp--preset--color--vert); margin: .4rem 0 1rem; }

.devoa-carte {
	border: 1px solid var(--wp--preset--color--trait); border-radius: 14px; overflow: hidden;
	background: #fff; height: 100%; transition: box-shadow .2s, transform .2s;
}
.devoa-carte:hover { box-shadow: 0 10px 28px rgba(0, 39, 77, .12); transform: translateY(-2px); }
.devoa-carte .wp-block-post-featured-image { margin: 0; }
.devoa-carte__corps { padding: 1.1rem 1.25rem 1.4rem; position: relative; }
.devoa-carte .wp-block-post-title { margin-top: .5rem; }
.devoa-carte .wp-block-post-title a { text-decoration: none; }

.devoa-badges { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.devoa-badges li {
	font-size: .78rem; font-weight: 600; padding: .2rem .6rem; border-radius: 999px;
	background: var(--wp--preset--color--sable); color: var(--wp--preset--color--marine);
}
.devoa-prix { font-weight: 700; color: var(--wp--preset--color--marine); margin: .6rem 0 0; }
.devoa-statut {
	position: absolute; top: -1rem; right: 1rem; font-size: .75rem; font-weight: 700;
	padding: .3rem .7rem; border-radius: 999px; background: var(--wp--preset--color--marine); color: #fff;
}

/* Fiche d'une annonce */
.devoa-photo-principale img { border-radius: 14px; }
.devoa-fiche-carte { border-radius: 14px; position: sticky; top: 6rem; }
.devoa-fiche { margin: 1rem 0 0; }
.devoa-fiche > div { display: grid; grid-template-columns: 9.5rem 1fr; gap: .75rem; padding: .55rem 0; border-bottom: 1px solid var(--wp--preset--color--trait); }
.devoa-fiche dt { color: var(--wp--preset--color--gris); font-size: .9rem; }
.devoa-fiche dd { margin: 0; font-weight: 600; color: var(--wp--preset--color--marine); }

/* Encarts */
.devoa-encart { border-radius: 18px; }
.devoa-bandeau h1 { padding-right: max(0px, calc(100% - 22ch)); }
.devoa-bandeau p:not(.devoa-surtitre) { padding-right: max(0px, calc(100% - 68ch)); }

/* Pied de page */
.devoa-pied a { text-decoration: none; }
.devoa-pied a:hover { text-decoration: underline; }
.devoa-logo-blanc img { filter: brightness(0) invert(1); }
.devoa-liste-nue { list-style: none; padding: 0; }
.devoa-liste-nue li + li { margin-top: .35rem; }
.devoa-mentions { margin-top: var(--wp--preset--spacing--40); padding-top: 1.2rem; border-top: 1px solid rgba(255, 255, 255, .15); font-size: .82rem; opacity: .7; }

@media (max-width: 781px) {
	.devoa-entete .devoa-bouton { padding: .5rem .9rem; font-size: .85rem; }
	.devoa-fiche-carte { position: static; }
	.devoa-fiche > div { grid-template-columns: 7.5rem 1fr; }
}

/* Formulaires « Confier ma recherche » et « Contact » (Contact Form 7) */
.devoa-formulaire { display: grid; gap: 1rem; margin: 1.5rem 0; }
.devoa-formulaire p { margin: 0; }
.devoa-formulaire label { display: block; font-weight: 600; }
.devoa-formulaire .wpcf7-form-control-wrap { display: block; }
.devoa-formulaire input:not([type="submit"]):not([type="checkbox"]), .devoa-formulaire select, .devoa-formulaire textarea { display: block; width: 100%; box-sizing: border-box; margin-top: 0.35rem; font: inherit; font-weight: 400; padding: 0.7rem 0.85rem; border: 1px solid var(--wp--preset--color--trait); border-radius: 10px; background: #fff; }
.devoa-formulaire small { font-weight: 400; opacity: 0.7; }
.devoa-formulaire__ligne { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.devoa-formulaire__case { font-size: 0.95rem; }
.devoa-formulaire__case .wpcf7-list-item { margin: 0; }
.devoa-formulaire__case label { display: flex; gap: 0.6rem; align-items: flex-start; font-weight: 400; }
.devoa-formulaire__case input { margin-top: 0.3rem; flex: none; }
.devoa-formulaire__note { font-size: 0.9rem; opacity: 0.75; margin: 0; }
.devoa-formulaire .devoa-bouton { border: 0; cursor: pointer; font: inherit; font-weight: 600; }
.devoa-formulaire .devoa-bouton:disabled { opacity: 0.5; cursor: not-allowed; }
.devoa-formulaire .wpcf7-not-valid-tip { display: block; margin-top: 0.3rem; font-size: 0.9rem; font-weight: 400; color: #b3261e; }
.devoa-formulaire .wpcf7-response-output { margin: 0 !important; padding: 0.8rem 1rem !important; border-radius: 10px; }
.devoa-formulaire .wpcf7-spinner { vertical-align: middle; }
.devoa-piege { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 640px) { .devoa-formulaire__ligne { grid-template-columns: 1fr; } }

/* Pages de prospection : formulaire dans le bandeau, coches, FAQ */
.devoa-hero--formulaire h1 { padding-right: 0; font-size: clamp(2rem, 3.6vw, 2.9rem); line-height: 1.15; }
.devoa-hero--formulaire .wp-block-column > p { padding-right: 0; }
.devoa-carte-formulaire { background: #fff; color: var(--wp--preset--color--marine); border-radius: 18px; padding: 1.6rem 1.6rem 1.2rem; box-shadow: 0 18px 48px rgba(0, 20, 40, .35); scroll-margin-top: 6rem; }
.devoa-carte-formulaire h2 { margin: 0 0 .3rem; color: var(--wp--preset--color--marine); }
.devoa-carte-formulaire p { padding-right: 0 !important; }
.devoa-carte-formulaire .devoa-formulaire { gap: .75rem; margin: 1rem 0 0; }
.devoa-carte-formulaire .devoa-formulaire .devoa-bouton { width: 100%; }
.devoa-coches { list-style: none; padding: 0; margin: 1.2rem 0 0; }
.devoa-coches li { position: relative; padding-left: 1.8rem; font-weight: 500; }
.devoa-coches li + li { margin-top: .45rem; }
.devoa-coches li::before { content: "✓"; position: absolute; left: 0; color: #b9e0a5; font-weight: 700; }
.devoa-coches--sombre li::before { color: var(--wp--preset--color--vert); }
.devoa-exemple { border-left: 4px solid var(--wp--preset--color--vert); }
.devoa-faq details { background: #fff; border-radius: 12px; padding: 1rem 1.25rem; margin-top: .75rem; }
.devoa-faq summary { font-weight: 600; cursor: pointer; color: var(--wp--preset--color--marine); }
.devoa-faq details p { margin: .6rem 0 0; }
@media (max-width: 781px) {
	.devoa-hero--formulaire.wp-block-cover { padding-top: 2.5rem; padding-bottom: 2.5rem; }
	.devoa-carte-formulaire { padding: 1.25rem 1.1rem 1rem; }
}

/* Portrait de Lucas (bloc « Votre interlocuteur ») */
.devoa-portrait img { border-radius: 50%; aspect-ratio: 1; object-fit: cover; }
.devoa-lucas .devoa-portrait { margin-bottom: var(--wp--preset--spacing--30, 1rem); }
