/* ==========================================================================
   entreprise-de-nettoyage-vaud.ch — « Propreté lacustre »
   Sarcelle (teinte du favicon #0d9488) et blanc pur. Nuances utilisées :
   #042f2e (très foncé), #134e4a, #115e59, #0f766e (boutons, texte blanc lisible),
   #0d9488 (décor seulement), #99f6e4, #ccfbf1, #f0fdfa (très pâle).
   ========================================================================== */

/* ---------- HEADER : barre blanche, vague fine sous la barre ---------- */
header.site-header.hdr-classic {
  background: #ffffff;
  border-bottom: 0;
  box-shadow: none;
  font-family: "Segoe UI", Arial, sans-serif;
}
/* Vague sarcelle claire dessinée par un dégradé (aucune image externe) */
header.site-header.hdr-classic::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -7px;
  height: 8px;
  pointer-events: none;
  background:
    radial-gradient(circle at 10px -3px, transparent 7px, #5eead4 7.5px, #5eead4 9px, transparent 9.5px) 0 0 / 20px 8px repeat-x;
}
header.site-header.hdr-classic .header-inner {
  height: 70px;
  gap: 24px;
}

/* Logo : pastille ronde sarcelle, nom en Segoe UI gras */
header.site-header .brand {
  color: #134e4a;
  font-family: "Segoe UI", Arial, sans-serif;
  font-weight: 700;
  font-size: 1.12rem;
  letter-spacing: -.01em;
  gap: 12px;
}
header.site-header .brand .brand-logo {
  width: 40px;
  height: 40px;
  padding: 6px;
  border-radius: 50%;
  background: #ccfbf1;
  box-shadow: 0 0 0 2px #0d9488;
}

/* Navigation : liens espacés, trait qui glisse au survol */
header.site-header .nav-desktop { gap: 18px; }
header.site-header .nav-desktop .nav-link,
header.site-header .nav-desktop .dropdown-trigger {
  position: relative;
  padding: 10px 2px;
  border-radius: 0;
  background: transparent;
  color: #115e59;
  font-weight: 600;
  font-size: .92rem;
}
header.site-header .nav-desktop .nav-link::after,
header.site-header .nav-desktop .dropdown-trigger::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 4px;
  height: 2px;
  background: #0d9488;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .25s ease;
}
header.site-header .nav-desktop .nav-link:hover,
header.site-header .nav-desktop .dropdown-trigger:hover {
  background: transparent;
  color: #042f2e;
}
header.site-header .nav-desktop .nav-link:hover::after,
header.site-header .nav-desktop .dropdown-trigger:hover::after,
header.site-header .dropdown.open .dropdown-trigger::after { transform: scaleX(1); }
header.site-header .nav-sep { background: #ccfbf1; }

/* Menu « Nos districts » : panneau blanc bordé de sarcelle */
header.site-header .dropdown-panel {
  border: 1px solid #99f6e4;
  border-top: 3px solid #0f766e;
  border-radius: 0 0 14px 14px;
  box-shadow: 0 14px 30px -12px rgba(4, 47, 46, .35);
}
header.site-header .dropdown-panel .dropdown-item:hover { background: #f0fdfa; }
header.site-header .dropdown-panel .dropdown-dot { background: #0d9488; }
header.site-header .dropdown-panel .dropdown-item-keyword { color: #134e4a; }
header.site-header .dropdown-panel .dropdown-item-sub { color: #475569; }

/* Bouton : pilule pleine sarcelle, reflet qui glisse une seule fois */
header.site-header .nav-desktop .btn.btn-primary,
.mobile-drawer .mobile-auth .btn.btn-primary,
.ie-wrap .ie-form .btn.btn-primary {
  position: relative;
  overflow: hidden;
  min-height: 44px;
  padding: 10px 22px;
  border: 0;
  border-radius: 999px;
  background: #0f766e;
  color: #ffffff;
  font-weight: 700;
  box-shadow: 0 6px 16px -8px rgba(15, 118, 110, .7);
  transition: transform .2s ease, box-shadow .2s ease;
}
header.site-header .nav-desktop .btn.btn-primary::after,
.ie-wrap .ie-form .btn.btn-primary::after {
  content: "";
  position: absolute;
  top: 0; bottom: 0; left: 0;
  width: 60%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .45), transparent);
  transform: translateX(-120%);
  animation: nv-reflet 1.4s ease-out .6s 1 both;
  pointer-events: none;
}
header.site-header .nav-desktop .btn.btn-primary:hover,
.ie-wrap .ie-form .btn.btn-primary:hover {
  background: #115e59;
  transform: translateY(-2px);
  box-shadow: 0 10px 20px -10px rgba(4, 47, 46, .8);
}
@keyframes nv-reflet {
  from { transform: translateX(-120%); }
  to   { transform: translateX(260%); }
}

/* Hamburger (mobile) : pastille ronde pâle */
header.site-header .hamburger {
  color: #115e59;
  background: #f0fdfa;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
}
header.site-header .hamburger:hover { background: #ccfbf1; }

/* ---------- TIROIR MOBILE : sarcelle très foncé, liens blancs ---------- */
.mobile-drawer#mobileDrawer {
  background: #042f2e;
  color: #ffffff;
  font-family: "Segoe UI", Arial, sans-serif;
}
.mobile-drawer .mobile-close {
  background: #134e4a;
  color: #ffffff;
  border-radius: 50%;
  width: 44px;
  height: 44px;
}
.mobile-drawer .mobile-nav-link {
  min-height: 44px;
  display: flex;
  align-items: center;
  border-radius: 0;
  padding: 11px 6px;
  color: #ffffff;
  border-bottom: 1px solid rgba(204, 251, 241, .18);
}
.mobile-drawer .mobile-nav-link:hover { background: #134e4a; color: #ffffff; }
.mobile-drawer .mobile-section-title {
  color: #99f6e4;
  padding: 20px 6px 6px;
  border-bottom: 1px solid rgba(204, 251, 241, .35);
}
.mobile-drawer .mobile-auth { padding: 20px 0 0; }
.mobile-drawer .mobile-auth .btn.btn-primary {
  background: #ffffff;
  color: #115e59;
  box-shadow: none;
}

/* Bouton secondaire « Connexion » du tiroir : contour blanc lisible */
.mobile-drawer .mobile-auth .btn:not(.btn-primary) {
  min-height: 44px;
  border-radius: 999px;
  background: transparent !important;
  color: #ffffff !important;
  border: 1px solid #99f6e4;
}

/* ---------- FOOTER : quatre colonnes aérées sur sarcelle très pâle ---------- */
footer.site-footer.ftr-rich {
  background: #f0fdfa;
  color: #134e4a;
  border-top: 4px solid #0f766e;
  padding-top: 48px;
}
/* Marque à droite, phrase d'accroche à gauche */
footer.site-footer .ftr-rich-top {
  flex-direction: row-reverse;
  justify-content: space-between;
  border-bottom: 1px solid #99f6e4;
  padding-bottom: 28px;
  margin-bottom: 32px;
}
footer.site-footer .ftr-rich-brand { gap: 12px; }
footer.site-footer .ftr-rich-brand .brand-logo {
  border-radius: 50%;
  padding: 6px;
  background: #ffffff;
  box-shadow: 0 0 0 2px #0d9488;
}
footer.site-footer .footer-brand {
  color: #042f2e;
  font-family: "Segoe UI", Arial, sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
}
footer.site-footer.ftr-rich .footer-tagline {
  color: #115e59;
  max-width: 520px;
  flex: 0 1 520px;
}
footer.site-footer .ftr-rich-grid { gap: 36px; padding-bottom: 32px; }
footer.site-footer .footer-heading {
  color: #0f766e;
  font-weight: 700;
  font-size: .78rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 12px;
}
footer.site-footer .footer-links { gap: 8px; }
footer.site-footer .footer-links a {
  color: #134e4a;
  text-decoration: none;
  background-image: linear-gradient(#0d9488, #0d9488);
  background-size: 0 1px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  transition: background-size .25s ease;
}
footer.site-footer .footer-links a:hover { color: #042f2e; background-size: 100% 1px; }
footer.site-footer .footer-bottom {
  border-top: 1px solid #99f6e4;
  color: #134e4a;
}
footer.site-footer .footer-copy { color: #134e4a; }
footer.site-footer .footer-bottom-links a {
  color: #ffffff !important;
  border: 0;
  background: #0f766e;
  padding: 6px 14px;
  border-radius: 999px;
  text-decoration: none;
}

/* ---------- PAGE « AJOUTER MON ENTREPRISE » ---------- */
/* Colonne d'arguments à gauche, formulaire sur une colonne */
.ie-wrap .ie-grid {
  grid-template-columns: 310px minmax(0, 1fr);
  gap: 26px;
}
.ie-wrap .ie-side { order: -1; }
.ie-wrap .ie-side .ie-why {
  background: #f0fdfa;
  border: 1px solid #99f6e4;
  border-left: 4px solid #0f766e;
  border-radius: 16px;
  box-shadow: none;
  margin-bottom: 16px;
}
.ie-wrap .ie-side .ie-why h2 { color: #115e59; }
.ie-wrap .ie-side .ie-why ul,
.ie-wrap .ie-side .ie-why p { color: #134e4a; }
.ie-wrap .ie-side .ie-why li::marker { color: #0f766e; }
.ie-wrap .ie-card {
  border-radius: 18px;
  border: 1px solid #ccfbf1;
  box-shadow: 0 16px 34px -22px rgba(4, 47, 46, .45);
}
.ie-wrap .ie-form .quote-lead-grid { grid-template-columns: 1fr; gap: 0; }
.ie-wrap .ie-form .qf-section {
  color: #0f766e;
  font-size: .82rem;
  padding: 6px 12px;
  background: #f0fdfa;
  border-radius: 999px;
  display: inline-block;
}
.ie-wrap .ie-form .quote-field label { color: #134e4a; font-weight: 600; }
.ie-wrap .ie-form input,
.ie-wrap .ie-form select,
.ie-wrap .ie-form textarea {
  min-height: 46px;
  font-size: .95rem;
  color: #0f172a;
  border: 1px solid #99f6e4;
  border-radius: 12px;
  background-color: #ffffff;
}
.ie-wrap .ie-form input:focus,
.ie-wrap .ie-form select:focus,
.ie-wrap .ie-form textarea:focus {
  outline: 3px solid #99f6e4;
  outline-offset: 1px;
  border-color: #0f766e;
}
.ie-wrap .ie-form .quote-lead-actions .btn.btn-primary { padding: 12px 30px; font-size: 1rem; }
@media (max-width: 900px) {
  .ie-wrap .ie-grid { grid-template-columns: 1fr; }
  .ie-wrap .ie-side { order: 0; }
}

/* Petits écrans : footer en colonnes empilées, marque en tête */
@media (max-width: 768px) {
  footer.site-footer .ftr-rich-top { flex-direction: column; align-items: flex-start; }
  footer.site-footer.ftr-rich .footer-tagline { flex: 1 1 auto; min-width: 0; }
}
/* Une seule colonne : le titre vide de la 2e colonne des districts ne sert plus */
@media (max-width: 480px) {
  footer.site-footer .ftr-rich-grid { gap: 22px; }
  footer.site-footer .ftr-rich-grid > div:nth-child(3) .footer-heading { display: none; }
}

/* Mouvement réduit : tout est coupé */
@media (prefers-reduced-motion: reduce) {
  header.site-header .nav-desktop .btn.btn-primary::after,
  .ie-wrap .ie-form .btn.btn-primary::after { animation: none; display: none; }
  header.site-header .nav-desktop .nav-link::after,
  header.site-header .nav-desktop .dropdown-trigger::after,
  footer.site-footer .footer-links a,
  header.site-header .nav-desktop .btn.btn-primary,
  .ie-wrap .ie-form .btn.btn-primary { transition: none; }
}
