/*
Theme Name: NALHA
Theme URI: https://nalha.ma
Author: SARL NALHA
Description: Thème bloc sur mesure de NALHA — Les lions de la construction (Kénitra). Charte jaune #F6BA04, noir, blanc ; police Poppins ; angles vifs.
Version: 1.0.10
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nalha
*/

/* Icônes : variables générées par scripts/theme.ps1 (images SVG en data URI, jaune / noir / blanc) */
:root {
  --i-cadenas-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 10.5h13v10h-13z'/%3E%3Cpath d='M8 10.5V8a4 4 0 0 1 8 0v2.5'/%3E%3Cpath d='M12 14.5v2.5'/%3E%3C/svg%3E");
  --i-check-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4.5 12.5 4.5 4.5 10.5-11'/%3E%3C/svg%3E");
  --i-check-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4.5 12.5 4.5 4.5 10.5-11'/%3E%3C/svg%3E");
  --i-fleche-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12h15'/%3E%3Cpath d='m13.5 6 6 6-6 6'/%3E%3C/svg%3E");
  --i-lecture-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000000' stroke='none'%3E%3Cpath d='M9 7v10l8-5z'/%3E%3C/svg%3E");
  --i-whatsapp-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20.5l1.2-4.2A8.5 8.5 0 1 1 8 19.4z'/%3E%3Cpath d='M9.2 8.5c.2-.5.5-.6.9-.6h.5l1 2.2-.7.9a5.3 5.3 0 0 0 2.6 2.6l.9-.7 2.2 1v.5c0 .4-.2.8-.6.9-1.8.8-6.6-2.8-6.8-6.8z'/%3E%3C/svg%3E");
}
.ico-ampoule { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 21h4'/%3E%3Cpath d='M12 3a6 6 0 0 0-3.6 10.8c.6.5 1.1 1.3 1.1 2.2h5c0-.9.5-1.7 1.1-2.2A6 6 0 0 0 12 3z'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 21h4'/%3E%3Cpath d='M12 3a6 6 0 0 0-3.6 10.8c.6.5 1.1 1.3 1.1 2.2h5c0-.9.5-1.7 1.1-2.2A6 6 0 0 0 12 3z'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 21h4'/%3E%3Cpath d='M12 3a6 6 0 0 0-3.6 10.8c.6.5 1.1 1.3 1.1 2.2h5c0-.9.5-1.7 1.1-2.2A6 6 0 0 0 12 3z'/%3E%3C/svg%3E"); }
.ico-autorisation { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='9.5' r='5.5'/%3E%3Cpath d='m9.7 9.6 1.6 1.6 3-3.2'/%3E%3Cpath d='M8.6 14 7.5 21l4.5-2.3 4.5 2.3-1.1-7'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='9.5' r='5.5'/%3E%3Cpath d='m9.7 9.6 1.6 1.6 3-3.2'/%3E%3Cpath d='M8.6 14 7.5 21l4.5-2.3 4.5 2.3-1.1-7'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='9.5' r='5.5'/%3E%3Cpath d='m9.7 9.6 1.6 1.6 3-3.2'/%3E%3Cpath d='M8.6 14 7.5 21l4.5-2.3 4.5 2.3-1.1-7'/%3E%3C/svg%3E"); }
.ico-avancement { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 20.5h17'/%3E%3Cpath d='M6 16.5v-3M10.5 16.5v-7M15 16.5v-5M19.5 16.5V5'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 20.5h17'/%3E%3Cpath d='M6 16.5v-3M10.5 16.5v-7M15 16.5v-5M19.5 16.5V5'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 20.5h17'/%3E%3Cpath d='M6 16.5v-3M10.5 16.5v-7M15 16.5v-5M19.5 16.5V5'/%3E%3C/svg%3E"); }
.ico-batiment { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 20.5V3.5h12v17'/%3E%3Cpath d='M3.5 20.5h17'/%3E%3Cpath d='M9.5 7.5h.01M14.5 7.5h.01M9.5 11h.01M14.5 11h.01M9.5 14.5h.01M14.5 14.5h.01'/%3E%3Cpath d='M10.5 20.5v-2.5h3v2.5'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 20.5V3.5h12v17'/%3E%3Cpath d='M3.5 20.5h17'/%3E%3Cpath d='M9.5 7.5h.01M14.5 7.5h.01M9.5 11h.01M14.5 11h.01M9.5 14.5h.01M14.5 14.5h.01'/%3E%3Cpath d='M10.5 20.5v-2.5h3v2.5'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 20.5V3.5h12v17'/%3E%3Cpath d='M3.5 20.5h17'/%3E%3Cpath d='M9.5 7.5h.01M14.5 7.5h.01M9.5 11h.01M14.5 11h.01M9.5 14.5h.01M14.5 14.5h.01'/%3E%3Cpath d='M10.5 20.5v-2.5h3v2.5'/%3E%3C/svg%3E"); }
.ico-bouclier { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5 19.5 6v5.5c0 4.6-3.2 8-7.5 9-4.3-1-7.5-4.4-7.5-9V6z'/%3E%3Cpath d='m8.8 12 2.2 2.2 4.2-4.4'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5 19.5 6v5.5c0 4.6-3.2 8-7.5 9-4.3-1-7.5-4.4-7.5-9V6z'/%3E%3Cpath d='m8.8 12 2.2 2.2 4.2-4.4'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5 19.5 6v5.5c0 4.6-3.2 8-7.5 9-4.3-1-7.5-4.4-7.5-9V6z'/%3E%3Cpath d='m8.8 12 2.2 2.2 4.2-4.4'/%3E%3C/svg%3E"); }
.ico-cadenas { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 10.5h13v10h-13z'/%3E%3Cpath d='M8 10.5V8a4 4 0 0 1 8 0v2.5'/%3E%3Cpath d='M12 14.5v2.5'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 10.5h13v10h-13z'/%3E%3Cpath d='M8 10.5V8a4 4 0 0 1 8 0v2.5'/%3E%3Cpath d='M12 14.5v2.5'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 10.5h13v10h-13z'/%3E%3Cpath d='M8 10.5V8a4 4 0 0 1 8 0v2.5'/%3E%3Cpath d='M12 14.5v2.5'/%3E%3C/svg%3E"); }
.ico-calendrier { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 5.5h17v15h-17z'/%3E%3Cpath d='M3.5 10h17'/%3E%3Cpath d='M8 3.5v4M16 3.5v4'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 5.5h17v15h-17z'/%3E%3Cpath d='M3.5 10h17'/%3E%3Cpath d='M8 3.5v4M16 3.5v4'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 5.5h17v15h-17z'/%3E%3Cpath d='M3.5 10h17'/%3E%3Cpath d='M8 3.5v4M16 3.5v4'/%3E%3C/svg%3E"); }
.ico-cle { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='15.5' r='4'/%3E%3Cpath d='m10.9 12.6 8.6-8.6'/%3E%3Cpath d='m16.5 7 2.5 2.5'/%3E%3Cpath d='m14 9.5 1.8 1.8'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='15.5' r='4'/%3E%3Cpath d='m10.9 12.6 8.6-8.6'/%3E%3Cpath d='m16.5 7 2.5 2.5'/%3E%3Cpath d='m14 9.5 1.8 1.8'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='15.5' r='4'/%3E%3Cpath d='m10.9 12.6 8.6-8.6'/%3E%3Cpath d='m16.5 7 2.5 2.5'/%3E%3Cpath d='m14 9.5 1.8 1.8'/%3E%3C/svg%3E"); }
.ico-compte-rendu { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 4.5H5.5v16h13v-16H16'/%3E%3Cpath d='M8.5 3.5h7v3h-7z'/%3E%3Cpath d='M8.5 11h7M8.5 14.5h7M8.5 18h4'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 4.5H5.5v16h13v-16H16'/%3E%3Cpath d='M8.5 3.5h7v3h-7z'/%3E%3Cpath d='M8.5 11h7M8.5 14.5h7M8.5 18h4'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 4.5H5.5v16h13v-16H16'/%3E%3Cpath d='M8.5 3.5h7v3h-7z'/%3E%3Cpath d='M8.5 11h7M8.5 14.5h7M8.5 18h4'/%3E%3C/svg%3E"); }
.ico-contact { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4.5h16v11H9l-5 4z'/%3E%3Cpath d='M8 9h8M8 12h5'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4.5h16v11H9l-5 4z'/%3E%3Cpath d='M8 9h8M8 12h5'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4.5h16v11H9l-5 4z'/%3E%3Cpath d='M8 9h8M8 12h5'/%3E%3C/svg%3E"); }
.ico-devis { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3.5h8.5l4 4v13H6z'/%3E%3Cpath d='M14.5 3.5v4h4'/%3E%3Cpath d='M9 12h6.5M9 15.5h4.5'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3.5h8.5l4 4v13H6z'/%3E%3Cpath d='M14.5 3.5v4h4'/%3E%3Cpath d='M9 12h6.5M9 15.5h4.5'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3.5h8.5l4 4v13H6z'/%3E%3Cpath d='M14.5 3.5v4h4'/%3E%3Cpath d='M9 12h6.5M9 15.5h4.5'/%3E%3C/svg%3E"); }
.ico-email { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 5.5h17v13h-17z'/%3E%3Cpath d='m3.5 7 8.5 6 8.5-6'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 5.5h17v13h-17z'/%3E%3Cpath d='m3.5 7 8.5 6 8.5-6'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 5.5h17v13h-17z'/%3E%3Cpath d='m3.5 7 8.5 6 8.5-6'/%3E%3C/svg%3E"); }
.ico-equipe { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.2'/%3E%3Cpath d='M3 20a6 6 0 0 1 12 0'/%3E%3Cpath d='M15.5 4.9a3.2 3.2 0 0 1 0 6.2'/%3E%3Cpath d='M17.5 14.4a6 6 0 0 1 3.5 5.6'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.2'/%3E%3Cpath d='M3 20a6 6 0 0 1 12 0'/%3E%3Cpath d='M15.5 4.9a3.2 3.2 0 0 1 0 6.2'/%3E%3Cpath d='M17.5 14.4a6 6 0 0 1 3.5 5.6'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.2'/%3E%3Cpath d='M3 20a6 6 0 0 1 12 0'/%3E%3Cpath d='M15.5 4.9a3.2 3.2 0 0 1 0 6.2'/%3E%3Cpath d='M17.5 14.4a6 6 0 0 1 3.5 5.6'/%3E%3C/svg%3E"); }
.ico-extension { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 10.5h9v10h-9z'/%3E%3Cpath d='M12.5 13.5h8v7h-8'/%3E%3Cpath d='M16.5 3.5v6M13.5 6.5h6'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 10.5h9v10h-9z'/%3E%3Cpath d='M12.5 13.5h8v7h-8'/%3E%3Cpath d='M16.5 3.5v6M13.5 6.5h6'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 10.5h9v10h-9z'/%3E%3Cpath d='M12.5 13.5h8v7h-8'/%3E%3Cpath d='M16.5 3.5v6M13.5 6.5h6'/%3E%3C/svg%3E"); }
.ico-filtration { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12a8 8 0 0 1-14.2 5'/%3E%3Cpath d='M4 12a8 8 0 0 1 14.2-5'/%3E%3Cpath d='M18.5 3v4.2h-4.2'/%3E%3Cpath d='M5.5 21v-4.2h4.2'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12a8 8 0 0 1-14.2 5'/%3E%3Cpath d='M4 12a8 8 0 0 1 14.2-5'/%3E%3Cpath d='M18.5 3v4.2h-4.2'/%3E%3Cpath d='M5.5 21v-4.2h4.2'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12a8 8 0 0 1-14.2 5'/%3E%3Cpath d='M4 12a8 8 0 0 1 14.2-5'/%3E%3Cpath d='M18.5 3v4.2h-4.2'/%3E%3Cpath d='M5.5 21v-4.2h4.2'/%3E%3C/svg%3E"); }
.ico-goutte { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5s6 6.4 6 10.7a6 6 0 0 1-12 0C6 9.9 12 3.5 12 3.5z'/%3E%3Cpath d='M9.2 14.5a2.9 2.9 0 0 0 2.8 2.7'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5s6 6.4 6 10.7a6 6 0 0 1-12 0C6 9.9 12 3.5 12 3.5z'/%3E%3Cpath d='M9.2 14.5a2.9 2.9 0 0 0 2.8 2.7'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5s6 6.4 6 10.7a6 6 0 0 1-12 0C6 9.9 12 3.5 12 3.5z'/%3E%3Cpath d='M9.2 14.5a2.9 2.9 0 0 0 2.8 2.7'/%3E%3C/svg%3E"); }
.ico-grue { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 20.5V4l13 3'/%3E%3Cpath d='M5 7h14.5'/%3E%3Cpath d='M17 7v5'/%3E%3Cpath d='M15.5 12h3v2.5h-3z'/%3E%3Cpath d='M3 20.5h6'/%3E%3Cpath d='M5 11 9 7M5 15l4-4'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 20.5V4l13 3'/%3E%3Cpath d='M5 7h14.5'/%3E%3Cpath d='M17 7v5'/%3E%3Cpath d='M15.5 12h3v2.5h-3z'/%3E%3Cpath d='M3 20.5h6'/%3E%3Cpath d='M5 11 9 7M5 15l4-4'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 20.5V4l13 3'/%3E%3Cpath d='M5 7h14.5'/%3E%3Cpath d='M17 7v5'/%3E%3Cpath d='M15.5 12h3v2.5h-3z'/%3E%3Cpath d='M3 20.5h6'/%3E%3Cpath d='M5 11 9 7M5 15l4-4'/%3E%3C/svg%3E"); }
.ico-lieu { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6.5-5.8-6.5-11A6.5 6.5 0 0 1 18.5 10c0 5.2-6.5 11-6.5 11z'/%3E%3Ccircle cx='12' cy='10' r='2.4'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6.5-5.8-6.5-11A6.5 6.5 0 0 1 18.5 10c0 5.2-6.5 11-6.5 11z'/%3E%3Ccircle cx='12' cy='10' r='2.4'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6.5-5.8-6.5-11A6.5 6.5 0 0 1 18.5 10c0 5.2-6.5 11-6.5 11z'/%3E%3Ccircle cx='12' cy='10' r='2.4'/%3E%3C/svg%3E"); }
.ico-maison { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11.5 12 4l9 7.5'/%3E%3Cpath d='M5.5 9.6V20.5h13V9.6'/%3E%3Cpath d='M10 20.5v-5.5h4v5.5'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11.5 12 4l9 7.5'/%3E%3Cpath d='M5.5 9.6V20.5h13V9.6'/%3E%3Cpath d='M10 20.5v-5.5h4v5.5'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11.5 12 4l9 7.5'/%3E%3Cpath d='M5.5 9.6V20.5h13V9.6'/%3E%3Cpath d='M10 20.5v-5.5h4v5.5'/%3E%3C/svg%3E"); }
.ico-margelle { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 8.5h19v3.5h-19z'/%3E%3Cpath d='M4.5 12v8M19.5 12v8'/%3E%3Cpath d='M4.5 16c2.5-1.4 5-1.4 7.5 0s5 1.4 7.5 0'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 8.5h19v3.5h-19z'/%3E%3Cpath d='M4.5 12v8M19.5 12v8'/%3E%3Cpath d='M4.5 16c2.5-1.4 5-1.4 7.5 0s5 1.4 7.5 0'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 8.5h19v3.5h-19z'/%3E%3Cpath d='M4.5 12v8M19.5 12v8'/%3E%3Cpath d='M4.5 16c2.5-1.4 5-1.4 7.5 0s5 1.4 7.5 0'/%3E%3C/svg%3E"); }
.ico-monde { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M3.5 12h17'/%3E%3Cpath d='M12 3.5c2.4 2.4 3.6 5.2 3.6 8.5s-1.2 6.1-3.6 8.5c-2.4-2.4-3.6-5.2-3.6-8.5S9.6 5.9 12 3.5z'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M3.5 12h17'/%3E%3Cpath d='M12 3.5c2.4 2.4 3.6 5.2 3.6 8.5s-1.2 6.1-3.6 8.5c-2.4-2.4-3.6-5.2-3.6-8.5S9.6 5.9 12 3.5z'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M3.5 12h17'/%3E%3Cpath d='M12 3.5c2.4 2.4 3.6 5.2 3.6 8.5s-1.2 6.1-3.6 8.5c-2.4-2.4-3.6-5.2-3.6-8.5S9.6 5.9 12 3.5z'/%3E%3C/svg%3E"); }
.ico-oeil { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 12S6 5.5 12 5.5 21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 12S6 5.5 12 5.5 21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 12S6 5.5 12 5.5 21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); }
.ico-photo { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 5.5h17v13h-17z'/%3E%3Ccircle cx='9' cy='10' r='1.8'/%3E%3Cpath d='m3.5 16.5 5-4.5 4 3.5 3-2.5 5 4'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 5.5h17v13h-17z'/%3E%3Ccircle cx='9' cy='10' r='1.8'/%3E%3Cpath d='m3.5 16.5 5-4.5 4 3.5 3-2.5 5 4'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 5.5h17v13h-17z'/%3E%3Ccircle cx='9' cy='10' r='1.8'/%3E%3Cpath d='m3.5 16.5 5-4.5 4 3.5 3-2.5 5 4'/%3E%3C/svg%3E"); }
.ico-pinceau { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 4.5 19.5 9.5 11 18l-5-5z'/%3E%3Cpath d='m6 13-2.5 7.5L11 18'/%3E%3Cpath d='M16.5 2.5 21.5 7.5'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 4.5 19.5 9.5 11 18l-5-5z'/%3E%3Cpath d='m6 13-2.5 7.5L11 18'/%3E%3Cpath d='M16.5 2.5 21.5 7.5'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 4.5 19.5 9.5 11 18l-5-5z'/%3E%3Cpath d='m6 13-2.5 7.5L11 18'/%3E%3Cpath d='M16.5 2.5 21.5 7.5'/%3E%3C/svg%3E"); }
.ico-piscine { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 15V6a2.25 2.25 0 0 1 4.5 0v.6'/%3E%3Cpath d='M13.5 15V6A2.25 2.25 0 0 1 18 6v.6'/%3E%3Cpath d='M8 9h5.5M8 12.2h5.5'/%3E%3Cpath d='M2.5 17.6c1.6-1.3 3.2-1.3 4.8 0s3.2 1.3 4.8 0 3.2-1.3 4.8 0 3.2 1.3 4.8 0'/%3E%3Cpath d='M2.5 21c1.6-1.3 3.2-1.3 4.8 0s3.2 1.3 4.8 0 3.2-1.3 4.8 0 3.2 1.3 4.8 0'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 15V6a2.25 2.25 0 0 1 4.5 0v.6'/%3E%3Cpath d='M13.5 15V6A2.25 2.25 0 0 1 18 6v.6'/%3E%3Cpath d='M8 9h5.5M8 12.2h5.5'/%3E%3Cpath d='M2.5 17.6c1.6-1.3 3.2-1.3 4.8 0s3.2 1.3 4.8 0 3.2-1.3 4.8 0 3.2 1.3 4.8 0'/%3E%3Cpath d='M2.5 21c1.6-1.3 3.2-1.3 4.8 0s3.2 1.3 4.8 0 3.2-1.3 4.8 0 3.2 1.3 4.8 0'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 15V6a2.25 2.25 0 0 1 4.5 0v.6'/%3E%3Cpath d='M13.5 15V6A2.25 2.25 0 0 1 18 6v.6'/%3E%3Cpath d='M8 9h5.5M8 12.2h5.5'/%3E%3Cpath d='M2.5 17.6c1.6-1.3 3.2-1.3 4.8 0s3.2 1.3 4.8 0 3.2-1.3 4.8 0 3.2 1.3 4.8 0'/%3E%3Cpath d='M2.5 21c1.6-1.3 3.2-1.3 4.8 0s3.2 1.3 4.8 0 3.2-1.3 4.8 0 3.2 1.3 4.8 0'/%3E%3C/svg%3E"); }
.ico-plans { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 3.5h17v17h-17z'/%3E%3Cpath d='M3.5 12h7v8.5'/%3E%3Cpath d='M14 3.5v5h6.5'/%3E%3Cpath d='M14 13.5h6.5'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 3.5h17v17h-17z'/%3E%3Cpath d='M3.5 12h7v8.5'/%3E%3Cpath d='M14 3.5v5h6.5'/%3E%3Cpath d='M14 13.5h6.5'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 3.5h17v17h-17z'/%3E%3Cpath d='M3.5 12h7v8.5'/%3E%3Cpath d='M14 3.5v5h6.5'/%3E%3Cpath d='M14 13.5h6.5'/%3E%3C/svg%3E"); }
.ico-telephone { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.2 3.5h3.6l1.8 4.6-2.3 1.4a10.6 10.6 0 0 0 5.2 5.2l1.4-2.3 4.6 1.8v3.6a2 2 0 0 1-2.1 2A15.9 15.9 0 0 1 3.2 5.6a2 2 0 0 1 2-2.1z'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.2 3.5h3.6l1.8 4.6-2.3 1.4a10.6 10.6 0 0 0 5.2 5.2l1.4-2.3 4.6 1.8v3.6a2 2 0 0 1-2.1 2A15.9 15.9 0 0 1 3.2 5.6a2 2 0 0 1 2-2.1z'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.2 3.5h3.6l1.8 4.6-2.3 1.4a10.6 10.6 0 0 0 5.2 5.2l1.4-2.3 4.6 1.8v3.6a2 2 0 0 1-2.1 2A15.9 15.9 0 0 1 3.2 5.6a2 2 0 0 1 2-2.1z'/%3E%3C/svg%3E"); }
.ico-terrassement { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20.5h18'/%3E%3Cpath d='M5 20.5 9 13h6l4 7.5'/%3E%3Cpath d='M14 9.5 18 4'/%3E%3Cpath d='m16 3 4 2.5'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20.5h18'/%3E%3Cpath d='M5 20.5 9 13h6l4 7.5'/%3E%3Cpath d='M14 9.5 18 4'/%3E%3Cpath d='m16 3 4 2.5'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20.5h18'/%3E%3Cpath d='M5 20.5 9 13h6l4 7.5'/%3E%3Cpath d='M14 9.5 18 4'/%3E%3Cpath d='m16 3 4 2.5'/%3E%3C/svg%3E"); }
.ico-thermometre { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 14.8V5a2 2 0 0 0-4 0v9.8a4 4 0 1 0 4 0z'/%3E%3Cpath d='M12 9v7'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 14.8V5a2 2 0 0 0-4 0v9.8a4 4 0 1 0 4 0z'/%3E%3Cpath d='M12 9v7'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 14.8V5a2 2 0 0 0-4 0v9.8a4 4 0 1 0 4 0z'/%3E%3Cpath d='M12 9v7'/%3E%3C/svg%3E"); }
.ico-valider { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='m8.2 12.2 2.6 2.6 5-5.3'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='m8.2 12.2 2.6 2.6 5-5.3'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='m8.2 12.2 2.6 2.6 5-5.3'/%3E%3C/svg%3E"); }
.ico-video { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 6.5h12v11h-12z'/%3E%3Cpath d='m15.5 10.5 5-3v9l-5-3'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 6.5h12v11h-12z'/%3E%3Cpath d='m15.5 10.5 5-3v9l-5-3'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 6.5h12v11h-12z'/%3E%3Cpath d='m15.5 10.5 5-3v9l-5-3'/%3E%3C/svg%3E"); }
.ico-villa { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 20.5h19'/%3E%3Cpath d='M4 20.5v-7h7.5'/%3E%3Cpath d='M9.5 20.5V6.5h11v14'/%3E%3Cpath d='M13 10h4.5'/%3E%3Cpath d='M6 16.5h2'/%3E%3Cpath d='M14 20.5v-4h3v4'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 20.5h19'/%3E%3Cpath d='M4 20.5v-7h7.5'/%3E%3Cpath d='M9.5 20.5V6.5h11v14'/%3E%3Cpath d='M13 10h4.5'/%3E%3Cpath d='M6 16.5h2'/%3E%3Cpath d='M14 20.5v-4h3v4'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 20.5h19'/%3E%3Cpath d='M4 20.5v-7h7.5'/%3E%3Cpath d='M9.5 20.5V6.5h11v14'/%3E%3Cpath d='M13 10h4.5'/%3E%3Cpath d='M6 16.5h2'/%3E%3Cpath d='M14 20.5v-4h3v4'/%3E%3C/svg%3E"); }
.ico-visite { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6.5-5.8-6.5-11A6.5 6.5 0 0 1 18.5 10c0 5.2-6.5 11-6.5 11z'/%3E%3Ccircle cx='12' cy='10' r='2.4'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6.5-5.8-6.5-11A6.5 6.5 0 0 1 18.5 10c0 5.2-6.5 11-6.5 11z'/%3E%3Ccircle cx='12' cy='10' r='2.4'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6.5-5.8-6.5-11A6.5 6.5 0 0 1 18.5 10c0 5.2-6.5 11-6.5 11z'/%3E%3Ccircle cx='12' cy='10' r='2.4'/%3E%3C/svg%3E"); }
.ico-whatsapp { --ico-j: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F6BA04' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20.5l1.2-4.2A8.5 8.5 0 1 1 8 19.4z'/%3E%3Cpath d='M9.2 8.5c.2-.5.5-.6.9-.6h.5l1 2.2-.7.9a5.3 5.3 0 0 0 2.6 2.6l.9-.7 2.2 1v.5c0 .4-.2.8-.6.9-1.8.8-6.6-2.8-6.8-6.8z'/%3E%3C/svg%3E"); --ico-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20.5l1.2-4.2A8.5 8.5 0 1 1 8 19.4z'/%3E%3Cpath d='M9.2 8.5c.2-.5.5-.6.9-.6h.5l1 2.2-.7.9a5.3 5.3 0 0 0 2.6 2.6l.9-.7 2.2 1v.5c0 .4-.2.8-.6.9-1.8.8-6.6-2.8-6.8-6.8z'/%3E%3C/svg%3E"); --ico-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20.5l1.2-4.2A8.5 8.5 0 1 1 8 19.4z'/%3E%3Cpath d='M9.2 8.5c.2-.5.5-.6.9-.6h.5l1 2.2-.7.9a5.3 5.3 0 0 0 2.6 2.6l.9-.7 2.2 1v.5c0 .4-.2.8-.6.9-1.8.8-6.6-2.8-6.8-6.8z'/%3E%3C/svg%3E"); }

:root {
  --jaune: #F6BA04;
  --noir: #000;
  --blanc: #fff;
  --encre: rgba(0, 0, 0, .66);
  --encre-claire: rgba(255, 255, 255, .7);
  --filet: rgba(0, 0, 0, .12);
  --filet-clair: rgba(255, 255, 255, .18);
  --largeur: 1440px;
  --gouttiere: clamp(20px, 4vw, 64px);
  --entete: 96px;
  --police: 'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --ombre: 0 30px 70px rgba(0, 0, 0, .18);
  --hachures: repeating-linear-gradient(135deg, var(--jaune) 0 16px, var(--noir) 16px 32px);
  --monogramme: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='7.9 8.45 95.3 106.47'%3E%3Cpath fill='%23F6BA04' d='M103.19,114.92 L81.34,114.92 L30.73,43.62 L30.73,114.92 L7.93,114.92 L7.93,8.45 L31.27,8.45 L80.63,77.44 L80.63,8.45 L103.19,8.45 Z'/%3E%3C/svg%3E");
}

/* ---------- Base ---------- */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 80px; }
body {
  margin: 0;
  font-family: var(--police);
  font-size: 16px;
  line-height: 1.7;
  color: var(--noir);
  background: var(--blanc);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, p, ul, ol, figure, dl, dd { margin: 0; }
ul, ol { padding: 0; list-style: none; }
figure.wp-block-image { margin: 0; }
.wp-block-image img { height: auto; }
:where(.wp-block-group) > :where(*), :where(.wp-block-buttons) { margin-block: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }

.enveloppe {
  width: 100%;
  max-width: calc(var(--largeur) + 2 * var(--gouttiere));
  margin-inline: auto;
  padding-inline: var(--gouttiere);
}

/* ---------- Typographie commune ---------- */

.surtitre {
  display: inline-flex; align-items: center; gap: 12px;
  font-size: 13px; font-weight: 600; line-height: 1.4;
  letter-spacing: .26em; text-transform: uppercase;
}
.surtitre::before { content: ""; width: 10px; height: 10px; background: var(--jaune); flex: none; }
.surtitre-jaune { color: var(--jaune); }
.tete-section .surtitre { justify-content: center; }

.titre-section {
  font-size: clamp(30px, 3.3vw, 50px);
  font-weight: 700; line-height: 1.12; letter-spacing: -.02em;
  text-wrap: balance; hyphens: none;
}
.titre-section.titre-filets { display: flex; align-items: center; justify-content: center; gap: clamp(16px, 2vw, 32px); text-align: center; }
.titre-section.titre-filets::before, .titre-section.titre-filets::after {
  content: ""; flex: 1 1 40px; max-width: 120px; height: 1px;
  background: currentColor; opacity: .28;
}

.wp-block-group.tete-section {
  display: flex; flex-direction: column; align-items: center; gap: 18px;
  text-align: center;
  margin-bottom: clamp(44px, 5vw, 76px);
}
.chapeau { max-width: 660px; font-size: 17px; color: var(--encre); }
.chapeau.chapeau-clair { color: var(--encre-claire); }

/* ---------- Boutons ---------- */

.wp-block-buttons.boutons { display: flex; flex-wrap: wrap; gap: 14px; }
.wp-block-buttons.centre { justify-content: center; }
.wp-block-button.bouton { margin: 0; }
.wp-block-button.bouton .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  padding: 16px 28px;
  font-family: var(--police); font-size: 15px; font-weight: 600; line-height: 1.3;
  border: 2px solid transparent; border-radius: 0;
  cursor: pointer; white-space: nowrap; text-decoration: none;
  transition: background-color .2s, color .2s, border-color .2s;
}
.wp-block-button.fleche .wp-block-button__link::after,
.wp-block-button.cadenas .wp-block-button__link::before {
  content: ""; flex: none; width: 20px; height: 20px; background-color: currentColor;
  -webkit-mask: var(--i-fleche-n) center / contain no-repeat;
  mask: var(--i-fleche-n) center / contain no-repeat;
  transition: transform .2s;
}
.wp-block-button.fleche .wp-block-button__link:hover::after { transform: translateX(4px); }
.wp-block-button.cadenas .wp-block-button__link::before {
  width: 18px; height: 18px;
  -webkit-mask-image: var(--i-cadenas-n); mask-image: var(--i-cadenas-n);
}
.wp-block-button.bouton-jaune .wp-block-button__link { background: var(--jaune); color: var(--noir); border-color: var(--jaune); }
.wp-block-button.bouton-jaune .wp-block-button__link:hover { background: var(--noir); color: var(--jaune); }
.wp-block-button.bouton-noir .wp-block-button__link { background: var(--noir); color: var(--blanc); border-color: var(--noir); }
.wp-block-button.bouton-noir .wp-block-button__link:hover { background: var(--jaune); color: var(--noir); border-color: var(--jaune); }
.wp-block-button.bouton-contour .wp-block-button__link { background: none; border-color: rgba(255, 255, 255, .55); color: var(--blanc); }
.wp-block-button.bouton-contour .wp-block-button__link:hover { border-color: var(--jaune); color: var(--jaune); }

p.lien-fleche a {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 15px; font-weight: 600;
  padding-bottom: 6px; border-bottom: 2px solid var(--jaune);
}
p.lien-fleche a::after {
  content: ""; flex: none; width: 20px; height: 20px; background-color: currentColor;
  -webkit-mask: var(--i-fleche-n) center / contain no-repeat; mask: var(--i-fleche-n) center / contain no-repeat;
  transition: transform .2s;
}
p.lien-fleche a:hover::after { transform: translateX(4px); }

/* ---------- En-tête ---------- */

.wp-block-group.entete {
  position: fixed; top: 0; left: 0; right: 0; z-index: 50;
  color: var(--blanc);
  transition: background-color .3s, box-shadow .3s;
}
.admin-bar .wp-block-group.entete { top: 32px; }
.wp-block-group.entete-barre {
  display: flex; align-items: center; gap: clamp(20px, 3vw, 44px);
  height: var(--entete);
  transition: height .3s;
}
.entete.est-colle { background: var(--noir); box-shadow: 0 10px 30px rgba(0, 0, 0, .25); }
.entete.est-colle .entete-barre { height: 76px; }
.wp-block-site-logo.entete-logo { flex: none; line-height: 0; }
.entete .entete-logo img { width: auto; height: 48px; transition: height .3s; }
.entete.est-colle .entete-logo img { height: 40px; }

.wp-block-navigation.entete-nav { margin-left: auto; font-size: 15px; }
.entete-nav .wp-block-navigation__container { gap: clamp(18px, 2.2vw, 36px); }
.entete-nav .wp-block-navigation-item__content {
  position: relative; display: block; padding-block: 8px;
  font-weight: 500; line-height: 1.7;
  color: rgba(255, 255, 255, .82);
  transition: color .2s;
}
.entete-nav .wp-block-navigation-item__content::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
  background: var(--jaune); transform: scaleX(0); transform-origin: left;
  transition: transform .25s;
}
.entete-nav .wp-block-navigation-item__content:hover,
.entete-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--blanc); }
.entete-nav .wp-block-navigation-item__content:hover::after,
.entete-nav .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.entete-nav .lien-nav-mre > .wp-block-navigation-item__content,
.entete-nav .lien-nav-mre > .wp-block-navigation-item__content:hover { color: var(--jaune); }

.wp-block-buttons.entete-actions { display: flex; flex-wrap: nowrap; align-items: center; gap: 12px; flex: none; }
.wp-block-button.bouton-espace .wp-block-button__link {
  width: 46px; height: 46px; padding: 0; gap: 0;
  font-size: 0; background: none;
  border: 2px solid rgba(255, 255, 255, .45); color: var(--blanc);
}
.wp-block-button.bouton-espace .wp-block-button__link::before {
  content: ""; width: 20px; height: 20px; background-color: currentColor;
  -webkit-mask: var(--i-cadenas-n) center / contain no-repeat; mask: var(--i-cadenas-n) center / contain no-repeat;
}
.wp-block-button.bouton-espace .wp-block-button__link:hover { border-color: var(--jaune); color: var(--jaune); }
.wp-block-button.entete-cta .wp-block-button__link { padding: 12px 22px; }

/* Bouton du menu replié et panneau ouvert */
.entete-nav .wp-block-navigation__responsive-container-open {
  width: 48px; height: 48px; padding: 10px; color: var(--blanc);
}
.entete-nav .wp-block-navigation__responsive-container-open svg { width: 28px; height: 28px; }
.wp-block-navigation.entete-nav .wp-block-navigation__responsive-container.is-menu-open {
  background-color: var(--noir) !important;
  color: var(--blanc) !important;
  padding: 18px var(--gouttiere) 40px;
}
.entete-nav .is-menu-open .wp-block-navigation__responsive-container-close { top: 18px; right: 0; color: var(--blanc); }
.entete-nav .is-menu-open .wp-block-navigation__responsive-container-close svg { width: 30px; height: 30px; }
.entete-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 64px; align-items: stretch; }
.entete-nav .is-menu-open .wp-block-navigation__container { flex-direction: column; align-items: stretch; gap: 4px; width: 100%; }
.entete-nav .is-menu-open .wp-block-navigation-item { width: 100%; }
.entete-nav .is-menu-open .wp-block-navigation-item__content {
  padding: 16px 0; font-size: 22px; font-weight: 600;
  border-bottom: 1px solid var(--filet-clair);
}
.entete-nav .is-menu-open .wp-block-navigation-item__content::after { display: none; }
.entete-nav .is-menu-open .current-menu-item > .wp-block-navigation-item__content { color: var(--jaune); }

@media (min-width: 1321px) {
  .wp-block-navigation.entete-nav .wp-block-navigation__responsive-container-open { display: none; }
  .wp-block-navigation.entete-nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: block; position: relative; width: auto; background: none; z-index: auto;
  }
  .wp-block-navigation.entete-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-close { display: none; }
}
@media (max-width: 1320px) {
  .wp-block-button.entete-cta { display: none; }
  .wp-block-navigation.entete-nav { order: 3; margin-left: 0; }
  .wp-block-buttons.entete-actions { margin-left: auto; }
  .wp-block-button.bouton-espace .wp-block-button__link { width: 44px; height: 44px; }
}

/* ---------- Héros (accueil et pages intérieures) ---------- */

.wp-block-group.hero, .wp-block-group.page-hero {
  position: relative; overflow: hidden;
  display: flex; align-items: center;
  min-height: clamp(700px, 100svh, 940px);
  background: var(--noir); color: var(--blanc);
}
.wp-block-group.page-hero { align-items: flex-end; min-height: clamp(580px, 80svh, 780px); }
.wp-block-group.page-hero-court { min-height: clamp(480px, 64svh, 620px); }
.wp-block-group.page-hero-seul { min-height: clamp(620px, 92svh, 880px); }
/* voile et hachures : couches décoratives en pseudo-éléments */
.hero::before, .page-hero::before {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(90deg, rgba(0,0,0,.94) 0%, rgba(0,0,0,.84) 30%, rgba(0,0,0,.4) 56%, rgba(0,0,0,.05) 78%),
    linear-gradient(180deg, rgba(0,0,0,.6) 0, rgba(0,0,0,0) 22%);
}
.hero::after, .page-hero::after {
  content: ""; position: absolute; top: 0; bottom: 0; right: 0; z-index: 1;
  width: clamp(24px, 3vw, 48px); background: var(--hachures);
}
figure.wp-block-image.hero-photo {
  position: absolute; top: 0; right: 0; bottom: 0; width: 84%; margin: 0;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 34%);
  mask-image: linear-gradient(90deg, transparent 0, #000 34%);
}
figure.wp-block-image.hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 72% 30%; }
.page-hero-piscines figure.wp-block-image.hero-photo img { object-position: 50% 62%; }
.wp-block-group.hero-contenu { position: relative; z-index: 2; padding-top: calc(var(--entete) + 24px); padding-bottom: 150px; }
.hero-contenu > * { max-width: 760px; }
.wp-block-heading.hero-titre {
  margin: 24px 0 26px;
  font-size: clamp(46px, 6.6vw, 104px);
  font-weight: 800; line-height: 1; letter-spacing: -.03em;
  text-wrap: balance; hyphens: none;
}
.hero-titre em, .page-hero-titre em { display: block; font-style: normal; color: var(--jaune); }
p.hero-texte { max-width: 560px; margin-bottom: 40px; font-size: 18px; line-height: 1.65; color: rgba(255, 255, 255, .8); }
.wp-block-group.page-hero-contenu { position: relative; z-index: 2; padding-top: calc(var(--entete) + 64px); padding-bottom: clamp(72px, 8vw, 120px); }
.page-hero-contenu > * { max-width: 880px; }
.wp-block-heading.page-hero-titre {
  margin: 22px 0 24px;
  font-size: clamp(40px, 5.4vw, 82px);
  font-weight: 800; line-height: 1.02; letter-spacing: -.03em;
  text-wrap: balance; hyphens: none;
}
.page-hero p.hero-texte { max-width: 620px; }
/* le texte reste suivi de 40 px même quand il est le dernier élément (WordPress annule sinon la marge du dernier enfant) */
.page-hero-contenu > p.hero-texte:last-child { margin-bottom: 40px; }

/* Encadré MRE du héros */
.wp-block-group.hero-mre {
  position: relative;
  display: flex; align-items: center; gap: 18px;
  max-width: 600px; margin-top: 36px; padding: 14px 20px 14px 14px;
  border: 2px solid var(--jaune);
  background: rgba(0, 0, 0, .55);
  transition: background-color .2s;
}
.hero-mre::before { content: ""; flex: none; width: 52px; height: 52px; background: var(--ico-n) center / 28px no-repeat, var(--jaune); }
.hero-mre::after {
  content: ""; flex: none; width: 22px; height: 22px; background-color: var(--jaune);
  -webkit-mask: var(--i-fleche-n) center / contain no-repeat; mask: var(--i-fleche-n) center / contain no-repeat;
  transition: transform .2s;
}
p.hero-mre-texte {
  flex: 1; font-size: 12px; font-weight: 600; line-height: 1.45;
  letter-spacing: .2em; text-transform: uppercase; color: var(--jaune);
}
p.hero-mre-texte a {
  display: block; margin-top: 3px;
  font-size: 15px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--blanc);
}
p.hero-mre-texte a::after { content: ""; position: absolute; inset: 0; }
.hero-mre:hover { background: var(--jaune); }
.hero-mre:hover::before { background: var(--ico-j) center / 28px no-repeat, var(--noir); }
.hero-mre:hover p.hero-mre-texte, .hero-mre:hover p.hero-mre-texte a { color: var(--noir); }
.hero-mre:hover::after { background-color: var(--noir); transform: translateX(4px); }

/* ---------- Barre de services (chevauche le héros) ---------- */

.wp-block-group.services-zone { position: relative; z-index: 5; margin-top: -96px; }
.wp-block-group.services-barre {
  display: grid; grid-template-columns: repeat(4, 1fr);
  background: var(--blanc);
  border-top: 4px solid var(--jaune);
  box-shadow: var(--ombre);
}
.wp-block-group.service {
  position: relative;
  display: grid; grid-template-columns: 58px minmax(0, 1fr); column-gap: 18px; align-content: start;
  padding: 34px clamp(20px, 2.2vw, 34px);
  transition: background-color .2s;
}
.service::before { content: ""; grid-row: 1 / span 2; width: 58px; height: 58px; background: var(--ico-j) center / 32px no-repeat, var(--noir); }
.service + .service::after {
  content: ""; position: absolute; left: 0; top: 30px; bottom: 30px; width: 1px;
  background: var(--filet);
}
.service:hover { background: var(--jaune); }
.service:hover::after, .service:hover + .service::after { opacity: 0; }
p.service-titre { margin-bottom: 4px; font-size: 19px; font-weight: 700; line-height: 1.3; }
p.service-titre a::after { content: ""; position: absolute; inset: 0; }
p.service-desc { font-size: 14px; line-height: 1.55; color: var(--encre); }
.service:hover p.service-desc { color: rgba(0, 0, 0, .78); }

/* ---------- Nos métiers ---------- */

.wp-block-group.metiers { padding: clamp(84px, 9vw, 140px) 0 clamp(96px, 10vw, 156px); }
.wp-block-group.metiers-grille { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 5vw, 88px); }
figure.wp-block-image.metier-photo { position: relative; aspect-ratio: 16 / 11; margin: 0 22px 22px 0; }
figure.wp-block-image.metier-photo::before {
  content: ""; position: absolute; inset: 22px -22px -22px 22px;
  border: 3px solid var(--jaune);
}
figure.wp-block-image.metier-photo img { position: relative; width: 100%; height: 100%; object-fit: cover; }
.wp-block-group.metier-corps { padding-top: 40px; }
.wp-block-group.metier-tete { display: flex; align-items: center; gap: 16px; }
p.metier-num { padding: 7px 10px; background: var(--jaune); font-size: 15px; font-weight: 800; line-height: 1; }
.wp-block-heading.metier-titre { font-size: clamp(28px, 2.6vw, 38px); font-weight: 700; line-height: 1.15; letter-spacing: -.02em; }
p.metier-texte { max-width: 540px; margin-top: 16px; font-size: 17px; color: var(--encre); }
ul.liste-check { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; margin: 28px 0 34px; }
ul.liste-check li { display: flex; align-items: flex-start; gap: 12px; font-size: 15px; font-weight: 500; line-height: 1.5; }
ul.liste-check li::before { content: ""; flex: none; width: 21px; height: 21px; margin-top: 1px; background: var(--i-check-n) center / 15px no-repeat, var(--jaune); }

/* ---------- Bande MRE de l'accueil ---------- */

.wp-block-group.mre-bande { padding: clamp(90px, 9vw, 140px) 0; background: var(--noir); color: var(--blanc); }
.wp-block-group.mre-grille { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: clamp(40px, 5vw, 90px); }
.wp-block-group.mre-texte { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
p.mre-intro { max-width: 520px; font-size: 17px; color: var(--encre-claire); }
ul.mre-points { display: grid; gap: 14px; margin: 4px 0 16px; }
/* bloc (pas flex) : le gras et la suite de la phrase restent sur la même ligne de texte */
ul.mre-points li { position: relative; min-height: 46px; padding: 9.5px 0 9.5px 62px; font-size: 16px; color: var(--encre-claire); }
ul.mre-points li::before { content: ""; position: absolute; left: 0; top: 50%; width: 46px; height: 46px; margin-top: -23px; border: 2px solid var(--jaune); background: var(--ico-j) center / 22px no-repeat; }
ul.mre-points strong { font-weight: 600; color: var(--blanc); }
/* l'aperçu du portail déborde au-dessus de la bande noire, sur la section blanche précédente */
.wp-block-group.mre-visuel { margin-top: calc(-1 * clamp(150px, 15vw, 230px)); }

/* ---------- Aperçu du portail client (illustration en blocs) ---------- */

.wp-block-group.portail-scene { position: relative; padding: 0 0 56px 56px; }
.wp-block-group.portail {
  font-size: 13px; line-height: 1.5;
  background: var(--blanc); color: var(--noir);
  border-top: 4px solid var(--jaune);
  box-shadow: 0 40px 90px rgba(0, 0, 0, .5);
}
p.portail-barre {
  position: relative; padding: 11px 16px;
  font-size: 12px; font-weight: 600; line-height: 21.5px; text-align: center; color: var(--encre);
  border-bottom: 1px solid var(--filet);
}
p.portail-barre::before {
  content: ""; position: absolute; left: 16px; top: 50%; width: 9px; height: 9px; margin-top: -4.5px;
  border-radius: 50%; background: rgba(0, 0, 0, .16);
  box-shadow: 16px 0 0 rgba(0, 0, 0, .16), 32px 0 0 rgba(0, 0, 0, .16);
}
p.portail-barre::after {
  content: ""; position: absolute; right: 16px; top: 50%; width: 16px; height: 16px; margin-top: -8px;
  background-color: var(--encre);
  -webkit-mask: var(--i-cadenas-n) center / contain no-repeat; mask: var(--i-cadenas-n) center / contain no-repeat;
}
.wp-block-group.portail-corps { display: grid; grid-template-columns: 186px minmax(0, 1fr); }
.wp-block-group.portail-menu { padding: 20px 12px; background: var(--noir); color: var(--blanc); }
.portail-menu::before { content: ""; display: block; width: 24px; height: 26px; margin: 0 0 22px 10px; background: var(--monogramme) center / contain no-repeat; }
ul.portail-nav { display: grid; gap: 4px; }
ul.portail-nav li { display: flex; align-items: center; gap: 10px; padding: 9px 10px; font-size: 12.5px; color: rgba(255, 255, 255, .7); white-space: nowrap; }
ul.portail-nav li::before {
  content: ""; flex: none; width: 17px; height: 17px; background-color: currentColor;
  -webkit-mask: var(--ico-n) center / contain no-repeat; mask: var(--ico-n) center / contain no-repeat;
}
ul.portail-nav li.est-actif { background: var(--jaune); color: var(--noir); font-weight: 600; }
.wp-block-group.portail-contenu { display: grid; gap: 18px; padding: 22px 24px 24px; }
.wp-block-group.portail-tete { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
p.portail-chantier, p.portail-cr, p.portail-notif {
  font-size: 10.5px; font-weight: 600; line-height: 1.5; letter-spacing: .14em; text-transform: uppercase; color: var(--encre);
}
p.portail-chantier strong { display: block; font-size: 19px; font-weight: 700; line-height: 1.3; letter-spacing: 0; text-transform: none; color: var(--noir); }
p.portail-etat { padding: 4px 10px; font-size: 11px; font-weight: 600; white-space: nowrap; background: var(--noir); color: var(--jaune); }
p.portail-progression { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; font-size: 12.5px; }
p.portail-progression strong { font-size: 22px; font-weight: 800; line-height: 1; }
p.portail-progression::after {
  content: ""; flex: 0 0 100%; height: 10px; margin-top: 8px;
  background: linear-gradient(90deg, var(--jaune) 64%, rgba(0, 0, 0, .08) 64%);
}
ul.portail-phases { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
ul.portail-phases li { padding-top: 8px; font-size: 11.5px; font-weight: 600; color: var(--encre); border-top: 3px solid rgba(0, 0, 0, .12); }
ul.portail-phases li.est-fait { color: var(--noir); border-color: var(--noir); }
ul.portail-phases li.est-encours { color: var(--noir); border-color: var(--jaune); }
.wp-block-group.portail-medias { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.portail-medias figure.wp-block-image { position: relative; }
.portail-medias figure.wp-block-image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.portail-medias figure.portail-video::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 36px; height: 36px; margin: -18px 0 0 -18px;
  border-radius: 50%; background: var(--i-lecture-n) 58% 50% / 18px no-repeat, var(--jaune);
}
p.portail-cr {
  position: relative; padding: 12px 44px 12px 54px;
  border: 1px solid var(--filet); border-left: 4px solid var(--jaune);
}
p.portail-cr strong, p.portail-notif strong { display: block; font-size: 13.5px; font-weight: 600; line-height: 1.4; letter-spacing: 0; text-transform: none; color: var(--noir); }
p.portail-cr::before { content: ""; position: absolute; left: 14px; top: 50%; width: 26px; height: 26px; margin-top: -13px; background: var(--ico-n) center / contain no-repeat; }
p.portail-cr::after {
  content: ""; position: absolute; right: 14px; top: 50%; width: 18px; height: 18px; margin-top: -9px; background-color: var(--noir);
  -webkit-mask: var(--i-fleche-n) center / contain no-repeat; mask: var(--i-fleche-n) center / contain no-repeat;
}
p.portail-notif {
  position: absolute; left: 0; bottom: 0;
  width: min(330px, 82%); padding: 14px 16px 14px 70px;
  color: rgba(0, 0, 0, .7); background: var(--jaune);
  box-shadow: 0 24px 50px rgba(0, 0, 0, .45);
}
p.portail-notif::before { content: ""; position: absolute; left: 16px; top: 50%; width: 40px; height: 40px; margin-top: -20px; background: var(--ico-j) center / 22px no-repeat, var(--noir); }

/* ---------- Bande jaune : chiffres ---------- */

.wp-block-group.chiffres { padding: clamp(76px, 8vw, 124px) 0; background: var(--jaune); }
.wp-block-group.chiffres-tete {
  display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  align-items: end; gap: clamp(28px, 4vw, 64px);
  margin-bottom: clamp(48px, 6vw, 84px);
}
.wp-block-heading.chiffres-titre {
  font-size: clamp(42px, 5.6vw, 84px);
  font-weight: 800; line-height: 1; letter-spacing: -.04em;
  text-wrap: balance; hyphens: none;
}
p.chiffres-texte { max-width: 470px; font-size: 17px; font-weight: 500; line-height: 1.65; }
.wp-block-group.chiffres-grille { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 2px solid var(--noir); }
.wp-block-group.chiffre { padding: 38px 24px 0 0; }
.wp-block-group.chiffre + .chiffre { padding-left: clamp(20px, 2.4vw, 36px); border-left: 1px solid rgba(0, 0, 0, .28); }
/* 42 px de haut pour une icône de 34 px : même ligne que l'icône en ligne de la maquette (les marges fusionneraient) */
.chiffre::before { content: ""; display: block; width: 34px; height: 42px; background: var(--ico-n) left top / 34px 34px no-repeat; }
/* « .chiffre > » : WordPress annule la marge haute du premier enfant (:root :where(.is-layout-flow) > :first-child) */
.chiffre > p.chiffre-valeur { margin: 22px 0 10px; font-size: clamp(48px, 5vw, 76px); font-weight: 800; line-height: 1; letter-spacing: -.04em; }
p.chiffre-label { max-width: 220px; font-size: 15px; font-weight: 500; line-height: 1.5; }

/* ---------- Projet à la une (photo + panneau) ---------- */

.wp-block-group.vedette { display: grid; grid-template-columns: 1fr 1fr; min-height: 660px; }
figure.wp-block-image.vedette-photo { position: relative; min-height: 360px; }
figure.wp-block-image.vedette-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.wp-block-group.vedette-panneau {
  position: relative;
  display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 22px;
  padding: clamp(64px, 7vw, 120px) clamp(28px, 6vw, 112px);
}
.vedette-panneau > * { max-width: 560px; }
figure.wp-block-image.vedette-badge {
  position: absolute; left: 0; top: clamp(48px, 6vw, 84px);
  width: clamp(110px, 10vw, 150px);
  transform: translateX(-50%);
  filter: drop-shadow(0 18px 28px rgba(0, 0, 0, .35));
}
figure.wp-block-image.vedette-badge img { width: 100%; }
p.vedette-texte { font-size: 17px; color: var(--encre); }
.wp-block-group.vedette-fiche {
  display: flex; width: 100%; margin: 6px 0 10px;
  border-top: 1px solid var(--filet); border-bottom: 1px solid var(--filet);
}
.vedette-fiche > .wp-block-group { flex: 1; padding: 16px 0; }
.vedette-fiche > .wp-block-group + .wp-block-group { padding-left: 24px; border-left: 1px solid var(--filet); }
p.fiche-label { font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--encre); }
p.fiche-valeur { font-size: 21px; font-weight: 700; line-height: 1.4; }

/* ---------- Méthode (bande noire) ---------- */

.wp-block-group.methode { position: relative; overflow: hidden; padding: clamp(90px, 10vw, 150px) 0; background: var(--noir); color: var(--blanc); }
/* photo inversée : le ciel devient noir, les poteaux deviennent des traits clairs à peine visibles */
figure.wp-block-image.methode-texture {
  position: absolute; inset: 0; margin: 0;
  opacity: .09; filter: grayscale(1) invert(1) contrast(1.6);
  -webkit-mask-image: linear-gradient(180deg, transparent 10%, #000 85%);
  mask-image: linear-gradient(180deg, transparent 10%, #000 85%);
}
figure.wp-block-image.methode-texture img { width: 100%; height: 100%; object-fit: cover; }
.methode > .enveloppe { position: relative; }
.wp-block-group.etapes { position: relative; display: grid; grid-template-columns: repeat(6, 1fr); gap: clamp(16px, 2vw, 32px); }
.etapes::before {
  content: ""; position: absolute; top: 44px; left: calc(100% / 12); right: calc(100% / 12);
  border-top: 2px dashed rgba(246, 186, 4, .6);
}
.wp-block-group.etape { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; }
.etape::before {
  content: ""; flex: none; width: 88px; height: 88px; border-radius: 50%;
  background: var(--ico-n) center / 36px no-repeat, var(--jaune);
  box-shadow: 0 0 0 10px var(--noir);
}
.etape > p.etape-num { margin-top: 26px; font-size: 14px; font-weight: 700; letter-spacing: .14em; color: var(--jaune); }
.wp-block-heading.etape-titre { margin: 6px 0 10px; font-size: 18px; font-weight: 600; line-height: 1.35; }
p.etape-texte { font-size: 14px; line-height: 1.6; color: var(--encre-claire); }
.methode-claire.wp-block-group { background: var(--blanc); color: var(--noir); }
.methode-claire .etapes::before { border-top-color: rgba(0, 0, 0, .3); }
.methode-claire .etape::before { box-shadow: 0 0 0 10px var(--blanc); }
.methode-claire p.etape-num { color: var(--noir); }
.methode-claire p.etape-texte { color: var(--encre); }

/* ---------- Réalisations ---------- */

.wp-block-group.realisations { padding: clamp(90px, 10vw, 150px) 0; }
.wp-block-group.filtres { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin: -20px 0 48px; }
.realisations-page .wp-block-group.filtres { margin: 0 0 48px; }
p.filtre {
  padding: 10px 22px;
  font-size: 14px; font-weight: 600;
  border: 2px solid var(--noir); cursor: pointer; user-select: none;
  transition: background-color .2s, color .2s;
}
p.filtre:hover { background: var(--jaune); border-color: var(--jaune); }
p.filtre.est-actif { background: var(--noir); border-color: var(--noir); color: var(--jaune); }
.wp-block-group.galerie { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(18px, 2vw, 30px); margin-bottom: 56px; }
.realisations-page .wp-block-group.galerie { margin-bottom: 0; }
.wp-block-group.projet { background: var(--blanc); box-shadow: 0 18px 44px rgba(0, 0, 0, .09); }
figure.wp-block-image.projet-photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.wp-block-group.projet-legende {
  display: flex; align-items: baseline; justify-content: space-between; gap: 16px;
  padding: 20px 22px; border-bottom: 3px solid var(--jaune);
}
p.projet-titre { font-size: 17px; font-weight: 600; line-height: 1.4; }
p.projet-cat { font-size: 13px; color: var(--encre); white-space: nowrap; }
.wp-block-group.projet.est-cache { display: none; }

/* ---------- Contact (bande noire) ---------- */

.wp-block-group.contact {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 27%) minmax(0, 1fr) minmax(0, 520px);
  column-gap: clamp(32px, 4vw, 64px);
  padding-right: max(var(--gouttiere), calc((100% - var(--largeur)) / 2));
  background: var(--noir); color: var(--blanc);
}
figure.wp-block-image.contact-visuel { position: relative; align-self: stretch; min-height: 100%; margin: 0; }
figure.wp-block-image.contact-visuel img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: 87% 50%;
  -webkit-mask-image: radial-gradient(ellipse 60% 30% at 50% 71%, #000 60%, transparent 100%);
  mask-image: radial-gradient(ellipse 60% 30% at 50% 71%, #000 60%, transparent 100%);
}
.wp-block-group.contact-texte { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; padding-block: clamp(90px, 9vw, 140px); }
p.contact-intro { max-width: 460px; font-size: 17px; color: var(--encre-claire); }
ul.contact-liste { display: grid; gap: 20px; margin-top: 12px; }
ul.contact-liste li {
  position: relative; display: flex; flex-direction: column; justify-content: center;
  min-height: 50px; padding-left: 66px;
  font-size: 12px; font-weight: 500; line-height: 1.5; letter-spacing: .18em; text-transform: uppercase; color: var(--encre-claire);
}
ul.contact-liste li::before {
  content: ""; position: absolute; left: 0; top: 50%; width: 50px; height: 50px; margin-top: -25px;
  border: 2px solid var(--jaune); background: var(--ico-j) center / 24px no-repeat;
}
ul.contact-liste li a, ul.contact-liste li strong { font-size: 17px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--blanc); }
ul.contact-liste li a:hover { color: var(--jaune); }
/* Portable et WhatsApp sur une seule ligne : le numéro appelle, la pastille ouvre WhatsApp */
ul.contact-liste li.contact-duo { display: block; padding-block: 3px; }
ul.contact-liste li.contact-duo a[href^="https://wa.me/"] {
  display: inline-flex; align-items: center; gap: 6px; margin-left: 12px; padding: 1px 9px 1px 7px; vertical-align: 1px;
  font-size: 13px; line-height: 1.5; background: var(--jaune); color: var(--noir);
}
ul.contact-liste li.contact-duo a[href^="https://wa.me/"]::before { content: ""; width: 15px; height: 15px; background: var(--i-whatsapp-n) center / contain no-repeat; }
ul.contact-liste li.contact-duo a[href^="https://wa.me/"]:hover { background: var(--blanc); color: var(--noir); }

.wp-block-group.contact > .wp-block-group.formulaire {
  align-self: start;
  display: grid; gap: 18px;
  margin-block: clamp(70px, 7vw, 110px);
  padding: clamp(28px, 3vw, 44px);
  background: var(--blanc); color: var(--noir);
  border-top: 4px solid var(--jaune);
}
p.formulaire-titre { margin-bottom: 4px; font-size: 24px; font-weight: 700; line-height: 1.25; letter-spacing: -.01em; }
.formulaire .wpcf7-form { display: grid; gap: 18px; }
.formulaire .wpcf7 .hidden-fields-container { display: none; }
.formulaire .screen-reader-response { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.formulaire .champs-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.formulaire .champ { display: grid; gap: 7px; }
.formulaire .champ > span:first-child { font-size: 13px; font-weight: 600; }
.formulaire .wpcf7-form-control-wrap { display: block; }
.formulaire .champ input, .formulaire .champ select, .formulaire .champ textarea {
  display: block; width: 100%; padding: 13px 14px;
  font: inherit; font-size: 15px; line-height: 1.5; color: var(--noir);
  background: var(--blanc); border: 1px solid rgba(0, 0, 0, .22); border-radius: 0;
  transition: border-color .2s, box-shadow .2s;
}
.formulaire .champ textarea { resize: vertical; min-height: 120px; }
.formulaire .champ input::placeholder, .formulaire .champ textarea::placeholder { color: rgba(0, 0, 0, .4); }
.formulaire .champ input:focus, .formulaire .champ select:focus, .formulaire .champ textarea:focus {
  outline: none; border-color: var(--noir); box-shadow: 0 0 0 3px var(--jaune);
}
.formulaire .wpcf7-submit {
  width: 100%; margin-top: 4px; padding: 16px 28px;
  font: inherit; font-size: 15px; font-weight: 600; line-height: 1.3;
  background: var(--jaune); color: var(--noir); border: 2px solid var(--jaune); border-radius: 0;
  cursor: pointer; transition: background-color .2s, color .2s;
}
.formulaire .wpcf7-submit:hover { background: var(--noir); color: var(--jaune); }
.formulaire .wpcf7-spinner { display: none; }
.formulaire .wpcf7-not-valid-tip { display: block; margin-top: 6px; font-size: 13px; font-weight: 500; color: #b00020; }
.formulaire .wpcf7-response-output { margin: 0; padding: 12px 16px; font-size: 14px; border: 2px solid var(--noir); }
.formulaire form.init .wpcf7-response-output, .formulaire form.resetting .wpcf7-response-output, .formulaire form.submitting .wpcf7-response-output { display: none; }
.formulaire form.sent .wpcf7-response-output { background: var(--jaune); border-color: var(--jaune); }

/* ---------- Pied de page ---------- */

.wp-block-group.pied { background: var(--noir); color: var(--blanc); }
.pied::before { content: ""; display: block; height: 16px; background: var(--hachures); }
.wp-block-group.pied-grille {
  display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr));
  gap: clamp(32px, 4vw, 64px);
  padding-top: clamp(64px, 7vw, 96px); padding-bottom: clamp(48px, 5vw, 72px);
}
.wp-block-group.pied-marque { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
.pied .pied-logo img { width: auto; height: 52px; }
p.pied-texte { max-width: 360px; font-size: 15px; color: var(--encre-claire); }
.wp-block-social-links.pied-reseaux { display: flex; gap: 10px; margin: 0; padding: 0; font-size: 20px; }
.pied-reseaux .wp-social-link { width: 42px; height: 42px; margin: 0; border: 1px solid var(--filet-clair); border-radius: 0; background: none; color: var(--blanc); transition: background-color .2s, color .2s, border-color .2s; }
.pied-reseaux .wp-social-link a { display: grid; place-items: center; width: 100%; height: 100%; padding: 0; }
.pied-reseaux .wp-social-link svg { width: 20px; height: 20px; }
.pied-reseaux .wp-social-link:hover { background: var(--jaune); border-color: var(--jaune); color: var(--noir); transform: none; }
p.pied-titre { margin-bottom: 20px; font-size: 13px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--jaune); }
ul.pied-liens, ul.pied-contact { display: grid; gap: 12px; }
ul.pied-liens li, ul.pied-contact li { font-size: 15px; color: var(--encre-claire); }
.pied-col a:hover { color: var(--jaune); }
ul.pied-contact li { display: flex; align-items: center; gap: 12px; }
ul.pied-contact li::before { content: ""; flex: none; width: 20px; height: 20px; background: var(--ico-j) center / contain no-repeat; }
.wp-block-buttons.pied-cta { margin-top: 26px; }
.pied-cta .wp-block-button.bouton .wp-block-button__link { padding: 12px 20px; }
.wp-block-group.pied-bas {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px;
  padding-top: 24px; padding-bottom: 28px;
  border-top: 1px solid var(--filet-clair);
  font-size: 13px; color: rgba(255, 255, 255, .55);
}
.pied-bas a:hover { color: var(--jaune); }

/* ---------- Pages intérieures ---------- */

/* Offres en alternance (construction) */
.wp-block-group.offres { padding: clamp(90px, 10vw, 150px) 0; }
.wp-block-group.offre { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; gap: clamp(36px, 6vw, 110px); scroll-margin-top: 100px; }
.wp-block-group.offre + .offre { margin-top: clamp(80px, 9vw, 140px); }
.offre-inverse figure.wp-block-image.metier-photo { order: 2; margin: 0 0 22px 22px; }
.offre-inverse figure.wp-block-image.metier-photo::before { inset: 22px 22px -22px -22px; }
.offre p.metier-texte { margin-top: 18px; }

/* Bande jaune : prestations, équipements */
.wp-block-group.prestations { padding: clamp(80px, 9vw, 130px) 0; background: var(--jaune); }
.prestations .surtitre::before { background: var(--noir); }
.wp-block-group.prestations-grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 2px solid var(--noir); }
.wp-block-group.prestation {
  display: grid; grid-template-columns: 58px minmax(0, 1fr); column-gap: 18px; align-content: start;
  padding: 32px 28px 32px 0; border-bottom: 1px solid rgba(0, 0, 0, .25);
}
.prestation::before { content: ""; grid-row: 1 / span 2; width: 58px; height: 58px; background: var(--ico-j) center / 32px no-repeat, var(--noir); }
.wp-block-group.prestation:not(:nth-child(3n + 1)) { padding-left: 28px; border-left: 1px solid rgba(0, 0, 0, .25); }
.prestation .wp-block-heading { margin-bottom: 6px; font-size: 19px; font-weight: 700; line-height: 1.3; }
.prestation p { font-size: 15px; line-height: 1.6; }

/* Cartes à photo (types de piscines) */
.wp-block-group.types { padding: clamp(90px, 10vw, 150px) 0; }
.wp-block-group.cartes-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 2.4vw, 36px); }
.wp-block-group.carte-type { display: flex; flex-direction: column; background: var(--blanc); border-bottom: 4px solid var(--jaune); box-shadow: 0 18px 44px rgba(0, 0, 0, .09); }
figure.wp-block-image.carte-type-photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.wp-block-group.carte-type-corps { flex: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: 28px 28px 32px; }
.carte-type-corps .wp-block-heading { font-size: 24px; font-weight: 700; line-height: 1.25; letter-spacing: -.01em; }
/* WordPress 7 pose la classe wp-block-paragraph sur chaque paragraphe : on exclut nos classes une à une */
.carte-type-corps p:not(.metier-num):not(.lien-fleche) { font-size: 15.5px; color: var(--encre); }
.carte-type-corps p.lien-fleche { display: flex; margin-top: auto; }

/* Engagements, atouts */
.wp-block-group.atouts { padding: clamp(90px, 10vw, 150px) 0; }
.wp-block-group.atouts-grille { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 2.4vw, 36px); }
.wp-block-group.atouts-grille.atouts-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.wp-block-group.atout {
  display: flex; flex-direction: column; align-items: flex-start; gap: 18px;
  padding: clamp(28px, 3vw, 44px);
  border: 1px solid var(--filet); border-top: 4px solid var(--jaune);
}
.atout::before { content: ""; width: 58px; height: 58px; background: var(--ico-j) center / 32px no-repeat, var(--noir); }
.wp-block-heading.atout-titre { font-size: 22px; font-weight: 700; line-height: 1.3; }
.atout p { font-size: 16px; color: var(--encre); }

/* Portail (page MRE) */
.wp-block-group.portail-section { padding: clamp(90px, 10vw, 150px) 0; background: var(--noir); color: var(--blanc); }
.wp-block-group.portail-section-grille { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: center; gap: clamp(40px, 5vw, 88px); }
.wp-block-group.fonction {
  display: grid; grid-template-columns: 48px minmax(0, 1fr); column-gap: 18px; align-content: start;
  padding: 20px 0; border-bottom: 1px solid var(--filet-clair);
}
.wp-block-group.fonction:first-child { padding-top: 0; }
.wp-block-group.fonction:last-child { padding-bottom: 0; border-bottom: 0; }
.fonction::before { content: ""; grid-row: 1 / span 2; width: 48px; height: 48px; background: var(--ico-n) center / 24px no-repeat, var(--jaune); }
.fonction .wp-block-heading { margin-bottom: 2px; font-size: 18px; font-weight: 600; line-height: 1.4; }
.fonction p { font-size: 14.5px; line-height: 1.6; color: var(--encre-claire); }

/* Un compte rendu chaque semaine */
.wp-block-group.hebdo { overflow: hidden; padding: clamp(80px, 9vw, 130px) 0; background: var(--jaune); }
.wp-block-group.hebdo-grille { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); align-items: center; gap: clamp(32px, 5vw, 88px); }
.wp-block-group.hebdo-chiffre { display: flex; align-items: flex-end; gap: 22px; }
p.hebdo-num { font-size: clamp(190px, 23vw, 360px); font-weight: 800; line-height: .74; letter-spacing: -.06em; }
p.hebdo-legende { padding-bottom: 4px; font-size: clamp(20px, 2vw, 28px); font-weight: 700; line-height: 1.2; }
.wp-block-group.hebdo-texte { display: flex; flex-direction: column; gap: 22px; }
.wp-block-heading.hebdo-titre { font-size: clamp(34px, 3.8vw, 58px); font-weight: 800; line-height: 1.05; letter-spacing: -.03em; text-wrap: balance; }
.hebdo-texte > p { max-width: 620px; font-size: 17px; font-weight: 500; }
ul.hebdo-liste { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 28px; padding-top: 24px; border-top: 2px solid var(--noir); }
ul.hebdo-liste li { display: flex; align-items: flex-start; gap: 12px; font-size: 15.5px; font-weight: 600; line-height: 1.5; }
ul.hebdo-liste li::before { content: ""; flex: none; width: 22px; height: 22px; margin-top: 1px; background: var(--i-check-j) center / 16px no-repeat, var(--noir); }

/* Questions fréquentes */
.wp-block-group.faq { padding: 0 0 clamp(90px, 10vw, 150px); }
.wp-block-group.faq-grille {
  display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); align-items: start; gap: clamp(32px, 5vw, 96px);
  padding-top: clamp(64px, 7vw, 100px); border-top: 1px solid var(--filet);
}
.wp-block-group.faq-tete { position: sticky; top: 110px; display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.faq-tete .surtitre { justify-content: flex-start; }
.wp-block-group.faq-liste { border-top: 2px solid var(--noir); }
details.wp-block-details.faq-item { border-bottom: 1px solid var(--filet); }
.faq-item summary {
  display: flex; justify-content: space-between; align-items: center; gap: 24px;
  padding: 24px 0; font-size: 18px; font-weight: 600; line-height: 1.4;
  list-style: none; cursor: pointer;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: "+"; flex: none; display: grid; place-items: center; width: 36px; height: 36px;
  font-size: 22px; font-weight: 500; line-height: 1; background: var(--jaune);
}
.faq-item[open] summary::after { content: "\2212"; background: var(--noir); color: var(--jaune); }
.faq-item p { padding: 0 60px 26px 0; font-size: 16px; color: var(--encre); }

/* Contact rapide */
.wp-block-group.contact-rapide { padding: clamp(70px, 8vw, 120px) 0; }
.wp-block-group.rapide-grille { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); }
.wp-block-group.rapide {
  position: relative;
  display: flex; flex-direction: column; align-items: flex-start; gap: 10px;
  padding: 30px 28px; border: 1px solid var(--filet); border-top: 4px solid var(--jaune);
  transition: background-color .2s, border-color .2s;
}
.rapide::before { content: ""; width: 58px; height: 58px; margin-bottom: 8px; background: var(--ico-j) center / 32px no-repeat, var(--noir); }
p.rapide-label { font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--encre); }
p.rapide-valeur { font-size: 20px; font-weight: 700; line-height: 1.3; }
p.rapide-action { display: flex; margin-top: auto; padding-top: 8px; }
p.rapide-action a { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; border-bottom: 2px solid var(--jaune); }
p.rapide-action a::before { content: ""; position: absolute; inset: 0; }
p.rapide-action a::after {
  content: ""; width: 18px; height: 18px; background-color: currentColor;
  -webkit-mask: var(--i-fleche-n) center / contain no-repeat; mask: var(--i-fleche-n) center / contain no-repeat;
  transition: transform .2s;
}
.rapide:hover { background: var(--jaune); border-color: var(--jaune); }
.rapide:hover p.rapide-label { color: rgba(0, 0, 0, .7); }
.rapide:hover p.rapide-action a { border-color: var(--noir); }
.rapide:hover p.rapide-action a::after { transform: translateX(4px); }

/* Texte légal */
.wp-block-group.texte-legal { padding: clamp(70px, 8vw, 120px) 0; }
.texte-legal-corps.enveloppe { max-width: calc(860px + 2 * var(--gouttiere)); }
.texte-legal-corps .wp-block-heading { margin-top: 44px; font-size: 24px; font-weight: 700; line-height: 1.3; }
.texte-legal-corps .wp-block-heading:first-child { margin-top: 0; }
.texte-legal-corps p { margin-top: 12px; font-size: 16px; color: var(--encre); }
.texte-legal-corps p a { color: var(--noir); border-bottom: 2px solid var(--jaune); }
.texte-legal-corps > .texte-legal-cookies { margin-top: 44px; scroll-margin-top: 120px; }

/* Bandeau cookies (mesure d'audience) : refuser est aussi simple qu'accepter */
.cookies {
  position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 1000;
  display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px;
  max-width: 620px; padding: 18px 20px;
  background: var(--noir); color: var(--blanc); border-top: 4px solid var(--jaune);
  box-shadow: 0 12px 40px rgba(0, 0, 0, .35);
}
.cookies[hidden] { display: none; }
.cookies p { flex: 1 1 300px; margin: 0; font-size: 14px; line-height: 1.5; color: var(--blanc); }
.cookies p a { color: var(--jaune); border-bottom: 1px solid currentColor; }
.cookies-boutons { display: flex; gap: 10px; }
.cookies button { padding: 10px 18px; font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.2; cursor: pointer; border: 2px solid var(--jaune); }
.cookies .cookies-refuser { background: transparent; color: var(--blanc); border-color: rgba(255, 255, 255, .55); }
.cookies .cookies-refuser:hover { border-color: var(--blanc); }
.cookies .cookies-accepter { background: var(--jaune); color: var(--noir); }
.cookies .cookies-accepter:hover { background: var(--blanc); border-color: var(--blanc); }

/* Page 404 et gabarit simple */
.page-404 { display: flex; align-items: center; min-height: 80vh; padding: calc(var(--entete) + 60px) 0 90px; background: var(--noir); color: var(--blanc); }
.page-404 .enveloppe > * { max-width: 760px; }
.page-simple { padding: calc(var(--entete) + 60px) 0 90px; }

/* ---------- Menu replié, tablette ---------- */

@media (max-width: 1180px) {
  .wp-block-group.services-barre { grid-template-columns: repeat(2, 1fr); }
  .service:nth-child(3)::after { display: none; }
  .wp-block-group.service:nth-child(n + 3) { border-top: 1px solid var(--filet); }
  .wp-block-group.etapes { grid-template-columns: repeat(3, 1fr); row-gap: 56px; }
  .etapes::before { display: none; }
  .wp-block-group.contact { grid-template-columns: minmax(0, 1fr) minmax(0, 520px); padding-left: var(--gouttiere); }
  figure.wp-block-image.contact-visuel { display: none; }
  .wp-block-group.pied-grille { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .wp-block-group.pied-marque { grid-column: 1 / -1; }
  .wp-block-group.galerie { grid-template-columns: repeat(2, 1fr); }
  .wp-block-group.mre-grille, .wp-block-group.portail-section-grille { grid-template-columns: 1fr; }
  .wp-block-group.mre-visuel { margin-top: 0; max-width: 760px; }
  .wp-block-group.portail-section-visuel { max-width: 760px; }
  .wp-block-group.prestations-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wp-block-group.prestation:not(:nth-child(3n + 1)) { padding-left: 0; border-left: 0; }
  .wp-block-group.prestation:nth-child(even) { padding-left: 28px; border-left: 1px solid rgba(0, 0, 0, .25); }
  .wp-block-group.cartes-3 { grid-template-columns: 1fr 1fr; }
  .wp-block-group.atouts-grille.atouts-4, .wp-block-group.rapide-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- Mobile ---------- */

@media (max-width: 860px) {
  :root { --entete: 76px; }
  .entete .entete-logo img { height: 40px; }
  .wp-block-group.hero { min-height: 0; }
  .wp-block-group.hero-contenu { padding-top: calc(var(--entete) + 64px); padding-bottom: 140px; }
  figure.wp-block-image.hero-photo { width: 100%; -webkit-mask-image: none; mask-image: none; }
  figure.wp-block-image.hero-photo img { object-position: 62% 30%; }
  .hero::before, .page-hero::before {
    background:
      linear-gradient(90deg, rgba(0,0,0,.9) 0%, rgba(0,0,0,.7) 60%, rgba(0,0,0,.35) 100%),
      linear-gradient(180deg, rgba(0,0,0,.6) 0, rgba(0,0,0,0) 30%);
  }
  p.hero-texte { font-size: 16px; }
  .hero .wp-block-buttons.boutons > .wp-block-button { flex: 1 1 100%; }
  .hero .wp-block-button.bouton .wp-block-button__link { width: 100%; }
  .wp-block-group.hero-mre { margin-top: 28px; padding: 12px 14px 12px 12px; gap: 14px; }
  .hero-mre::before { width: 44px; height: 44px; }
  p.hero-mre-texte a { font-size: 14px; }
  .wp-block-group.services-zone { margin-top: -84px; }
  .wp-block-group.services-barre { grid-template-columns: 1fr; }
  .wp-block-group.service { padding: 24px 22px; }
  .service::after { display: none; }
  .wp-block-group.service + .service { border-top: 1px solid var(--filet); }
  .wp-block-group.metiers-grille { grid-template-columns: 1fr; row-gap: 72px; }
  ul.liste-check { grid-template-columns: 1fr; }
  .titre-section.titre-filets::before, .titre-section.titre-filets::after { display: none; }
  .wp-block-group.chiffres-tete { grid-template-columns: 1fr; }
  .wp-block-group.chiffres-grille { grid-template-columns: 1fr 1fr; }
  .wp-block-group.chiffre, .wp-block-group.chiffre + .chiffre { padding: 30px 16px 30px 0; border-left: 0; }
  .wp-block-group.chiffre:nth-child(even) { padding-left: 20px; border-left: 1px solid rgba(0, 0, 0, .28); }
  .wp-block-group.chiffre:nth-child(n + 3) { border-top: 1px solid rgba(0, 0, 0, .28); }
  .wp-block-group.vedette { grid-template-columns: 1fr; min-height: 0; }
  figure.wp-block-image.vedette-photo { min-height: 0; aspect-ratio: 4 / 3; }
  figure.wp-block-image.vedette-badge { left: auto; right: var(--gouttiere); top: 0; transform: translateY(-50%); }
  .wp-block-group.vedette-panneau { padding-top: 72px; }
  .vedette-fiche > .wp-block-group + .wp-block-group { padding-left: 14px; }
  p.fiche-valeur { font-size: 18px; }
  .wp-block-group.etapes { grid-template-columns: 1fr; row-gap: 0; }
  .etapes::before { display: block; top: 0; bottom: 0; left: 43px; right: auto; border-top: 0; border-left: 2px dashed rgba(246, 186, 4, .6); }
  .methode-claire .etapes::before { border-left-color: rgba(0, 0, 0, .3); }
  .wp-block-group.etape { display: grid; grid-template-columns: 88px 1fr; column-gap: 22px; align-items: start; text-align: left; padding-bottom: 36px; }
  .etape::before { grid-row: 1 / span 3; }
  .etape > p.etape-num { margin-top: 8px; }
  .wp-block-group.galerie { grid-template-columns: 1fr; }
  .wp-block-group.contact { grid-template-columns: 1fr; padding-inline: var(--gouttiere); }
  .wp-block-group.contact-texte { padding-bottom: 40px; }
  .wp-block-group.contact > .wp-block-group.formulaire { margin-top: 0; margin-bottom: 72px; }
  .formulaire .champs-duo { grid-template-columns: 1fr; }
  .wp-block-group.pied-grille { grid-template-columns: 1fr 1fr; }
  .wp-block-group.pied-col:last-child { grid-column: 1 / -1; }
  .wp-block-group.portail-scene { padding: 0 0 64px 0; }
  .wp-block-group.portail-corps { grid-template-columns: 1fr; }
  .wp-block-group.portail-menu { display: none; }
  .wp-block-group.portail-contenu { padding: 18px 16px 20px; }
  ul.portail-phases li { font-size: 10.5px; }
  p.portail-notif { left: 12px; width: calc(100% - 24px); }
  .wp-block-group.atouts-grille, .wp-block-group.atouts-grille.atouts-4 { grid-template-columns: 1fr; }
  .wp-block-group.hebdo-grille { grid-template-columns: 1fr; }
  p.hebdo-num { font-size: 180px; }
  ul.hebdo-liste { grid-template-columns: 1fr; }
  .wp-block-group.faq-grille { grid-template-columns: 1fr; }
  .wp-block-group.faq-tete { position: static; }
  .faq-item summary { font-size: 16px; }
  .faq-item p { padding-right: 0; }
  .wp-block-group.offre { grid-template-columns: 1fr; row-gap: 40px; }
  .offre-inverse figure.wp-block-image.metier-photo { order: 0; margin: 0 22px 22px 0; }
  .offre-inverse figure.wp-block-image.metier-photo::before { inset: 22px -22px -22px 22px; }
  .wp-block-group.prestations-grille, .wp-block-group.cartes-3, .wp-block-group.rapide-grille { grid-template-columns: 1fr; }
  .wp-block-group.prestation, .wp-block-group.prestation:nth-child(even) { padding: 24px 0; border-left: 0; }
}

@media (max-width: 782px) {
  .admin-bar .wp-block-group.entete { top: 46px; }
}
