/* Finitions de l'identité existante : aucun remplacement des fonds ou polices. */
.adtl-modern {
  text-rendering: optimizeLegibility;
}
.adtl-modern section[id] { scroll-margin-top: 96px; }
.adtl-modern :is(h2, h3) { text-wrap: balance; }
.adtl-modern :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid #0A0A0A;
  outline-offset: 4px;
  box-shadow: 0 0 0 4px #FFFFFF;
}
.adtl-modern :is(.btn, .btn-brand-dark, .navl, .nav-btn, .drop-link, .drop-cta) {
  min-height: 44px;
  transition: color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease, background-color .2s ease;
}
.adtl-modern :is(.btn, .btn-brand-dark) { min-height: 50px; justify-content: center; }
.adtl-modern .btn .material-symbols-outlined { transition: transform .2s ease; }
.adtl-modern #navbar .navl { display: inline-flex; align-items: center; }
.adtl-modern #navbar :is(.nav-btn, .navl) { border-radius: 10px; }
.adtl-modern #navbar .nav-btn svg { transition: transform .2s ease; }
.adtl-modern #navbar .nav-drop {
  border-radius: 18px;
  box-shadow: 0 16px 48px rgba(10,10,10,.09), 0 2px 6px rgba(10,10,10,.04);
}
/* Les menus du simulateur doivent aussi être accessibles au clavier. */
.adtl-modern #navbar .group:focus-within > div { opacity: 1; visibility: visible; }
.adtl-modern #navbar.scrolled { box-shadow: 0 4px 24px rgba(10,10,10,.055); }
.adtl-modern :is(.card, .card-gray, .sim-card, .quick-path-card) {
  box-shadow: 0 2px 3px rgba(10,10,10,.02), 0 8px 28px rgba(10,10,10,.035);
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.adtl-modern :is(.fi, .sim-input) {
  min-height: 48px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.adtl-modern :is(.fi, .sim-input):focus {
  border-color: #0A0A0A;
  box-shadow: 0 0 0 3px rgba(10,10,10,.07);
}
.adtl-modern .result-value,
.adtl-modern .result-total-value { font-variant-numeric: tabular-nums; }
/* Le contenu reste visible même si une révélation arrive tard au défilement. */
.adtl-modern [data-reveal] { opacity: 1; transform: none; }

/* Accueil : mêmes blocs, mêmes textes, mise en page plus régulière. */
.adtl-home .hero-kpis { gap: 28px; }
.adtl-home .hero-kpis > div + div { border-left: 1px solid #E5E5E5; padding-left: 28px; }
.adtl-home .hero-tracking-card {
  border: 1px solid rgba(255,255,255,.1);
  box-shadow: 0 24px 60px -24px rgba(10,10,10,.38);
}
.adtl-home .hero-tracking-card [style*="color:rgba(255,255,255,.3)"] { color: rgba(255,255,255,.58) !important; }
.adtl-home .hero-tracking-card [style*="font-size:14px"][style*="color:rgba(255,255,255,.2)"] { color: rgba(255,255,255,.58) !important; }
.adtl-home .hero-tracking-card [style*="font-size:12px"][style*="color:rgba(255,255,255,.12)"] { color: rgba(255,255,255,.48) !important; }
.adtl-home .quick-path-grid { gap: 18px; }
.adtl-home .quick-path-card { padding: 26px; border-radius: 20px; }
.adtl-home .quick-path-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid #E5E5E5;
  border-radius: 50%;
  font-size: 19px;
  transition: transform .2s ease, border-color .2s ease;
}
.adtl-home #services .card { display: flex; flex-direction: column; }
.adtl-home #services .card > p { flex: 1; }
.adtl-home #services .card a { text-underline-offset: 5px; text-decoration-thickness: 1px; }
.adtl-home #faq .card { border-radius: 16px; box-shadow: 0 2px 8px rgba(10,10,10,.025); }
.adtl-home #faq .card:hover { transform: none; }
.adtl-home #faq .faq-arrow { border: 1px solid #E5E5E5; border-radius: 50%; padding: 3px; }

@media (min-width: 1100px) {
  .adtl-modern [style*="max-width:1440px"],
  .adtl-modern .max-w-\[1440px\] {
    max-width: 1440px !important;
    padding-left: clamp(24px, 3.4vw, 48px) !important;
    padding-right: clamp(24px, 3.4vw, 48px) !important;
  }
  .adtl-home #hero-grid { gap: 64px !important; }
  .adtl-home #hero-grid h1 { font-size: clamp(3.6rem, 5.1vw, 80px) !important; }
  .adtl-home .quick-path-card h3 { min-height: 2.7em; }
}
@media (hover: hover) and (pointer: fine) {
  .adtl-modern :is(.btn, .btn-brand-dark):hover .material-symbols-outlined { transform: translateX(3px); }
  .adtl-modern :is(.card, .card-gray, .quick-path-card):hover {
    border-color: #A3A3A3;
    box-shadow: 0 12px 32px rgba(10,10,10,.075);
    transform: translateY(-3px);
  }
  .adtl-home .quick-path-card:hover .quick-path-arrow { transform: translateX(3px); border-color: #0A0A0A; }
}
@media (max-width: 1023px) {
  .adtl-modern:has(#bottomnav) { padding-bottom: calc(62px + env(safe-area-inset-bottom, 0px)); }
  .adtl-modern #bottomnav {
    height: calc(62px + env(safe-area-inset-bottom, 0px));
    padding-bottom: env(safe-area-inset-bottom, 0px);
    box-shadow: 0 -4px 20px rgba(10,10,10,.04);
  }
  .adtl-modern #bottomnav .bn-item { min-height: 54px; }
  .adtl-modern #mobileMenu { max-height: 100dvh; overscroll-behavior: contain; }
  .adtl-modern .whatsapp-btn { bottom: calc(84px + env(safe-area-inset-bottom, 0px)) !important; }
}
@media (max-width: 900px) {
  .adtl-modern #collection-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px) {
  .adtl-modern #collection-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .adtl-modern :is(.fi, .sim-input) { font-size: 16px; }
  .adtl-home .hero-kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    width: 100%;
    max-width: 420px;
    margin-inline: auto;
  }
  .adtl-home .hero-kpis > div { min-width: 0; padding: 0 10px; }
  .adtl-home .hero-kpis > div + div { padding-left: 10px; }
  .adtl-home .hero-kpis > div > div:first-child { font-size: 26px !important; }
  .adtl-home .hero-kpis > div > div:last-child { font-size: 10px !important; line-height: 1.5; letter-spacing: .035em !important; }
  .adtl-home .hero-actions { margin-bottom: 36px; }
  .adtl-home .quick-path-card { padding: 24px; }
  .adtl-home #services .card { padding: 26px !important; }
  .adtl-home #contact .card { padding: 26px !important; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(.adtl-modern) { scroll-behavior: auto; }
  .adtl-modern *, .adtl-modern *::before, .adtl-modern *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
  .adtl-modern [data-reveal] { opacity: 1 !important; transform: none !important; }
  .adtl-modern :is(.card, .card-gray, .quick-path-card, .btn, .wu-card):hover { transform: none !important; }
}
