.landing-header { border-bottom: 1px solid #E1E5D9; background: #fff; }
.landing-header__inner { max-width: 1100px; margin: 0 auto; padding: 14px 22px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.landing-header__logo img { height: 64px; width: auto; display: block; }
.landing-header__phone img { height: 52px; width: auto; display: block; }
@media (max-width: 600px) {
  .landing-header__logo img { height: 50px; }
  .landing-header__phone img { height: 40px; }
}

.landing { background: #fff; color: #707070; font-weight: 300; }
.landing section { max-width: none; }

.lp-kicker { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #4E7E1C; font-weight: 900; }
.lp-h2 { font-size: 20px; font-weight: 900; color: #1B3321; margin: 0 0 16px; }
.lp-lbl { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: #4E7E1C; font-weight: 900; margin-bottom: 18px; }

.lp-btn { display: inline-block; background: #87C846; color: #fff; font-weight: 900; text-decoration: none; padding: 14px 28px; border-radius: 2px; font-size: 15px; margin-top: 22px; transition: background .2s ease; }
.lp-btn:hover { background: #4E7E1C; }
.lp-btn--line { background: transparent; color: #4E7E1C; border: 1.5px solid #87C846; }
.lp-btn--line:hover { background: #87C846; color: #fff; }

.lp-hero { display: grid; grid-template-columns: 1.05fr .95fr; }
@media (max-width: 767px) { .lp-hero { grid-template-columns: 1fr; } }
.lp-hero__pic { background: #eef1ea; min-height: 600px; background-size: cover; background-position: center; }
.lp-hero__panel { padding: 44px 40px; display: flex; flex-direction: column; justify-content: center; position: relative; }
.lp-hero__panel::before { content: ""; position: absolute; left: 0; top: 40px; bottom: 40px; width: 4px; background: #87C846; }
.lp-hero__title { font-size: clamp(24px, 3.6vw, 34px); font-weight: 900; color: #1B3321; margin: 14px 0 0; line-height: 1.1; }
.lp-hero__sub { margin: 14px 0 0; color: #707070; font-size: 16px; max-width: 42ch; }

.lp-sec { padding: 46px max(40px, calc((100% - 1200px) / 2)); }
@media (max-width: 767px) { .lp-sec { padding: 30px 24px; } }
.lp-sec--band { background: #F1F3ED; border-top: 1px solid #E1E5D9; border-bottom: 1px solid #E1E5D9; max-width: none !important; }


.lp-cols3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
@media (max-width: 767px) { .lp-cols3 { grid-template-columns: 1fr; gap: 20px; } }

.lp-stat__num { font-size: 30px; font-weight: 900; color: #4E7E1C; line-height: 1; }
.lp-stat__cap { font-size: 14px; color: #707070; margin-top: 8px; }

.lp-check { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.lp-check li { position: relative; padding-left: 24px; font-size: 16px; color: #707070; }
.lp-check li::before { content: ""; position: absolute; left: 0; top: 9px; width: 9px; height: 9px; background: #87C846; border-radius: 1px; }
.lp-check li b { color: #1B3321; font-weight: 700; }

.lp-split { display: grid; grid-template-columns: 1fr .9fr; }
@media (max-width: 767px) { .lp-split { grid-template-columns: 1fr; } }
.lp-split__l { padding: 44px 40px; position: relative; }
.lp-split__l::before { content: ""; position: absolute; left: 0; top: 40px; bottom: 40px; width: 4px; background: #87C846; }
.lp-split__title { font-size: 26px; font-weight: 900; color: #1B3321; max-width: 16ch; line-height: 1.1; margin-top: 14px; }
.lp-split__sub { color: #707070; font-size: 16px; margin-top: 14px; max-width: 34ch; }
.lp-split__img { max-width: 100%; margin-top: 20px; border: 1px solid #E1E5D9; border-radius: 2px; }

.lp-formcard { padding: 40px; background: #F1F3ED; border-left: 1px solid #E1E5D9; }
@media (max-width: 767px) { .lp-formcard { border-left: 0; border-top: 1px solid #E1E5D9; padding: 30px 24px; } }
.lp-formcard__t { font-weight: 900; color: #1B3321; font-size: 18px; }
.lp-formcard__note { color: #8A927F; font-size: 13px; margin: 4px 0 18px; }
.lp-formcard__foot { text-align: center; font-size: 12px; color: #8A927F; margin-top: 12px; }
.lp-formcard .wpcf7 input[type="text"], .lp-formcard .wpcf7 input[type="email"], .lp-formcard .wpcf7 textarea { width: 100%; background: #fff; border: 1px solid #D3DAC7; border-radius: 2px; padding: 11px 13px; margin-bottom: 10px; font-family: inherit; font-size: 14px; }
.lp-formcard .wpcf7 input[type="submit"] { width: 100%; background: #87C846; color: #fff; font-weight: 900; border: none; border-radius: 2px; padding: 14px; font-size: 15px; cursor: pointer; }
.lp-formcard .wpcf7 input[type="submit"]:hover { background: #4E7E1C; }

.lp-cover { border: 1px solid #D3DAC7; border-radius: 2px; padding: 18px; height: 160px; display: flex; flex-direction: column; justify-content: space-between; background: #fff; margin-bottom: 18px; }
.lp-cover__k { font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: #4E7E1C; font-weight: 900; }
.lp-cover__t { font-size: 19px; font-weight: 900; color: #1B3321; line-height: 1.14; }
.lp-cover__l { height: 5px; width: 46px; background: #87C846; }

.lp-logos { display: flex; flex-wrap: wrap; gap: 30px; align-items: center; }
.lp-logos .lp-logo-txt { font-weight: 900; color: #8A927F; font-size: 16px; letter-spacing: .04em; }
.lp-logos .lp-logo-img { max-height: 44px; width: auto; }

.lp-quote { margin: 0; font-size: 18px; color: #1B3321; font-style: italic; border-left: 3px solid #87C846; padding-left: 16px; line-height: 1.5; max-width: 60ch; }
.lp-quote__who { display: block; font-style: normal; font-weight: 700; color: #707070; margin-top: 10px; font-size: 14px; }

.lp-final { padding: 50px max(40px, calc((100% - 1200px) / 2)); text-align: center; background: #F1F3ED; border-top: 1px solid #E1E5D9; }
@media (max-width: 767px) { .lp-final { padding: 34px 24px; } }
.lp-final__h { font-size: 20px; font-weight: 900; color: #1B3321; }
.lp-final__tel { margin: 14px 0; color: #707070; }
.lp-final__num { font-weight: 900; color: #4E7E1C; text-decoration: none; }

.landing-footer { border-top: 1px solid #E1E5D9; background: #fff; padding: 24px; }
.landing-footer__inner { max-width: 1100px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.landing-footer__sign { font-size: 12px; color: #8A927F; }
.landing-footer__legal { display: flex; gap: 16px; }
.landing-footer__legal a { font-size: 12px; color: #4E7E1C; text-decoration: none; text-transform: uppercase; letter-spacing: .04em; }

.lp-cas__bar { height: 6px; width: 240px; max-width: 60%; background: #87C846; margin-bottom: 34px; }
.lp-cas__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px 30px; }
@media (max-width: 900px) { .lp-cas__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .lp-cas__grid { grid-template-columns: 1fr; } }
.lp-cas__item { display: flex; flex-direction: column; align-items: flex-start; }
.lp-cas__img { width: 100%; height: 160px; object-fit: cover; border-radius: 2px; margin-bottom: 16px; }
.lp-cas__title { font-size: 22px; font-weight: 900; color: #87C846; line-height: 1.12; margin: 0 0 12px; }
.lp-cas__txt { font-size: 15px; color: #707070; margin: 0 0 18px; }
.lp-cas__link { margin-top: auto; display: inline-block; border: 1px solid #87C846; color: #87C846; font-weight: 900; text-decoration: none; padding: 11px 20px; border-radius: 2px; font-size: 15px; transition: all .2s ease; }
.lp-cas__link:hover { background: #87C846; color: #fff; }

.navbar--landing #barre { justify-content: flex-start; }
.navbar--landing .navbar__logo { margin-right: auto; }

.navbar--landing { position: static; }

.lp-faq__title { font-size: 22px; font-weight: 900; color: #1B3321; margin: 0 0 20px; }
.lp-faq__item { border-bottom: 1px solid #E1E5D9; }
.lp-faq__item summary { padding: 16px 0; font-weight: 900; color: #1B3321; font-size: 16px; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.lp-faq__item summary::-webkit-details-marker { display: none; }
.lp-faq__item summary::after { content: "+"; color: #87C846; font-weight: 900; font-size: 22px; margin-left: 16px; }
.lp-faq__item[open] summary::after { content: "–"; }
.lp-faq__item[open] summary { color: #4E7E1C; }
.lp-faq__item .lp-faq__answer { padding: 0 0 20px; font-size: 15px; color: #707070; }

/* Form dans le corps (centré) */
.lp-formbody { padding: 50px max(40px, calc((100% - 1200px) / 2)); }
.lp-formbody__inner { max-width: 720px; margin: 0 auto; }
.lp-formbody__title { font-size: 24px; font-weight: 900; color: #1B3321; margin: 12px 0 0; }
.lp-formbody__sub { color: #707070; font-size: 16px; margin: 12px 0 0; }
.lp-formbody__form { margin-top: 24px; }

/* Image (gauche) + form (droite) */
.lp-formsplit { display: grid; grid-template-columns: 1.05fr .95fr; }
@media (max-width: 767px) { .lp-formsplit { grid-template-columns: 1fr; } }
.lp-formsplit__pic { background: #eef1ea; min-height: 600px; background-size: cover; background-position: center; }
.lp-formsplit__form { padding: 44px max(40px, 6%); background: #F1F3ED; display: flex; flex-direction: column; justify-content: center; }
.lp-formsplit__title { font-size: 24px; font-weight: 900; color: #1B3321; margin: 12px 0 20px; line-height: 1.1; }
.lp-formsplit__inner { margin-top: 4px; }

/* Styling générique des champs Gravity Forms + CF7 dans les cartes landing */
.lp-formbody .gform_wrapper input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.lp-formbody .gform_wrapper textarea, .lp-formbody .gform_wrapper select,
.lp-formsplit .gform_wrapper input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.lp-formsplit .gform_wrapper textarea, .lp-formsplit .gform_wrapper select,
.lp-formbody .wpcf7 input:not([type=submit]), .lp-formbody .wpcf7 textarea, .lp-formbody .wpcf7 select,
.lp-formsplit .wpcf7 input:not([type=submit]), .lp-formsplit .wpcf7 textarea, .lp-formsplit .wpcf7 select {
  width: 100%; background: #fff; border: 1px solid #D3DAC7; border-radius: 2px; padding: 11px 13px; margin-bottom: 10px; font-family: inherit; font-size: 14px;
}
.lp-formbody .gform_wrapper .gform_footer input[type=submit], .lp-formbody .wpcf7 input[type=submit],
.lp-formsplit .gform_wrapper .gform_footer input[type=submit], .lp-formsplit .wpcf7 input[type=submit],
.lp-formbody .gform_wrapper .gform_footer button, .lp-formsplit .gform_wrapper .gform_footer button {
  background: #87C846; color: #fff; font-weight: 900; border: none; border-radius: 2px; padding: 13px 26px; font-size: 15px; cursor: pointer; font-family: inherit;
}
.lp-formbody .gform_wrapper label, .lp-formsplit .gform_wrapper label,
.lp-formbody .wpcf7 label, .lp-formsplit .wpcf7 label { font-size: 13px; color: #1B3321; font-weight: 700; }

/* Mobile : le bloc CTA / formulaire avant l'image */
@media (max-width: 767px) {
  .lp-hero__panel { order: 1; }
  .lp-hero__pic { order: 2; min-height: 300px; }
  .lp-formsplit__form { order: 1; }
  .lp-formsplit__pic { order: 2; min-height: 300px; }
  .lp-hero__panel::before, .lp-split__l::before { top: 24px; bottom: 24px; }
}

/* Accessibilité : focus visible sur les éléments interactifs de la landing */
.landing a:focus-visible, .lp-btn:focus-visible, .lp-cas__link:focus-visible,
.lp-faq__item summary:focus-visible, .lp-sticky a:focus-visible,
.landing-header a:focus-visible, .landing-footer a:focus-visible {
  outline: 3px solid #1B3321; outline-offset: 2px; border-radius: 2px;
}

/* Barre CTA collante (conversion) — surtout mobile */
.lp-sticky { display: none; }
@media (max-width: 900px) {
  .lp-sticky {
    display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 999;
    background: #fff; border-top: 1px solid #D3DAC7; box-shadow: 0 -4px 18px rgba(27,51,33,.12);
    padding: 8px; gap: 8px;
  }
  .lp-sticky__tel {
    display: flex; align-items: center; justify-content: center; gap: 8px; flex: 0 0 auto;
    padding: 12px 16px; border: 1.5px solid #87C846; border-radius: 2px;
    color: #4E7E1C; font-weight: 900; text-decoration: none; font-size: 15px;
  }
  .lp-sticky__ico { font-size: 18px; }
  .lp-sticky__num { display: none; }
  .lp-sticky__btn {
    flex: 1 1 auto; text-align: center; padding: 13px 16px; background: #87C846;
    color: #fff; font-weight: 900; text-decoration: none; border-radius: 2px; font-size: 15px;
  }
  .landing-footer { padding-bottom: 84px; } /* évite que la barre masque le footer */
}
@media (max-width: 380px) { .lp-sticky__num { display: none; } }
