/* Compléments à la feuille d'origine : éléments qui passaient par Elementor, et équivalents de h1 secondaires. */
.ade-h1 { color: #2b5b78; font-weight: 300; }
.ade-h1-agence { color: #2b5b78; }
.category header h2.page-title { color: #2b5b78; font-size: 3rem; }
.ade-carrousel { position: relative; overflow: hidden; padding-bottom: 30px; }
.ade-carrousel__piste { display: flex; margin: 0; padding: 0; list-style: none; transition: transform .5s; }
.ade-carrousel__image { flex: 0 0 100%; }
.ade-carrousel__image img { display: block; width: auto; max-width: 100%; height: auto; margin-inline: auto; }
.ade-carrousel__fleche { position: absolute; top: calc(50% - 30px); width: 25px; height: 25px; padding: 0; border: 0; border-top: 2px solid #fff; border-right: 2px solid #fff; background: none; cursor: pointer; }
.ade-carrousel__fleche--prec { left: 12px; transform: rotate(-135deg); }
.ade-carrousel__fleche--suiv { right: 12px; transform: rotate(45deg); }
.ade-carrousel__points { position: absolute; bottom: 8px; left: 0; right: 0; display: flex; justify-content: center; gap: 12px; }
.ade-carrousel__points button { width: 6px; height: 6px; padding: 0; border: 0; border-radius: 50%; background: #000; opacity: .2; cursor: pointer; }
.ade-carrousel__points button[aria-current="true"] { opacity: 1; }
.ade-images { display: grid; gap: 10px; margin-bottom: 1rem; }
.ade-images img { display: block; width: 100%; height: auto; }
/* La graisse 600 de Roboto ne se charge pas sur le site d'origine : la police système prend le relais. */
.ade-filtres ul { display: block; margin: 0; padding: 0; list-style: none; text-align: center; }
.ade-filtres li { display: inline-block; height: 70px; margin: 0; }
.ade-filtres ul a { display: inline-block; margin: 15px 5px 20px; padding: 7px; border-radius: 10px; color: #2b5b78; font-family: sans-serif; font-size: 14px; font-weight: 600; line-height: 21px; text-decoration: none; }
.ade-filtres ul a[aria-current] { background: #2b5b78; color: #d1dd74; }
.ade-grille-real { display: grid; gap: 5px 5px; margin: 0 0 25px; padding: 0; list-style: none; }
.ade-real a { display: block; height: 250px; background: #f5f5f5; text-decoration: none; }
.ade-real__vignette { display: block; height: 75px; overflow: hidden; }
.ade-real__image { display: block; width: 100%; height: 165px; object-fit: cover; transform: scale(1.1); }
.ade-real__texte { display: block; padding: 15px; }
.ade-real__titre { display: block; color: #2b5b78; font-family: sans-serif; font-size: 20px; font-weight: 600; line-height: 24px; }
.ade-real__resume { display: block; margin-bottom: 10px; color: #7a7a7a; font-size: 14px; line-height: 21px; }
@media (min-width: 768px) {
	.ade-grille-real { grid-template-columns: repeat(2, 1fr); }
	.ade-carrousel__image { flex-basis: 50%; }
	.ade-images { grid-template-columns: repeat(var(--ade-nb), minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
	.ade-real a { display: grid; grid-template-columns: 30% 70%; height: 165px; }
	.ade-real__vignette { height: 165px; }
	.ade-real__texte { padding: 30px; }
	.ade-carrousel__image { flex-basis: 33.3333%; }
}
.ade-titre-centre { color: #2b5b78; font-size: 1.5rem; font-weight: 700; text-align: center; }

/* Colonnes de blocs : même comportement que les styles générés par l'éditeur d'origine. */
.wp-block-columns { flex-wrap: nowrap; }

.entry-content .contact-block { display: block ruby; }

/* Formulaire de rendez-vous, présentation du formulaire d'origine. */
.ade-rdv-intro p { color: #7a7a7a; }
.ade-rdv-intro { margin-bottom: 1.5rem; }
.page-template-tpl-rdv .ade-rdv-intro { margin-bottom: 36px; }
.page-template-tpl-rdv .gform_wrapper { margin: 0 0 70px !important; }
.page-template-tpl-rdv .gform_required_legend { display: none; }
#gform_fields_8 { display: flex !important; flex-wrap: wrap; gap: 0 !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
#gform_fields_8 > .gfield { box-sizing: border-box; flex: 0 0 50% !important; width: 50% !important; max-width: 50% !important; min-height: 75px; margin: 0 0 8px !important; padding: 0 15px !important; border: 0; }
#gform_fields_8 > :is(#field_8_7, #field_8_10, #field_8_11, #field_8_12, #field_8_13) { flex-basis: 100% !important; width: 100% !important; max-width: 100% !important; }
#gform_fields_8 > :is(#field_8_5, #field_8_6) { margin-bottom: 18px !important; }
#gform_fields_8 > #field_8_7 { min-height: 57px; }
#gform_fields_8 > #field_8_10 { min-height: 0; margin-bottom: 10px !important; padding: 0 !important; }
#gform_fields_8 > #field_8_11 { min-height: 150px; margin-bottom: 17px !important; }
#gform_fields_8 > #field_8_12 { min-height: 27px; }
#gform_fields_8 > #field_8_13 { min-height: 0; margin: 0 !important; }
#gform_fields_8 .gfield_label { display: block; float: none; margin: 0 !important; padding: 0 !important; color: #1d2731; font-size: 18px !important; font-weight: 500 !important; line-height: 27px; }
#gform_fields_8 .gfield_required { margin: 0 0 0 2px; color: red; font-size: 13.5px; line-height: 0; vertical-align: super; }
#gform_fields_8 .gfield_required .gfield_required { margin: 0; vertical-align: baseline; font-size: inherit; }
#field_8_12 .gfield_required { display: none; }
.page-template-tpl-rdv .gform_heading { display: none; }
#field_8_10 .gfield_label > .gfield_required::after { content: " :"; color: #1d2731; font-size: 18px; vertical-align: sub; }
#field_8_11 .gfield_required, #field_8_11 .gfield_required .gfield_required { margin: 0 !important; color: inherit; font-size: inherit; vertical-align: baseline; }
#gform_fields_8 .ginput_container { margin: 0 !important; padding: 0 !important; }
#gform_fields_8 :is(input[type=text], input[type=email], input[type=tel], input[type=date]) { box-sizing: border-box; width: 100% !important; height: 30px !important; min-height: 0 !important; margin: 0 !important; padding: 1px 15px !important; border: revert !important; border-radius: revert !important; background: revert; font-size: 18px; line-height: 27px; }
#gform_fields_8 select { box-sizing: border-box; width: 100% !important; height: 30px !important; min-height: 0 !important; margin: 0 !important; padding: 0 15px !important; border: 1px solid #767676 !important; border-radius: 0 !important; background-color: #fff; font-size: 18px; }
#gform_fields_8 textarea { display: inline-block; box-sizing: border-box; width: 100% !important; height: 115px !important; min-height: 0 !important; padding: 2px !important; border: 1px solid #767676 !important; border-radius: 0 !important; font-size: 18px; }
#gform_fields_8 .gfield_checkbox { margin: 0 0 0 10px !important; padding: 0 !important; list-style: none; }
#gform_fields_8 .gchoice { display: block; height: 27px; margin: 0 !important; padding: 0 !important; font-size: 18px; line-height: 27px; }
#gform_fields_8 .gchoice input { width: 13px; height: 13px; margin: 0 !important; vertical-align: baseline; }
#gform_fields_8 .gchoice label { display: inline !important; width: auto !important; max-width: none !important; margin: 0 !important; color: #1d2731; font-size: 18px !important; font-weight: 400; line-height: 27px; }
#gform_fields_8 .ginput_container_consent { display: block; line-height: 27px; }
#gform_fields_8 .ginput_container_consent input { width: 13px; height: 13px; margin: 0 !important; }
#gform_fields_8 .gfield_consent_label { display: inline !important; margin: 0 !important; color: #1d2731; font-size: 18px; font-weight: 500; }
.page-template-tpl-rdv .gform_wrapper .gform_footer { margin: 0 !important; padding: 0 !important; }
.page-template-tpl-rdv .gform_wrapper .gform_button { width: auto !important; margin: 0 !important; padding: .5rem 3rem !important; border: 1px solid #d1dd74; border-radius: .25rem; background: #d1dd74; color: #1d2731; font-size: 1rem !important; font-weight: 400; line-height: 1.5 !important; min-height: 0 !important; cursor: pointer; }
.page-template-tpl-rdv .gform_wrapper .gform_button:hover { border-color: #ffcc3f; background: #ffcc3f; }

/* Réalisations : mêmes valeurs que les conteneurs Elementor d'origine. */
.ade-elementor { color: #7a7a7a; }
.page-id-6 .entry-content { padding: 10px; }
.entry-content .contact-block { line-height: 55px; }
.entry-content .contact-block + .contact-block { line-height: 10px; }
.ade-espace { height: 20px; }
.ade-elementor .wp-block-columns { flex-wrap: wrap !important; align-items: normal !important; gap: 20px; margin: 0; padding: 10px; }
.ade-elementor .wp-block-column { flex: 1 1 100%; min-width: 0; }
@media (max-width: 767px) { .ade-elementor .wp-block-column { flex-basis: 100% !important; } }
.ade-elementor .wp-block-image, .ade-elementor figure { margin: 0; }
.ade-elementor .wp-block-image img, .ade-elementor .wp-block-column img { max-width: 100%; }
.ade-elementor .ade-auto img { width: 100% !important; height: auto; }
@media (min-width: 768px) { .ade-elementor .ade-auto img { width: auto !important; } }
.ade-elementor .elementor-heading-title { margin: 0; padding: 0; color: #6ec1e4; font-weight: 600; line-height: 1; }
.ade-elementor .wp-block-buttons { justify-content: center; }
@media (min-width: 768px) {
	.ade-elementor .wp-block-columns { flex-wrap: nowrap !important; }
	.ade-elementor .wp-block-column { flex: 1 1 0; }
	.ade-elementor .wp-block-column[style*="flex-basis"] { flex-grow: 0 !important; flex-shrink: 1; }
	.ade-elementor .wp-block-column.ade-auto { flex: 0 1 auto !important; min-width: 0; }
	.ade-elementor .wp-block-column.ade-auto[style*="flex-basis"] { flex: 0 1 100% !important; }
}
.wp-block-column img.ombrage { width: 100%; }
.page-id-1057 .entry-content { padding: 10px; }
.page-id-1057 .entry-content > h2 { margin-bottom: 20px; line-height: 1; }

/* Pages d'origine Elementor : sa police décale l'en-tête d'un demi-pixel. */
@media (min-width: 1200px) { .ade-page-elementor .site-branding { padding-bottom: .5px; } }

/* Un bouton plus large que la colonne déborde à droite, comme à l'origine. */
.wp-block-buttons.is-content-justification-center { justify-content: safe center !important; }

/* Colonne sans contenu : 20 px une fois empilée, rien au-delà. */
.ade-vide { height: 20px; }
@media (min-width: 768px) { .ade-vide { display: none; } }


/* En-tête à trois cartes : même hauteur et textes réduits pour tenir dans la moitié de la largeur. */
.logo-partners--trois { max-height: none; padding-right: 9px; padding-left: 9px; align-items: flex-start; }
.logo-partners--trois .col-nouveau { display: flex; padding-right: 6px; padding-left: 6px; }
.logo-partners--trois .col-nouveau > a { display: flex; width: 100%; }
.logo-partners--trois :is(.block_cata_header, .block_cata_header2) { display: flex; flex-direction: column; width: 100%; }
.logo-partners--trois :is(.bas, .bas2) { display: flex; flex: 1; align-items: center; justify-content: center; }
.logo-partners--trois :is(.haut, .haut2) > p { font-size: 22px !important; }
.logo-partners--trois :is(.bas, .bas2) > p { padding: 10px 0; font-size: 15px !important; line-height: 1.4; }
.logo-partners--trois :is(.bas, .bas2) > p > span { font-size: 20px; }
@media (max-width: 1199px) {
	.logo-partners--trois :is(.haut, .haut2) > p { font-size: 18px !important; }
	.logo-partners--trois :is(.bas, .bas2) > p { font-size: 13px !important; }
	.logo-partners--trois :is(.bas, .bas2) > p > span { font-size: 16px; }
}
@media (max-width: 991px) {
	.logo-partners--trois :is(.haut, .haut2) > p { font-size: 22px !important; }
	.logo-partners--trois :is(.bas, .bas2) > p { font-size: 15px !important; }
	.logo-partners--trois :is(.bas, .bas2) > p > span { font-size: 20px; }
}
@media (max-width: 767px) {
	.logo-partners--trois .col-nouveau { padding-right: 3px; padding-left: 3px; }
	.logo-partners--trois :is(.haut, .haut2) > p { font-size: 15px !important; }
	.logo-partners--trois :is(.bas, .bas2) > p { padding: 6px 0; font-size: 11px !important; }
	.logo-partners--trois :is(.bas, .bas2) > p > span { font-size: clamp(11px, 3.3vw, 18px); }
}
/* Titre long : « GRATUITEMENT » doit tenir sur les plus petits écrans. */
@media (max-width: 359px) { .page-template-tpl-simulateur h1.entry-title { font-size: 10vw; } }

/* Espace entre « Téléphonez-nous » et la barre de séparation. */
.mail-barre { margin-left: .3em; }

/* Fiche d'une réalisation : photos, texte, bouton, mêmes espacements partout. */
.ade-real-fiche { color: #1d2731; }
.ade-real-fiche .ade-images { align-items: start; margin-bottom: 30px; }
.ade-real-fiche .ade-carrousel { margin-bottom: 30px; }
.ade-real-fiche .wp-block-buttons { margin-top: 30px; margin-bottom: 50px; }
