/* agence-de-nettoyage-vaud.ch — « boutique élégante » : teinte unique framboise
   #be185d (favicon), du rose poudré au framboise très foncé, plus neutres. */

:root {
 --nv-framboise: #be185d;
 --nv-framboise-nuit: #831843;
 --nv-framboise-abysse: #500724;
 --nv-poudre: #fdf2f8;
 --nv-poudre-2: #fce7f3;
 --nv-poudre-3: #fbcfe8;
 --nv-encre: #3b0a1f;
}

/* ---------- Header desktop : deux rangées, tout centré ---------- */
header.site-header.hdr-centered {
 background: #ffffff;
 border-bottom: 1px solid var(--nv-poudre-3);
 box-shadow: 0 6px 18px -14px rgba(80, 7, 36, .45);
}
header.site-header.hdr-centered .hdr-centered-top {
 padding: 18px 0 14px;
}

/* Logo : Georgia, centré, entre deux filets framboise qui s'étirent */
header.site-header.hdr-centered .brand {
 position: relative;
 font-family: Georgia, "Times New Roman", serif;
 font-weight: 400;
 font-size: 1.55rem;
 letter-spacing: .01em;
 color: var(--nv-framboise-nuit);
 padding: 8px 6px;
 gap: 12px;
}
header.site-header.hdr-centered .brand:hover { opacity: 1; color: var(--nv-framboise); }
header.site-header.hdr-centered .brand::before,
header.site-header.hdr-centered .brand::after {
 content: "";
 position: absolute;
 left: 0;
 right: 0;
 height: 1px;
 background: var(--nv-framboise);
 animation: nvFilet .9s cubic-bezier(.2, .7, .2, 1) both;
}
header.site-header.hdr-centered .brand::before { top: 0; }
header.site-header.hdr-centered .brand::after { bottom: 0; animation-delay: .12s; }
header.site-header.hdr-centered .brand-logo {
 width: 34px;
 height: 34px;
 border-radius: 50%;
 box-shadow: 0 0 0 3px var(--nv-poudre-2);
}

@keyframes nvFilet {
 from { transform: scaleX(0); opacity: 0; }
 to { transform: scaleX(1); opacity: 1; }
}

/* Bouton « Ajouter mon entreprise » : rectangle net, à droite de la 1re rangée */
header.site-header .btn.btn-primary,
footer.site-footer .btn.btn-primary,
.mobile-drawer .mobile-auth .btn.btn-primary {
 background: var(--nv-framboise);
 border: 1px solid var(--nv-framboise);
 color: #ffffff;
 border-radius: 0;
 min-height: 44px;
 padding: 10px 20px;
 font-family: Georgia, "Times New Roman", serif;
 font-weight: 400;
 letter-spacing: .03em;
 transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}
header.site-header .btn.btn-primary:hover,
.mobile-drawer .mobile-auth .btn.btn-primary:hover {
 background: var(--nv-framboise-nuit);
 border-color: var(--nv-framboise-nuit);
 transform: translateY(-1px);
 box-shadow: 0 6px 14px -8px rgba(80, 7, 36, .7);
}

/* 2e rangée : nav en petites capitales, sur une bande rose poudré */
header.site-header.hdr-centered .hdr-centered-nav {
 border-top: 1px solid var(--nv-poudre-3);
 background: var(--nv-poudre);
 margin: 0 -20px;
 padding: 8px 20px;
 gap: 22px;
}
header.site-header.hdr-centered .hdr-centered-nav .nav-link,
header.site-header.hdr-centered .hdr-centered-nav .dropdown-trigger {
 font-variant: small-caps;
 text-transform: lowercase;
 font-size: 1rem;
 letter-spacing: .09em;
 font-weight: 600;
 color: var(--nv-framboise-nuit);
 background: transparent;
 border-radius: 0;
 padding: 8px 4px;
 position: relative;
 box-shadow: none;
}
/* Soulignement fin qui s'étire au survol */
header.site-header.hdr-centered .hdr-centered-nav .nav-link::after {
 content: "";
 position: absolute;
 left: 4px;
 right: 4px;
 bottom: 3px;
 height: 1px;
 background: var(--nv-framboise);
 transform: scaleX(0);
 transition: transform .25s ease;
}
header.site-header.hdr-centered .hdr-centered-nav .nav-link:hover,
header.site-header.hdr-centered .hdr-centered-nav .dropdown-trigger:hover {
 background: transparent;
 color: var(--nv-framboise);
}
header.site-header.hdr-centered .hdr-centered-nav .nav-link:hover::after { transform: scaleX(1); }

/* Menu « Nos districts » */
header.site-header .dropdown .dropdown-panel {
 border: 1px solid var(--nv-poudre-3);
 border-top: 2px solid var(--nv-framboise);
 border-radius: 0;
 background: #ffffff;
}
header.site-header .dropdown .dropdown-item:hover { background: var(--nv-poudre); }
header.site-header .dropdown .dropdown-item-keyword { color: var(--nv-encre); font-weight: 600; }
header.site-header .dropdown .dropdown-item-sub { color: #6b4a58; }
header.site-header .dropdown .dropdown-dot { background: var(--nv-framboise); border-radius: 0; }

/* ---------- Barre mobile + tiroir ---------- */
@media (max-width: 860px) {
 header.site-header.hdr-centered .hdr-centered-nav,
 header.site-header.hdr-centered .hdr-centered-auth { display: none; }
 header.site-header.hdr-centered .hdr-centered-top { padding: 12px 52px 10px; }
 header.site-header.hdr-centered .brand {
    font-size: 1.12rem;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
    text-align: center;
 }
 header.site-header.hdr-centered .brand-logo { width: 26px; height: 26px; vertical-align: middle; margin-right: 8px; }
 header.site-header.hdr-centered .hamburger {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    color: var(--nv-framboise);
    border: 1px solid var(--nv-poudre-3);
    border-radius: 0;
 }
 header.site-header.hdr-centered .hamburger:hover { background: var(--nv-poudre); }
}

.mobile-drawer#mobileDrawer {
 background: var(--nv-poudre);
 border-left: 3px solid var(--nv-framboise);
}
.mobile-drawer .mobile-close {
 background: #ffffff;
 color: var(--nv-framboise-nuit);
 border: 1px solid var(--nv-poudre-3);
 border-radius: 0;
 width: 44px;
 height: 44px;
}
.mobile-drawer .mobile-nav-link {
 min-height: 44px;
 display: flex;
 align-items: center;
 color: var(--nv-framboise-nuit);
 border-radius: 0;
 border-bottom: 1px solid var(--nv-poudre-3);
 font-family: Georgia, "Times New Roman", serif;
 font-size: 1rem;
}
.mobile-drawer .mobile-nav-link:hover { background: var(--nv-poudre-2); color: var(--nv-framboise-abysse); }
.mobile-drawer .mobile-section-title {
 color: var(--nv-framboise);
 font-variant: small-caps;
 text-transform: lowercase;
 font-size: .95rem;
 letter-spacing: .1em;
 border-bottom: 1px solid var(--nv-framboise);
 margin: 8px 14px 4px;
 padding: 12px 0 4px;
}
.mobile-drawer .mobile-auth { padding: 20px 0 8px; }

/* ---------- Footer riche sur framboise très foncé ---------- */
footer.site-footer.ftr-rich {
 background: var(--nv-framboise-abysse);
 color: var(--nv-poudre-2);
 border-top: 4px double var(--nv-framboise);
 padding-top: 48px;
}
/* Rangée haute : marque centrée entre deux filets, slogan dessous */
footer.site-footer .ftr-rich-top {
 flex-direction: column;
 text-align: center;
 gap: 10px;
 border-bottom: 1px solid rgba(251, 207, 232, .22);
}
footer.site-footer .ftr-rich-brand .brand-logo { border-radius: 50%; box-shadow: 0 0 0 3px rgba(251, 207, 232, .25); }
footer.site-footer .footer-brand {
 font-family: Georgia, "Times New Roman", serif;
 font-weight: 400;
 font-size: 1.45rem;
 color: #ffffff;
}
footer.site-footer.ftr-rich .footer-tagline {
 color: var(--nv-poudre-3);
 max-width: 560px;
 font-style: italic;
 font-family: Georgia, "Times New Roman", serif;
 min-width: 0;
}
/* Grille : navigation étroite, districts larges, mentions à droite */
footer.site-footer .ftr-rich-grid {
 grid-template-columns: 1fr 1.3fr 1.3fr 1fr;
 gap: 28px;
}
footer.site-footer .footer-heading {
 color: #ffffff;
 font-family: Georgia, "Times New Roman", serif;
 font-weight: 400;
 font-variant: small-caps;
 text-transform: lowercase;
 letter-spacing: .12em;
 font-size: 1rem;
 border-bottom: 1px solid var(--nv-framboise);
 padding-bottom: 6px;
 margin-bottom: 10px;
}
footer.site-footer .footer-links a {
 color: var(--nv-poudre-3);
 transition: color .2s ease, transform .2s ease;
 display: inline-block;
}
footer.site-footer .footer-links a:hover { color: #ffffff; transform: translateX(3px); }
footer.site-footer .footer-bottom {
 border-top: 1px solid rgba(251, 207, 232, .22);
 justify-content: center;
 text-align: center;
 gap: 14px;
}
footer.site-footer .footer-copy { color: var(--nv-poudre-3); }
footer.site-footer .footer-bottom-links a {
 color: #ffffff;
 border: 1px solid var(--nv-poudre-3);
 padding: 6px 14px;
 text-decoration: none;
}
footer.site-footer .footer-bottom-links a:hover { background: var(--nv-framboise); color: #ffffff; }
@media (max-width: 768px) {
 footer.site-footer .ftr-rich-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
 footer.site-footer .ftr-rich-grid { grid-template-columns: 1fr; gap: 18px; }
 /* colonne de suite des districts : pas de second titre vide */
 footer.site-footer .ftr-rich-grid > div:nth-child(3) .footer-heading { display: none; }
}
/* Bouton secondaire du header : même rectangle, en contour */
header.site-header .btn.btn-outline { border-radius: 0; min-height: 44px; border-color: var(--nv-framboise); color: var(--nv-framboise); }

/* ---------- Page « Ajouter mon entreprise » ---------- */
.ie-wrap .page-header h1 {
 font-family: Georgia, "Times New Roman", serif;
 font-weight: 400;
 color: var(--nv-framboise-nuit);
 letter-spacing: 0;
}
.ie-wrap .ie-grid { grid-template-columns: minmax(0, 1fr) 320px; gap: 26px; }
.ie-wrap .card.ie-card {
 border: 1px solid var(--nv-poudre-3);
 border-top: 3px solid var(--nv-framboise);
 border-radius: 0;
}
.ie-wrap .ie-form .qf-section {
 font-family: Georgia, "Times New Roman", serif;
 font-variant: small-caps;
 text-transform: lowercase;
 font-size: 1.1rem;
 letter-spacing: .08em;
 font-weight: 400;
 color: var(--nv-framboise);
 border-bottom: 1px solid var(--nv-poudre-3);
 padding-bottom: 4px;
}
.ie-wrap .ie-form .quote-lead-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; }
.ie-wrap .ie-form .quote-field label { color: var(--nv-encre); font-weight: 600; }
.ie-wrap .ie-form .quote-field input,
.ie-wrap .ie-form .quote-field select,
.ie-wrap .ie-form .quote-field textarea {
 min-height: 46px;
 border: 1px solid #e7c3d4;
 border-radius: 0;
 background: #ffffff;
 color: var(--nv-encre);
 font-size: 1rem;
 width: 100%;
}
.ie-wrap .ie-form .quote-field input:focus,
.ie-wrap .ie-form .quote-field select:focus,
.ie-wrap .ie-form .quote-field textarea:focus {
 outline: 2px solid var(--nv-framboise);
 outline-offset: 1px;
 border-color: var(--nv-framboise);
}
.ie-wrap .ie-form .quote-lead-actions { flex-direction: column; align-items: stretch; }
.ie-wrap .ie-form .quote-lead-actions .btn.btn-primary {
 width: 100%;
 min-height: 50px;
 border-radius: 0;
 background: var(--nv-framboise);
 border-color: var(--nv-framboise);
 font-family: Georgia, "Times New Roman", serif;
 font-weight: 400;
 font-size: 1.08rem;
 letter-spacing: .04em;
}
.ie-wrap .ie-form .quote-lead-actions .btn.btn-primary:hover { background: var(--nv-framboise-nuit); border-color: var(--nv-framboise-nuit); }
.ie-wrap .ie-form .quote-lead-actions small { color: #6b4a58; text-align: center; }
.ie-wrap .ie-side .card.ie-why {
 background: var(--nv-poudre);
 border: 1px solid var(--nv-poudre-3);
 border-radius: 0;
 box-shadow: none;
}
.ie-wrap .ie-side .card.ie-why:first-child { background: var(--nv-poudre-2); border-left: 3px solid var(--nv-framboise); }
.ie-wrap .ie-why h2 {
 font-family: Georgia, "Times New Roman", serif;
 font-weight: 400;
 color: var(--nv-framboise-nuit);
 font-size: 1.2rem;
}
.ie-wrap .ie-why ul { color: var(--nv-encre); }
.ie-wrap .ie-why li::marker { color: var(--nv-framboise); }
.ie-wrap .ie-why p { color: #5b3446; }
@media (max-width: 900px) {
 .ie-wrap .ie-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
 .ie-wrap .ie-form .quote-lead-grid { grid-template-columns: 1fr; }
}

/* ---------- Mouvement réduit : tout s'arrête ---------- */
@media (prefers-reduced-motion: reduce) {
 header.site-header.hdr-centered .brand::before,
 header.site-header.hdr-centered .brand::after { animation: none; }
 header.site-header .btn.btn-primary,
 header.site-header.hdr-centered .hdr-centered-nav .nav-link::after,
 footer.site-footer .footer-links a { transition: none; }
}
