/* Harmonisé sur la couleur primaire #15803d (favicon) — outils/design_harmoniser.py */
/* ============================================================
   Agences immobilières — direction « immobilier premium »
   Vert forêt #0f582a · blanc cassé #f0fdf5 · gris pierre #d6d3d1
   Police serif élégante système : Georgia
   Logo centré entre deux moitiés de nav, tiroir blanc, footer vert
   en quatre colonnes, page d'inscription avec arguments à gauche.
   Animations : apparition en fondu + soulignement au survol.
   ============================================================ */

/* ------------------------------------------------------------
   ANIMATIONS PARTAGÉES
   ------------------------------------------------------------ */
@keyframes dsApparitionFondu {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ================================================================
   1. HEADER DESKTOP — translucide flouté, logo centré, nav coupée
      en deux (liens à gauche, action à droite via marge auto)
   ================================================================ */
header.site-header.hdr-classic {
  background: rgba(240, 253, 245, .82);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(15, 88, 42, .22);
  box-shadow: 0 1px 0 rgba(15, 88, 42, .06);
}

.hdr-classic .header-inner {
  position: relative; /* ancre le logo centré en position absolue */
  height: auto;
  min-height: 92px;
  padding: 16px 0;
}

/* le logo occupe le centre de la barre, entre les deux moitiés de nav ;
   ce centrage est réservé au bureau, où le hamburger est masqué : sur
   petit écran le logo reste dans le flux normal, à gauche du bouton */
.hdr-classic .brand {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
  font-size: 1.1rem;
  color: #0f582a;
  animation: dsApparitionFondu .6s ease-out both;
}
.hdr-classic .brand:hover { opacity: .86; }

@media (min-width: 861px) {
  .hdr-classic .brand {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    flex-direction: column;
    gap: 2px;
    font-size: 1.2rem;
    text-align: center;
  }
}

.hdr-classic .brand-logo {
  width: 36px;
  height: 36px;
  padding: 5px;
  background: #ffffff;
  border: 1.5px solid #d6d3d1;
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(15, 88, 42, .15);
}

/* la nav s'étire sur toute la largeur ; le séparateur pousse le
   bouton d'action vers la droite, ce qui laisse les liens à gauche
   et un vide central pour le logo, posé au-dessus */
.hdr-classic .nav-desktop {
  position: relative;
  width: 100%;
  gap: 10px;
}

.hdr-classic .nav-link {
  font-family: Georgia, "Times New Roman", serif;
  font-size: .86rem;
  color: #57534e;
  padding: 8px 6px;
  border-radius: 0;
  background-image: linear-gradient(#0f582a, #0f582a);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0% 2px;
  transition: background-size .3s ease, color .2s ease;
}
.hdr-classic .nav-link:hover {
  background: none;
  background-image: linear-gradient(#0f582a, #0f582a);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 100% 2px;
  color: #0f582a;
}

.hdr-classic .dropdown-trigger {
  background: transparent;
  color: #0f582a;
  border: 1.5px solid #0f582a;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 600;
}
.hdr-classic .dropdown-trigger:hover {
  background: #0f582a;
  color: #fff;
  box-shadow: none;
}

.hdr-classic .dropdown-panel {
  background: #f0fdf5;
  border: 1px solid #d6d3d1;
  border-radius: 10px;
  box-shadow: 0 12px 28px rgba(15, 88, 42, .16);
}
.hdr-classic .dropdown-item:hover { background: #eaf1ed; }
.hdr-classic .dropdown-item-keyword {
  font-family: Georgia, "Times New Roman", serif;
  color: #0f582a;
}
.hdr-classic .dropdown-item-sub { color: #78716c; }

/* le séparateur devient le point de bascule : tout ce qui le suit
   (le bouton) est repoussé à l'extrémité droite de la nav */
.hdr-classic .nav-sep {
  margin-left: auto;
  height: 26px;
  background: #d6d3d1;
}

.hdr-classic .btn.btn-primary {
  background: #0f582a;
  border-color: #0f582a;
  border-radius: 999px;
  padding: 9px 20px;
  font-family: Georgia, "Times New Roman", serif;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.hdr-classic .btn.btn-primary:hover {
  background: #0b4320;
  border-color: #0b4320;
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(15, 88, 42, .28);
}

/* ================================================================
   2. BARRE MOBILE + TIROIR — icône verte, tiroir blanc cassé,
      titres de section verts, liens fins séparés
   ================================================================ */
.hamburger { color: #0f582a; }
.hamburger:hover { background: #eaf1ed; }

.mobile-overlay { background: rgba(15, 88, 42, .38); }

.mobile-drawer {
  background: #f0fdf5;
  border-left: 3px solid #0f582a;
  padding: 22px 18px;
}

.mobile-close {
  background: #eaf1ed;
  border: 1px solid #d6d3d1;
  color: #0f582a;
}

.mobile-section-title {
  color: #0f582a;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
  letter-spacing: .08em;
  border-top: 1px solid #dce7e0;
  margin-top: 6px;
  padding-top: 14px;
}

.mobile-nav-link {
  font-family: Georgia, "Times New Roman", serif;
  color: #292524;
  min-height: 44px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #dce7e0;
  border-radius: 0;
}
.mobile-nav-link:hover { background: #eaf1ed; color: #0f582a; }

.mobile-auth .btn.btn-primary {
  background: #0f582a;
  border-color: #0f582a;
  border-radius: 999px;
  min-height: 44px;
}
.mobile-auth .btn.btn-primary:hover { background: #0b4320; }

/* ================================================================
   3. FOOTER — fond vert forêt, quatre colonnes égales, en-têtes en
      petites capitales, bas de page centré
   ================================================================ */
footer.site-footer.ftr-columns {
  background: #0f582a;
  color: #d6d3d1;
}

.ftr-columns .footer-inner { padding: 48px 0 26px; }

.ftr-columns .footer-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  align-items: start;
}
/* trois blocs de contenu répartis sur quatre pistes égales : la
   troisième colonne (Informations) prend les deux dernières pistes
   et affiche ses liens sur deux rangs, ce qui donne visuellement
   quatre colonnes de largeur identique */
.ftr-columns .footer-grid > div:nth-child(1) { grid-column: 1; animation: dsApparitionFondu .6s ease-out both; }
.ftr-columns .footer-grid > div:nth-child(2) { grid-column: 2; animation: dsApparitionFondu .6s ease-out .08s both; }
.ftr-columns .footer-grid > div:nth-child(3) {
  grid-column: 3 / span 2;
  animation: dsApparitionFondu .6s ease-out .16s both;
}
.ftr-columns .footer-grid > div:nth-child(3) .footer-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 22px;
}

.ftr-columns .footer-brand {
  font-family: Georgia, "Times New Roman", serif;
  color: #ffffff;
  font-size: 1.25rem;
}
.ftr-columns .footer-tagline { color: #b3c4b9; }

.ftr-columns .footer-grid .btn.btn-primary {
  background: #f0fdf5;
  color: #0f582a;
  border-color: #f0fdf5;
  border-radius: 999px;
  font-family: Georgia, "Times New Roman", serif;
}
.ftr-columns .footer-grid .btn.btn-primary:hover {
  background: #ffffff;
  transform: translateY(-2px);
  transition: transform .2s ease, background .2s ease;
}

/* en-têtes de colonne en petites capitales, et non en majuscules */
.ftr-columns .footer-heading {
  color: #ffffff;
  text-transform: none;
  font-variant-caps: small-caps;
  font-family: Georgia, "Times New Roman", serif;
  font-size: .92rem;
  letter-spacing: .04em;
}

.ftr-columns .footer-links a {
  color: #c5d3ca;
  background-image: linear-gradient(#f0fdf5, #f0fdf5);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0% 1px;
  transition: background-size .3s ease, color .2s ease;
  padding-bottom: 1px;
}
.ftr-columns .footer-links a:hover {
  color: #ffffff;
  background-size: 100% 1px;
}

.ftr-columns .footer-bottom {
  border-top: 1px solid rgba(214, 211, 209, .25);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 10px;
}
.ftr-columns .footer-copy { color: #a9b3a3; }
.ftr-columns .footer-bottom-links { justify-content: center; }
.ftr-columns .footer-bottom-links a { color: #b3c4b9; }
.ftr-columns .footer-bottom-links a:hover { color: #ffffff; }

@media (max-width: 860px) {
  .ftr-columns .footer-grid { grid-template-columns: 1fr; }
  .ftr-columns .footer-grid > div:nth-child(3) { grid-column: 1; }
  .ftr-columns .footer-grid > div:nth-child(3) .footer-links { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) {
  /* sous 520 px, même deux courtes colonnes de liens serrent trop le
     texte : on repasse la liste "Informations" sur une seule colonne */
  .ftr-columns .footer-grid > div:nth-child(3) .footer-links { grid-template-columns: 1fr; }
}

/* ================================================================
   4. PAGE « AJOUTER MON ENTREPRISE » — arguments à gauche (order:-1)
      en carte verte, formulaire à droite, libellés flottants
   ================================================================ */
.ie-wrap .page-header h1 {
  font-family: Georgia, "Times New Roman", serif;
  color: #0f582a;
}
.ie-wrap .page-header p { color: #57534e; }

.ie-wrap .ie-grid {
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 26px;
}
/* la colonne d'arguments passe en tête grâce à order, sans toucher
   à l'ordre du document */
.ie-wrap .ie-side { order: -1; }

@media (max-width: 900px) {
  .ie-wrap .ie-grid { grid-template-columns: 1fr; }
}

.ie-wrap .ie-card {
  background: #f0fdf5;
  border: 1px solid #dce7e0;
  border-top: 3px solid #0f582a;
  border-radius: 14px;
  padding: 28px;
}

.ie-wrap .qf-section {
  color: #0f582a;
  text-transform: none;
  font-variant-caps: small-caps;
  font-family: Georgia, "Times New Roman", serif;
  font-size: .95rem;
  letter-spacing: .03em;
  border-bottom: 1px solid #dce7e0;
  padding-bottom: 6px;
}

/* champs sur deux colonnes, libellés flottants au-dessus du cadre */
.ie-wrap .quote-lead-grid { gap: 4px 16px; }

.ie-wrap .form-group.quote-field {
  position: relative;
  margin-bottom: 22px;
}
.ie-wrap .quote-field label {
  position: absolute;
  top: -9px;
  left: 12px;
  background: #f0fdf5;
  padding: 0 6px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .03em;
  color: #0f582a;
  z-index: 1;
  pointer-events: none;
}
.ie-wrap .quote-field input,
.ie-wrap .quote-field select,
.ie-wrap .quote-field textarea {
  border-color: #d6d3d1;
  background: #ffffff;
}
.ie-wrap .quote-field input:focus,
.ie-wrap .quote-field select:focus,
.ie-wrap .quote-field textarea:focus {
  border-color: #0f582a;
  box-shadow: 0 0 0 3px rgba(15, 88, 42, .16);
}

.ie-wrap .quote-lead-actions .btn.btn-primary,
.ie-wrap .quote-lead-actions button {
  background: #0f582a;
  border-radius: 999px;
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: .02em;
  padding: 13px 20px;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.ie-wrap .quote-lead-actions .btn.btn-primary:hover,
.ie-wrap .quote-lead-actions button:hover {
  background: #0b4320;
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(15, 88, 42, .25);
}
.ie-wrap .quote-lead-actions small { color: #78716c; }

/* la colonne latérale : deux cartes vertes, arguments en clair */
.ie-wrap .ie-side .card.ie-why {
  background: #0f582a;
  border: none;
  border-top: 3px solid #d6d3d1;
  border-radius: 14px;
  color: #eaf1ed;
  animation: dsApparitionFondu .6s ease-out .1s both;
}
.ie-wrap .ie-side .ie-why h2 {
  font-family: Georgia, "Times New Roman", serif;
  color: #ffffff;
}
.ie-wrap .ie-side .ie-why p { color: #d0ddd5; }
.ie-wrap .ie-side .ie-why ul { padding-left: 20px; }
.ie-wrap .ie-side .ie-why li { color: #eaf1ed; }
.ie-wrap .ie-side .ie-why li::marker { color: #d6d3d1; }

/* ------------------------------------------------------------
   ACCESSIBILITÉ — on coupe toutes les animations et transitions
   posées ci-dessus, sans toucher au mécanisme du tiroir/menu
   ------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
  .hdr-classic .brand,
  .ftr-columns .footer-grid > div:nth-child(1),
  .ftr-columns .footer-grid > div:nth-child(2),
  .ftr-columns .footer-grid > div:nth-child(3),
  .ie-wrap .ie-side .card.ie-why {
    animation: none;
  }
  .hdr-classic .nav-link,
  .hdr-classic .btn.btn-primary,
  .ftr-columns .footer-links a,
  .ftr-columns .footer-grid .btn.btn-primary,
  .ie-wrap .quote-lead-actions .btn.btn-primary,
  .ie-wrap .quote-lead-actions button {
    transition: none;
  }
}
