/* Styles propres au site PHP (messages du formulaire, page 404) */
.cg-message{
    margin:0 0 24px;padding:16px 20px;border-radius:8px;
    font-family:"Montserrat",sans-serif;font-size:15px;line-height:1.5;
}
.cg-message p{margin:0 0 8px}
.cg-message ul{margin:0;padding-left:20px}
.cg-message--succes{background:#e8f6ed;border:1px solid #29a05a;color:#1c6b3c}
.cg-message--erreur{background:#fdecec;border:1px solid #d33;color:#992020}

.cg-404{
    max-width:720px;margin:0 auto;padding:120px 20px 140px;text-align:center;
    font-family:"Montserrat",sans-serif;
}
.cg-404 h1{font-size:64px;line-height:1;margin:0 0 16px}
.cg-404 p{font-size:18px;line-height:1.6;margin:0 0 32px}
.cg-404 .cg-404__lien{
    display:inline-block;padding:14px 28px;border-radius:40px;
    background:#2B5716;color:#fff;text-decoration:none;font-weight:600;
}
.cg-404 .cg-404__lien:hover{opacity:.88}

/* Titres rétrogradés de H1 en H2 pour le référencement : la taille visuelle
   d'origine est conservée (les règles Elementor par élément restent prioritaires) */
.cg-titre-large{font-size:2.5rem}

/* Formulaire de contact : champ anti-spam hors écran */
.cg-piege{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}

/* Page Mentions légales */
.cg-mentions{max-width:820px;margin:0 auto;text-align:left}
.cg-mentions h3{font-family:"DM Serif Display",serif;font-weight:400;font-size:24px;line-height:1.3;color:#2B5716;margin:36px 0 10px}
.cg-mentions h3:first-child{margin-top:8px}

/* ---- Ajouts : page Témoignages, liens vers les avis, Instagram ---- */
.cg-section{display:block;padding:60px 20px}
.cg-section__inner{max-width:1140px;margin:0 auto}
.cg-titre{font-family:var(--e-global-typography-746d6f3-font-family),serif!important;
  font-size:var(--e-global-typography-746d6f3-font-size,35px)!important;font-weight:400!important;
  line-height:1.2;color:var(--e-global-color-accent,#2B5716)!important;margin:0 0 16px}
.cg-section p{font-family:"Montserrat",sans-serif;font-size:15px;line-height:1.6;color:var(--e-global-color-text,#464646)}
.cg-section--avis{text-align:center;background:var(--e-global-color-secondary,#E1DBCD)}
.cg-section--avis .cg-section__inner{max-width:720px}
.cg-section--instagram{text-align:center;padding-top:20px}
.cg-section--instagram .cg-section__inner{max-width:720px}
.elementor-button.cg-bouton{display:inline-block;background:var(--e-global-color-accent,#2B5716);color:#F7F5F1;
  padding:12px 24px;font-family:"Montserrat",sans-serif;font-size:15px;font-weight:500;text-decoration:none}
.elementor-button.cg-bouton:hover{opacity:.88;color:#F7F5F1}
.cg-bouton-accueil{text-align:center;margin-top:24px;width:100%}
.cg-section .elementor-widget{margin-bottom:12px}
.cg-reseau{margin:16px 0}
.cg-reseau__lien{display:inline-flex;align-items:center;gap:10px;color:var(--e-global-color-accent,#2B5716);
  font-family:"Montserrat",sans-serif;font-weight:600;font-size:15px;text-decoration:none}
.cg-reseau__lien:hover span{text-decoration:underline}
.cg-section--instagram .cg-reseau__lien,.cg-section--avis .cg-reseau__lien{border:1px solid currentColor;padding:10px 20px}
.cg-section--temoignages{padding-top:0}
.cg-temoignages{columns:2 420px;column-gap:24px}
.cg-temoignage{break-inside:avoid;display:inline-block;width:100%;margin:0 0 24px;
  background:var(--e-global-color-d34dd5a,#2B571620);padding:28px 28px 22px}
.cg-temoignage__texte{margin:0 0 16px;padding:0;border:0;font-style:normal}
.cg-temoignage__texte p{margin:0 0 10px;font-size:14px}
.cg-temoignage__texte::before{content:"“";display:block;font-family:"DM Serif Display",serif;font-size:56px;
  line-height:.8;color:var(--e-global-color-accent,#2B5716)}
.cg-temoignage .cg-temoignage__nom{margin:0;font-weight:600;color:var(--e-global-color-accent,#2B5716)}
.cg-temoignage .cg-temoignage__presta{margin:0;font-size:13px;color:var(--e-global-color-accent,#2B5716)}
@media (max-width:767px){.cg-section{padding:40px 16px}.cg-temoignage{padding:22px 20px 18px}}
