@keyframes ecSlideIn{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
.ec-field{opacity:0;animation:ecSlideIn .35s ease forwards;}
.ec-field:nth-child(1){animation-delay:.05s}
.ec-field:nth-child(2){animation-delay:.12s}
.ec-field:nth-child(3){animation-delay:.19s}
.ec-field:nth-child(4){animation-delay:.26s}
.ec-field:nth-child(5){animation-delay:.33s}
.ec-field:nth-child(6){animation-delay:.40s}
.ec-field:nth-child(7){animation-delay:.47s}
.ec-lbl{display:flex;align-items:center;gap:7px;font-size:.72rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:5px;}
.ec-lbl-icon{width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0;}

/* ═══ MODERNISATION VISUELLE v2 ═══ */
/* Cartes services plus aérées et arrondies */
.tr {
  padding: 17px 18px !important;
  border-radius: 18px !important;
  margin-bottom: 11px !important;
  border: 1px solid rgba(12,58,26,.08) !important;
  box-shadow: 0 1px 3px rgba(12,58,26,.04), 0 6px 20px rgba(12,58,26,.04) !important;
}
.tr:active, .tr:hover {
  box-shadow: 0 2px 6px rgba(12,58,26,.08), 0 10px 28px rgba(12,58,26,.08) !important;
}
.tr-sep { margin: 14px 0 !important; opacity:.5; }

/* Titres de services plus lisibles */
.tn-txt { font-size: .98rem !important; font-weight: 600 !important; letter-spacing: -.01em; }
.td { font-size: .76rem !important; margin-top: 3px !important; line-height: 1.4; }

/* Boutons hero plus doux */
.btn {
  border-radius: 26px !important;
  box-shadow: 0 4px 16px rgba(12,58,26,.12), 0 12px 32px rgba(12,58,26,.1) !important;
}

/* Sheets plus arrondies et modernes */
.sh {
  border-radius: 30px 30px 0 0 !important;
}
.hnd {
  width: 42px !important;
  height: 5px !important;
  background: rgba(12,58,26,.15) !important;
  border-radius: 10px !important;
}

/* Bouton submit plus moderne */
.sbtn {
  border-radius: 16px !important;
  padding: 17px !important;
  letter-spacing: .01em;
  box-shadow: 0 4px 16px rgba(12,58,26,.18) !important;
}

/* Champs plus respirants */
.fg { margin-bottom: 16px !important; }
.fg input, .fg select, .fg textarea {
  border-radius: 13px !important;
  padding: 13px 15px !important;
  border: 1.5px solid rgba(12,58,26,.1) !important;
  font-size: .92rem !important;
}
.fg label {
  font-size: .73rem !important;
  letter-spacing: .04em !important;
  margin-bottom: 7px !important;
}

/* Nav plus épurée */
nav {
  padding: 12px 18px !important;
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(12,58,26,.06) !important;
}

/* Bulles services grid plus modernes */
.srv {
  border-radius: 20px !important;
  box-shadow: 0 1px 3px rgba(12,58,26,.04), 0 8px 24px rgba(12,58,26,.05) !important;
  transition: transform .18s ease, box-shadow .18s ease !important;
}
.srv:active {
  transform: scale(.97) !important;
}

/* Destinations cards plus douces */
.tp { font-size: 1.3rem !important; }

/* Plus d'air général dans les sections */
.sb { padding: 18px 18px 24px !important; }

/* ═══ MODERNISATION FORMULAIRES v3 ═══ */
/* Header de formulaire plus aéré */
.shd {
  padding: 22px 24px 16px !important;
  border-bottom: 1px solid rgba(12,58,26,.05) !important;
}
.sht {
  font-size: 1.3rem !important;
  letter-spacing: 1.5px !important;
}
/* Bouton fermer plus doux */
.shc {
  width: 34px !important;
  height: 34px !important;
  background: rgba(12,58,26,.05) !important;
  border: none !important;
  font-size: 1.05rem !important;
  transition: background .2s ease, transform .2s ease !important;
}
.shc:active {
  background: rgba(12,58,26,.12) !important;
  transform: scale(.92) !important;
}
/* Badge sous-titre plus moderne */
.stg {
  padding: 7px 14px !important;
  border-radius: 50px !important;
  font-size: .74rem !important;
  background: rgba(12,58,26,.05) !important;
  border: none !important;
  margin-bottom: 18px !important;
}
/* Corps du formulaire plus aéré */
.sb {
  padding: 20px 24px 28px !important;
}
/* Champs : focus plus net et moderne */
.fg input, .fg select, .fg textarea {
  background: #fafdfb !important;
  border: 1.5px solid rgba(12,58,26,.08) !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  font-size: .93rem !important;
  transition: all .2s ease !important;
}
.fg input::placeholder, .fg textarea::placeholder {
  color: rgba(12,58,26,.35) !important;
}
.fg input:focus, .fg select:focus, .fg textarea:focus {
  background: #fff !important;
  border-color: var(--gb) !important;
  box-shadow: 0 0 0 4px rgba(26,107,52,.1) !important;
}
/* Labels plus discrets et élégants */
.fg label {
  font-size: .72rem !important;
  font-weight: 600 !important;
  letter-spacing: .05em !important;
  color: var(--mut) !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
}
/* Bouton d'envoi premium */
.sbtn {
  border-radius: 16px !important;
  padding: 17px !important;
  font-size: .98rem !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  box-shadow: 0 6px 20px rgba(12,58,26,.2) !important;
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease !important;
}
.sbtn:active {
  transform: translateY(2px) scale(.99) !important;
  box-shadow: 0 2px 8px rgba(12,58,26,.18) !important;
}
/* Poignée de la sheet plus fine */
.hnd {
  width: 40px !important;
  height: 4px !important;
  background: rgba(12,58,26,.12) !important;
  margin: 12px auto 4px !important;
}
/* Espace entre groupes de champs */
.fg { margin-bottom: 17px !important; }
/* Boutons toggle plus modernes (arrondis pleins) */
button[onclick^="setEc"], button[onclick^="setMed"], button[onclick^="setTeam"] {
  border-radius: 14px !important;
  font-weight: 600 !important;
  transition: all .2s ease !important;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 2000;
  padding: 10px 14px;
  border-radius: 8px;
  background: #ffffff;
  color: #0c3a1a;
  font-weight: 700;
  transform: translateY(-150%);
}

.skip-link:focus { transform: translateY(0); }

:focus-visible {
  outline: 3px solid #f5c518 !important;
  outline-offset: 3px !important;
}

.legal a {
  color: #0c3a1a;
  font-weight: 700;
}
