/* ═══ Dentalab Péi — habillage premium (géré par Consult7ng) ═══
   v9 : direction artistique « Labo Smile » — charbon #141414, blanc,
   or mat #ab8b3f. Titres serif Bitter (300/700), corps Manrope.
   Boutons rectangulaires uppercase. Sections alternées noir/blanc. */

:root {
  --c7-noir: #141414;
  --c7-noir-2: #1c1c1c;
  --c7-or: #ab8b3f;
  --c7-or-clair: #d4b96a;
  --c7-gris: #f4f4f4;
  --c7-line: #e8e8e8;
  --c7-texte: #262626;
  --c7-texte-2: #555;
}

/* ── Typographie : Bitter pour les titres, Manrope pour tout le reste ── */
body, main, main p, main li, main a, main button, main span, main div,
main input, main textarea, main select, header, footer {
  font-family: 'Manrope', Inter, system-ui, sans-serif;
}
main h1, main h2, main h3, main h4, .c7-h2 {
  font-family: 'Bitter', Georgia, serif !important;
}
main h2 { font-weight: 300 !important; letter-spacing: 0; }
main h2 strong, main h2 b { font-weight: 700 !important; }
main h3 { font-weight: 700 !important; }
main section[id]:not(#home) { padding-top: 110px !important; padding-bottom: 110px !important; }
main section[id] h2 {
  font-size: clamp(2rem, 3.6vw, 2.7rem) !important;
  line-height: 1.2 !important;
}
main section[id] h2 + p, .c7-sub {
  font-size: 1.02rem !important; max-width: 640px;
  margin-left: auto !important; margin-right: auto !important;
  color: var(--c7-texte-2) !important;
}

/* ── Header : charbon, nav blanche, hover or ── */
header.fixed {
  background: rgba(20, 20, 20, .92) !important;
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .06);
  transition: background .3s ease;
}
header.fixed img { height: 48px !important; transition: height .3s ease; }
header.c7-scrolled img { height: 40px !important; }
header nav a, header nav button {
  font-weight: 600; font-size: .92rem;
  color: #e8e8e8 !important;
  transition: color .2s ease;
  position: relative;
}
header nav a:hover, header nav button:hover { color: var(--c7-or-clair) !important; }
header nav a::after, header nav button::after {
  content: ''; position: absolute; left: 14px; right: 14px; bottom: 4px; height: 1px;
  background: var(--c7-or);
  transform: scaleX(0); transform-origin: left; transition: transform .25s ease;
}
header nav a:hover::after, header nav button:hover::after { transform: scaleX(1); }
/* pilule active du bundle : neutralisée sur fond noir */
header nav [class*="bg-"]:not(.c7-btn-login):not(.c7-btn-call) { background: transparent !important; }
header [class*="bg-"]:not(.c7-btn-login):not(.c7-btn-call):not(img):not(nav *) { background: transparent !important; }

/* Wordmark : blanc, serif */
header .h-16.flex.items-center::after {
  content: 'Dentalab Péi';
  margin-left: 12px;
  font-family: 'Bitter', Georgia, serif;
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: .01em;
  white-space: nowrap;
  color: #fff;
}
@media (max-width: 480px) {
  header .h-16.flex.items-center::after { font-size: 1rem; margin-left: 8px; }
}
/* nav serrée entre 481 et 1280px : wordmark masqué (chevauchait « Accueil ») */
@media (min-width: 481px) and (max-width: 1280px) {
  header .h-16.flex.items-center::after { display: none; }
}

/* Boutons header : rectangles uppercase (Appeler = contour or, Connexion = or plein) */
.c7-btn-call, .c7-btn-login {
  border-radius: 2px !important;
  text-transform: uppercase; letter-spacing: .08em;
  font-weight: 700 !important; font-size: .78rem !important;
}
.c7-btn-call {
  background: transparent !important;
  border: 1.5px solid var(--c7-or) !important;
  box-shadow: none !important;
}
.c7-btn-call, .c7-btn-call * { color: var(--c7-or-clair) !important; }
.c7-btn-call:hover { background: rgba(171, 139, 63, .14) !important; }
.c7-btn-login { background: var(--c7-or) !important; border: 1.5px solid var(--c7-or) !important; box-shadow: none !important; }
.c7-btn-login, .c7-btn-login * { color: #fff !important; }
.c7-btn-login:hover { background: #96792f !important; }

/* ── Hero : photo du bundle + voile charbon (recette Labo Smile) ── */
#home > div.absolute.inset-0 > div {
  display: block !important;
  background: linear-gradient(160deg,
    rgba(8, 8, 8, .84) 0%,
    rgba(8, 8, 8, .55) 52%,
    rgba(8, 8, 8, .74) 100%) !important;
  backdrop-filter: none !important;
  overflow: hidden;
}
#home > div.absolute.inset-0 > div::before,
#home > div.absolute.inset-0 > div::after { content: none; }
/* Si la photo Firebase ne charge pas : fond charbon de secours sur le wrapper */
#home > div.absolute.inset-0 { background-color: #141414; }

/* Grain photographique léger (esprit photo studio) */
#home::after {
  content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  opacity: .07; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
}
#home .container { position: relative; z-index: 2; }

/* Titre hero : Bitter léger, mots forts en gras blanc, trait or */
#home h2, #home h2 * { -webkit-text-fill-color: initial; }
#home h2 {
  color: #fff;
  font-family: 'Bitter', Georgia, serif !important;
  font-weight: 300 !important;
  font-size: clamp(2.4rem, 4.6vw, 3.8rem) !important;
  line-height: 1.15 !important;
}
#home [class*="bg-clip-text"] {
  background: none !important;
  -webkit-background-clip: initial !important; background-clip: initial !important;
  -webkit-text-fill-color: #fff !important;
  color: #fff !important;
  font-weight: 700 !important;
  animation: none !important;
}
#home h2::after {
  content: ''; display: block; width: 72px; height: 1px;
  margin-top: 26px; background: var(--c7-or);
}
#home [class*="text-orange"], #home [class*="text-amber"],
#home [class*="text-pink"], #home [class*="text-rose"] { color: var(--c7-or-clair) !important; }
#home p { color: #c9c9c9; font-size: 1.08rem; }

/* Chips hero : étiquettes sombres lisibles sur photo */
.c7-hero-chip {
  background: rgba(14, 14, 14, .72) !important;
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  border: 1px solid rgba(171, 139, 63, .5);
  border-radius: 2px !important;
  padding: 8px 16px 8px 8px !important;
  transition: border-color .25s ease, background .25s ease;
}
.c7-hero-chip:hover { border-color: var(--c7-or); background: rgba(171, 139, 63, .08) !important; }
.c7-hero-chip, .c7-hero-chip * { color: #e8e8e8 !important; font-size: .88rem; }

/* CTA hero : rectangles uppercase (contour blanc + lien or) */
#home a[class*="rounded-full"], #home button[class*="rounded-full"],
main a[class*="rounded-full"], main button[class*="rounded-full"] {
  border-radius: 2px !important;
  text-transform: uppercase; letter-spacing: .1em;
  font-weight: 700 !important; font-size: .85rem !important;
}
#home .c7-hero-cta a[class*="rounded"], #home .c7-hero-cta button[class*="rounded"] {
  background: transparent !important;
  border: 2px solid #fff !important;
  box-shadow: none !important;
}
#home .c7-hero-cta a[class*="rounded"], #home .c7-hero-cta a[class*="rounded"] *,
#home .c7-hero-cta button[class*="rounded"], #home .c7-hero-cta button[class*="rounded"] * {
  color: #fff !important;
}
#home .c7-hero-cta a[class*="rounded"]:hover, #home .c7-hero-cta button[class*="rounded"]:hover {
  background: rgba(255, 255, 255, .12) !important;
}
.c7-btn-ghost {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 14px 26px; border-radius: 2px;
  border: none; color: var(--c7-or-clair);
  font: 700 .85rem 'Manrope', sans-serif; text-decoration: none;
  text-transform: uppercase; letter-spacing: .1em;
  transition: color .25s ease;
}
.c7-btn-ghost:hover { color: #fff; }
.c7-hero-cta { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }

/* Composition visuelle hero : retirée — la vraie photo du labo EST le visuel */
#c7-hero-visual { display: none !important; }
#c7-hero-visual {
  position: absolute; right: 7vw; top: 50%;
  transform: translateY(-52%);
  width: 320px; height: 320px; z-index: 2;
}
#c7-hero-visual .c7-glass {
  width: 100%; height: 100%; border-radius: 4px;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(171, 139, 63, .35);
  box-shadow: 0 40px 90px rgba(0, 0, 0, .5);
  display: flex; align-items: center; justify-content: center;
  animation: c7float 9s ease-in-out infinite;
}
#c7-hero-visual .c7-glass img {
  width: 70%; filter: drop-shadow(0 24px 44px rgba(0, 0, 0, .5));
}
#c7-hero-visual .c7-chip {
  position: absolute; padding: 8px 14px; border-radius: 2px;
  background: #141414; border: 1px solid rgba(171, 139, 63, .55);
  font: 600 .78rem 'Manrope', sans-serif; color: #e8e8e8; white-space: nowrap;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .5);
  animation: c7float 8s ease-in-out infinite;
}
@keyframes c7float {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-10px); }
}
@media (max-width: 1180px) { #c7-hero-visual { display: none; } }

/* ── Barre de progression : or ── */
#c7-progress {
  position: fixed; top: 0; left: 0; height: 2px; width: 0; z-index: 9999;
  background: var(--c7-or);
}

/* ── Sections : blanc / gris clair alternés, titres serif + trait or ── */
main section[id] { scroll-margin-top: 96px; }
main section:not(#home) { position: relative; overflow: hidden; isolation: isolate; }
main section:not(#home)::before { content: none; }
main section[class*="from-"]:not(#home) { background: #fff !important; }
#about { background: #fff !important; }
#services { background: var(--c7-gris) !important; }
#technologies { background: #fff !important; }
#pricing { background: var(--c7-gris) !important; }
#contact { background: #fff !important; }
main section:not(#home) h2:not([class*="text-white"]) {
  background: none !important;
  -webkit-background-clip: initial !important; background-clip: initial !important;
  -webkit-text-fill-color: initial !important;
  color: var(--c7-noir) !important;
}
main section:not(#home) h2:not([class*="text-white"])::after {
  content: ''; display: block; width: 64px; height: 1px;
  margin: 20px auto 0;
  background: var(--c7-or);
}
main section:not(#home) h2 span,
main section:not(#home) h2 [class*="bg-clip-text"] {
  background: none !important;
  -webkit-background-clip: initial !important; background-clip: initial !important;
  -webkit-text-fill-color: initial !important;
  color: var(--c7-or) !important;
  animation: none !important;
  font-weight: 700 !important;
}
main section:not(#home) [class*="text-transparent"] {
  -webkit-text-fill-color: initial !important;
  color: var(--c7-noir) !important;
}
.c7-kill { display: none !important; }
main section:not(#home) div[class~="h-1"][class*="bg-gradient"],
main section:not(#home) div[class~="h-1.5"][class*="bg-gradient"],
main section:not(#home) div[class~="h-2"][class*="bg-gradient"],
main section:not(#home) div[class*="via-secondary"][class*="to-accent"] { display: none !important; }
main section h3 { color: var(--c7-noir) !important; }

/* ── Cartes : rectangles sobres, ombre légère ── */
main [class*="rounded-xl"], main [class*="rounded-2xl"] { border-radius: 4px !important; }
main [class*="shadow-lg"], main [class*="shadow-xl"], main [class*="shadow-md"] {
  box-shadow: 0 6px 24px rgba(0, 0, 0, .06) !important;
  border: 1px solid var(--c7-line);
  transition: transform .35s cubic-bezier(.2, .65, .3, 1), box-shadow .35s ease !important;
}
main section [class*="shadow-lg"]:hover, main section [class*="shadow-xl"]:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 44px rgba(0, 0, 0, .10) !important;
}
[data-c7tilt] { position: relative; }
[data-c7tilt]::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: var(--c7-or);
  opacity: 0; transition: opacity .3s ease;
}
[data-c7tilt]:hover::before { opacity: 1; }

/* Icônes : médaillons ronds OR (signature Labo Smile) */
.c7-icon {
  background: var(--c7-or) !important;
  border-radius: 50% !important;
  box-shadow: none !important;
}
.c7-icon, .c7-icon * { color: #fff !important; stroke: #fff; }

/* Puces / liens d'accent */
main section a[class*="text-"], main section [class*="text-teal"], main section [class*="text-emerald"] {
  color: var(--c7-or) !important;
}
main [class*="text-purple"], main [class*="text-violet"], main [class*="text-fuchsia"],
main [class*="text-pink"]:not(#home *), main [class*="text-rose"]:not(#home *),
main [class*="text-orange"]:not(#home *), main [class*="text-amber"]:not(#home *),
main [class*="text-indigo"], main [class*="text-blue"] {
  color: var(--c7-texte) !important;
}

/* ── Tarifs : prix serif or, cartes nettes ── */
.c7-price {
  background: transparent !important;
  color: var(--c7-or) !important; -webkit-text-fill-color: var(--c7-or) !important;
  border-radius: 0 !important; padding: 0 !important;
  font-family: 'Bitter', Georgia, serif !important;
  font-weight: 800 !important; font-size: 1.5rem !important;
  box-shadow: none !important;
}
#pricing [data-c7tilt]:hover { border-left-color: transparent; }

/* ── Sections injectées ── */
.c7-wrap { max-width: 1120px; margin: 0 auto; padding: 0 24px; }
.c7-h2 {
  font: 300 clamp(2rem, 3.6vw, 2.7rem)/1.2 'Bitter', Georgia, serif;
  text-align: center; margin-bottom: 16px;
  color: var(--c7-noir);
}
.c7-h2 strong { font-weight: 700; }
.c7-h2::after {
  content: ''; display: block; width: 64px; height: 1px;
  margin: 20px auto 0; background: var(--c7-or);
}
.c7-sub { text-align: center; margin-bottom: 64px; }
.c7-reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s ease; }
.c7-reveal.on { opacity: 1; transform: none; }

/* ── « Comment ça marche » : blanc, numéros ronds or ── */
#c7-process { background: #fff; padding: 110px 0 !important; border-top: 1px solid var(--c7-line); }
.c7-steps {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px;
  position: relative;
}
.c7-steps::before {
  content: ''; position: absolute; top: 34px; left: 9%; right: 9%; height: 1px;
  background: var(--c7-or); opacity: .35;
}
.c7-step {
  background: #fff; border-radius: 4px; padding: 54px 24px 30px;
  border: 1px solid var(--c7-line);
  box-shadow: 0 6px 24px rgba(0, 0, 0, .05);
  position: relative; text-align: center;
  transition: transform .35s cubic-bezier(.2, .65, .3, 1), box-shadow .35s ease;
}
.c7-step:hover { transform: translateY(-5px); box-shadow: 0 18px 44px rgba(0, 0, 0, .09); }
.c7-step > span {
  position: absolute; top: -27px; left: 50%; transform: translateX(-50%);
  width: 54px; height: 54px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: var(--c7-or);
  color: #fff; font: 700 1.05rem 'Bitter', Georgia, serif;
  box-shadow: 0 0 0 6px #fff;
}
.c7-step h3 { font: 700 1.08rem 'Bitter', Georgia, serif; color: var(--c7-noir); margin-bottom: 8px; }
.c7-step p { font-size: .92rem; line-height: 1.7; color: var(--c7-texte-2); }
@media (max-width: 900px) {
  .c7-steps { grid-template-columns: 1fr 1fr; gap: 40px 20px; }
  .c7-steps::before { display: none; }
}
@media (max-width: 520px) { .c7-steps { grid-template-columns: 1fr; } }

/* ── Bande CTA praticiens : charbon + or ── */
#c7-cta {
  background:
    radial-gradient(60% 90% at 85% 15%, rgba(171, 139, 63, .12), transparent 60%),
    linear-gradient(160deg, #101010 0%, #181818 100%);
  padding: 96px 24px !important;
}
#c7-cta::before { content: none; }
#c7-cta .c7-wrap { text-align: center; }
#c7-cta h2 {
  font: 300 clamp(1.9rem, 3.2vw, 2.5rem)/1.25 'Bitter', Georgia, serif;
  color: #fff !important; margin-bottom: 6px;
}
#c7-cta h2::after {
  content: ''; display: block; width: 64px; height: 1px;
  margin: 22px auto 0; background: var(--c7-or);
}
#c7-cta p { color: #c9c9c9; font-size: 1.04rem; margin: 22px 0 36px; }
#c7-cta .c7-cta-actions { display: flex; gap: 18px; justify-content: center; flex-wrap: wrap; }
.c7-btn-white {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 15px 34px; border-radius: 2px;
  background: transparent; border: 2px solid #fff; color: #fff;
  font: 700 .85rem 'Manrope', sans-serif; text-decoration: none;
  text-transform: uppercase; letter-spacing: .1em;
  transition: background .25s ease;
}
.c7-btn-white:hover { background: rgba(255, 255, 255, .12); }
#c7-cta .c7-btn-ghost { color: var(--c7-or-clair); border: 2px solid var(--c7-or); padding: 15px 30px; }
#c7-cta .c7-btn-ghost:hover { background: rgba(171, 139, 63, .12); color: #fff; }

/* ── Contact : tuiles blanches, formulaire net, envoi or ── */
#contact [class*="from-"]:not(button):not([class*="rounded-full"]) {
  background: #fff !important;
  border: 1px solid var(--c7-line) !important;
}
main input, main textarea, main select {
  border-radius: 2px !important;
  border-color: #d9d9d9 !important;
  transition: border-color .2s ease, box-shadow .2s ease !important;
}
main input:focus, main textarea:focus, main select:focus {
  outline: none !important; border-color: var(--c7-or) !important;
  box-shadow: 0 0 0 3px rgba(171, 139, 63, .15) !important;
}
.c7-send {
  background: var(--c7-or) !important;
  box-shadow: none !important;
  border-radius: 2px !important;
  text-transform: uppercase; letter-spacing: .1em;
  font-weight: 700 !important; font-size: .85rem !important;
}
.c7-send:hover { background: #96792f !important; }

/* ── Footer : charbon, colonnes or ── */
footer { background: var(--c7-noir) !important; text-align: center; }
footer[class*="bg-"] { background: var(--c7-noir) !important; }
#c7-footer {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 36px; max-width: 1120px; margin: 0 auto;
  padding: 64px 24px 40px; text-align: left;
}
#c7-footer h4 {
  font: 700 .82rem 'Manrope', sans-serif; color: var(--c7-or-clair);
  margin-bottom: 14px; letter-spacing: .14em; text-transform: uppercase;
}
#c7-footer p { font-size: .92rem; line-height: 1.9; color: rgba(232, 232, 232, .75); }
#c7-footer .c7-brand img {
  height: 52px; background: #fff; border-radius: 4px; padding: 6px;
  margin-bottom: 14px;
}
#c7-footer .c7-word {
  font: 700 1.25rem 'Bitter', Georgia, serif; color: #fff; margin-bottom: 6px;
}
footer > *:last-child { border-top: 1px solid rgba(255, 255, 255, .1); }
footer > *:last-child, footer > *:last-child * { color: rgba(160, 160, 160, .9) !important; }

/* ── Micro-interactions boutons (reflet discret) ── */
main a[class*="rounded-full"], main button[class*="rounded-full"] {
  position: relative; overflow: hidden;
  transition: transform .25s ease, background .25s ease !important;
}
main a[class*="rounded-full"]:hover, main button[class*="rounded-full"]:hover {
  transform: translateY(-2px);
}

/* ── Divers ── */
main img { object-fit: contain; }
::selection { background: var(--c7-or-clair); color: var(--c7-noir); }

/* ── Accessibilité ── */
@media (prefers-reduced-motion: reduce) {
  #c7-hero-visual .c7-glass, #c7-hero-visual .c7-chip { animation: none !important; }
  .c7-reveal { opacity: 1; transform: none; }
}

/* Priorité finale : médaillons d'icônes toujours ronds (bat la règle des cartes) */
main .c7-icon.c7-icon { border-radius: 50% !important; }

/* ── Signature « Propulsé par Consult7ng » — minimaliste, une ligne ── */
#c7-powered {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 20px 0 26px; text-decoration: none;
  border-top: 1px solid rgba(255, 255, 255, .08);
  opacity: .92; transition: opacity .25s ease, transform .25s ease;
}
#c7-powered:hover { opacity: 1; transform: translateY(-1px); }
#c7-powered .c7-pw-label {
  font: 500 12px 'Manrope', sans-serif;
  letter-spacing: .02em;
  color: #9aa0af;
}
#c7-powered .c7-pw-copy {
  font: 600 .78rem 'Manrope', sans-serif;
  letter-spacing: .08em; text-transform: uppercase;
  color: #cbd5e1;
}
#c7-powered .c7-pw-sep { color: rgba(255, 255, 255, .25); font-size: .82rem; }
#c7-powered .c7-pw-logo {
  height: 14px; width: auto; display: block;
  object-fit: contain;
  transform-origin: left center;
  transition: transform .4s cubic-bezier(.34, 1.56, .64, 1), filter .3s ease;
}
#c7-powered:hover .c7-pw-logo {
  transform: scale(1.2);
  filter: drop-shadow(0 2px 7px rgba(94, 242, 228, .5));
}
/* le séparateur du bloc « Créé avec ❤ » reste sur lui, pas sur la signature */
footer > *:last-child { border-top: none; }

/* ═══ 13. Bloc « Nous trouver » — carte Google Maps + infos ═══ */
#c7-map { background: var(--c7-gris); padding: 64px 20px; }
#c7-map .c7-wrap { max-width: 1100px; margin: 0 auto; }
#c7-map .c7-h2 { text-align: center; }
#c7-map .c7-sub { text-align: center; }
.c7-map-card {
  display: grid; grid-template-columns: 1.15fr .85fr; margin-top: 28px;
  background: #fff; border: 1px solid var(--c7-line); border-radius: 20px;
  overflow: hidden; box-shadow: 0 24px 55px -30px rgba(20, 20, 20, .38);
}
.c7-map-embed { position: relative; min-height: 360px; background: #eee; }
.c7-map-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; filter: grayscale(.12); }
.c7-map-info { padding: 32px 36px; display: flex; flex-direction: column; gap: 15px; justify-content: center; }
.c7-map-brand { display: flex; align-items: center; gap: 12px; }
.c7-map-brand img { height: 40px; width: auto; }
.c7-map-brand span { font-weight: 800; font-size: 18px; color: var(--c7-noir); letter-spacing: -.01em; }
.c7-map-list { list-style: none; margin: 0; padding: 0; }
.c7-map-list li { display: flex; gap: 10px; align-items: flex-start; font-size: 14.5px; color: var(--c7-texte); padding: 10px 0; border-bottom: 1px solid var(--c7-line); }
.c7-map-list li:last-child { border-bottom: 0; }
.c7-map-list a { color: var(--c7-texte); font-weight: 600; text-decoration: none; }
.c7-map-list a:hover { color: var(--c7-or); }
.c7-mi { flex: 0 0 20px; text-align: center; }
.c7-map-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 6px; }
.c7-mapbtn { display: inline-flex; align-items: center; gap: 7px; border-radius: 999px; padding: 11px 20px; font-size: 14px; font-weight: 700; text-decoration: none; cursor: pointer; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.c7-mapbtn.go { background: var(--c7-or); color: #fff; box-shadow: 0 12px 24px -12px rgba(171, 139, 63, .8); }
.c7-mapbtn.go:hover { transform: translateY(-2px); box-shadow: 0 16px 30px -12px rgba(171, 139, 63, .9); }
.c7-mapbtn.ghost { background: #fff; color: var(--c7-noir); border: 1.5px solid var(--c7-line); }
.c7-mapbtn.ghost:hover { border-color: var(--c7-or); color: var(--c7-or); }
.c7-map-google { align-self: flex-start; color: var(--c7-or); font-weight: 700; font-size: 13px; text-decoration: none; margin-top: 2px; }
.c7-map-google:hover { text-decoration: underline; }
@media (max-width: 760px) {
  #c7-map { padding: 48px 16px; }
  .c7-map-card { grid-template-columns: 1fr; }
  .c7-map-embed { min-height: 240px; order: -1; }
  .c7-map-info { padding: 24px 22px; }
}

/* ═══ 14. Modernisation — moins « carré », plus de profondeur & d'or unifié ═══ */
/* Cartes : arrondi généreux (annule le 4px trop carré) + ombre douce + bordure or discrète */
main section [class*="rounded-xl"], main section [class*="rounded-2xl"], main section [class*="rounded-lg"] { border-radius: 22px !important; }
main section [class*="shadow-sm"], main section [class*="shadow-md"], main section [class*="shadow-lg"], main section [class*="shadow-xl"], main section [class*="shadow"] {
  box-shadow: 0 20px 46px -28px rgba(20, 20, 20, .30) !important;
  border: 1px solid rgba(171, 139, 63, .12) !important;
  transition: box-shadow .32s ease, border-color .32s ease !important;
}
main section [class*="shadow"]:hover {
  box-shadow: 0 34px 64px -30px rgba(171, 139, 63, .40) !important;
  border-color: rgba(171, 139, 63, .30) !important;
}
/* Puces turquoise → or (cohérence de marque) */
main section li [class*="bg-primary"] { background-color: var(--c7-or) !important; }
/* Badges d'icônes : dégradé or + halo (plus premium que le plat) */
main .c7-icon.c7-icon {
  background: linear-gradient(135deg, var(--c7-or-clair), var(--c7-or)) !important;
  box-shadow: 0 12px 24px -10px rgba(171, 139, 63, .55) !important;
}
/* Boutons : pilule (annule le 2px trop carré) */
.c7-btn-call, .c7-btn-login, .c7-send, .c7-btn-white, .c7-btn-ghost,
#c7-cta .c7-btn-white, #c7-cta .c7-btn-ghost { border-radius: 999px !important; }
main section button, main section a[class*="bg-primary"] { border-radius: 999px !important; }
/* Champs du formulaire arrondis */
main section input, main section textarea, main section select { border-radius: 13px !important; }
/* Sections : fond très légèrement dégradé (moins plat) */
#services, #technologies, #pricing { background: linear-gradient(180deg, #ffffff, #faf9f6) !important; }

/* ═══ 15. Typo moderne — titres en sans (Manrope) au lieu du serif Bitter ═══ */
main h1, main h2, main h3, main h4, main h5, .c7-h2 {
  font-family: 'Manrope', 'Inter', system-ui, -apple-system, sans-serif !important;
  letter-spacing: -.022em !important;
}
main section h2, .c7-h2 { font-weight: 800 !important; }
main h3, main h4 { font-weight: 700 !important; }
/* Titre hero : sans, poids medium (le serif fin faisait « classique ») */
#home h2 { font-family: 'Manrope', 'Inter', sans-serif !important; font-weight: 400 !important; letter-spacing: -.025em !important; }
#home h2 b, #home h2 strong, #home h2 [class*="font-bold"], #home h2 [class*="font-semibold"], #home h2 [class*="font-extrabold"] { font-weight: 800 !important; }
/* Wordmarks header + footer en sans */
header .h-16.flex.items-center::after { font-family: 'Manrope', 'Inter', sans-serif !important; font-weight: 800 !important; letter-spacing: -.02em; }
.c7-word { font-family: 'Manrope', 'Inter', sans-serif !important; font-weight: 800 !important; }

/* ═══ 16. Hero : vidéo de fond (machine FAO / impression 3D) ═══ */
#c7-hero-vid { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 10%; z-index: 0; pointer-events: none; }
/* Fond du hero : charbon immédiat + photo cabinet stock du bundle SUPPRIMÉE dès le 1er
   rendu (CSS render-blocking dans <head>) → plus de flash de la photo avant la vidéo. */
#home .absolute.inset-0.z-0 { background-color: #141414 !important; background-image: none !important; }

/* ═══ 17. Hero moins « carré » + menu affiné ═══ */
/* Chips (Fabrication / Matériaux / Excellence) : arrondies (annule le 2px) */
.c7-hero-chip { border-radius: 16px !important; padding: 12px 18px !important; }
/* Boutons CTA du hero en pilule (bouton « Espace praticien » inclus) */
#home .c7-hero-cta a[class*="rounded"], #home .c7-hero-cta button[class*="rounded"],
#home .c7-hero-cta a, #home .c7-hero-cta button, #c7-ghost-cta { border-radius: 999px !important; }

/* Menu : libellés sur UNE ligne, plus compacts, header en verre dépoli */
header nav a, header nav button { white-space: nowrap !important; }
header nav a:not(.c7-btn-call):not(.c7-btn-login) { font-size: 13.5px !important; letter-spacing: -.01em; padding-left: 9px !important; padding-right: 9px !important; }
header.fixed {
  background: rgba(18, 18, 18, .66) !important;
  -webkit-backdrop-filter: saturate(160%) blur(14px);
  backdrop-filter: saturate(160%) blur(14px);
  border-bottom: 1px solid rgba(255, 255, 255, .07);
}
header.c7-scrolled { background: rgba(14, 14, 14, .92) !important; }

/* ═══ 18. Bouton WhatsApp flottant ═══ */
#c7-wa {
  position: fixed; right: 20px; bottom: 20px; z-index: 60;
  width: 58px; height: 58px; border-radius: 50%;
  background: #25D366; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 14px 30px -8px rgba(37, 211, 102, .55); text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}
#c7-wa svg { width: 30px; height: 30px; display: block; }
#c7-wa::before {
  content: ''; position: absolute; inset: 0; border-radius: 50%;
  animation: c7wa-pulse 2.4s cubic-bezier(.66, 0, 0, 1) infinite;
}
@keyframes c7wa-pulse {
  0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, .45); }
  70% { box-shadow: 0 0 0 16px rgba(37, 211, 102, 0); }
  100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}
#c7-wa:hover { transform: scale(1.07); box-shadow: 0 18px 36px -8px rgba(37, 211, 102, .7); }
@media (max-width: 600px) { #c7-wa { width: 54px; height: 54px; right: 15px; bottom: 15px; } }

/* ═══ 19. Hero TOUJOURS visible ═══ */
/* Le bundle enrobe titre/sous-titre/chips dans des wrappers d'apparition (opacity:0 +
   translateY) qui restaient bloqués sur les grandes fenêtres → contenu invisible.
   On force la visibilité (au prix du fondu d'entrée du hero, acceptable). */
#home .container * { opacity: 1 !important; }
#home .container [style*="translate"], #home .container [style*="matrix"] { transform: none !important; }

/* ═══ 20. Anti-flash boutons — style final dès le 1er paint (par classes du bundle,
   sans attendre que le JS pose .c7-btn-*). Supprime le flash « anciens boutons ». ═══ */
/* Header — « Appeler » (bundle bg-primary → contour or, pilule) */
header a[class*="bg-primary"] { background: transparent !important; border: 1.5px solid var(--c7-or) !important; border-radius: 999px !important; box-shadow: none !important; }
header a[class*="bg-primary"], header a[class*="bg-primary"] * { color: var(--c7-or-clair) !important; }
/* Header — « Connexion » (bundle bg-secondary → or plein, pilule) */
header button[class*="bg-secondary"] { background: var(--c7-or) !important; border: 1.5px solid var(--c7-or) !important; border-radius: 999px !important; box-shadow: none !important; }
header button[class*="bg-secondary"], header button[class*="bg-secondary"] * { color: #fff !important; }
/* Hero — « Espace praticien » (bundle bg-white rounded-full → contour blanc transparent, pilule) */
#home a[class*="bg-white"][class*="rounded-full"], #home button[class*="bg-white"][class*="rounded-full"] {
  background: transparent !important; border: 2px solid #fff !important; border-radius: 999px !important; box-shadow: none !important;
}
#home a[class*="bg-white"][class*="rounded-full"], #home a[class*="bg-white"][class*="rounded-full"] *,
#home button[class*="bg-white"][class*="rounded-full"], #home button[class*="bg-white"][class*="rounded-full"] * { color: #fff !important; }
