/* Transitions globales */
a,
.wp-block-button__link,
.wp-block-navigation-item__content {
  transition: all 0.3s ease;
}

/* Boutons — style de base renforcé */
.wp-block-button__link {
  font-weight: 700 !important;
}

/* Hover boutons — défaut (fond dark → hover tan) */
.wp-block-button__link:hover {
  background-color: var(--wp--preset--color--primary) !important;
  color: var(--wp--preset--color--secondary) !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

/* Hover boutons tan → hover blanc */
.wp-block-button__link.has-primary-background-color:hover {
  background-color: var(--wp--preset--color--secondary) !important;
  color: var(--wp--preset--color--white) !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 20px rgba(209,167,150,0.4);
}

/* Hover bouton outline → fond tan, texte dark */
.is-style-outline .wp-block-button__link:hover {
  background-color: var(--wp--preset--color--primary) !important;
  color: var(--wp--preset--color--secondary) !important;
  border-color: var(--wp--preset--color--primary) !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(209,167,150,0.3);
}

/* Hover liens navigation */
.wp-block-navigation-item__content:hover {
  color: var(--wp--preset--color--primary) !important;
}

/* Hover liens généraux (fond clair) */
a:hover {
  color: var(--wp--preset--color--primary);
}

/* Hover liens sur fond dark → blanc */
.has-secondary-background-color a:not(.wp-block-button__link):hover {
  color: var(--wp--preset--color--primary) !important;
  text-decoration: underline !important;
}

/* Navigation active */
.wp-block-navigation-item.current-menu-item .wp-block-navigation-item__content {
  color: var(--wp--preset--color--primary);
}

/* ---- Topbar ---- */
.topbar {
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.topbar-item {
  margin: 0;
  line-height: 1.4;
}
.topbar a:hover {
  color: var(--wp--preset--color--primary) !important;
  text-decoration: none !important;
}

/* ---- Header ---- */
.site-header {
  z-index: 100;
  border-bottom: 1px solid var(--wp--preset--color--border);
  transition: transform 0.3s ease;
}
.site-header.header-hidden {
  transform: translateY(-100%);
}
.admin-bar .site-header {
  top: 32px !important;
}

.header-logo img {
  height: 40px;
  width: auto !important;
  object-fit: contain;
}

.header-logo figure {
  margin: 0;
}

/* Header CTA — pas de translateY dans le header */
.header-cta .wp-block-button__link:hover {
  transform: none;
  box-shadow: none;
}


/* ---- Supprimer gap header/hero ---- */
header + main,
header + .wp-block-group {
  margin-top: 0 !important;
}

/* ---- Hero ---- */
.hero-separator {
  width: 60px !important;
  margin-left: 0 !important;
  border-top: 3px solid var(--wp--preset--color--primary) !important;
  opacity: 1 !important;
}

.hero-trust {
  opacity: 0.85;
}

.hero-portrait {
  max-height: 520px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.hero-portrait img {
  max-height: 520px;
  width: auto;
  object-fit: contain;
  object-position: bottom center;
}

/* ---- Responsive mobile ---- */
@media (max-width: 781px) {
  .topbar {
    display: none;
  }
  .wp-block-columns.are-vertically-aligned-bottom {
    flex-direction: column;
  }
  .wp-block-columns.are-vertically-aligned-bottom > .wp-block-column {
    flex-basis: 100% !important;
  }
  .hero-portrait {
    max-height: 220px;
    justify-content: center;
  }
  .hero-portrait img {
    max-height: 220px;
  }

  /* Hero text + CTA centrer sur mobile */
  .wp-block-columns.are-vertically-aligned-bottom .wp-block-column {
    text-align: center;
  }
  .wp-block-columns.are-vertically-aligned-bottom .wp-block-buttons {
    justify-content: center !important;
  }
  .wp-block-columns.are-vertically-aligned-bottom .hero-separator {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .wp-block-columns.are-vertically-aligned-bottom .hero-trust {
    text-align: center;
  }

  /* CTA buttons centrer sur mobile — all patterns */
  .wp-block-buttons {
    justify-content: center !important;
  }

  /* About badges centrer */
  .about-badges {
    justify-content: center !important;
  }

  /* === Global mobile centering === */

  /* A-propos section — center text */
  .wp-block-columns:not(.are-vertically-aligned-bottom):not(.competences-grid) > .wp-block-column {
    text-align: center;
  }
  .wp-block-columns:not(.are-vertically-aligned-bottom):not(.competences-grid) > .wp-block-column .wp-block-heading {
    text-align: center;
  }

  /* Zone intervention — center text (only on secondary bg sections) */
  .wp-block-group.alignfull.has-secondary-background-color p {
    text-align: center;
  }

  /* Footer — center all columns on mobile */
  footer .wp-block-column,
  footer .wp-block-columns .wp-block-column {
    text-align: center !important;
  }
  footer .wp-block-column .wp-block-heading {
    text-align: center !important;
  }
  footer .wp-block-column p {
    text-align: center !important;
  }
  footer .footer-nav {
    text-align: center !important;
    list-style: none !important;
  }
  footer .wp-block-buttons {
    justify-content: center !important;
  }

  /* Competences grid — stack single column */
  .competences-grid {
    flex-direction: column !important;
  }
  .competences-grid > .wp-block-column {
    flex-basis: 100% !important;
  }

  /* Competence featured card H3 — reduce size */
  .competence-featured h3 {
    font-size: 1.2rem !important;
  }
}

/* ---- Section separators ---- */
.section-separator {
  width: 60px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border-top: 3px solid var(--wp--preset--color--primary) !important;
  opacity: 1 !important;
}

/* ---- Competence cards ---- */
.competence-card {
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.competence-card:hover {
  border-color: var(--wp--preset--color--primary) !important;
  box-shadow: 0 2px 12px rgba(209,167,150,0.15);
}
.competence-card p:last-child {
  margin-bottom: 0;
}

/* Grille compétences — hauteur égale */
.competences-grid > .wp-block-column {
  display: flex;
  flex-direction: column;
}
.competences-grid .competence-card {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* ---- À propos ---- */
.about-portrait img {
  max-height: 500px;
  width: auto;
  object-fit: contain;
}

@media (max-width: 781px) {
  .about-portrait img {
    max-height: 350px;
    margin: 0 auto;
    display: block;
  }
}

/* ---- Featured link hover (competences) ---- */
.featured-link a {
  transition: color 0.3s ease;
}
.featured-link a:hover {
  color: var(--wp--preset--color--primary) !important;
}

/* ---- About badges ---- */
.about-badges p {
  
  color: var(--wp--preset--color--secondary) !important;
  border-color: var(--wp--preset--color--primary) !important;
  font-weight: 700 !important;
}

/* ---- Client cards ---- */
.client-card {
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
  height: 100%;
}
.client-card:hover {
  border-color: var(--wp--preset--color--primary) !important;
  box-shadow: 0 2px 12px rgba(209,167,150,0.15);
}

@media (max-width: 781px) {
  .client-card {
    margin-bottom: var(--wp--preset--spacing--20);
  }
}

/* ---- Bouton tan sur fond dark : hover vers blanc ---- */
.has-secondary-background-color .wp-block-button__link.has-primary-background-color:hover {
  background-color: var(--wp--preset--color--white) !important;
  color: var(--wp--preset--color--secondary) !important;
}

/* ---- Testimonial cards ---- */
.testimonial-card {
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
  height: 100%;
}
.testimonial-card:hover {
  border-color: var(--wp--preset--color--primary) !important;
  box-shadow: 0 2px 12px rgba(209,167,150,0.15);
}

/* ---- Article cards ---- */
.article-card {
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
  overflow: hidden;
}
.article-card:hover {
  border-color: var(--wp--preset--color--primary) !important;
  box-shadow: 0 2px 12px rgba(209,167,150,0.15);
}
.article-card .wp-block-post-title a:hover {
  color: var(--wp--preset--color--primary) !important;
}

/* ---- CTA final outline button on dark ---- */
.has-secondary-background-color .is-style-outline .wp-block-button__link:hover {
  background-color: var(--wp--preset--color--white) !important;
  color: var(--wp--preset--color--secondary) !important;
  border-color: var(--wp--preset--color--white) !important;
}

/* ---- Supprimer gap main/footer ---- */
main + footer,
main + .wp-block-template-part {
  margin-top: 0 !important;
}

/* ---- Footer ---- */
.footer-nav {
  list-style: none;
}
.footer-nav a {
  color: var(--wp--preset--color--white) !important;
  text-decoration: none;
}
.footer-nav a:hover {
  color: var(--wp--preset--color--primary) !important;
}

/* ---- Séparateur CTA final / footer ---- */
footer .wp-block-group.has-secondary-background-color {
  border-top: 1px solid rgba(255,255,255,0.1);
}


/* ---- Article card : placeholder quand pas d'image ---- */
.article-card {
  position: relative;
}
.article-card .wp-block-post-featured-image {
  min-height: 180px;
  background-color: var(--wp--preset--color--background-alt);
  display: flex;
  align-items: center;
  justify-content: center;
}
.article-card .wp-block-post-featured-image:empty::after {
  content: 'DLT AVOCAT';
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--wp--preset--color--primary);
  opacity: 0.6;
}


/* ---- Article sidebar sticky ---- */

/* Force sticky sidebar — override WP layout overflow */
.article-main {
  overflow: hidden;
}
.article-sidebar {
  flex: 0 0 320px;
  width: 320px;
  max-width: 320px;
  align-self: stretch;
}
.sidebar-sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 100px;
}
/* Parents: no overflow that blocks sticky */
body:has(.sidebar-sticky) .wp-site-blocks,
body:has(.sidebar-sticky) main,
.wp-block-columns:has(.article-sidebar),
.wp-block-group:has(.article-sidebar) {
  overflow: visible !important;
}


/* ---- Article hero image dans le contenu, pas le hero ---- */
.article-hero .wp-block-post-featured-image {
  margin-top: var(--wp--preset--spacing--50);
}

/* ---- Sidebar responsive ---- */
@media (max-width: 781px) {
  .article-sidebar {
    display: none !important;
  }
}

/* ---- Article hero on dark ---- */
.article-hero .section-separator {
  border-top-color: var(--wp--preset--color--primary) !important;
}
/* ---- Article hero category badge ---- */
.article-hero .wp-block-post-terms a {
  color: var(--wp--preset--color--primary) !important;
  text-decoration: none !important;
}

/* ---- Article featured image border ---- */
.article-hero .wp-block-post-featured-image img,
.article-main .wp-block-post-featured-image img {
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 4px;
}

/* ---- Article hero : cohérence avec homepage ---- */
.article-hero .wp-block-post-terms {
  display: block;
  text-align: center;
  margin-bottom: var(--wp--preset--spacing--20);
}
.article-hero .wp-block-post-terms a {
  background-color: rgba(209,167,150,0.12);
  border: 1px solid rgba(209,167,150,0.3);
  padding: 4px 14px;
  border-radius: 2px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--wp--preset--color--primary) !important;
  text-decoration: none !important;
}
.article-hero .wp-block-post-terms a:hover {
  background-color: rgba(209,167,150,0.25);
}

/* ---- Blog archive : hero cohérent ---- */
.blog-hero {
  background: linear-gradient(180deg, #FFFFFF 0%, #FAF8F6 50%, #FAF5F3 100%) !important;
}

/* ---- Separator tan sur fond dark (archive/blog heroes) ---- */
.article-hero-sep {
  border-top-color: var(--wp--preset--color--primary) !important;
}

/* ---- Sommaire dynamique ---- */
.dlt-sommaire {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 680px;
  background: var(--wp--preset--color--background);
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 4px;
  margin-bottom: var(--wp--preset--spacing--50);
  padding: clamp(20px, 4vw, 24px);
}
.dlt-sommaire-title {
  font-family: var(--wp--preset--font-family--montserrat);
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--wp--preset--color--secondary);
}
.dlt-sommaire-list {
  display: flex;
  flex-direction: column;
  padding: 0 !important;
  margin: 0 !important;
  gap: 0;
  list-style: none !important;
  width: 100%;
}
.dlt-sommaire-list li {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
.dlt-sommaire-list li + li {
  border-top: 1px solid var(--wp--preset--color--border) !important;
  margin-top: 9px !important;
  padding-top: 9px !important;
}
.dlt-sommaire-list a {
  color: var(--wp--preset--color--body-text) !important;
  text-decoration: none !important;
  font-size: 0.9rem !important;
  transition: color 0.3s ease;
}
.dlt-sommaire-list a:hover {
  color: var(--wp--preset--color--primary) !important;
}
.dlt-sommaire-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(209,167,150,0.15);
  border: none;
  border-radius: 100px;
  padding: 6px 14px;
  cursor: pointer;
  font-family: var(--wp--preset--font-family--montserrat);
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--wp--preset--color--primary);
  transition: opacity 0.3s ease;
}
.dlt-sommaire-toggle:hover {
  opacity: 0.75;
}
.dlt-sommaire.is-collapsed .dlt-sommaire-list li:nth-child(n+6) {
  display: none !important;
}
h2[id] {
  scroll-margin-top: 120px;
}

/* ---- Article H2 styling — trait tan ---- */
.article-main .wp-block-post-content h2 {
  font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem);
  font-weight: 700;
  line-height: 1.35;
  margin-top: clamp(2rem, 1.5rem + 2vw, 3rem);
  margin-bottom: clamp(1rem, 0.8rem + 0.8vw, 1.5rem);
  color: var(--wp--preset--color--secondary);
}
.article-main .wp-block-post-content h2::after {
  content: '';
  display: block;
  width: 50px;
  height: 3px;
  background: var(--wp--preset--color--primary);
  margin-top: 10px;
  border-radius: 2px;
}
@media (max-width: 781px) {
  .article-main,
  .article-main .wp-block-post-content,
  .article-main .wp-block-post-content h2,
  .article-main .wp-block-post-content h3,
  .article-main .wp-block-post-content .wp-block-heading,
  .article-main .wp-block-post-content p {
    text-align: left !important;
  }
  .article-main ul,
  .article-main ol {
    padding-left: 1.2em !important;
  }
}

/* ---- Article H3 styling — clean style ---- */
.article-main .wp-block-post-content h3 {
  font-size: clamp(1.05rem, 0.95rem + 0.4vw, 1.2rem);
  font-weight: 600;
  line-height: 1.4;
  margin-top: clamp(1.5rem, 1.2rem + 1.2vw, 2rem);
  margin-bottom: clamp(0.75rem, 0.6rem + 0.5vw, 1rem);
  color: var(--wp--preset--color--secondary);
}

/* ---- Listes globales — puces tan + espacement ---- */
.wp-block-post-content ul li,
.entry-content ul li {
  list-style: none;
  position: relative;
  padding-left: 1.4em;
  margin-bottom: 0.6em;
}
.wp-block-post-content ul li::before,
.entry-content ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 7px;
  height: 7px;
  background-color: var(--wp--preset--color--primary);
  border-radius: 50%;
}
.wp-block-post-content ol li,
.entry-content ol li {
  margin-bottom: 0.6em;
}

/* ---- Tags articles — pills stylées ---- */
.article-main .taxonomy-post_tag {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.article-main .taxonomy-post_tag a {
  display: inline-block;
  padding: 5px 14px;
  border-radius: 2px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: var(--wp--preset--color--secondary) !important;
  text-decoration: none !important;
  background: rgba(209,167,150,0.12);
  border: 1px solid rgba(209,167,150,0.3);
  transition: all 0.3s ease;
}
.article-main .taxonomy-post_tag a:hover {
  background: rgba(209,167,150,0.25);
  color: var(--wp--preset--color--secondary) !important;
}




/* ---- Blog cards — hauteur uniforme ---- */
.article-card .wp-block-post-featured-image {
  height: 220px;
  min-height: 220px;
  max-height: 220px;
  overflow: hidden;
}
.article-card .wp-block-post-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ---- Blog grid — cards hauteur égale ---- */
.wp-block-post-template.is-layout-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--wp--preset--spacing--50);
}
.wp-block-post-template.is-layout-grid > li {
  display: flex;
}
.wp-block-post-template.is-layout-grid > li .article-card {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.wp-block-post-template.is-layout-grid > li .article-card .wp-block-post-excerpt {
  flex: 1;
}
@media (max-width: 781px) {
  .wp-block-post-template.is-layout-grid {
    grid-template-columns: 1fr;
  }
}

/* ================================================
   TESTIMONIALS CAROUSEL
   ================================================ */
.dlt-testimonials-carousel {
  position: relative;
  overflow: hidden;
}
.dlt-testimonials-track {
  display: flex;
  gap: 24px;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.dlt-testimonial-card {
  flex: 0 0 calc((100% - 48px) / 3);
  min-width: 0;
  background: #fff;
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 4px;
  padding: clamp(1.5rem, 1rem + 1vw, 2rem);
  position: relative;
}
@media (max-width: 1023px) {
  .dlt-testimonial-card { flex: 0 0 calc((100% - 24px) / 2); }
}
@media (max-width: 639px) {
  .dlt-testimonial-card { flex: 0 0 100%; }
}
.dlt-testimonial-card .dlt-quote-mark {
  font-size: 3.5rem;
  line-height: 1;
  color: var(--wp--preset--color--primary);
  font-family: Georgia, serif;
  margin-bottom: 0.5rem;
  opacity: 0.6;
}
.dlt-testimonial-card .dlt-quote-text {
  font-size: clamp(0.9rem, 0.85rem + 0.2vw, 1rem);
  line-height: 1.7;
  color: var(--wp--preset--color--body-text);
  font-style: italic;
  margin: 0 0 1.2rem 0;
}
.dlt-testimonial-card .dlt-quote-author {
  display: flex;
  align-items: center;
  gap: 10px;
  border-top: 1px solid var(--wp--preset--color--border);
  padding-top: 1rem;
  margin-top: auto;
}
.dlt-testimonial-card .dlt-author-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--wp--preset--color--primary);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--wp--preset--color--secondary);
  font-weight: 700;
  font-size: 0.9rem;
  flex-shrink: 0;
}
.dlt-testimonial-card .dlt-author-name {
  font-weight: 700;
  font-size: 0.9rem;
  color: var(--wp--preset--color--secondary);
  margin: 0;
}
.dlt-testimonial-card .dlt-author-role {
  font-size: 0.78rem;
  color: var(--wp--preset--color--muted);
  margin: 2px 0 0 0;
}

/* Carousel controls */
.dlt-carousel-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: clamp(1.5rem, 1rem + 1vw, 2.5rem);
}
.dlt-carousel-prev,
.dlt-carousel-next {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid var(--wp--preset--color--border);
  background: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  color: var(--wp--preset--color--secondary);
  font-size: 1.1rem;
}
.dlt-carousel-prev:hover,
.dlt-carousel-next:hover {
  background: var(--wp--preset--color--primary);
  border-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--secondary);
}
.dlt-testimonials-dots {
  display: flex;
  gap: 8px;
}
.dlt-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: none;
  background: var(--wp--preset--color--border);
  cursor: pointer;
  padding: 0;
  transition: all 0.3s ease;
}
.dlt-dot.active {
  background: var(--wp--preset--color--primary);
  transform: scale(1.2);
}

/* ================================================
   ANIMATED COUNTERS
   ================================================ */
.dlt-counter-value {
  font-size: clamp(1.6rem, 1.2rem + 1.5vw, 3.5rem);
  font-weight: 700;
  line-height: 1;
  color: var(--wp--preset--color--primary);
  display: block;
  text-align: center;
}
.dlt-counter-label {
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--wp--preset--color--muted);
  text-align: center;
  margin-top: 8px;
  display: block;
}

/* Counters responsive mobile */
@media (max-width: 639px) {
  .dlt-counters > div {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.5rem !important;
  }
  .dlt-counters > div > div {
    border-right: none !important;
    padding-right: 0 !important;
  }
  .dlt-counters > div > div:nth-child(odd) {
    border-right: 1px solid var(--wp--preset--color--border) !important;
    padding-right: 1rem !important;
  }
}

/* Fix global overflow — mobile */
html, body {
  overflow-x: clip;
}
.wp-site-blocks {
  overflow-x: clip;
  max-width: 100%;
}
@media (max-width: 782px) {
  /* Hide topbar */
  .topbar { display: none !important; }
  /* Hide header CTA on mobile — available in hamburger menu */
  .header-cta { display: none !important; }
  /* Header mobile */
  .site-header {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .site-header .wp-block-image img {
    width: 150px !important;
  }
  /* Force alignfull to use 100% not 100vw */
  .alignfull {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }
  /* WP constrained layout — prevent negative margins */
  .is-layout-constrained > .alignfull {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* FAQ accordion */
.dlt-faq { max-width: 700px; margin: 0 auto; }
.dlt-faq-item {
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 2px;
  margin-bottom: 12px;
  background: var(--wp--preset--color--background);
  overflow: hidden;
}
.dlt-faq-item summary {
  padding: clamp(1rem, 0.8rem + 0.5vw, 1.25rem) clamp(1.25rem, 1rem + 0.5vw, 1.5rem);
  font-size: 1rem;
  font-weight: 600;
  color: var(--wp--preset--color--secondary);
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: background 0.2s;
}
.dlt-faq-item summary::-webkit-details-marker { display: none; }
.dlt-faq-item summary::after {
  content: "+";
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--wp--preset--color--primary);
  flex-shrink: 0;
  margin-left: 1rem;
  transition: transform 0.2s;
}
.dlt-faq-item[open] summary::after {
  content: "−";
}
.dlt-faq-item summary:hover {
  background: var(--wp--preset--color--background);
}
.dlt-faq-answer {
  padding: 0 clamp(1.25rem, 1rem + 0.5vw, 1.5rem) clamp(1rem, 0.8rem + 0.5vw, 1.25rem);
  border-top: 1px solid var(--wp--preset--color--border);
}
.dlt-faq-answer p {
  font-size: 0.95rem;
  line-height: 1.7;
  color: var(--wp--preset--color--body-text);
}
.dlt-faq-answer a {
  color: var(--wp--preset--color--primary);
  font-weight: 600;
  text-decoration: none;
}
.dlt-faq-answer a:hover {
  text-decoration: underline;
}


}


/* === Carrousel Articles === */
.dlt-articles-carousel {
  position: relative;
  overflow: hidden;
  max-width: 100%;
  padding: 0 4px;
}
.dlt-articles-track {
  display: flex;
  transition: transform 0.4s ease;
  gap: 24px;
}
.dlt-article-card {
  flex: 0 0 calc(33.333% - 18px);
  min-width: 0;
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 4px;
  overflow: hidden;
  background: var(--wp--preset--color--background);
  transition: box-shadow 0.2s;
}
.dlt-article-card:hover {
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}
.dlt-article-img {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.dlt-article-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s;
}
.dlt-article-card:hover .dlt-article-img img {
  transform: scale(1.03);
}
.dlt-article-body {
  padding: 1.25rem 1.5rem 1.5rem;
}
.dlt-article-date {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--wp--preset--color--muted);
}
.dlt-article-title {
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.4;
  margin: 0.4rem 0 0.6rem;
}
.dlt-article-title a {
  color: var(--wp--preset--color--secondary);
  text-decoration: none;
}
.dlt-article-title a:hover {
  color: var(--wp--preset--color--primary);
}
.dlt-article-excerpt {
  font-size: 0.88rem;
  line-height: 1.6;
  color: var(--wp--preset--color--body-text);
  margin: 0 0 0.75rem;
}
.dlt-article-link {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--wp--preset--color--primary);
  text-decoration: none;
}
.dlt-article-link:hover {
  text-decoration: underline;
}
/* Nav */
.dlt-articles-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 2rem;
}
.dlt-articles-arrow {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--wp--preset--color--border);
  background: var(--wp--preset--color--background);
  color: var(--wp--preset--color--secondary);
  font-size: 1.1rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
}
.dlt-articles-arrow:hover {
  background: var(--wp--preset--color--secondary);
  color: #fff;
  border-color: var(--wp--preset--color--secondary);
}
.dlt-articles-dots {
  display: flex;
  gap: 8px;
}
.dlt-articles-dots .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--wp--preset--color--border);
  cursor: pointer;
  transition: background 0.2s;
}
.dlt-articles-dots .dot.active {
  background: var(--wp--preset--color--primary);
}
@media (max-width: 900px) {
  .dlt-article-card { flex: 0 0 calc(50% - 12px); }
}
@media (max-width: 600px) {
  .dlt-article-card { flex: 0 0 100%; }
  .dlt-articles-track { gap: 16px; }
}


/* === Google Reviews Badge === */
.dlt-google-reviews {
  text-align: center;
  margin-top: clamp(1rem, 0.5rem + 1vw, 1.5rem);
  padding-top: clamp(0.75rem, 0.5rem + 0.5vw, 1rem);
  border-top: 1px solid var(--wp--preset--color--border);
}
.dlt-google-reviews a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  color: var(--wp--preset--color--body-text);
  font-size: 0.85rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  transition: color 0.2s;
}
.dlt-google-reviews a:hover {
  color: var(--wp--preset--color--primary);
}
.dlt-stars {
  color: #FBBC04;
  font-size: 1rem;
  letter-spacing: 2px;
}
.dlt-reviews-text {
  color: inherit;
}
.dlt-reviews-arrow {
  font-size: 0.9rem;
  opacity: 0;
  transition: opacity 0.2s, transform 0.2s;
  transform: translateX(-4px);
}
.dlt-google-reviews a:hover .dlt-reviews-arrow {
  opacity: 1;
  transform: translateX(0);
}


/* === Domaines d intervention Cards === */
.dlt-domaine-card {
  display: flex;
  gap: 0;
  margin-bottom: clamp(1.5rem, 1rem + 1.5vw, 2.5rem);
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 4px;
  overflow: hidden;
  background: var(--wp--preset--color--background);
  transition: box-shadow 0.2s;
}
.dlt-domaine-card:hover {
  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
}
.dlt-domaine-accent {
  width: 5px;
  flex-shrink: 0;
  background: var(--wp--preset--color--primary);
}
.dlt-domaine-content {
  padding: clamp(1.5rem, 1rem + 1.5vw, 2.5rem);
  flex: 1;
}
.dlt-domaine-content h2 {
  font-size: clamp(1.2rem, 1rem + 0.5vw, 1.5rem);
  font-weight: 700;
  color: var(--wp--preset--color--secondary);
  margin: 0 0 0.75rem;
}
.dlt-domaine-intro {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--wp--preset--color--muted);
  margin: 0 0 1.25rem;
}
.dlt-domaine-content ul {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
}
.dlt-domaine-content li {
  position: relative;
  padding-left: 1.25rem;
  margin-bottom: 0.6rem;
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--wp--preset--color--body-text);
}
.dlt-domaine-content li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--wp--preset--color--primary);
  font-weight: 600;
}
.dlt-domaine-content li a {
  color: var(--wp--preset--color--primary);
  font-weight: 600;
  text-decoration: none;
}
.dlt-domaine-content li a:hover {
  text-decoration: underline;
}
.dlt-domaine-cta {
  display: inline-block;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--wp--preset--color--white);
  background: var(--wp--preset--color--secondary);
  padding: 0.75rem 1.75rem;
  border-radius: 4px;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
  margin-top: 0.5rem;
}
.dlt-domaine-cta:hover {
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--white);
}
@media (max-width: 600px) {
  .dlt-domaine-content {
    padding: 1.25rem;
  }
  .dlt-domaine-content h2,
  .dlt-domaine-intro,
  .dlt-domaine-highlight {
    text-align: center;
  }
  .dlt-domaine-cta {
    display: block;
    text-align: center;
  }
}


/* === Domaine Highlight Block === */
.dlt-domaine-highlight {
  background: var(--wp--preset--color--background);
  border: 1px solid var(--wp--preset--color--border);
  padding: 1rem 1.25rem;
  margin-bottom: 1.25rem;
  font-size: 0.9rem;
  line-height: 1.7;
  color: var(--wp--preset--color--body-text);
  border-radius: 4px;
}
.dlt-domaine-highlight strong {
  color: var(--wp--preset--color--secondary);
}
.dlt-domaine-highlight a {
  color: var(--wp--preset--color--primary);
  font-weight: 600;
  text-decoration: none;
}
.dlt-domaine-highlight a:hover {
  text-decoration: underline;
}

/* === Accent Right (middle card) === */
.dlt-domaine-card.accent-right {
  flex-direction: row-reverse;
}

/* === Honoraires Page === */
.dlt-honoraires-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
  margin: 1.25rem 0;
}
.dlt-honoraires-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 4px;
  padding: clamp(1.25rem, 1rem + 1vw, 2rem);
  background: var(--wp--preset--color--background);
  text-align: center;
}
.dlt-honoraires-price {
  font-size: clamp(1.5rem, 1.2rem + 0.8vw, 2rem);
  font-weight: 700;
  color: var(--wp--preset--color--secondary);
  margin-bottom: 0.25rem;
}
.dlt-honoraires-label {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--wp--preset--color--secondary);
  margin-bottom: 0.75rem;
}
.dlt-honoraires-desc {
  margin-bottom: 1rem;
  font-size: 0.85rem;
  line-height: 1.6;
  color: var(--wp--preset--color--muted);
}

/* Tables */
.dlt-honoraires-table-wrap h3 {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--wp--preset--color--secondary);
  margin: 1.5rem 0 0.75rem;
}
.dlt-honoraires-table-wrap h3:first-child {
  margin-top: 0;
}
.dlt-honoraires-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.dlt-honoraires-table th {
  background: var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--white);
  padding: 0.6rem 1rem;
  text-align: left;
  font-weight: 600;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.dlt-honoraires-table td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--wp--preset--color--border);
  color: var(--wp--preset--color--body-text);
  line-height: 1.5;
}
.dlt-honoraires-table tbody tr:last-child td {
  border-bottom: none;
}
.dlt-honoraires-table td:nth-child(2),
.dlt-honoraires-table td:nth-child(3) {
  font-weight: 600;
  white-space: nowrap;
}

/* Exemples résultats */
.dlt-honoraires-exemples {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin: 1.25rem 0;
}
.dlt-honoraires-exemple {
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 4px;
  padding: 1.25rem;
  background: var(--wp--preset--color--background);
}
.dlt-honoraires-exemple-header {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--wp--preset--color--secondary);
  margin-bottom: 0.75rem;
  line-height: 1.4;
}
.dlt-honoraires-exemple-detail {
  font-size: 0.85rem;
  color: var(--wp--preset--color--muted);
  margin-bottom: 0.25rem;
  line-height: 1.5;
}
.dlt-honoraires-exemple-result {
  font-size: 0.95rem;
  color: var(--wp--preset--color--secondary);
  margin-bottom: 0.75rem;
  line-height: 1.5;
}
.dlt-honoraires-exemple-result strong {
  color: var(--wp--preset--color--primary);
  font-size: 1.1rem;
}
.dlt-honoraires-exemple-link a {
  font-size: 0.8rem;
  color: var(--wp--preset--color--primary);
  text-decoration: none;
  font-weight: 600;
}
.dlt-honoraires-exemple-link a:hover {
  text-decoration: underline;
}

/* Tip box */
.dlt-honoraires-tip {
  background: var(--wp--preset--color--background);
  border: 1px solid var(--wp--preset--color--border);
  padding: 1rem 1.25rem;
  margin: 1.5rem 0;
  font-size: 0.9rem;
  line-height: 1.7;
  color: var(--wp--preset--color--body-text);
  border-radius: 4px;
}
.dlt-honoraires-tip strong {
  color: var(--wp--preset--color--secondary);
}

/* Responsive */
@media (max-width: 600px) {
  .dlt-honoraires-grid {
    grid-template-columns: 1fr;
  }
  .dlt-honoraires-exemples {
    grid-template-columns: 1fr;
  }
  .dlt-honoraires-table {
    font-size: 0.8rem;
  }
  .dlt-honoraires-table th,
  .dlt-honoraires-table td {
    padding: 0.5rem 0.6rem;
  }
  .dlt-honoraires-table td:nth-child(2),
  .dlt-honoraires-table td:nth-child(3) {
    white-space: normal;
  }
}

/* Honoraires card CTA */
.dlt-honoraires-cta {
  margin-top: auto;
  display: inline-block;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--wp--preset--color--white);
  background: var(--wp--preset--color--secondary);
  padding: 0.6rem 1.25rem;
  border-radius: 4px;
  text-decoration: none;
  transition: background 0.2s;
}
.dlt-honoraires-cta:hover {
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--white);
}

/* === Start-up Services Grid === */
.dlt-startup-services {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
.dlt-startup-service {
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 4px;
  padding: 1.5rem;
  background: var(--wp--preset--color--background);
}
.dlt-startup-service h3 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--wp--preset--color--secondary);
  margin: 0 0 0.75rem;
}
.dlt-startup-service ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.dlt-startup-service li {
  position: relative;
  padding-left: 1.25rem;
  margin-bottom: 0.5rem;
  font-size: 0.85rem;
  line-height: 1.6;
  color: var(--wp--preset--color--body-text);
}
.dlt-startup-service li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--wp--preset--color--primary);
  font-weight: 600;
}
@media (max-width: 600px) {
  .dlt-startup-services {
    grid-template-columns: 1fr;
  }
}

/* === Supprimer les gaps entre sections full-width === */
.wp-block-post-content > .alignfull + .alignfull,
.wp-block-post-content > .alignfull:first-child,
.wp-block-post-content > * + .alignfull,
.wp-block-post-content > .alignfull + * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/* === Tip honoraires dans la section FAQ : même largeur === */
.dlt-faq + .dlt-honoraires-tip {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

/* ── Articles similaires ── */
.dlt-related-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--wp--preset--spacing--40);
}
@media (max-width: 600px) {
  .dlt-related-grid { grid-template-columns: 1fr; }
}
.dlt-related-grid .dlt-article-card {
  flex: unset;
}
.dlt-related-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 0.5rem;
}
.dlt-related-tag {
  display: inline-block;
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--wp--preset--color--primary);
  background: var(--wp--preset--color--background-alt);
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 2px;
  padding: 3px 8px;
  line-height: 1;
  text-decoration: none;
  transition: background 0.15s ease;
}
.dlt-related-tag:hover {
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--secondary);
  border-color: var(--wp--preset--color--primary);
}

/* ---- Articles similaires — taille réduite ---- */
.dlt-related-grid .dlt-article-img {
  aspect-ratio: 16/9;
  max-height: 180px;
}
.dlt-related-grid .dlt-article-title {
  font-size: 1rem;
}
.dlt-related-grid .dlt-article-excerpt {
  font-size: 0.85rem;
  -webkit-line-clamp: 2;
}
.dlt-related-grid .dlt-article-link {
  font-size: 0.8rem;
}

/* ================================================
   STICKY BAR MOBILE — CTA Prendre RDV
   ================================================ */
.dlt-sticky-bar {
  display: none;
}

@media (max-width: 768px) {
  .dlt-sticky-bar {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1001;
    background: var(--wp--preset--color--secondary);
    align-items: center;
    justify-content: center;
    padding: 10px 40px 10px 16px;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.15);
  }
  .dlt-sticky-bar.is-hidden {
    display: none;
  }
  .dlt-sticky-bar__inner {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: nowrap;
  }
  .dlt-sticky-bar__text {
    color: var(--wp--preset--color--white);
    font-size: 0.7rem;
    font-weight: 500;
    margin: 0;
    line-height: 1.3;
  }
  .dlt-sticky-bar__btn {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    background: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--white);
    font-size: 0.7rem;
    font-weight: 600;
    border-radius: 2px;
    text-decoration: none;
    white-space: nowrap;
  }
  .dlt-sticky-bar__close {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.15);
    border: none;
    border-radius: 50%;
    color: var(--wp--preset--color--white);
    font-size: 11px;
    cursor: pointer;
  }
  .dlt-sticky-bar__close:hover {
    background: rgba(255,255,255,0.25);
  }
}


/* ================================================
   MOBILE MENU CUSTOM (style Jurible)
   ================================================ */

/* Hide WP default nav hamburger on mobile */
@media (max-width: 768px) {
  .wp-block-navigation__responsive-container-open {
    display: none !important;
  }
  .wp-block-navigation {
    display: none !important;
  }
}

/* Hamburger 3 barres */
.dlt-burger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 36px;
  height: 36px;
  padding: 8px;
  background: none;
  border: none;
  cursor: pointer;
}
.dlt-burger span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--wp--preset--color--secondary);
  border-radius: 1px;
}
@media (max-width: 768px) {
  .dlt-burger { display: flex !important; }
}

/* Overlay sombre */
.dlt-mobile-overlay {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.5);
  z-index: 1999;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}
.dlt-mobile-overlay.is-visible {
  opacity: 1;
  visibility: visible;
}

/* Menu panel — slide depuis la droite */
.dlt-mobile-menu {
  position: fixed;
  top: 0; right: 0;
  width: 85vw;
  max-width: 380px;
  height: 100vh;
  height: 100dvh;
  background: var(--wp--preset--color--background);
  z-index: 2000;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.3s ease;
  box-shadow: -4px 0 20px rgba(0,0,0,0.1);
}
.dlt-mobile-menu.is-open {
  transform: translateX(0);
}

/* Header menu mobile */
.dlt-mobile-menu__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  border-bottom: 1px solid var(--wp--preset--color--border);
  flex-shrink: 0;
}
.dlt-mobile-menu__logo img {
  height: 28px;
  width: auto;
}
.dlt-mobile-menu__close {
  width: 36px; height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: var(--wp--preset--color--body-text);
  cursor: pointer;
  border: none;
  background: none;
  border-radius: 4px;
}
.dlt-mobile-menu__close:hover {
  background: var(--wp--preset--color--background-alt);
}

/* Body menu */
.dlt-mobile-menu__body {
  flex: 1;
  overflow-y: auto;
}
.dlt-mobile-menu__link {
  display: block;
  padding: 16px 24px;
  font-size: 1rem;
  font-weight: 500;
  color: var(--wp--preset--color--secondary);
  text-decoration: none;
  border-bottom: 1px solid var(--wp--preset--color--border);
  transition: background 0.15s ease;
}
.dlt-mobile-menu__link:hover {
  background: var(--wp--preset--color--background-alt);
  color: var(--wp--preset--color--primary);
}

/* Footer menu mobile */
.dlt-mobile-menu__footer {
  box-sizing: border-box;
  padding: 16px 20px;
  border-top: 1px solid var(--wp--preset--color--border);
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.dlt-mobile-menu__cta {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 12px 24px;
  background: var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--white) !important;
  font-size: 0.85rem;
  font-weight: 600;
  border-radius: 2px;
  text-decoration: none;
  text-align: center;
}
.dlt-mobile-menu__phone {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 10px 24px;
  background: transparent;
  color: var(--wp--preset--color--secondary) !important;
  font-size: 0.85rem;
  font-weight: 500;
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 2px;
  text-decoration: none;
  text-align: center;
}

/* Body scroll lock */
body.menu-open {
  overflow: hidden;
}

/* Cacher la sticky bar quand le menu est ouvert */
body.menu-open .dlt-sticky-bar {
  display: none !important;
}

/* Sticky bar — hover fix */
.dlt-sticky-bar__btn:hover {
  color: var(--wp--preset--color--white) !important;
  opacity: 0.9;
}

/* Mobile menu — hover states */
.dlt-mobile-menu__cta:hover {
  opacity: 0.9;
  color: var(--wp--preset--color--white) !important;
}
.dlt-mobile-menu__phone:hover {
  background: var(--wp--preset--color--background-alt);
  color: var(--wp--preset--color--secondary) !important;
}
