/* 8UP Media · footer partenaires + hero villes (chargé en dernier, sitewide) */

/* ── Badges partenaires certifiés ── */
footer .footer-partners {
  width: 100% !important;
  margin-top: 26px !important;
  padding: 28px 0 18px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  overflow: hidden !important;
}

footer .footer-partners-label {
  text-align: center !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.5) !important;
  margin-bottom: 18px !important;
}

footer .footer-partners-inner {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 18px 22px !important;
  padding: 0 20px !important;
  max-width: 100% !important;
}

footer .footer-partners-inner img {
  display: block !important;
  flex: 0 0 auto !important;
  height: 64px !important;
  max-height: 64px !important;
  width: auto !important;
  max-width: 170px !important;
  min-width: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  background: #fff !important;
  padding: 10px 14px !important;
  border-radius: 10px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
  opacity: 1 !important;
}

footer .footer-partners-inner img:hover {
  transform: translateY(-1px) scale(1.02) !important;
}

/* Footer bottom uniforme */
footer .footer-bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding: 24px 0 !important;
  position: relative !important;
  z-index: 2 !important;
}

footer .footer-legal {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px 24px !important;
}

footer .footer-legal a {
  color: rgba(255, 255, 255, 0.78) !important;
  text-decoration: none !important;
  font-size: 13px !important;
}

footer .footer-legal a:hover {
  color: #ff6500 !important;
}

footer .footer-copy {
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: 13px !important;
}

@media (max-width: 560px) {
  footer .footer-partners-inner img {
    height: 54px !important;
    max-height: 54px !important;
    max-width: 140px !important;
  }

  footer .footer-bottom {
    flex-direction: column !important;
    text-align: center !important;
  }
}

/* ── Pages villes : hero plus compact, aligné à gauche ── */
body.standalone-page section.hero {
  min-height: auto !important;
  padding: 128px 0 56px !important;
  display: block !important;
}

body.standalone-page section.hero .hero-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) !important;
  gap: 40px !important;
  align-items: center !important;
  max-width: 1200px !important;
  padding: 0 24px !important;
}

body.standalone-page section.hero .hero-content {
  text-align: left !important;
}

body.standalone-page section.hero .hero-content h1,
body.standalone-page section.hero h1,
body.standalone-page section.hero .lead,
body.standalone-page section.hero .hero-content .lead {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

body.standalone-page section.hero h1,
body.standalone-page section.hero .h-display {
  font-size: clamp(26px, 3.2vw, 42px) !important;
  line-height: 1.12 !important;
}

body.standalone-page section.hero .hero-label {
  margin-bottom: 16px !important;
}

body.standalone-page section.hero .hero-actions {
  justify-content: flex-start !important;
  margin-top: 24px !important;
  gap: 12px !important;
}

body.standalone-page section.hero .hero-actions .btn-lg {
  padding: 14px 24px !important;
  font-size: 15px !important;
}

body.standalone-page section.hero .hero-stats {
  margin-top: 28px !important;
  gap: 24px !important;
  flex-wrap: wrap !important;
}

body.standalone-page section.hero .hero-stat-num {
  font-size: 24px !important;
}

body.standalone-page section.hero .hero-visual {
  max-width: 400px !important;
  margin-left: auto !important;
}

body.standalone-page section.hero .hero-card-main {
  padding: 24px !important;
}

@media (max-width: 960px) {
  body.standalone-page section.hero {
    padding: 112px 0 48px !important;
  }

  body.standalone-page section.hero .hero-inner {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  body.standalone-page section.hero .hero-visual {
    max-width: 100% !important;
    margin-left: 0 !important;
  }
}

/* === FIX 2026-07-11d : overrides finaux (chargé en dernier) === */

/* Boutons pill partout */
html body a[class*="btn"],
html body button[class*="btn"],
html body [class*="btn-"],
html body .btn,
html body .btn-primary,
html body .btn-secondary,
html body .btn-outline,
html body .btn-white,
html body .btn-ghost,
html body .btn-audit,
html body .btn-devis,
html body .btn-lg,
html body .btn-sm,
html body .btn-arrow,
html body .mm-footer-cta,
html body .pro-cta-primary,
html body .pro-cta-secondary,
html body .conv-submit,
html body .conv-sticky-btn,
html body .dropdown-hub-btn,
html body .portfolio-tab,
html body .pricing-toggle button,
html body input[type="submit"],
html body input[type="button"] {
  border-radius: 999px !important;
}

/* Cartes / cases arrondies */
html body .card,
html body .service-card,
html body .feature-card,
html body .result-card,
html body .process-step,
html body .conv-form-card,
html body .trust-logo,
html body .portfolio-card,
html body .faq-item,
html body .hero-visual,
html body .hero-card-main,
html body .mm-item,
html body .dropdown,
html body input:not([type="checkbox"]):not([type="radio"]),
html body textarea,
html body select {
  border-radius: 16px !important;
}

/* Scroll-to-top rond */
html body .back-top,
html body .global-scroll-top,
html body #globalScrollTop,
html body #backTop {
  border-radius: 50% !important;
  width: 48px !important;
  height: 48px !important;
}

/* Partenaires : une ligne (Shopify à côté d'Odoo) */
footer .footer-partners-inner {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 14px !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
footer .footer-partners-inner::-webkit-scrollbar { display: none; }
footer .footer-partners-inner img {
  border-radius: 16px !important;
  flex: 0 0 auto !important;
  height: 58px !important;
  max-width: 150px !important;
  padding: 8px 12px !important;
}
@media (max-width: 900px) {
  footer .footer-partners-inner { flex-wrap: wrap !important; }
}

/* Badge La Fabrique du Net intégré au footer */
footer .footer-lfdn {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,0.08);
  display: flex;
  justify-content: flex-start;
}
footer .footer-lfdn-badge {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  padding: 12px 18px;
  background: linear-gradient(135deg, #ff7a5c 0%, #ff6b4a 100%);
  border-radius: 14px;
  color: #fff;
  text-decoration: none;
  font-size: 13px;
  line-height: 1.3;
  transition: transform .2s ease, box-shadow .2s ease;
  box-shadow: 0 4px 16px rgba(255,107,74,.35);
}
footer .footer-lfdn-badge:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(255,107,74,.45);
  color: #fff;
}
footer .footer-lfdn-stars {
  display: flex;
  gap: 2px;
  font-size: 14px;
  letter-spacing: 1px;
}
footer .footer-lfdn-main {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
footer .footer-lfdn-score { font-size: 15px; }
footer .footer-lfdn-score strong { font-size: 18px; font-weight: 800; }
footer .footer-lfdn-label { font-weight: 700; font-size: 15px; }
footer .footer-lfdn-source {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
footer .footer-lfdn-brand { font-weight: 600; }
footer .footer-lfdn-count { font-size: 11px; opacity: .85; }

/* Masquer le widget flottant externe La Fabrique du Net */
#lfdn-agence-badge,
#lfdn-badge,
div[id*="lfdn"],
iframe[src*="lafabriquedunet"],
a[href*="lafabriquedunet.fr/agences"][style*="position: fixed"],
a[href*="lafabriquedunet.fr/agences"][style*="position:fixed"] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

/* Inline legacy radius (SPA index + vieux markup) */
.pricing-cta,
#page-tous-nos-services .tns-card-link,
a[style*="border-radius:10px"],
a[style*="border-radius: 10px"],
a[style*="border-radius:8px"],
button[style*="border-radius:10px"],
button[style*="border-radius:8px"] {
  border-radius: 999px !important;
}
div[style*="border-radius:10px"]:not(.trust-logo):not(.hero-visual):not(.hero-card-main) {
  border-radius: 16px !important;
}

/* === FIX 2026-07-11f : footer logo + hero accueil === */

/* Logo footer en bas à droite de la 1re colonne + texte blanc */
footer .footer-grid > div:first-child {
  display: flex !important;
  flex-direction: column !important;
  min-height: 280px !important;
}
footer .footer-grid > div:first-child .footer-logo {
  order: 99 !important;
  margin-top: auto !important;
  margin-bottom: 0 !important;
  margin-left: auto !important;
  align-self: flex-end !important;
}
footer .footer-logo-text,
footer .footer-logo span,
footer .footer-logo {
  color: #fff !important;
}
footer .footer-desc {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* Badge La Fabrique du Net centré */
footer .footer-lfdn {
  justify-content: center !important;
  align-items: center !important;
}

/* Hero accueil SPA : texte à gauche, visuel animé à droite */
#page-home .hero-inner {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) !important;
  align-items: center !important;
  gap: 48px !important;
}
#page-home .hero-content {
  order: 1 !important;
  text-align: left !important;
  justify-self: start !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  max-width: 640px !important;
}
#page-home .hero-visual {
  order: 2 !important;
  justify-self: end !important;
}
#page-home .hero-content h1,
#page-home .hero-content .lead,
#page-home .hero-content .h-display {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}
#page-home .hero-label {
  margin-left: 0 !important;
  margin-right: auto !important;
}
#page-home .hero-actions {
  justify-content: flex-start !important;
}
#page-home .hero-trust-row {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  gap: 12px 20px !important;
  margin-top: 28px !important;
}
@media (max-width: 1024px) {
  #page-home .hero-inner {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  #page-home .hero-content {
    order: 1 !important;
    max-width: 100% !important;
  }
  #page-home .hero-visual {
    order: 2 !important;
    display: block !important;
    max-width: 100% !important;
  }
}


/* === FIX 2026-07-11g : hero gauche + mobile nav + footer bas === */
/* Footer bas centré */
footer .footer-bottom {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 14px !important;
  padding: 28px 20px 36px !important;
}
footer .footer-copy,
footer .footer-legal,
footer .market-switch {
  width: 100% !important;
  max-width: 920px !important;
  margin: 0 auto !important;
  text-align: center !important;
  justify-content: center !important;
}
footer .footer-legal {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 18px !important;
}
footer .footer-legal a {
  color: rgba(255,255,255,0.82) !important;
}
footer .market-switch {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px 16px !important;
  margin-top: 4px !important;
  font-size: 13px !important;
  opacity: 1 !important;
}
footer .market-switch a {
  color: rgba(255,255,255,0.82) !important;
  text-decoration: none !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
}


/* Mobile nav → géré par 8up-global-responsive.css (v20260711i) */

}
