    <style id="wp-custom-css">
  /* Fix Drapeau USA Géant */                                                                                        
  img[src*="Flag_of_the_United_States.svg"] {                                                                        
      width: 18px !important;                                                                                        
      max-width: 18px !important;                                                                                    
      height: auto !important;                                                                                       
  }

/* Mise en valeur titres : tout <i><b> ou <b><i> ou <em><strong> dans un H2/H3 prend la couleur d'accent (orange Kohen) */
h2 i b, h2 b i, h2 em strong, h2 strong em,
h3 i b, h3 b i, h3 em strong, h3 strong em {
  color: #E09019;
}

</style>

<style id="kohen-iphone-archive-inline">
/* ============================================================
   PATCH iPhone v1 — Refonte responsive archive unique
   ------------------------------------------------------------
   Scope strict : iPhone (max-width: 480px)
   Templates : 2066 (kohenavocats.com), 3882 (kohenavocats.fr)
   Date : 2026-05-17
   Construit par 4 agents Codex GPT-5.5 + consolidation Claude :
     A) Hero archive (.kohen-hero-archive)
     B) Sections + accordéons + body content (justify killer)
     C) Overlays flottants (CTA tel, Trustmary, cookies)
     D) Animations fadeInUp + footer cabinet
   ------------------------------------------------------------
   Toutes les règles vivent dans @media (max-width: 480px)
   et @media (prefers-reduced-motion: reduce). Aucun effet
   sur desktop / tablette / large mobile. La cascade gagne
   car ce bloc vient APRES les @media existants 860px du CSS.
   ============================================================ */

/* =================================================
   A) HERO ARCHIVE — kohen-hero-archive
   ================================================= */
/* ============================================================
   PATCH iPhone — Hero archive V8 "Double carte glass"
   ------------------------------------------------------------
   Concept : 2 cartes glassmorphism empilees.
     Carte 1 : portrait 16/10 paysage + nom/role en overlay bas.
     Carte 2 : kicker + H1 + sub + CTAs cote a cote + trust.
   Espace 10 px entre cartes. Padding hero 12 px lateral.
   Background : gradient diagonal cobalt clair vers blanc.
   ------------------------------------------------------------
   Scope : @media (max-width: 480px) - iPhone uniquement.
   ============================================================ */

@media (max-width: 480px) {

  /* ----- Conteneur hero : padding compact, halo cobalt subtil ----- */
  /* Sur .com le body single-post (11000px de haut) etale le radial cobalt body */
  /* et donne un blanc plat sous le hero. On reinjecte un halo local sur le hero */
  /* pour harmoniser visuellement avec .fr (body plus court ou le radial body est dense). */
  .kohen-hero-archive {
    padding: 12px 12px 16px;
    margin: 0 0 16px;
    border-radius: 0;
    background:
      radial-gradient(80% 70% at 50% 0%, rgba(0, 0, 204, 0.09), transparent 70%),
      radial-gradient(60% 40% at 50% 100%, rgba(0, 0, 204, 0.04), transparent 70%);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: none;
  }

  /* ----- Inner : flex column, 2 cartes empilees ----- */
  .kohen-hero-archive .kha-inner {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  /* ----- Carte 1 : portrait paysage en haut, fond transparent ----- */
  .kohen-hero-archive .kha-right {
    order: 0;
    background: transparent;
    border-radius: 18px;
    padding: 0;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .kohen-hero-archive .kha-portrait {
    width: 100%;
    max-width: 100%;
    aspect-ratio: 16 / 10;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: none;
  }
  .kohen-hero-archive .kha-portrait img {
    object-position: center 25%;
  }
  .kohen-hero-archive .kha-portrait-cap {
    background: linear-gradient(to top, rgba(0, 0, 32, 0.78), transparent 80%);
    padding: 22px 12px 8px;
    border-radius: 0 0 12px 12px;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .kohen-hero-archive .kha-name {
    font-size: 14.5px;
    line-height: 1.2;
  }
  .kohen-hero-archive .kha-role {
    font-size: 11.5px;
    line-height: 1.3;
  }

  /* ----- Carte 2 : texte + CTAs + trust, fond transparent ----- */
  .kohen-hero-archive .kha-left {
    order: 1;
    background: transparent;
    border-radius: 0;
    padding: 8px 6px 0;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  /* ----- Kicker (sur-titre) ----- */
  .kohen-hero-archive .kha-kicker {
    font-size: 11px;
    letter-spacing: 0.16em;
    margin-bottom: 8px;
    color: #0000CC;
  }

  /* ----- H1 ----- */
  .kohen-hero-archive .kha-h1 {
    font-family: 'Lato', sans-serif;
    font-size: clamp(25px, 7vw, 28px);
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: -0.01em;
    text-align: left;
    text-wrap: balance;
    margin: 0 0 10px;
  }
  .kx-tag {
    padding: 2px 9px;
    border-radius: 7px;
    font-size: 0.93em;
  }

  /* ----- Sub ----- */
  .kohen-hero-archive .kha-sub {
    font-size: 14.5px;
    line-height: 1.45;
    color: #2a2a33;
    max-width: none;
    margin: 0 0 14px;
  }

  /* ----- CTAs cote a cote (row) ----- */
  .kohen-hero-archive .kha-cta-row {
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 8px;
    margin: 0 0 10px;
  }
  .kohen-hero-archive .kha-cta {
    flex: 1;
    min-height: 50px;
    padding: 12px 10px;
    font-size: 14.5px;
    justify-content: center;
    border-radius: 12px;
    touch-action: manipulation;
    transition: none;
  }
  .kohen-hero-archive .kha-secondary {
    background: rgba(0, 0, 204, 0.08);
    color: #0000CC;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .kohen-hero-archive .kha-primary:hover {
    transform: none;
  }

  /* ----- Micro-mention ----- */
  .kohen-hero-archive .kha-micro {
    font-size: 11.5px;
    color: #6e6e7a;
    margin: 0 0 10px;
    line-height: 1.4;
  }

  /* ----- Trust signals ----- */
  .kohen-hero-archive .kha-trust {
    font-size: 11.5px;
    gap: 4px 12px;
    margin-top: 8px;
    color: #2a2a33;
  }
  .kohen-hero-archive .kha-trust span {
    gap: 6px;
  }
  .kohen-hero-archive .kha-trust a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
  }
}


/* =================================================
   B) SECTIONS + ACCORDEONS + BODY (justify killer)
   ================================================= */
/* ============================================================
   PATCH iPhone — Sections, accordeons et body content
   ------------------------------------------------------------
   Scope : @media (max-width: 480px) — iPhone strict.
   Cibles : templates Elementor article 2066 (kohenavocats.com,
   widget contenu .elementor-element-0f9b525) et 3882
   (kohenavocats.fr, widget contenu .elementor-element-72efc591).
   Markup .kx-* injecte par kohen-archive.js cote serveur.
   ------------------------------------------------------------
   Objectifs corriges :
   - Tuer le text-align: justify (trous beants entre mots iPhone)
   - Sections .kx-section-* compactes et lisibles sur 320-480 px
   - Accordeons : font-size 16px, tap-target chevron 44 px
     compatible Apple HIG (zone tactile via summary > 64 px)
   - FAQ Q/R lisibles, badge Q. discret
   - Accordeons SECTION (kx-accordion-content) badge ::before contenu
   - Body : prose lisible, hyphens auto, listes denses, blockquotes
     compactes, liens cobalt sans transform tactile
   - Animation accordeon plus snappy (0.18s ease-out)
   - Bloc separe @media (prefers-reduced-motion: reduce) : tue
     animations et transitions sur tout le markup .kx-* et hero
   ------------------------------------------------------------
   Cascade : ce bloc 480px vient APRES les blocs 860px existants
   dans com-current.css et fr-current.css. Les !important sont
   employes uniquement la ou Elementor pousse une specificite
   widget forte (text-align justify, listes, paragraphes du widget
   theme-post-content).
   ============================================================ */


/* ============================================================
   Mini-keyframe mobile : ouverture accordeon plus snappy.
   Le keyframe kxAccordionOpen original (0.32s) reste utilise sur
   tablette/desktop. Sur iPhone, kxAccordionOpenMobile (0.18s)
   donne un ressenti tactile plus proche d'iOS natif.
   ============================================================ */
@keyframes kxAccordionOpenMobile {
  from {
    opacity: 0;
    transform: translateY(-4px);
    max-height: 0;
  }
  to {
    opacity: 1;
    transform: translateY(0);
    max-height: 4000px;
  }
}


/* ============================================================
   1. iPhone uniquement — max-width: 480px
   ============================================================ */
@media (max-width: 480px) {

  /* ----------------------------------------------------------
     1.0  KILL JUSTIFY — bug critique iPhone (trous entre mots)
     Elementor pousse "Justify" en typo widget : on neutralise
     avec !important sur les conteneurs contenu et tous les
     descendants textuels. hyphens: auto + word-break: normal
     pour eviter les compressions ou les coupes inadaptees.
     ---------------------------------------------------------- */
  .elementor-element-0f9b525,
  .elementor-element-72efc591,
  .elementor-element-0f9b525 .elementor-widget-container,
  .elementor-element-72efc591 .elementor-widget-container,
  .elementor-element-0f9b525 p,
  .elementor-element-72efc591 p,
  .elementor-element-0f9b525 li,
  .elementor-element-72efc591 li,
  .elementor-element-0f9b525 .kx-accordion-body,
  .elementor-element-72efc591 .kx-accordion-body,
  .elementor-element-0f9b525 .kx-accordion-body p,
  .elementor-element-72efc591 .kx-accordion-body p,
  .elementor-element-0f9b525 .kx-accordion-body li,
  .elementor-element-72efc591 .kx-accordion-body li,
  .elementor-element-0f9b525 .kx-accordion summary .kx-h3-text,
  .elementor-element-72efc591 .kx-accordion summary .kx-h3-text,
  .elementor-element-0f9b525 .kx-section-h2,
  .elementor-element-72efc591 .kx-section-h2 {
    text-align: left !important;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
    word-break: normal;
    overflow-wrap: break-word;
  }

  /* ----------------------------------------------------------
     1.1  SECTIONS — head + numero romain + H2
     ---------------------------------------------------------- */
  .kx-section-head {
    margin: 34px 0 16px;
    padding-left: 0;
  }

  .kx-section-num {
    display: block;
    font-size: 12px;
    letter-spacing: 0.14em;
    margin-bottom: 6px;
    line-height: 1.2;
  }

  /* H2 de section : on doit battre le bloc selecteurs ultra-spe
     deja en !important dans com-current.css / fr-current.css.
     Specificite alignee sur la rule desktop (0,4,2) pour gagner la cascade
     meme si notre bundle CSS arrive avant celui de Jetpack Boost. */
  .kx-section-h2,
  body .kx-section-head h2.kx-section-h2,
  body .elementor-element-e92882a .kx-section-head h2.kx-section-h2,
  body .elementor-element-cb4ba4b .kx-section-head h2.kx-section-h2,
  body .elementor-element-0f9b525 .kx-section-head h2.kx-section-h2,
  body .elementor-element-72efc591 .kx-section-head h2.kx-section-h2,
  .elementor-element-0f9b525 .kx-section-h2,
  .elementor-element-72efc591 .kx-section-h2,
  .elementor-widget-theme-post-content .kx-section-h2 {
    font-size: clamp(23px, 6.2vw, 26px) !important;
    letter-spacing: -0.01em !important;
    line-height: 1.22 !important;
    text-align: left !important;
    max-width: none !important;
  }

  /* Chip cobalt du dernier mot autotagge dans le H2 de section */
  .kx-section-h2 .kx-tag,
  .kx-section-head .kx-tag {
    padding: 3px 10px;
    border-radius: 8px;
    font-size: 0.92em;
    font-weight: 700;
    background: #0000CC;
    color: #FFFFFF !important;
    box-shadow: 0 4px 14px rgba(0, 0, 204, 0.18);
    /* on reduit le decalage vertical pour eviter le clipping
       sur les petites lignes mobile */
    top: 0.02em;
    line-height: 1.25;
  }

  /* ----------------------------------------------------------
     1.2  ACCORDEONS STANDARDS — .kx-accordion (non section,
     non FAQ). Cible le markup H3 transforme par kohen-archive.js
     ---------------------------------------------------------- */
  details.kx-accordion {
    border-radius: 16px;
    margin: 10px 0;
  }

  .kx-accordion > summary,
  .kx-accordion summary {
    padding: 14px 14px;
    font-size: 16px;
    line-height: 1.4;
    gap: 10px;
    align-items: center;
    min-height: 64px;
    touch-action: manipulation;
  }

  .kx-accordion summary .kx-h3-letter {
    min-width: 28px;
    font-size: 13px;
    align-self: center;
    letter-spacing: 0.04em;
  }

  .kx-accordion summary .kx-h3-text {
    min-width: 0;
    text-align: left;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 700;
  }

  .kx-accordion summary .kx-chev {
    width: 36px;
    height: 36px;
    font-size: 18px;
    flex-shrink: 0;
  }

  /* Corps de l'accordeon : marges et lisibilite */
  .kx-accordion > .kx-accordion-body,
  .kx-accordion-body {
    padding: 4px 14px 18px;
    font-size: 15.5px;
    line-height: 1.65;
  }

  /* Surcharge text-align justify sur paragraphes/listes du body */
  .kx-accordion-body p,
  .kx-accordion-body li {
    text-align: left !important;
    -webkit-hyphens: auto;
    hyphens: auto;
    margin: 0 0 12px;
  }

  .kx-accordion-body ul,
  .kx-accordion-body ol {
    padding-left: 20px;
    margin: 8px 0 14px;
  }

  .kx-accordion-body blockquote {
    padding: 14px 16px;
    margin: 14px 0;
    font-size: 15px;
    line-height: 1.55;
    border-radius: 12px;
  }

  /* Animation iOS plus snappy : 0.18s ease-out + keyframe court */
  .kx-accordion[open] > .kx-accordion-body {
    animation: kxAccordionOpenMobile 0.18s ease-out;
  }

  /* ----------------------------------------------------------
     1.3  ACCORDEONS SECTION — .kx-accordion-content
     (H2 sans H3 transforme en details). Heritage des regles
     standards + badge ::before plus discret.
     ---------------------------------------------------------- */
  details.kx-accordion.kx-accordion-content {
    border-radius: 16px;
    margin: 12px 0;
  }

  .kx-accordion-content > summary {
    padding: 14px 14px;
    font-size: 16px;
    line-height: 1.4;
    gap: 10px;
    align-items: center;
    min-height: 64px;
    touch-action: manipulation;
  }

  .kx-accordion-content > summary .kx-h3-text {
    min-width: 0;
    text-align: left;
    font-size: 16px;
    font-weight: 700;
  }

  .kx-accordion-content > summary .kx-chev {
    width: 36px;
    height: 36px;
    font-size: 18px;
    flex-shrink: 0;
  }

  .kx-accordion-content > .kx-accordion-body {
    padding: 4px 14px 18px;
    font-size: 15.5px;
    line-height: 1.65;
  }

  /* Badge ::before "Lire la suite" / preview chip — discret */
  .kx-accordion-content::before,
  .kx-accordion-content > summary::before {
    font-size: 11px;
    padding: 2px 8px;
    letter-spacing: 0.08em;
    border-radius: 8px;
    line-height: 1.4;
  }

  /* Bordure cobalt deja stylee par com/fr-current : on conserve,
     on l'allege juste pour mobile. */
  .kx-accordion-content[open] {
    border-color: rgba(0, 0, 204, 0.22);
  }

  /* ----------------------------------------------------------
     1.4  ACCORDEONS FAQ — .kx-accordion-faq
     summary = question, .kx-h3-letter = "Q." chip leger
     body = reponse, ton plus pose
     ---------------------------------------------------------- */
  details.kx-accordion.kx-accordion-faq {
    border-radius: 16px;
    margin: 10px 0;
  }

  .kx-accordion-faq > summary {
    padding: 14px 14px;
    font-size: 15.5px;
    line-height: 1.4;
    gap: 10px;
    align-items: center;
    min-height: 64px;
    touch-action: manipulation;
    font-weight: 700;
  }

  .kx-accordion-faq > summary .kx-h3-letter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    height: 24px;
    padding: 0 8px;
    font-size: 14px;
    font-weight: 700;
    border-radius: 8px;
    background: rgba(0, 0, 204, 0.08);
    color: #0000CC;
    letter-spacing: 0.02em;
    align-self: center;
  }

  .kx-accordion-faq > summary .kx-h3-text {
    min-width: 0;
    text-align: left;
    font-size: 15.5px;
    line-height: 1.4;
  }

  .kx-accordion-faq > summary .kx-chev {
    width: 36px;
    height: 36px;
    font-size: 18px;
    flex-shrink: 0;
  }

  .kx-accordion-faq > .kx-accordion-body {
    padding: 4px 14px 18px;
    font-size: 15.5px;
    line-height: 1.65;
  }

  .kx-accordion-faq > .kx-accordion-body p,
  .kx-accordion-faq > .kx-accordion-body li {
    text-align: left !important;
    -webkit-hyphens: auto;
    hyphens: auto;
  }

  /* ----------------------------------------------------------
     1.5  BODY CONTENT — prose mobile
     ---------------------------------------------------------- */
  .elementor-element-0f9b525 p,
  .elementor-element-72efc591 p {
    font-size: 16px;
    line-height: 1.7;
    margin: 0 0 14px;
    text-align: left !important;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
    word-break: normal;
    overflow-wrap: break-word;
  }

  /* Listes corps article — directes sous le widget contenu */
  .elementor-element-0f9b525 ul:not([class*="kohen"]):not([class*="elementor"]),
  .elementor-element-72efc591 ul:not([class*="kohen"]):not([class*="elementor"]),
  .elementor-element-0f9b525 ol:not([class*="kohen"]):not([class*="elementor"]),
  .elementor-element-72efc591 ol:not([class*="kohen"]):not([class*="elementor"]) {
    padding-left: 22px;
    margin: 10px 0 18px;
  }

  .elementor-element-0f9b525 ul:not([class*="kohen"]) li,
  .elementor-element-72efc591 ul:not([class*="kohen"]) li,
  .elementor-element-0f9b525 ol:not([class*="kohen"]) li,
  .elementor-element-72efc591 ol:not([class*="kohen"]) li {
    font-size: 16px;
    line-height: 1.6;
    margin: 6px 0;
    text-align: left !important;
    -webkit-hyphens: auto;
    hyphens: auto;
  }

  /* Liens cobalt : conserver couleur, supprimer underline,
     desactiver transform tactile (annule effets desktop) */
  .elementor-element-0f9b525 a:not(.elementor-button):not([class*="kohen"]),
  .elementor-element-72efc591 a:not(.elementor-button):not([class*="kohen"]) {
    color: #0000CC !important;
    text-decoration: none !important;
    transition: none !important;
  }

  .elementor-element-0f9b525 a:not(.elementor-button):not([class*="kohen"]):hover,
  .elementor-element-0f9b525 a:not(.elementor-button):not([class*="kohen"]):active,
  .elementor-element-0f9b525 a:not(.elementor-button):not([class*="kohen"]):focus,
  .elementor-element-72efc591 a:not(.elementor-button):not([class*="kohen"]):hover,
  .elementor-element-72efc591 a:not(.elementor-button):not([class*="kohen"]):active,
  .elementor-element-72efc591 a:not(.elementor-button):not([class*="kohen"]):focus {
    transform: none !important;
    color: #0000CC !important;
    text-decoration: none !important;
  }

  /* Blockquotes hors accordeons — compactes mobile */
  .elementor-element-0f9b525 > .elementor-widget-container > blockquote,
  .elementor-element-72efc591 > .elementor-widget-container > blockquote,
  .elementor-element-0f9b525 blockquote:not(.kx-accordion-body blockquote),
  .elementor-element-72efc591 blockquote:not(.kx-accordion-body blockquote) {
    padding: 16px 18px !important;
    margin: 18px 0 !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    border-radius: 14px !important;
  }
}


/* ============================================================
   2. prefers-reduced-motion — global mobile-safe
   Bloc place HORS du @media 480px : il s'applique des qu'un
   utilisateur a "Reduce Motion" actif, sur n'importe quelle
   taille. Aucun !important sur transition pour ne pas casser
   les ::transition initiales, sauf la ou Elementor pousse une
   transition forte via inline style.
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  .kx-accordion-body,
  .kx-accordion[open] > .kx-accordion-body,
  details.kx-accordion[open] > .kx-accordion-body {
    animation: none !important;
  }

  .kx-accordion summary .kx-chev,
  .kx-accordion[open] summary .kx-chev {
    transition: none !important;
  }

  .kx-accordion,
  .kx-accordion[open] {
    transition: none !important;
  }

  .kohen-hero-archive *,
  .kha-cta,
  .kha-primary,
  .kha-secondary,
  .kha-trust a {
    transition: none !important;
    animation: none !important;
  }
}


/* =================================================
   C) OVERLAYS FLOTTANTS (CTA tel, Trustmary, cookies)
   ================================================= */
/* ============================================================================
 * agent-C-floating-overlays.css
 * iPhone-only stacking des overlays flottants - kohenavocats.com & .fr
 * Cible : @media (max-width: 480px) uniquement. Aucun effet desktop/tablette.
 * ----------------------------------------------------------------------------
 * Sélecteurs identifiés sur le DOM live (preuves HTML/CSS) :
 *
 *  1. CTA tel "Appel gratuit" = widget Elementor Pro "Contact Buttons"
 *     Wrapper fixed : .e-contact-buttons (+ has-h-alignment-end has-v-alignment-bottom)
 *     Lien tel:     : .e-contact-buttons__chat-button
 *     Preuves DOM :
 *       - /tmp/com.html:2375  <div class="e-contact-buttons e-contact-buttons-var-9
 *         has-h-alignment-end has-v-alignment-bottom has-platform-phone" ...>
 *       - /tmp/com.html:2377  <a class="e-contact-buttons__chat-button ..."
 *         href="tel:+33689113445">Appel gratuit</a>
 *       - /tmp/fr.html:526-530  même structure, href="tel:+33646605822"
 *     Preuve CSS inline déjà sur la page (à battre) :
 *       /tmp/com.html:2429-2444 -> .e-contact-buttons { position:fixed !important;
 *       bottom:20px !important; right:20px !important; z-index:9999 !important; }
 *       @media (max-width:767px){ .e-contact-buttons{ bottom:15px !important;
 *       right:15px !important; } }
 *     -> !important obligatoire pour battre cette spécificité Elementor.
 *
 *  2. Widget Trustmary (badge "G 4.9 ★★★★★ Basé sur N réponses")
 *     Le widget réel est injecté en JS par embed.trustmary.com/embed.js
 *     à partir du marqueur HTML <div data-trustmary-widget="NlxlpxgFo">.
 *     Preuves DOM :
 *       - /tmp/com.html:2079-2081  js.src='https://embed.trustmary.com/embed.js';
 *         + IIFE (window,document,'script','trustmary-embed','tmary')
 *       - /tmp/fr.html:216,218    même script injecté
 *       - /tmp/fr.html:536         <div data-trustmary-widget="NlxlpxgFo"></div>
 *     Le wrapper flottant injecté par embed.js n'est PAS dans le HTML statique
 *     (script externe). Convention Trustmary : container/iframe contenant
 *     "trustmary" dans id ou class. On vise donc à la fois le placeholder data-attr
 *     ET les sélecteurs robustes [id*="trustmary"], [class*="trustmary"],
 *     iframe[src*="trustmary"], div[id^="tmary"]. C'est un FALLBACK générique
 *     volontaire : sans rendu live JS, on ne peut pas garantir le sélecteur exact.
 *     Si Hassan voit le widget mal positionné après déploiement, ouvrir DevTools
 *     iPhone, copier le sélecteur réel et l'ajouter à la liste ci-dessous.
 *
 *  3. Bouton cookies (icône flottante bas-gauche, ouvre le popover de gestion)
 *     ID : #kohen-cc-icon
 *     Preuves DOM :
 *       - /tmp/com.html:7442  <button type="button" id="kohen-cc-icon"
 *         aria-label="Gerer les cookies" title="Gerer les cookies">
 *     Preuve CSS source (à battre via #id + !important commentés) :
 *       https://kohenavocats.com/wp-content/mu-plugins/kohen-assets/cookie-banner.css
 *       lignes 4-22 (desktop) et 136-147 (media max-width:480px) :
 *         #kohen-cc-icon { position:fixed; left:18px; bottom:88px; width:40px;
 *         height:40px; z-index:2147483645; }
 *         @media (max-width:480px){ #kohen-cc-icon{ left:12px; bottom:82px; } }
 *     Le popover associé #kohen-cc-overlay (left:12px;right:12px;bottom:140px)
 *     est correctement positionné par défaut : on n'y touche pas.
 *
 *  4. Skip link "Aller au contenu" : 1x1 invisible déjà géré côté thème, hors champ.
 *
 * ----------------------------------------------------------------------------
 * Empilement déterministe iPhone (max-width:480px), de gauche à droite, bas :
 *
 *   [ cookies 44x44 ][ Trustmary badge ]      ...      [ CTA "Appel gratuit" ]
 *   left = safe+14  left = safe+70             right = safe+14
 *
 *   z-index : CTA tel (9997) > Trustmary (9996) > cookies (9995)
 *
 *   Si le Trustmary est plus large que ~200px, il déborde vers la droite mais
 *   reste à gauche du CTA tel (largeur intrinsèque CTA ~150-180px + right:14px,
 *   donc Trustmary doit rester sous ~ calc(100vw - 220px) ).
 *   On ajoute donc max-width: calc(100vw - 24px - 70px - 180px) = soit ~vw - 274px
 *   pour le Trustmary, afin d'éviter le chevauchement même sur 320px de viewport.
 *
 *   Marges safe-area iOS via env(safe-area-inset-*).
 *
 * ----------------------------------------------------------------------------
 * NOTES POUR HASSAN
 *
 *  - Le sélecteur Trustmary réel n'a pas pu être confirmé à 100% car le widget
 *    est injecté par embed.js côté client. La règle ci-dessous utilise des
 *    sélecteurs génériques robustes ([data-trustmary-widget], [id*="trustmary"],
 *    [class*="trustmary"], iframe[src*="trustmary"]). Vérifier en DevTools iPhone
 *    après déploiement et, si besoin, remplacer/compléter le bloc "Trustmary"
 *    par le sélecteur exact (ex. #tmary_xxxxx ou .trustmary-widget-wrapper).
 *
 *  - Tous les !important sont volontaires : ils battent les inline styles
 *    Elementor (CTA tel) et la spécificité auto-inject du widget Trustmary.
 *    Le bouton cookies n'utilise pas !important car #id suffit en spécificité.
 *
 *  - Aucune règle hors @media (max-width:480px). Aucun impact desktop/tablette.
 * ============================================================================ */

@media (max-width: 480px) {

  /* --------------------------------------------------------------------------
   * 1) BOUTON COOKIES - bas-gauche, niveau le plus bas de la pile
   *    z-index: 9995 (sous Trustmary et CTA tel)
   *    Source actuelle : left:12px; bottom:82px (cookie-banner.css:144-145)
   *    On la rabaisse au coin réel avec safe-area-inset.
   * -------------------------------------------------------------------------- */
  #kohen-cc-icon {
    position: fixed;
    left: calc(env(safe-area-inset-left, 0px) + 14px);
    bottom: calc(env(safe-area-inset-bottom, 0px) + 14px);
    right: auto;
    top: auto;
    width: 44px;
    height: 44px;
    z-index: 9995;
  }

  /* Popover de gestion cookies : on le maintient au-dessus de l'icône cookies
   * sans chevaucher la rangée d'overlays. left=14 (aligné icône), bottom = 14
   * + 44 (hauteur icône) + 12 (gap) = 70 puis on garde un peu plus pour respirer. */
  #kohen-cc-overlay {
    left: calc(env(safe-area-inset-left, 0px) + 12px);
    right: calc(env(safe-area-inset-right, 0px) + 12px);
    bottom: calc(env(safe-area-inset-bottom, 0px) + 72px);
    width: auto;
    max-width: none;
    z-index: 9998; /* au-dessus de tous les flottants quand ouvert */
  }

  /* --------------------------------------------------------------------------
   * 2) WIDGET TRUSTMARY - juste à droite du cookies, bas-gauche
   *    z-index: 9996 (entre cookies et CTA tel)
   *    Sélecteurs génériques robustes : le widget est injecté par embed.js,
   *    le markup statique ne contient que le placeholder <div data-trustmary-widget>.
   *
   *    !important : nécessaire pour battre les styles inline injectés par
   *    embed.trustmary.com/embed.js qui posent position:fixed + bottom/left
   *    directement sur l'élément (style="...").
   * -------------------------------------------------------------------------- */
  /* PATCH 1 audit Codex : sélecteurs Trustmary précis seulement, jamais le
     placeholder inline data-trustmary-widget. Seuls les wrappers crées par
     embed.js (id^="tmary-", classes trustmary-widget/trustmary-floating,
     iframes embed.trustmary) sont promus en fixed. */
  [id^="tmary-"],
  [id*="trustmary-widget"],
  [class*="trustmary-floating"],
  [class*="trustmary-widget"],
  iframe[src*="trustmary.com"],
  iframe[src*="embed.trustmary"] {
    position: fixed !important;            /* !important : bat le style inline d'embed.js */
    left: calc(env(safe-area-inset-left, 0px) + 70px) !important;
    right: auto !important;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 14px) !important;
    top: auto !important;
    max-width: calc(100vw - env(safe-area-inset-left, 0px)
                          - env(safe-area-inset-right, 0px)
                          - 270px) !important;
    z-index: 9996 !important;
    box-sizing: border-box !important;
  }

  /* Garde-fou : placeholder inline data-trustmary-widget reste en flow normal. */
  [data-trustmary-widget]:not([id]) {
    position: static !important;
    max-width: 100% !important;
  }

  /* --------------------------------------------------------------------------
   * 3) CTA TEL "APPEL GRATUIT" - bas-droite, niveau le plus haut
   *    z-index: 9997 (au-dessus de Trustmary et cookies)
   *    Sélecteur : .e-contact-buttons (wrapper Elementor Pro Contact Buttons)
   *
   *    !important : obligatoire. Une déclaration inline ciblée
   *    .e-contact-buttons { position:fixed !important; bottom:20px !important;
   *    right:20px !important; z-index:9999 !important; } existe déjà dans le
   *    <style> injecté par la page (preuve /tmp/com.html:2429-2444). Il faut
   *    donc battre du !important.
   * -------------------------------------------------------------------------- */
  .e-contact-buttons,
  .e-contact-buttons.has-h-alignment-end.has-v-alignment-bottom {
    position: fixed !important;
    right: calc(env(safe-area-inset-right, 0px) + 14px) !important;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 14px) !important;
    left: auto !important;                 /* !important : force l'abandon de left si Elementor le pose */
    top: auto !important;
    z-index: 9997 !important;              /* !important : 9999 hardcodé en inline, on lui passe devant via priorité de cascade + ordre dans la feuille */
    /* Largeur intrinsèque conservée. On garantit juste qu'il ne dépasse pas
     * de l'écran si jamais le texte du bouton venait à s'allonger. */
    max-width: calc(100vw - env(safe-area-inset-left, 0px)
                          - env(safe-area-inset-right, 0px)
                          - 28px) !important;
  }

  /* Tap target confort iOS sur le bouton lui-même (44x44 mini WCAG/Apple HIG). */
  .e-contact-buttons .e-contact-buttons__chat-button {
    min-height: 44px;
    touch-action: manipulation;
  }
}


/* =================================================
   D) ANIMATIONS fadeInUp + FOOTER CABINET
   ================================================= */
/* ============================================================================
 * agent-D-animations-footer.css
 * Cibles : iPhone (max-width: 480px) sur kohenavocats.com et kohenavocats.fr
 * Portee :
 *   VOLET 1 - Neutralisation de l'effet fadeInUp Elementor (template archive)
 *   VOLET 2 - Lisibilite et conformite tap-target du footer cabinet (.hk-footer)
 * Aucun JS, aucun HTML, aucun scope desktop.
 * !important commente la ou il est necessaire pour battre Elementor inline.
 * ========================================================================== */


/* ============================================================================
 * VOLET 1 - Neutraliser fadeInUp Elementor sur iPhone
 *
 * Constat (DOM live verifie via curl iPhone UA sur .com et .fr) :
 *   - Les widgets/sections du template archive portent simultanement
 *     `class="... animated-fast elementor-invisible ..."` ou
 *     `class="... animated-slow elementor-invisible ..."`.
 *   - L'attribut `data-settings` contient `_animation":"fadeInUp"` ou
 *     `_animation_mobile":"fadeInUp"` selon le widget. Sur .com l'animation
 *     resolue est souvent `fadeIn`, sur .fr c'est explicitement `fadeInUp`.
 *   - Elementor pose la classe `.elementor-invisible` (opacity:0) puis,
 *     via IntersectionObserver, ajoute `.animated.fadeInUp` (keyframes
 *     animee) pour reveler le widget. Si le JS tarde sur iPhone, l'element
 *     reste invisible et la page apparait blanche.
 *
 * Strategie : sur iPhone, on neutralise totalement l'animation d'apparition
 * tout en restaurant immediatement la visibilite. On preserve volontairement
 * le header/menu Elementor (`.elementor-location-header`, `.elementor-nav-menu`)
 * pour ne pas casser un eventuel slide-in du menu deroulant.
 * ========================================================================== */

@media (max-width: 480px) {

  /* PATCH 2 audit Codex : scope archive uniquement (hero + theme-post-content +
     containers 0f9b525/72efc591). On NE TOUCHE PAS aux widgets carousel/slider
     ni aux animations hors archive. */
  .kohen-hero-archive .elementor-element.elementor-invisible,
  .kohen-hero-archive .elementor-element.animated,
  .elementor-widget-theme-post-content .elementor-element.elementor-invisible,
  .elementor-widget-theme-post-content .elementor-element.animated,
  .elementor-element-0f9b525.elementor-invisible,
  .elementor-element-72efc591.elementor-invisible,
  .elementor-element-0f9b525 .elementor-element.elementor-invisible,
  .elementor-element-72efc591 .elementor-element.elementor-invisible,
  .elementor-element-0f9b525 .elementor-element.animated,
  .elementor-element-72efc591 .elementor-element.animated {
    opacity: 1 !important;              /* bat Elementor opacity:0 inline */
    transform: none !important;         /* bat translate3d(0,40px,0) initial */
    animation: none !important;         /* coupe keyframes fadeInUp */
    animation-name: none !important;
    animation-duration: 0s !important;
    animation-delay: 0s !important;
    animation-fill-mode: none !important;
    transition: none !important;
    visibility: visible !important;     /* fallback anti-page-blanche iPhone */
  }

  /*
   * 1.3 — Pseudo-elements before/after : certains keyframes Elementor
   *       fadeInUp restent appliques sur ::before/::after. On les neutralise
   *       aussi pour eviter un sursaut visuel.
   */
  .elementor-element.elementor-invisible::before,
  .elementor-element.elementor-invisible::after,
  .elementor-element.animated::before,
  .elementor-element.animated::after {
    animation: none !important;         /* coupe keyframes residuelles */
    animation-duration: 0s !important;
    transform: none !important;
  }

  /*
   * 1.4 — Exception explicite : ne PAS toucher au header / menu Elementor.
   *       Le menu deroulant mobile peut legitimement utiliser une animation
   *       de slide-in qu'on veut conserver. On reactive donc le comportement
   *       par defaut sur cette zone uniquement.
   *       (Cette regle s'applique parce qu'elle est plus specifique que 1.1
   *       grace au selecteur descendant. Pas besoin de !important neutralisant
   *       puisqu'on cherche a RESTAURER le defaut, pas a forcer une valeur.)
   */
  .elementor-location-header .elementor-element.elementor-invisible,
  .elementor-location-header .elementor-element.animated,
  .elementor-nav-menu .elementor-element.elementor-invisible,
  .elementor-nav-menu .elementor-element.animated,
  .elementor-menu-toggle ~ * .elementor-element.elementor-invisible {
    /* Pas de redefinition : on laisse Elementor faire son travail dans le header */
    opacity: revert;
    transform: revert;
    animation: revert;
    visibility: revert;
  }
}


/* ============================================================================
 * VOLET 2 - Footer cabinet (.hk-footer) lisibilite et conformite iPhone
 *
 * Constats audit (audit-fr.md + audit-com.md + DOM live) :
 *   - .hk-footer-seo-inner .hk-footer-link rendu en font-size 8px,
 *     hauteur ~22px. Echec tap-target 44px et lisibilite.
 *   - .hk-footer-legal-item rendu en font-size 8px, hauteur ~27.5px.
 *     Meme echec tap-target.
 *   - .hk-footer-avocat : largeur 175vw puis 178vw, min-width 540-560px,
 *     debordement scrollWidth 400 a 390 de viewport.
 *   - .hk-footer-seo-inner en display:inline-flex avec gap en vw : explose
 *     sur petit ecran.
 *
 * Strategie : on remet des unites stables (px / clamp), on impose
 * inline-flex 44px sur les cibles tactiles, on contraint l'image portrait
 * du footer, on stabilise le scroll horizontal du strip SEO.
 * ========================================================================== */

@media (max-width: 480px) {

  /*
   * 2.1 — Liens du strip SEO (related links horizontal scrollable).
   *      Conforme WCAG 44px. !important pour battre les inline rules
   *      .hk-footer-link{font-size:8px;padding:5px 10px} observees dans
   *      inline-26.css :389-397.
   */
  .hk-footer-seo-inner .hk-footer-link,
  .hk-footer-seo-scroll .hk-footer-link,
  .hk-footer .hk-footer-link {
    font-size: 12px !important;         /* bat font-size:8px inline */
    line-height: 1.2 !important;
    min-height: 44px !important;        /* bat les ~22px rendus, conforme WCAG */
    padding: 12px 14px !important;      /* bat padding:5px 10px inline */
    display: inline-flex !important;    /* aligne verticalement le texte */
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap;                /* conserve le scroll horizontal voulu */
    flex-shrink: 0;
    touch-action: manipulation;         /* supprime le 300ms tap delay iOS */
    letter-spacing: inherit !important; /* re-confirme : aucun spacing au hover */
  }

  .hk-footer-seo-inner .hk-footer-link:hover,
  .hk-footer-seo-inner .hk-footer-link:focus,
  .hk-footer-seo-inner .hk-footer-link:active {
    letter-spacing: inherit !important; /* anti-elementor theme hover */
    transform: none !important;
  }

  /*
   * 2.2 — Items de la barre legale.
   *      Memes contraintes 44px et 12px. !important pour battre
   *      .hk-footer-legal-item{font-size:8px} et la regle inline a 10px.
   */
  .hk-footer-legal-bar .hk-footer-legal-item,
  .hk-footer .hk-footer-legal-item {
    font-size: 12px !important;         /* bat font-size:8px et 10px inline */
    line-height: 1.2 !important;
    min-height: 44px !important;        /* bat les ~27.5px rendus */
    padding: 12px 14px !important;      /* bat padding:5px 10px inline */
    display: inline-flex !important;
    align-items: center !important;
    touch-action: manipulation;
  }

  .hk-footer-legal-bar .hk-footer-legal-item:hover,
  .hk-footer-legal-bar .hk-footer-legal-item:focus,
  .hk-footer-legal-bar .hk-footer-legal-item:active {
    letter-spacing: inherit !important; /* anti-elementor theme hover */
    transform: none !important;
  }

  /*
   * 2.3 — Image portrait du footer (.hk-footer-avocat).
   *      Sur .com elle est forcee a width:178vw + min-width:540px,
   *      ce qui debordait scrollWidth a 400px sur viewport 390. On la
   *      ramene a une largeur reelle bornee, sans min-width, en flow
   *      normal pour eviter les chevauchements verticaux.
   *      !important obligatoire : les regles desktop d'origine sont
   *      toutes en !important (cf. inline_penal.css:3163-3169).
   */
  .hk-footer-avocat {
    width: clamp(280px, 90vw, 340px) !important;  /* bat width:178vw */
    min-width: 0 !important;                       /* bat min-width:540px */
    max-width: 340px !important;                   /* bat max-width:none */
    position: relative !important;                 /* sort du flow absolu desktop */
    bottom: auto !important;                       /* bat bottom:-128px */
    left: auto !important;
    right: auto !important;
    top: auto !important;
    margin-top: auto !important;                   /* centre vertical si conteneur flex */
    margin-bottom: auto !important;
    margin-left: auto !important;                  /* centre horizontal */
    margin-right: auto !important;
    display: inline-block !important;              /* pas de bloc plein largeur */
  }

  /*
   * 2.4 — Strip SEO scrollable : kill du debordement viewport global.
   *      On garde le scroll horizontal LOCAL (overflow-x:auto) mais on
   *      sandbox via overscroll-behavior et on plafonne le wrapper.
   */
  .hk-footer-seo-scroll {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;  /* momentum iOS */
    overscroll-behavior-x: contain !important;     /* anti-bounce vers la page */
    max-width: 100% !important;                    /* anti-debordement viewport */
    width: 100% !important;
  }

  /*
   * 2.5 — Container interne du strip SEO.
   *      Le gap en vw casse sur petit ecran. On le fige a 8px.
   *      display:flex (pas inline-flex) pour que les pillules respectent
   *      le wrapper a 100%, en restant en ligne grace au nowrap parent.
   *      !important pour battre .hk-footer-seo-inner{display:inline-flex;gap:.7vw}
   *      observe dans inline-26.css:49-62.
   */
  .hk-footer-seo-inner {
    display: flex !important;           /* bat inline-flex */
    flex-wrap: nowrap !important;       /* conserve le scroll horizontal */
    gap: 8px !important;                /* bat gap:.7vw */
    align-items: stretch !important;
    padding: 4px 8px !important;
    width: max-content !important;      /* prend la largeur naturelle des chips */
    min-width: 100% !important;         /* mais au moins le viewport pour eviter le creux */
  }

  /*
   * 2.6 — Conteneurs parents du footer : anti-debordement horizontal.
   *      Si une regle parente oublie d'avoir overflow contenu, le
   *      portrait ou le strip peut faire deborder le document entier.
   */
  .hk-footer,
  .hk-footer-parallax-container,
  .hk-footer-main,
  .hk-footer-widget {
    max-width: 100vw !important;        /* anti-scroll horizontal global */
    overflow-x: clip !important;        /* clip natif, sans creer de stacking */
  }

  /*
   * 2.7 — Surlignage cobalt : re-confirmation explicite.
   *      Le CSS courant gere deja le hover cobalt #0000CC sur les liens
   *      du footer. On ne le redefinit pas ici, on confirme uniquement
   *      l'absence de letter-spacing additionnel au hover, qui pourrait
   *      faire deborder le strip sur iPhone.
   *      (Voir com-current.css:559-602 et fr-current.css equivalent.)
   */
  .hk-footer a:hover,
  .hk-footer a:focus,
  .hk-footer a:active {
    letter-spacing: inherit !important; /* re-confirme : zero spacing additionnel */
    word-spacing: inherit !important;
    transform: none !important;         /* anti-grossissement visuel */
  }

  /*
   * 2.8 — touch-action global sur les zones tactiles du footer.
   *      Supprime le 300ms tap-delay iOS, evite le double-tap-to-zoom
   *      parasite sur des cibles deja 44px.
   */
  .hk-footer a,
  .hk-footer-link,
  .hk-footer-legal-item,
  .hk-footer-legal-sep {
    touch-action: manipulation;
  }
}


/* ============================================================
   PATCH desktop/tablet - Reduction H2 section (Hassan 2026-05-17)
   ------------------------------------------------------------
   Coherence visuelle avec le widget Voyager (titre 24px / 900).
   Scope >=481px : iPhone garde son clamp(23,6.2vw,26) du bloc 480.
   Avant : clamp(34px, 4.4vw, 54px) - jusqu'a 54px sur 4K
   Apres : clamp(26px, 3vw, 38px)   - max 38px desktop
   ============================================================ */
@media (min-width: 481px) {
  .kx-section-h2,
  body .kx-section-head h2.kx-section-h2,
  body .elementor-element-e92882a .kx-section-head h2.kx-section-h2,
  body .elementor-element-cb4ba4b .kx-section-head h2.kx-section-h2,
  body .elementor-element-0f9b525 .kx-section-head h2.kx-section-h2,
  body .elementor-element-72efc591 .kx-section-head h2.kx-section-h2,
  .elementor-element-0f9b525 .kx-section-h2,
  .elementor-element-72efc591 .kx-section-h2,
  .elementor-widget-theme-post-content .kx-section-h2 {
    font-size: clamp(26px, 3vw, 38px) !important;
    letter-spacing: -0.015em !important;
    line-height: 1.2 !important;
  }
}

/* ============================================================
   PATCH iPhone - Gouttieres laterales reduites (Hassan 2026-05-17)
   ------------------------------------------------------------
   Avant : 40px container + 22px widget + 15.5px margin = 155px
           perdus sur 390px de viewport (40% du viewport en gouttieres)
   Apres : 8px container + 6px widget + 0 margin = 28px perdus
           → 362px utiles sur 390px (92.8% du viewport)
   ============================================================ */
@media (max-width: 480px) {
  /* Container parent archive (e92882a sur .com, cb4ba4b sur .fr) */
  body .elementor-element.elementor-element-e92882a,
  body .elementor-element.elementor-element-cb4ba4b {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  /* Widget contenu (0f9b525 sur .com, 72efc591 sur .fr) */
  body .elementor-element.elementor-element-0f9b525,
  body .elementor-element.elementor-element-72efc591 {
    padding-left: 6px !important;
    padding-right: 6px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-radius: 14px;
  }

  /* Hero archive : gouttieres harmonisees avec le contenu */
  .kohen-hero-archive {
    padding-left: max(12px, env(safe-area-inset-left)) !important;
    padding-right: max(12px, env(safe-area-inset-right)) !important;
  }
}

/* ============================================================
   Masquage bloc commentaires - kohenavocats.fr archive unique
   ------------------------------------------------------------
   Widget Elementor post-comments du template 3882, id 7a25f1af.
   On masque sur tous viewports (pas de @media). Le widget reste
   dans le DOM (pas display:none destructeur en SEO) mais retire
   visuellement. Pour .com on ne touche pas (Hassan veut garder).
   ============================================================ */
.elementor-element-7a25f1af,
body .elementor-element-7a25f1af,
.elementor-widget-post-comments.elementor-element-7a25f1af {
  display: none !important;
}

/* ============================================================
   CTA article - garder les boutons lisibles malgre les styles de liens
   ------------------------------------------------------------
   Le template 2066 force les liens de contenu en cobalt avec !important.
   Les fragments d'article qui utilisent .cta doivent conserver leurs
   couleurs de bouton, notamment le CTA primaire blanc sur fond cobalt.
   ============================================================ */
body.single-post .elementor-2066 .elementor-element.elementor-element-0f9b525 a.cta,
body.single-post .elementor-2066 .elementor-element.elementor-element-0f9b525 a.cta:link,
body.single-post .elementor-2066 .elementor-element.elementor-element-0f9b525 a.cta:visited,
body.single-post .elementor-2066 .elementor-element.elementor-element-0f9b525 a.cta:hover,
body.single-post .elementor-2066 .elementor-element.elementor-element-0f9b525 a.cta:focus,
body.single-post .elementor-2066 .elementor-element.elementor-element-0f9b525 a.cta:active {
  background-image: none !important;
  text-decoration: none !important;
  border-bottom: 0 !important;
}

body.single-post .elementor-2066 .elementor-element.elementor-element-0f9b525 a.cta.cta-primary,
body.single-post .elementor-2066 .elementor-element.elementor-element-0f9b525 a.cta.cta-primary:link,
body.single-post .elementor-2066 .elementor-element.elementor-element-0f9b525 a.cta.cta-primary:visited,
body.single-post .elementor-2066 .elementor-element.elementor-element-0f9b525 a.cta.cta-primary:hover,
body.single-post .elementor-2066 .elementor-element.elementor-element-0f9b525 a.cta.cta-primary:focus,
body.single-post .elementor-2066 .elementor-element.elementor-element-0f9b525 a.cta.cta-primary:active {
  color: #FFFFFF !important;
  background-color: #0000CC !important;
  box-shadow: 0 10px 30px rgba(0, 0, 204, 0.18) !important;
}

body.single-post .elementor-2066 .elementor-element.elementor-element-0f9b525 a.cta.cta-secondary,
body.single-post .elementor-2066 .elementor-element.elementor-element-0f9b525 a.cta.cta-secondary:link,
body.single-post .elementor-2066 .elementor-element.elementor-element-0f9b525 a.cta.cta-secondary:visited,
body.single-post .elementor-2066 .elementor-element.elementor-element-0f9b525 a.cta.cta-secondary:hover,
body.single-post .elementor-2066 .elementor-element.elementor-element-0f9b525 a.cta.cta-secondary:focus,
body.single-post .elementor-2066 .elementor-element.elementor-element-0f9b525 a.cta.cta-secondary:active {
  color: #1B1B1B !important;
  background-color: rgba(255, 255, 255, 0.95) !important;
  box-shadow: none !important;
}

body.single-post .elementor-3882 .elementor-element.elementor-element-72efc591 a.cta,
body.single-post .elementor-3882 .elementor-element.elementor-element-72efc591 a.cta:link,
body.single-post .elementor-3882 .elementor-element.elementor-element-72efc591 a.cta:visited,
body.single-post .elementor-3882 .elementor-element.elementor-element-72efc591 a.cta:hover,
body.single-post .elementor-3882 .elementor-element.elementor-element-72efc591 a.cta:focus,
body.single-post .elementor-3882 .elementor-element.elementor-element-72efc591 a.cta:active {
  background-image: none !important;
  text-decoration: none !important;
  border-bottom: 0 !important;
}

body.single-post .elementor-3882 .elementor-element.elementor-element-72efc591 a.cta.cta-primary,
body.single-post .elementor-3882 .elementor-element.elementor-element-72efc591 a.cta.cta-primary:link,
body.single-post .elementor-3882 .elementor-element.elementor-element-72efc591 a.cta.cta-primary:visited,
body.single-post .elementor-3882 .elementor-element.elementor-element-72efc591 a.cta.cta-primary:hover,
body.single-post .elementor-3882 .elementor-element.elementor-element-72efc591 a.cta.cta-primary:focus,
body.single-post .elementor-3882 .elementor-element.elementor-element-72efc591 a.cta.cta-primary:active {
  color: #FFFFFF !important;
  background-color: #0000CC !important;
  box-shadow: 0 10px 30px rgba(0, 0, 204, 0.18) !important;
}

body.single-post .elementor-3882 .elementor-element.elementor-element-72efc591 a.cta.cta-secondary,
body.single-post .elementor-3882 .elementor-element.elementor-element-72efc591 a.cta.cta-secondary:link,
body.single-post .elementor-3882 .elementor-element.elementor-element-72efc591 a.cta.cta-secondary:visited,
body.single-post .elementor-3882 .elementor-element.elementor-element-72efc591 a.cta.cta-secondary:hover,
body.single-post .elementor-3882 .elementor-element.elementor-element-72efc591 a.cta.cta-secondary:focus,
body.single-post .elementor-3882 .elementor-element.elementor-element-72efc591 a.cta.cta-secondary:active {
  color: #1B1B1B !important;
  background-color: rgba(255, 255, 255, 0.95) !important;
  box-shadow: none !important;
}

</style>
<style id="kohen-fab-frost">
/*
 * Isolation stricte : chaque règle commence par l'ID Elementor unique 3b6f1d5.
 * Géométrie déterministe : aucune largeur, hauteur, marge ou transition interne native.
 */
.elementor-element-3b6f1d5 .e-contact-buttons {
  --e-contact-buttons-button-bg: #EDF3FA !important;
}

.elementor-element-3b6f1d5 .e-contact-buttons__chat-button,
.elementor-element-3b6f1d5 .e-contact-buttons__chat-button:link,
.elementor-element-3b6f1d5 .e-contact-buttons__chat-button:visited,
.elementor-element-3b6f1d5 .e-contact-buttons__chat-button:hover,
.elementor-element-3b6f1d5 .e-contact-buttons__chat-button:focus,
.elementor-element-3b6f1d5 .e-contact-buttons__chat-button:active,
.elementor-element-3b6f1d5 .e-contact-buttons__chat-button[aria-expanded="true"],
.elementor-element-3b6f1d5 .e-contact-buttons__chat-button[aria-expanded="false"] {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 9px !important;
  width: 185px !important;
  min-width: 185px !important;
  max-width: 185px !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  margin: 0 !important;
  padding: 9px 18px 9px 10px !important;
  overflow: visible !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #FFFFFF 0%, #EDF3FA 100%) !important;
  background-color: #EDF3FA !important;
  border: 1px solid rgba(207,222,240,.95) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.6) !important;
  backdrop-filter: blur(18px) saturate(1.6) !important;
  color: #1F4FA8 !important;
  font-family: 'Lato', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  letter-spacing: -.005em !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 6px 16px rgba(31,79,168,.13) !important;
  transform: none !important;
  transition: box-shadow .25s ease, border-color .25s ease !important;
}

.elementor-element-3b6f1d5 .e-contact-buttons__chat-button:hover {
  border-color: #2E6BD8 !important;
  box-shadow: inset 0 1px 0 #fff, 0 10px 24px rgba(31,79,168,.18) !important;
}

.elementor-element-3b6f1d5 .e-contact-buttons__chat-button:focus-visible {
  outline: 2px solid #1F4FA8 !important;
  outline-offset: 3px !important;
}

/* Pastille : position et dimensions verrouillées, sans animation native. */
.elementor-element-3b6f1d5 .e-contact-buttons__chat-button-icon-container {
  box-sizing: border-box !important;
  position: static !important;
  inset: auto !important;
  display: grid !important;
  place-items: center !important;
  flex: none !important;
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 32% 26%, rgba(255,255,255,.55), transparent 46%),
    linear-gradient(160deg, #79D561 0%, #3FB950 100%) !important;
  background-color: #79D561 !important;
  border: 1px solid rgba(63,185,80,.55) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 2px 7px rgba(63,185,80,.35) !important;
  transform: none !important;
  transition: none !important;
}

.elementor-element-3b6f1d5 .e-contact-buttons__chat-button-icon-container svg {
  display: block !important;
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  fill: #FFFFFF !important;
  color: #FFFFFF !important;
  transform: none !important;
  transition: none !important;
}

/*
 * Libellé : toujours visible, y compris hors hover et sur écran tactile.
 * La chaîne de sélecteurs volontairement spécifique gagne contre les états
 * natifs d'Elementor sans sortir du widget 3b6f1d5.
 */
body .elementor-element-3b6f1d5 .e-contact-buttons.e-contact-buttons-var-9 .e-contact-buttons__chat-button .e-contact-buttons__chat-button-text,
body .elementor-element-3b6f1d5 .e-contact-buttons.e-contact-buttons-var-9 .e-contact-buttons__chat-button:not(:hover) .e-contact-buttons__chat-button-text,
body .elementor-element-3b6f1d5 .e-contact-buttons.e-contact-buttons-var-9 .e-contact-buttons__chat-button:hover .e-contact-buttons__chat-button-text,
body .elementor-element-3b6f1d5 .e-contact-buttons.e-contact-buttons-var-9 .e-contact-buttons__chat-button:focus .e-contact-buttons__chat-button-text,
body .elementor-element-3b6f1d5 .e-contact-buttons.e-contact-buttons-var-9 .e-contact-buttons__chat-button:active .e-contact-buttons__chat-button-text,
body .elementor-element-3b6f1d5 .e-contact-buttons.e-contact-buttons-var-9 .e-contact-buttons__chat-button[aria-expanded="true"] .e-contact-buttons__chat-button-text,
body .elementor-element-3b6f1d5 .e-contact-buttons.e-contact-buttons-var-9 .e-contact-buttons__chat-button[aria-expanded="false"] .e-contact-buttons__chat-button-text {
  box-sizing: border-box !important;
  position: static !important;
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 20px !important;
  min-height: 20px !important;
  max-height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: clip !important;
  opacity: 1 !important;
  visibility: visible !important;
  clip: auto !important;
  clip-path: none !important;
  background: transparent !important;
  color: #1F4FA8 !important;
  -webkit-text-fill-color: #1F4FA8 !important;
  font-family: 'Lato', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  line-height: 20px !important;
  letter-spacing: -.005em !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
}

@media (hover: none), (pointer: coarse) {
  body .elementor-element-3b6f1d5 .e-contact-buttons.e-contact-buttons-var-9 .e-contact-buttons__chat-button .e-contact-buttons__chat-button-text {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .elementor-element-3b6f1d5 .e-contact-buttons__chat-button {
    transition: none !important;
  }
}
</style>

<style data-kohen-archive-toc-style="20260525b">
body.single-post .elementor-widget-theme-post-content nav.kohen-toc,
body.single-post .elementor-widget-theme-post-content .kohen-article nav.kohen-toc,
body.single-post .elementor-widget-theme-post-content .toc-article {
  position: relative;
  margin: 12px 0 42px !important;
  padding: clamp(22px, 3.2vw, 34px) !important;
  background:
    radial-gradient(circle at 94% 8%, rgba(224, 144, 25, 0.10), transparent 24%),
    linear-gradient(135deg, #FFFFFF 0%, #F6FAFF 50%, #E6EEF8 100%) !important;
  border: 1px solid rgba(207, 222, 240, 0.94) !important;
  border-left: 1px solid rgba(207, 222, 240, 0.94) !important;
  border-radius: 22px !important;
  box-shadow: 0 22px 54px rgba(31, 79, 168, 0.09), inset 0 1px 0 rgba(255, 255, 255, 0.88) !important;
  overflow: hidden;
  font-family: Lato, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
}

body.single-post .elementor-widget-theme-post-content nav.kohen-toc::before,
body.single-post .elementor-widget-theme-post-content .toc-article::before {
  content: none !important;
  display: none !important;
}

body.single-post .elementor-widget-theme-post-content nav.kohen-toc h2,
body.single-post .elementor-widget-theme-post-content .toc-article > p:first-of-type {
  display: flex !important;
  align-items: center;
  gap: 12px;
  margin: 0 0 20px !important;
  color: #1D1D1F !important;
  font-size: clamp(24px, 3vw, 34px) !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  font-family: Lato, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
}

body.single-post .elementor-widget-theme-post-content nav.kohen-toc h2::before,
body.single-post .elementor-widget-theme-post-content .toc-article > p:first-of-type::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #E09019;
  box-shadow: 0 0 0 6px rgba(224, 144, 25, 0.14);
  flex: 0 0 auto;
}

body.single-post .elementor-widget-theme-post-content nav.kohen-toc ol,
body.single-post .elementor-widget-theme-post-content .toc-article ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-post .elementor-widget-theme-post-content nav.kohen-toc > ol,
body.single-post .elementor-widget-theme-post-content .toc-article > ul {
  display: grid;
  gap: 10px;
}

body.single-post .elementor-widget-theme-post-content nav.kohen-toc li,
body.single-post .elementor-widget-theme-post-content .toc-article li {
  margin: 0 !important;
  padding: 0 !important;
}

body.single-post .elementor-widget-theme-post-content nav.kohen-toc a,
body.single-post .elementor-widget-theme-post-content .toc-article a {
  text-decoration: none !important;
  border-bottom: 0 !important;
  letter-spacing: 0 !important;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

body.single-post .elementor-widget-theme-post-content nav.kohen-toc > ol > li > a,
body.single-post .elementor-widget-theme-post-content .toc-article li.toc-h2 > a {
  display: block;
  padding: 15px 17px !important;
  border: 1px solid rgba(207, 222, 240, 0.96) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.82) !important;
  color: #1F4FA8 !important;
  font-size: 17px !important;
  line-height: 1.38 !important;
  font-weight: 800 !important;
  box-shadow: 0 12px 30px rgba(31, 79, 168, 0.055);
}

body.single-post .elementor-widget-theme-post-content nav.kohen-toc > ol > li > a:hover,
body.single-post .elementor-widget-theme-post-content nav.kohen-toc > ol > li > a:focus,
body.single-post .elementor-widget-theme-post-content nav.kohen-toc > ol > li > a.is-open,
body.single-post .elementor-widget-theme-post-content .toc-article li.toc-h2 > a:hover,
body.single-post .elementor-widget-theme-post-content .toc-article li.toc-h2 > a:focus,
body.single-post .elementor-widget-theme-post-content .toc-article li.toc-h2 > a.is-open {
  background: #FFFFFF !important;
  border-color: rgba(31, 79, 168, 0.34) !important;
  color: #173B82 !important;
  transform: translateY(-1px);
  box-shadow: 0 16px 34px rgba(31, 79, 168, 0.10);
  outline: none;
}

body.single-post .elementor-widget-theme-post-content nav.kohen-toc > ol > li > ol {
  display: grid;
  gap: 8px;
  margin: 10px 0 0 18px !important;
  padding: 0 0 0 18px !important;
}

body.single-post .elementor-widget-theme-post-content .toc-article li.toc-h3 {
  margin-left: 18px !important;
}

body.single-post .elementor-widget-theme-post-content nav.kohen-toc > ol > li > ol > li > a,
body.single-post .elementor-widget-theme-post-content .toc-article li.toc-h3 > a {
  display: block;
  padding: 10px 12px !important;
  border: 1px solid rgba(207, 222, 240, 0.62) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.54) !important;
  color: #334155 !important;
  font-size: 15.5px !important;
  line-height: 1.42 !important;
  font-weight: 700 !important;
}

body.single-post .elementor-widget-theme-post-content nav.kohen-toc > ol > li > ol > li > a:hover,
body.single-post .elementor-widget-theme-post-content nav.kohen-toc > ol > li > ol > li > a:focus,
body.single-post .elementor-widget-theme-post-content nav.kohen-toc > ol > li > ol > li > a.is-open,
body.single-post .elementor-widget-theme-post-content .toc-article li.toc-h3 > a:hover,
body.single-post .elementor-widget-theme-post-content .toc-article li.toc-h3 > a:focus,
body.single-post .elementor-widget-theme-post-content .toc-article li.toc-h3 > a.is-open {
  background: #FFFFFF !important;
  border-color: rgba(46, 107, 216, 0.36) !important;
  color: #1F4FA8 !important;
  transform: translateX(2px);
  outline: none;
}

@media (max-width: 680px) {
  body.single-post .elementor-widget-theme-post-content nav.kohen-toc,
  body.single-post .elementor-widget-theme-post-content .kohen-article nav.kohen-toc,
  body.single-post .elementor-widget-theme-post-content .toc-article {
    margin: 8px 0 34px !important;
    padding: 22px 18px !important;
    border-radius: 18px !important;
  }

  body.single-post .elementor-widget-theme-post-content nav.kohen-toc h2,
  body.single-post .elementor-widget-theme-post-content .toc-article > p:first-of-type {
    font-size: 24px !important;
  }

  body.single-post .elementor-widget-theme-post-content nav.kohen-toc > ol,
  body.single-post .elementor-widget-theme-post-content .toc-article > ul {
    gap: 9px;
  }

  body.single-post .elementor-widget-theme-post-content nav.kohen-toc > ol > li > a,
  body.single-post .elementor-widget-theme-post-content .toc-article li.toc-h2 > a {
    padding: 13px 14px !important;
    font-size: 16px !important;
  }

  body.single-post .elementor-widget-theme-post-content nav.kohen-toc > ol > li > ol {
    margin-left: 8px !important;
    padding-left: 0 !important;
  }

  body.single-post .elementor-widget-theme-post-content .toc-article li.toc-h3 {
    margin-left: 8px !important;
  }

  body.single-post .elementor-widget-theme-post-content nav.kohen-toc > ol > li > ol > li > a,
  body.single-post .elementor-widget-theme-post-content .toc-article li.toc-h3 > a {
    font-size: 15px !important;
  }
}
</style>


  <style>
@import url('../css2');

.hkx6-archive-footer {
    font-family: 'Lato', -apple-system, BlinkMacSystemFont, sans-serif;
    -webkit-font-smoothing: antialiased;
    margin: 32px 0 0;
}

.hkx6-archive-footer .author-card {
    background: linear-gradient(145deg, #ffffff 0%, #E6EEF8 100%);
    border-radius: 24px;
    padding: 48px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.hkx6-archive-footer .author-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 3px;
    background: #E09019;
    border-radius: 0 0 3px 3px;
}

.hkx6-archive-footer .author-card .author-photo {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    object-fit: cover;
    margin: 0 auto 24px;
    transition: transform 0.4s ease;
}

.hkx6-archive-footer .author-card .author-photo:hover {
    transform: scale(1.05);
}

.hkx6-archive-footer .author-card .author-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #E09019;
    margin-bottom: 8px;
}

.hkx6-archive-footer .author-card .author-name {
    font-size: 32px;
    font-weight: 900;
    color: #1d1d1f;
    margin: 0 0 8px;
}

.hkx6-archive-footer .author-card .author-name span {
    font-weight: 300;
    font-style: italic;
    color: #E09019;
}

.hkx6-archive-footer .author-card .author-title {
    font-size: 15px;
    color: #424245;
    margin-bottom: 22px;
}

.hkx6-archive-footer .author-card .author-bio {
    font-size: 15px;
    line-height: 1.7;
    color: #424245;
    max-width: 620px;
    margin: 0 auto 22px;
}

.hkx6-archive-footer .hkx6af-chips {
    display: flex;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
    margin: 0 auto 26px;
    max-width: 620px;
}

.hkx6-archive-footer .hkx6af-chip {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    background: #F4F4F5;
    color: #18181B;
    border: 1px solid #E4E4E7;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-decoration: none !important;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.hkx6-archive-footer .hkx6af-chip:hover,
.hkx6-archive-footer .hkx6af-chip:focus {
    background: #18181B;
    border-color: #18181B;
    color: #FFFFFF !important;
}

.hkx6-archive-footer .hkx6af-cta {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    margin: 0 auto;
    max-width: 620px;
}

.hkx6-archive-footer .hkx6af-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 26px;
    border-radius: 50px;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.02em;
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.hkx6-archive-footer .hkx6af-btn-primary {
    background: #E09019;
    color: #FFFFFF !important;
    border: 1px solid #E09019;
}

.hkx6-archive-footer .hkx6af-btn-primary:hover,
.hkx6-archive-footer .hkx6af-btn-primary:focus {
    background: #C97D12;
    border-color: #C97D12;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(224, 144, 25, 0.28);
}

.hkx6-archive-footer .hkx6af-btn-secondary {
    background: #FFFFFF;
    color: #0A0A0A !important;
    border: 1px solid #0A0A0A;
}

.hkx6-archive-footer .hkx6af-btn-secondary:hover,
.hkx6-archive-footer .hkx6af-btn-secondary:focus {
    background: #0A0A0A;
    color: #FFFFFF !important;
    transform: translateY(-2px);
}

.hkx6-archive-footer .hkx6af-btn svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    fill: currentColor;
    stroke: currentColor;
}

.hkx6-archive-footer .hkx6af-socials {
    display: flex;
    justify-content: center;
    gap: 18px;
    flex-wrap: wrap;
    margin-top: 18px;
}

.hkx6-archive-footer .hkx6af-social {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #71717A;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.02em;
    text-decoration: none !important;
    transition: color 0.15s ease;
}

.hkx6-archive-footer .hkx6af-social:hover,
.hkx6-archive-footer .hkx6af-social:focus {
    color: #18181B;
}

.hkx6-archive-footer .hkx6af-social svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    fill: currentColor;
}

@media (max-width: 600px) {
    .hkx6-archive-footer .author-card {
        padding: 32px 22px;
    }

    .hkx6-archive-footer .author-card .author-photo {
        width: 96px;
        height: 96px;
    }

    .hkx6-archive-footer .author-card .author-name {
        font-size: 26px;
    }

    .hkx6-archive-footer .hkx6af-cta {
        flex-direction: column;
        align-items: stretch;
    }

    .hkx6-archive-footer .hkx6af-btn {
        justify-content: center;
    }
}

.hkx6-archive-footer a,
.hkx6-archive-footer a:link,
.hkx6-archive-footer a:visited,
.hkx6-archive-footer a:hover,
.hkx6-archive-footer a:focus,
.hkx6-archive-footer a:active,
.hkx6-archive-footer a:any-link {
  text-decoration: none !important;
  text-decoration-line: none !important;
  text-decoration-color: transparent !important;
  border-bottom: 0 !important;
  background-image: none !important;
}
.hkx6-archive-footer a *,
.hkx6-archive-footer a:hover *,
.hkx6-archive-footer a:focus *,
.hkx6-archive-footer a:active * {
  text-decoration: none !important;
  text-decoration-line: none !important;
}

/* FIX V2 anti-trait au hover - exhaustif */
.hkx6-archive-footer a,
.hkx6-archive-footer a:link,
.hkx6-archive-footer a:visited,
.hkx6-archive-footer a:hover,
.hkx6-archive-footer a:focus,
.hkx6-archive-footer a:active,
.hkx6-archive-footer a:any-link,
body .hkx6-archive-footer a,
body .hkx6-archive-footer a:hover,
body .hkx6-archive-footer a:focus,
body .hkx6-archive-footer a:active {
  text-decoration: none !important;
  text-decoration-line: none !important;
  text-decoration-color: transparent !important;
  text-decoration-thickness: 0 !important;
  border-bottom: 0 none transparent !important;
  border-bottom-width: 0 !important;
  background-image: none !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  outline: none !important;
}
.hkx6-archive-footer .hkx6af-chip::before,
.hkx6-archive-footer .hkx6af-chip::after,
.hkx6-archive-footer .hkx6af-btn::before,
.hkx6-archive-footer .hkx6af-btn::after,
.hkx6-archive-footer .hkx6af-social::before,
.hkx6-archive-footer .hkx6af-social::after,
.hkx6-archive-footer a::before,
.hkx6-archive-footer a::after,
.hkx6-archive-footer a:hover::before,
.hkx6-archive-footer a:hover::after,
.hkx6-archive-footer a:focus::before,
.hkx6-archive-footer a:focus::after {
  display: none !important;
  content: none !important;
  background: transparent !important;
  background-image: none !important;
  height: 0 !important;
  width: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}
</style>


  <style>
  #kohen-rdv-section h2 { font-size: 56px; line-height: 1.05; letter-spacing: -0.025em; }
  
  #kohen-rdv-section h2 .kohen-rdv-gradient-text {
    background: linear-gradient(90deg, #111 0%, #111 18%, #E09019 95%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    display: inline-block;
  }
  #kohen-rdv-section h2 .kohen-rdv-gradient-text em {
    font-style: italic;
    font-weight: 700;
  }
  
  @media (max-width: 767px) {
    #kohen-rdv-section h2 { 
      font-size: 38px; 
      margin: 0 0 60px !important; 
      text-align: center !important;
      transform: none !important;
    }
    #kohen-rdv-section .kohen-rdv-wrapper { padding: 32px 24px !important; }
    #kohen-rdv-section .kohen-rdv-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
    #calModalOverlay .modal-box { width: 95% !important; height: 90vh !important; }
  }
  
  .kohen-rdv-card {
    display: flex;
    flex-direction: column;
    position: relative;
    background: linear-gradient(135deg, #ffffff 0%, #fafafa 100%);
    border: 1px solid #ebebeb;
    border-radius: 14px;
    padding: 32px;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
    transition: all .25s ease;
    box-sizing: border-box;
    overflow: hidden;
    height: 100%;
  }
  .kohen-rdv-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, #E09019 50%, transparent 100%);
    opacity: 0;
    transition: opacity .25s ease;
  }
  .kohen-rdv-card:hover {
    border-color: #d4d4d4;
    box-shadow: 0 14px 32px rgba(224,144,25,.10), 0 4px 12px rgba(0,0,0,.04);
    transform: translateY(-2px);
  }
  .kohen-rdv-card:hover::before { opacity: 1; }
  
  .kohen-rdv-eyebrow { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #999; margin-bottom: 12px; }
  .kohen-rdv-card h3 { font-size: 22px; font-weight: 600; color: #111; margin: 0 0 8px; line-height: 1.25; letter-spacing: -0.01em; }
  .kohen-rdv-card p { font-size: 15px; color: #6b6b6b; line-height: 1.55; margin: 0 0 28px; flex-grow: 1; }
  
  .kohen-rdv-foot { display: flex; align-items: center; justify-content: space-between; padding-top: 20px; border-top: 1px solid #f0f0f0; }
  .kohen-rdv-meta { display: inline-flex; align-items: center; gap: 14px; font-size: 14px; color: #6b6b6b; font-variant-numeric: tabular-nums; }
  .kohen-rdv-meta .price { background: linear-gradient(135deg, #E09019 0%, #f5a82c 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; font-weight: 700; }
  .kohen-rdv-meta .dot { display: inline-block; width: 3px; height: 3px; border-radius: 50%; background: #d0d0d0; }
  
  .kohen-rdv-arrow { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: #111; transition: gap .2s ease, color .2s ease; }
  .kohen-rdv-card:hover .kohen-rdv-arrow { gap: 12px; color: #E09019; }
  
  /* Modal Cal.com via iframe */
  #calModalOverlay {
    display: none;
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0,0,0,0.75);
    z-index: 2147483647;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
  }
  #calModalOverlay.open { display: block; }
  #calModalOverlay .modal-box {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 1000px;
    height: 85vh;
    background: white;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(0,0,0,0.4);
  }
  #calModalOverlay iframe {
    width: 100%;
    height: 100%;
    border: none;
  }
  #calModalOverlay .close-btn {
    position: absolute;
    top: 14px; right: 14px;
    width: 36px; height: 36px;
    border-radius: 50%;
    background: white;
    border: 1px solid #ebebeb;
    color: #111;
    font-size: 22px;
    cursor: pointer;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  }
  #calModalOverlay .close-btn:hover { background: #f5f5f5; }
</style>


          <style>
.kl-stats-block {
  position: relative;
  padding: 2.5rem 2rem;
  border-radius: 1.5rem;
  background: transparent;        /* fond transparent */
  box-shadow: none;               /* plus de carte blanche autour */
  border: none;
  backdrop-filter: none;
  margin-bottom: 2.5rem;
}


  .kl-stats-header {
    margin-bottom: 1.75rem;
  }

  .kl-stats-title {
    font-size: 1.35rem;
    line-height: 1.4;
    margin: 0 0 0.35rem 0;
  }

  .kl-stats-intro {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.6;
    opacity: 0.9;
  }

  .kl-stats-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    margin-bottom: 1.75rem;
  }

  @media (max-width: 900px) {
    .kl-stats-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 600px) {
    .kl-stats-grid {
      grid-template-columns: minmax(0, 1fr);
    }
  }

  .kl-stat-card {
    position: relative;
    padding: 1.3rem 1.1rem;
    border-radius: 1rem;
    background: rgba(248, 249, 252, 0.95);
    border: 1px solid rgba(0, 0, 0, 0.04);
    overflow: hidden;
  }

  .kl-stat-card::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0;
    background: radial-gradient(circle at top left, rgba(0, 0, 0, 0.03), transparent 55%);
    transition: opacity 0.35s ease;
  }

  .kl-stat-card:hover::before {
    opacity: 1;
  }

  .kl-stat-label {
    font-size: 0.8rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.7;
    margin-bottom: 0.4rem;
  }

  .kl-stat-value {
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.1;
    margin-bottom: 0.3rem;
  }

  .kl-stat-unit {
    font-size: 0.85rem;
    opacity: 0.75;
  }

  .kl-stat-caption {
    margin-top: 0.45rem;
    font-size: 0.82rem;
    opacity: 0.7;
  }

  .kl-stat-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.1rem 0.5rem;
    border-radius: 999px;
    font-size: 0.75rem;
    line-height: 1.4;
    border: 1px solid rgba(0, 0, 0, 0.06);
    background: rgba(255, 255, 255, 0.8);
    margin-left: 0.35rem;
  }

  .kl-stats-footer {
    font-size: 0.78rem;
    line-height: 1.6;
    opacity: 0.8;
  }

  .kl-stats-source {
    margin: 0 0 0.25rem 0;
  }

  .kl-stats-warning {
    margin: 0;
  }

  .kl-stats-tagline {
    margin-top: 0.8rem;
    font-size: 0.82rem;
  }
</style>

    <style id="hk-footer-complete-redesign">
/* =========================================================
   KOHEN FOOTER — VERSION COMPLETE CORRIGEE
   Premium gradient + sujet ancré en bas + mobile restauré
========================================================= */

/* ---------- Elementor overflow fix ---------- */
.elementor-element:has(.hk-footer-widget),
.elementor-container:has(.hk-footer-widget),
.elementor-widget-container:has(.hk-footer-widget),
.e-con:has(.hk-footer-widget),
.e-con-inner:has(.hk-footer-widget) {
    overflow: visible !important;
}

/* Fallback Elementor */
.elementor-element-4496d94c,
.elementor-element-7801899b,
.elementor-element-4496d94c > .e-con-inner,
.elementor-element-7801899b > .e-con-inner {
    overflow: visible !important;
}

/* ---------- Base ---------- */
.hk-footer-widget,
.hk-footer-widget * {
    box-sizing: border-box;
}

.hk-footer-widget * {
    margin: 0;
    padding: 0;
}

.hk-footer-widget {
    --hk-bg: #EAF1FA;
    --hk-bg-2: #DDE8F5;
    --hk-ink: #1d1d1f;
    --hk-muted: rgba(29, 29, 31, .58);
    --hk-line: rgba(29, 29, 31, .08);
    --hk-accent: #E09019;

    position: relative;
    isolation: isolate;
    width: 100%;
    overflow: hidden;
    border-radius: clamp(18px, 2vw, 32px);
    background:
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.96) 0%, rgba(255,255,255,.45) 26%, transparent 58%),
        radial-gradient(circle at 50% 72%, rgba(224,144,25,.16) 0%, transparent 36%),
        linear-gradient(180deg, var(--hk-bg) 0%, var(--hk-bg-2) 100%);
    color: var(--hk-ink);
    font-family: 'Lato', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.68),
        0 24px 80px rgba(16, 32, 56, .10);
}

.hk-footer-widget::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.34) 50%, transparent 100%);
    opacity: .55;
}

.hk-footer-widget a {
    -webkit-tap-highlight-color: transparent;
}

/* ---------- Container principal ---------- */
.hk-footer-main {
    position: relative;
    z-index: 1;
    width: 100%;
    min-height: clamp(430px, 38vw, 640px);
    overflow: visible;
}

.hk-footer-parallax-container {
    position: relative;
    width: 100%;
    height: clamp(390px, 34vw, 560px);
    overflow: visible;
    text-align: center;
    pointer-events: none;
}

/* H1 SEO invisible */
.hk-footer-seo-title {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* ---------- Bulles SEO ---------- */
.hk-footer-seo-scroll {
    position: absolute;
    top: clamp(14px, 1.3vw, 24px);
    left: 0;
    right: 0;
    z-index: 20;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    padding: clamp(8px, .8vw, 14px) clamp(14px, 2vw, 36px);
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    mask-image: linear-gradient(90deg, transparent 0, black 32px, black calc(100% - 32px), transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0, black 32px, black calc(100% - 32px), transparent 100%);
}

.hk-footer-seo-scroll::-webkit-scrollbar {
    display: none;
}

.hk-footer-seo-inner {
    display: inline-flex;
    align-items: center;
    gap: clamp(7px, .7vw, 12px);
    padding: 0 clamp(20px, 2vw, 36px);
}

.hk-footer-seo-inner .hk-footer-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-height: 30px;
    padding: clamp(7px, .55vw, 10px) clamp(12px, 1.1vw, 18px);
    border: 1px solid rgba(29,29,31,.07);
    border-radius: 999px;
    background: rgba(255,255,255,.66);
    backdrop-filter: blur(18px) saturate(140%);
    -webkit-backdrop-filter: blur(18px) saturate(140%);
    color: rgba(29,29,31,.64);
    font-size: clamp(10px, .72vw, 12px);
    font-weight: 500;
    letter-spacing: -0.01em;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.76),
        0 6px 18px rgba(20,35,55,.06);
    transition:
        transform .22s ease,
        color .22s ease,
        background .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}

.hk-footer-seo-inner .hk-footer-link:hover {
    transform: translateY(-2px);
    color: var(--hk-ink);
    background: rgba(255,255,255,.92);
    border-color: rgba(224,144,25,.22);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.86),
        0 12px 28px rgba(20,35,55,.11);
}

/* Sections sans sous-pages */
.hk-footer-widget.hk-section-fiscal .hk-footer-seo-scroll,
.hk-footer-widget.hk-section-etrangers .hk-footer-seo-scroll,
.hk-footer-widget.hk-section-dommage .hk-footer-seo-scroll {
    display: none !important;
}

/* ---------- Grand titre ---------- */
.hk-footer-widget .hk-footer-text-back,
.hk-footer-widget span.hk-footer-text-back,
.hk-footer-widget .hk-footer-text-front,
.hk-footer-widget span.hk-footer-text-front {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 clamp(14px, 2vw, 36px) !important;
    border: 0 !important;
    background: none !important;
    font-family: 'Lato', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
    font-size: clamp(58px, 7.7vw, 128px) !important;
    font-weight: 900 !important;
    line-height: .88 !important;
    letter-spacing: -0.065em !important;
    word-spacing: .05em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    white-space: nowrap !important;
}

.hk-footer-widget .hk-footer-text-back,
.hk-footer-widget span.hk-footer-text-back {
    top: clamp(92px, 7vw, 122px) !important;
    z-index: 1 !important;
    color: rgba(29,29,31,.96) !important;
}

.hk-footer-widget .hk-footer-text-front,
.hk-footer-widget span.hk-footer-text-front {
    top: clamp(196px, 15.1vw, 258px) !important;
    z-index: 10 !important;
    color: var(--hk-accent) !important;
    text-shadow: 0 10px 34px rgba(224,144,25,.18) !important;
}

/* Titres longs */
.hk-footer-widget.hk-section-famille .hk-footer-text-back,
.hk-footer-widget.hk-section-famille span.hk-footer-text-back,
.hk-footer-widget.hk-section-travail .hk-footer-text-back,
.hk-footer-widget.hk-section-travail span.hk-footer-text-back,
.hk-footer-widget.hk-section-etrangers .hk-footer-text-back,
.hk-footer-widget.hk-section-etrangers span.hk-footer-text-back,
.hk-footer-widget.hk-section-dommage .hk-footer-text-back,
.hk-footer-widget.hk-section-dommage span.hk-footer-text-back,
.hk-footer-widget.hk-section-famille .hk-footer-text-front,
.hk-footer-widget.hk-section-famille span.hk-footer-text-front,
.hk-footer-widget.hk-section-travail .hk-footer-text-front,
.hk-footer-widget.hk-section-travail span.hk-footer-text-front,
.hk-footer-widget.hk-section-etrangers .hk-footer-text-front,
.hk-footer-widget.hk-section-etrangers span.hk-footer-text-front,
.hk-footer-widget.hk-section-dommage .hk-footer-text-front,
.hk-footer-widget.hk-section-dommage span.hk-footer-text-front {
    font-size: clamp(42px, 6vw, 100px) !important;
    letter-spacing: -0.06em !important;
}

/* ---------- Sujet / portrait ---------- */
.hk-footer-avocat {
    position: absolute !important;
    left: 50% !important;
    bottom: clamp(-150px, -8vw, -88px) !important;
    z-index: 5 !important;
    width: clamp(430px, 56vw, 920px) !important;
    transform: translateX(-50%) !important;
    pointer-events: none !important;
}

.hk-footer-avocat::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 4%;
    z-index: -1;
    width: 62%;
    height: 16%;
    transform: translateX(-50%);
    background: radial-gradient(ellipse, rgba(29,29,31,.20) 0%, transparent 68%);
    filter: blur(14px);
}

.hk-footer-avocat img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    filter:
        drop-shadow(0 26px 46px rgba(18, 32, 52, .18))
        saturate(1.02)
        contrast(1.02) !important;
}

/* ---------- Footer légal ---------- */
.hk-footer-legal-bar {
    position: relative !important;
    z-index: 30 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 0 !important;
    width: calc(100% - clamp(24px, 3vw, 56px)) !important;
    margin: 0 auto clamp(12px, 1.4vw, 24px) !important;
    padding: clamp(10px, .9vw, 14px) clamp(12px, 1.4vw, 22px) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    border: 1px solid rgba(255,255,255,.54) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.48) !important;
    backdrop-filter: blur(20px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(140%) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.7),
        0 12px 34px rgba(20,35,55,.08) !important;
    scrollbar-width: none !important;
    mask-image: linear-gradient(90deg, black 0, black calc(100% - 42px), transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, black 0, black calc(100% - 42px), transparent 100%);
}

.hk-footer-legal-bar::-webkit-scrollbar {
    display: none !important;
}

.hk-footer-legal-item,
.hk-footer-legal-sep {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
}

.hk-footer-legal-item {
    padding: 0 clamp(7px, .65vw, 12px) !important;
    color: rgba(29,29,31,.54) !important;
    font-size: clamp(10px, .72vw, 12px) !important;
    font-weight: 500 !important;
    letter-spacing: -0.01em !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
    transition: color .2s ease !important;
}

a.hk-footer-legal-item:hover {
    color: var(--hk-accent) !important;
}

.hk-footer-legal-sep {
    color: rgba(29,29,31,.18) !important;
    font-size: clamp(10px, .72vw, 12px) !important;
}

/* ---------- Tablette ---------- */
@media (min-width: 769px) and (max-width: 1024px) {
    .hk-footer-main {
        min-height: 560px !important;
    }

    .hk-footer-parallax-container {
        height: 500px !important;
        overflow: visible !important;
    }

    .hk-footer-avocat {
        width: 88vw !important;
        max-width: none !important;
        bottom: -126px !important;
    }

    .hk-footer-widget .hk-footer-text-back,
    .hk-footer-widget span.hk-footer-text-back,
    .hk-footer-widget .hk-footer-text-front,
    .hk-footer-widget span.hk-footer-text-front {
        transform: translateY(18px) !important;
    }
}

/* ---------- Mobile / iPhone ---------- */
@media (max-width: 768px) {
    .hk-footer-widget {
        border-radius: 20px !important;
    }

    .hk-footer-main {
        min-height: 490px !important;
        overflow: visible !important;
    }

    .hk-footer-parallax-container {
        height: 430px !important;
        overflow: visible !important;
    }

    .hk-footer-seo-scroll {
        top: 12px !important;
        padding-inline: 12px !important;
        mask-image: linear-gradient(90deg, transparent 0, black 18px, black calc(100% - 18px), transparent 100%) !important;
        -webkit-mask-image: linear-gradient(90deg, transparent 0, black 18px, black calc(100% - 18px), transparent 100%) !important;
    }

    .hk-footer-seo-inner {
        gap: 7px !important;
        padding-inline: 16px !important;
    }

    .hk-footer-seo-inner .hk-footer-link {
        min-height: 29px !important;
        font-size: 10px !important;
        padding: 8px 12px !important;
    }

    .hk-footer-widget .hk-footer-text-back,
    .hk-footer-widget span.hk-footer-text-back {
        top: 84px !important;
        font-size: clamp(52px, 15vw, 76px) !important;
        line-height: .92 !important;
        white-space: normal !important;
        padding-inline: 14px !important;
        transform: none !important;
    }

    .hk-footer-widget .hk-footer-text-front,
    .hk-footer-widget span.hk-footer-text-front {
        top: 232px !important;
        bottom: auto !important;
        font-size: clamp(52px, 15vw, 76px) !important;
        line-height: .92 !important;
        white-space: normal !important;
        padding-inline: 14px !important;
        transform: none !important;
    }

    .hk-footer-widget.hk-section-famille .hk-footer-text-back,
    .hk-footer-widget.hk-section-famille span.hk-footer-text-back,
    .hk-footer-widget.hk-section-travail .hk-footer-text-back,
    .hk-footer-widget.hk-section-travail span.hk-footer-text-back,
    .hk-footer-widget.hk-section-etrangers .hk-footer-text-back,
    .hk-footer-widget.hk-section-etrangers span.hk-footer-text-back,
    .hk-footer-widget.hk-section-dommage .hk-footer-text-back,
    .hk-footer-widget.hk-section-dommage span.hk-footer-text-back {
        font-size: clamp(38px, 11vw, 56px) !important;
    }

    .hk-footer-widget.hk-section-famille .hk-footer-text-front,
    .hk-footer-widget.hk-section-famille span.hk-footer-text-front,
    .hk-footer-widget.hk-section-travail .hk-footer-text-front,
    .hk-footer-widget.hk-section-travail span.hk-footer-text-front,
    .hk-footer-widget.hk-section-etrangers .hk-footer-text-front,
    .hk-footer-widget.hk-section-etrangers span.hk-footer-text-front,
    .hk-footer-widget.hk-section-dommage .hk-footer-text-front,
    .hk-footer-widget.hk-section-dommage span.hk-footer-text-front {
        font-size: clamp(38px, 11vw, 56px) !important;
    }

    /* Sujet environ 2,5x plus grand que la version précédente */
    .hk-footer-avocat {
        width: 175vw !important;
        min-width: 560px !important;
        max-width: none !important;
        bottom: -128px !important;
    }

    .hk-footer-legal-bar {
        width: calc(100% - 24px) !important;
        margin-bottom: 12px !important;
        padding: 11px 12px !important;
    }

    .hk-footer-legal-item,
    .hk-footer-legal-sep {
        font-size: 10px !important;
    }

    .hk-footer-legal-item {
        padding-inline: 8px !important;
    }
}

@media (max-width: 390px) {
    .hk-footer-main {
        min-height: 470px !important;
    }

    .hk-footer-parallax-container {
        height: 414px !important;
        overflow: visible !important;
    }

    .hk-footer-widget .hk-footer-text-back,
    .hk-footer-widget span.hk-footer-text-back {
        top: 82px !important;
    }

    .hk-footer-widget .hk-footer-text-front,
    .hk-footer-widget span.hk-footer-text-front {
        top: 224px !important;
    }

    .hk-footer-avocat {
        width: 178vw !important;
        min-width: 540px !important;
        max-width: none !important;
        bottom: -122px !important;
    }
}

@media (max-width: 360px) {
    .hk-footer-avocat {
        width: 182vw !important;
        min-width: 520px !important;
        bottom: -116px !important;
    }
}

@media (min-width: 1600px) {
    .hk-footer-main {
        min-height: 620px !important;
    }

    .hk-footer-parallax-container {
        height: 555px !important;
    }

    .hk-footer-avocat {
        width: 930px !important;
        bottom: -150px !important;
    }
}

/* ---------- Accessibilité ---------- */
@media (prefers-reduced-motion: reduce) {
    .hk-footer-seo-inner .hk-footer-link,
    .hk-footer-legal-item {
        transition: none !important;
    }

    .hk-footer-seo-inner .hk-footer-link:hover {
        transform: none !important;
    }
}
</style>