.elementor-170 .elementor-element.elementor-element-dfa7e6a iframe{height:300px;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-5a9edaf *//* ==========================================================================
   PAGE CONTACT — HERO PREMIUM
   Campourcy · Plus Jakarta Sans · Préfixe cpch-
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

:root {
  --cpch-forest-deep : #1A2F0D;
  --cpch-forest      : #2D5016;
  --cpch-ocre        : #BA7517;
  --cpch-white       : #FFFFFF;
  --cpch-ease        : cubic-bezier(0.25, 1, 0.5, 1);
}

/* ==========================================================================
   SECTION
   ========================================================================== */

.cpch-section {
  position: relative !important;
  overflow: hidden !important;
  background-color: var(--cpch-forest-deep) !important;
  padding: 140px 32px 100px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  min-height: 72vh !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

/* ==========================================================================
   FOND ANIMÉ
   ========================================================================== */

.cpch-bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

.cpch-bg-svg {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

/* Arcs : rotation très lente, décalée par rapport à la FAQ */
.cpch-arc { transform-origin: 200px 600px !important; }

.cpch-arc--1 { animation: cpchRotate 55s linear infinite reverse !important; }
.cpch-arc--2 { animation: cpchRotate 75s linear infinite !important; }
.cpch-arc--3 { animation: cpchRotate 45s linear infinite reverse !important; }
.cpch-arc--4 { animation: cpchRotate 65s linear infinite !important; }

@keyframes cpchRotate {
  from { transform: rotate(0deg);   }
  to   { transform: rotate(360deg); }
}

/* Orbe ocre : à gauche cette fois -->  */
.cpch-orb {
  position: absolute !important;
  bottom: -60px !important;
  left: 8% !important;
  width: 380px !important;
  height: 380px !important;
  background: radial-gradient(circle, rgba(186,117,23,0.16) 0%, transparent 70%) !important;
  border-radius: 50% !important;
  filter: blur(50px) !important;
  animation: cpchOrbFloat 14s ease-in-out infinite !important;
}

@keyframes cpchOrbFloat {
  0%, 100% { transform: translateY(0)     scale(1);    opacity: 0.75; }
  50%       { transform: translateY(-18px) scale(1.08); opacity: 1;   }
}

/* ==========================================================================
   CONTENU
   ========================================================================== */

.cpch-inner {
  position: relative !important;
  z-index: 2 !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 32px !important;
}

/* --- Eyebrow --- */
.cpch-eyebrow {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.14em !important;
  color: var(--cpch-ocre) !important;
  margin: 0 !important;
}

.cpch-eyebrow__dash {
  display: block !important;
  width: 28px !important;
  height: 1.5px !important;
  background: var(--cpch-ocre) !important;
  flex-shrink: 0 !important;
}

/* --- Titre clip-path reveal (identique FAQ) --- */
.cpch-title {
  margin: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  column-gap: 0.28em !important;
  row-gap: 0 !important;
  line-height: 1 !important;
}

.cpch-word {
  display: block !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 800 !important;
  font-size: clamp(3.2rem, 8.5vw, 7.8rem) !important;
  letter-spacing: -0.03em !important;
  line-height: 1.0 !important;
  color: var(--cpch-white) !important;
  clip-path: inset(0 0 100% 0) !important;
  transform: translateY(20px) !important;
  transition: clip-path 0s, transform 0s !important;
}

.cpch-word--accent {
  color: var(--cpch-ocre) !important;
}

.cpch-word.cpch-anim--in {
  clip-path: inset(0 0 0% 0) !important;
  transform: translateY(0) !important;
  transition: clip-path 0.9s var(--cpch-ease),
              transform 0.9s var(--cpch-ease) !important;
}

/* --- Pied : contacts + horaires --- */
.cpch-foot {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 36px !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  padding-top: 36px !important;
  margin-top: 8px !important;
}

/* --- Cartes de contact direct --- */
.cpch-contacts {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.cpch-contact-card {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  text-decoration: none !important;
  padding: 16px 20px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  background: rgba(255,255,255,0.04) !important;
  transition: background 0.3s ease,
              border-color 0.3s ease,
              transform 0.35s var(--cpch-ease) !important;
}

.cpch-contact-card:hover {
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(186,117,23,0.35) !important;
  transform: translateX(6px) !important;
}

.cpch-contact-card__ico {
  width: 38px !important;
  height: 38px !important;
  flex-shrink: 0 !important;
  border-radius: 8px !important;
  background: rgba(186,117,23,0.12) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--cpch-ocre) !important;
  transition: background 0.3s ease !important;
}

.cpch-contact-card:hover .cpch-contact-card__ico {
  background: var(--cpch-ocre) !important;
  color: var(--cpch-white) !important;
}

.cpch-contact-card__ico svg {
  width: 18px !important;
  height: 18px !important;
}

.cpch-contact-card__body {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

.cpch-contact-card__body strong {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: var(--cpch-white) !important;
  letter-spacing: -0.01em !important;
}

.cpch-contact-card__body span {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: rgba(255,255,255,0.3) !important;
}

/* --- Horaires --- */
.cpch-hours {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  border-left: 2px solid rgba(186,117,23,0.4) !important;
  padding-left: 24px !important;
  align-self: start !important;
}

.cpch-hours__label {
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: var(--cpch-ocre) !important;
  margin: 0 0 8px 0 !important;
}

.cpch-hours__line {
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,0.55) !important;
  margin: 0 !important;
}

.cpch-hours__line--main {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--cpch-white) !important;
  letter-spacing: -0.01em !important;
}

.cpch-hours__note {
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,0.3) !important;
  margin: 4px 0 0 0 !important;
}

/* ==========================================================================
   FLÈCHE DE SCROLL
   ========================================================================== */

.cpch-scroll-hint {
  position: absolute !important;
  bottom: 36px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.cpch-scroll-hint__line {
  width: 1px !important;
  height: 48px !important;
  background: linear-gradient(to bottom, rgba(255,255,255,0.4), transparent) !important;
  animation: cpchScrollDrop 2s ease-in-out infinite !important;
}

@keyframes cpchScrollDrop {
  0%   { transform: scaleY(0); transform-origin: top;    opacity: 0; }
  40%  { transform: scaleY(1); transform-origin: top;    opacity: 1; }
  60%  { transform: scaleY(1); transform-origin: bottom; opacity: 1; }
  100% { transform: scaleY(0); transform-origin: bottom; opacity: 0; }
}

/* ==========================================================================
   ANIMATIONS D'ENTRÉE
   ========================================================================== */

.cpch-anim:not(.cpch-word) {
  opacity: 0 !important;
  transform: translateY(16px) !important;
  transition: opacity 0.7s var(--cpch-ease),
              transform 0.7s var(--cpch-ease) !important;
}

.cpch-anim--1 { transition-delay: 0.05s !important; }
.cpch-anim--2 { transition-delay: 0.2s  !important; }
.cpch-anim--3 { transition-delay: 0.45s !important; }
.cpch-anim--4 { transition-delay: 0.7s  !important; }
.cpch-anim--5 { transition-delay: 1.1s  !important; }

.cpch-anim--in:not(.cpch-word) {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

@media (prefers-reduced-motion: reduce) {
  .cpch-arc, .cpch-orb, .cpch-scroll-hint__line { animation: none !important; }
  .cpch-anim:not(.cpch-word) { opacity: 1 !important; transform: none !important; transition: none !important; }
  .cpch-word { clip-path: none !important; transform: none !important; transition: none !important; }
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (min-width: 860px) {
  .cpch-foot {
    grid-template-columns: 1fr auto !important;
    gap: 60px !important;
    align-items: start !important;
  }

  .cpch-contacts {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
  }

  .cpch-contact-card {
    flex: 1 !important;
    min-width: 200px !important;
  }
}

@media (max-width: 480px) {
  .cpch-section {
    padding: 120px 24px 80px !important;
    min-height: 80vh !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-5dffcc3 *//* ==========================================================================
   PAGE CONTACT — FORMULAIRE
   Campourcy · Plus Jakarta Sans · Préfixe cpcf-
   Compatible Contact Form 7 (cible aussi les classes wpcf7-*)
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

:root {
  --cpcf-forest  : #2D5016;
  --cpcf-ocre    : #BA7517;
  --cpcf-bg      : #F5F3EE;
  --cpcf-white   : #FFFFFF;
  --cpcf-ink     : #1A1A18;
  --cpcf-muted   : rgba(26, 26, 24, 0.45);
  --cpcf-border  : rgba(26, 26, 24, 0.12);
  --cpcf-focus   : rgba(45, 80, 22, 0.18);
  --cpcf-ease    : cubic-bezier(0.25, 1, 0.5, 1);
}

/* ==========================================================================
   SECTION
   ========================================================================== */

.cpcf-section {
  background-color: var(--cpcf-bg) !important;
  padding: 80px 32px 120px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}

.cpcf-inner {
  max-width: 1100px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 64px !important;
  align-items: start !important;
}

/* ==========================================================================
   COLONNE GAUCHE (contexte)
   ========================================================================== */

.cpcf-aside {
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
}

.cpcf-aside__eyebrow {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.14em !important;
  color: var(--cpcf-ocre) !important;
  margin: 0 !important;
}

.cpcf-aside__dash {
  display: block !important;
  width: 24px !important;
  height: 1.5px !important;
  background: var(--cpcf-ocre) !important;
  flex-shrink: 0 !important;
}

.cpcf-aside__title {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 800 !important;
  font-size: clamp(2.2rem, 4vw, 3.2rem) !important;
  letter-spacing: -0.03em !important;
  line-height: 1.05 !important;
  color: var(--cpcf-ink) !important;
  margin: 0 !important;
}

.cpcf-aside__desc {
  font-size: 0.97rem !important;
  line-height: 1.7 !important;
  color: var(--cpcf-ink) !important;
  opacity: 0.6 !important;
  margin: 0 !important;
  max-width: 380px !important;
}

.cpcf-promises {
  list-style: none !important;
  margin: 8px 0 0 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.cpcf-promise {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  color: var(--cpcf-ink) !important;
  opacity: 0.75 !important;
}

.cpcf-promise__dot {
  display: block !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background-color: var(--cpcf-ocre) !important;
  flex-shrink: 0 !important;
}

.cpcf-address {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  color: var(--cpcf-muted) !important;
  line-height: 1.6 !important;
  margin-top: 8px !important;
}

.cpcf-address svg {
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
  margin-top: 2px !important;
  color: var(--cpcf-ocre) !important;
}

/* ==========================================================================
   COLONNE DROITE (formulaire)
   ========================================================================== */

.cpcf-form-wrap {
  background: var(--cpcf-white) !important;
  border-radius: 16px !important;
  padding: 48px !important;
  box-shadow: 0 20px 60px rgba(45, 80, 22, 0.06) !important;
  border: 1px solid rgba(45, 80, 22, 0.05) !important;
}

.cpcf-form-wrap .wpcf7-form,
.cpcf-form-wrap form {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

.cpcf-form-wrap .wpcf7-form p { margin: 0 !important; }

.cpcf-form-wrap .wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
}

/* ==========================================================================
   LIGNES & CHAMPS
   ========================================================================== */

.cpcf-row {
  margin-bottom: 24px !important;
}

.cpcf-row--2col {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
}

.cpcf-row--submit {
  margin-bottom: 0 !important;
  margin-top: 8px !important;
}

.cpcf-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.cpcf-label {
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  color: var(--cpcf-ink) !important;
  opacity: 0.55 !important;
}

.cpcf-required {
  color: var(--cpcf-ocre) !important;
  opacity: 1 !important;
}

/* ==========================================================================
   INPUTS & TEXTAREA
   ========================================================================== */

.cpcf-input,
.cpcf-textarea,
.cpcf-form-wrap input[type="text"],
.cpcf-form-wrap input[type="email"],
.cpcf-form-wrap input[type="tel"],
.cpcf-form-wrap textarea {
  width: 100% !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: var(--cpcf-ink) !important;
  background: var(--cpcf-bg) !important;
  border: 1.5px solid var(--cpcf-border) !important;
  border-radius: 8px !important;
  padding: 14px 16px !important;
  outline: none !important;
  transition: border-color 0.3s ease, box-shadow 0.3s ease, background 0.3s ease !important;
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
}

.cpcf-input::placeholder,
.cpcf-textarea::placeholder,
.cpcf-form-wrap input::placeholder,
.cpcf-form-wrap textarea::placeholder {
  color: rgba(26, 26, 24, 0.28) !important;
  font-weight: 400 !important;
}

.cpcf-input:hover,
.cpcf-textarea:hover,
.cpcf-form-wrap input[type="text"]:hover,
.cpcf-form-wrap input[type="email"]:hover,
.cpcf-form-wrap input[type="tel"]:hover,
.cpcf-form-wrap textarea:hover {
  border-color: rgba(45, 80, 22, 0.25) !important;
  background: var(--cpcf-white) !important;
}

.cpcf-input:focus,
.cpcf-textarea:focus,
.cpcf-form-wrap input[type="text"]:focus,
.cpcf-form-wrap input[type="email"]:focus,
.cpcf-form-wrap input[type="tel"]:focus,
.cpcf-form-wrap textarea:focus {
  border-color: var(--cpcf-forest) !important;
  background: var(--cpcf-white) !important;
  box-shadow: 0 0 0 3px var(--cpcf-focus) !important;
}

.cpcf-textarea,
.cpcf-form-wrap textarea {
  resize: vertical !important;
  min-height: 140px !important;
  line-height: 1.65 !important;
}

/* ==========================================================================
   SELECT (Sujet + Type de culture)
   ========================================================================== */

.cpcf-select-wrap {
  position: relative !important;
  display: block !important;
}

/* CF7 enveloppe le select dans un wpcf7-form-control-wrap */
.cpcf-form-wrap .wpcf7-form-control-wrap:has(select) {
  position: relative !important;
  display: block !important;
}

.cpcf-select,
.cpcf-form-wrap select {
  width: 100% !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: var(--cpcf-ink) !important;
  background: var(--cpcf-bg) !important;
  border: 1.5px solid var(--cpcf-border) !important;
  border-radius: 8px !important;
  padding: 14px 44px 14px 16px !important;
  outline: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  cursor: pointer !important;
  transition: border-color 0.3s ease, box-shadow 0.3s ease, background 0.3s ease !important;
  box-sizing: border-box !important;
}

.cpcf-select:focus,
.cpcf-form-wrap select:focus {
  border-color: var(--cpcf-forest) !important;
  background: var(--cpcf-white) !important;
  box-shadow: 0 0 0 3px var(--cpcf-focus) !important;
}

/* Flèche custom — fonctionne avec .cpcf-select-wrap ET avec CF7 natif */
.cpcf-select-arrow,
.cpcf-form-wrap .wpcf7-form-control-wrap:has(select)::after {
  content: '' !important;
  position: absolute !important;
  right: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
  width: 16px !important;
  height: 16px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1A18' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  opacity: 0.45 !important;
}

/* Le span SVG dans .cpcf-select-wrap reste lui aussi visible */
.cpcf-select-arrow {
  display: flex !important;
  align-items: center !important;
  background-image: none !important;
  opacity: 1 !important;
  color: var(--cpcf-muted) !important;
}

.cpcf-select-arrow svg {
  width: 16px !important;
  height: 16px !important;
}

/* ==========================================================================
   CHECKBOX RGPD
   ========================================================================== */

.cpcf-checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  cursor: pointer !important;
}

.cpcf-checkbox .wpcf7-form-control-wrap {
  display: inline-flex !important;
  width: auto !important;
  flex-shrink: 0 !important;
}

.cpcf-checkbox__input,
.cpcf-checkbox input[type="checkbox"],
.cpcf-form-wrap input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  pointer-events: none !important;
}

.cpcf-checkbox__box {
  width: 18px !important;
  height: 18px !important;
  border-radius: 4px !important;
  border: 1.5px solid var(--cpcf-border) !important;
  flex-shrink: 0 !important;
  margin-top: 2px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.25s ease, border-color 0.25s ease !important;
  position: relative !important;
}

.cpcf-checkbox__box::after {
  content: '' !important;
  width: 10px !important;
  height: 6px !important;
  border-left: 2px solid var(--cpcf-white) !important;
  border-bottom: 2px solid var(--cpcf-white) !important;
  transform: rotate(-45deg) scale(0) translateY(-1px) !important;
  transition: transform 0.2s var(--cpcf-ease) !important;
}

.cpcf-checkbox:has(input[type="checkbox"]:checked) .cpcf-checkbox__box {
  background: var(--cpcf-forest) !important;
  border-color: var(--cpcf-forest) !important;
}

.cpcf-checkbox:has(input[type="checkbox"]:checked) .cpcf-checkbox__box::after {
  transform: rotate(-45deg) scale(1) translateY(-1px) !important;
}

.cpcf-checkbox__text {
  font-size: 0.82rem !important;
  font-weight: 400 !important;
  color: var(--cpcf-muted) !important;
  line-height: 1.6 !important;
}

.cpcf-link {
  color: var(--cpcf-forest) !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

/* ==========================================================================
   BOUTON SUBMIT
   ========================================================================== */

.cpcf-submit,
.cpcf-form-wrap input[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  background: var(--cpcf-forest) !important;
  color: var(--cpcf-white) !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 16px 32px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: background 0.35s var(--cpcf-ease),
              transform 0.35s var(--cpcf-ease),
              box-shadow 0.35s ease !important;
  width: 100% !important;
  justify-content: center !important;
}

.cpcf-submit:hover,
.cpcf-form-wrap input[type="submit"]:hover {
  background: var(--cpcf-ocre) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 28px rgba(186, 117, 23, 0.28) !important;
}

.cpcf-submit:active {
  transform: translateY(0) !important;
}

.cpcf-submit__ico {
  display: flex !important;
  align-items: center !important;
  transition: transform 0.35s var(--cpcf-ease) !important;
}

.cpcf-submit__ico svg {
  width: 18px !important;
  height: 18px !important;
}

.cpcf-submit:hover .cpcf-submit__ico {
  transform: translateX(4px) !important;
}

/* ==========================================================================
   MESSAGES DE RÉPONSE CF7
   ========================================================================== */

.cpcf-response,
.wpcf7-response-output {
  margin-top: 20px !important;
  padding: 14px 20px !important;
  border-radius: 8px !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  border: none !important;
}

.wpcf7-mail-sent-ok {
  background: rgba(45, 80, 22, 0.08) !important;
  color: var(--cpcf-forest) !important;
  border-left: 3px solid var(--cpcf-forest) !important;
}

.wpcf7-mail-sent-ng,
.wpcf7-aborted,
.wpcf7-validation-errors,
.wpcf7-spam-blocked {
  background: rgba(186, 40, 30, 0.07) !important;
  color: #8B1A12 !important;
  border-left: 3px solid #C0392B !important;
}

.wpcf7-not-valid-tip {
  font-size: 0.75rem !important;
  color: #C0392B !important;
  font-weight: 600 !important;
  margin-top: 5px !important;
  display: block !important;
}

.wpcf7-not-valid {
  border-color: #C0392B !important;
  box-shadow: 0 0 0 3px rgba(192, 57, 43, 0.12) !important;
}

.wpcf7-spinner {
  display: none !important;
}

/* ==========================================================================
   ANIMATIONS D'ENTRÉE
   ========================================================================== */

.cpcf-reveal {
  opacity: 0 !important;
  transform: translateY(24px) !important;
  transition: opacity 0.7s var(--cpcf-ease),
              transform 0.7s var(--cpcf-ease) !important;
}

.cpcf-reveal--1 { transition-delay: 0.05s !important; }
.cpcf-reveal--2 { transition-delay: 0.2s  !important; }

.cpcf-reveal--in {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

@media (prefers-reduced-motion: reduce) {
  .cpcf-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (min-width: 900px) {
  .cpcf-inner {
    grid-template-columns: 300px 1fr !important;
    gap: 80px !important;
  }

  .cpcf-aside {
    position: sticky !important;
    top: 100px !important;
  }
}

@media (max-width: 600px) {
  .cpcf-section {
    padding: 60px 20px 80px !important;
  }

  .cpcf-form-wrap {
    padding: 32px 24px !important;
  }

  .cpcf-row--2col {
    grid-template-columns: 1fr !important;
  }
}/* End custom CSS */