.elementor-kit-10{--e-global-color-primary:#383838;--e-global-color-secondary:#E9E9E9;--e-global-color-text:#E9E9E9;--e-global-color-accent:#121212;--e-global-color-86b4fcd:#02010100;--e-global-color-2e24cfa:#343434;--e-global-typography-primary-font-family:"Georgia";--e-global-typography-primary-font-size:3em;--e-global-typography-primary-font-weight:500;--e-global-typography-primary-font-style:normal;--e-global-typography-primary-text-decoration:none;--e-global-typography-primary-line-height:1.2em;--e-global-typography-primary-letter-spacing:-0.02em;--e-global-typography-primary-word-spacing:0em;--e-global-typography-secondary-font-family:"Kumbh Sans";--e-global-typography-secondary-font-size:3.2em;--e-global-typography-secondary-font-weight:300;--e-global-typography-secondary-text-transform:none;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-text-decoration:none;--e-global-typography-secondary-line-height:1.2em;--e-global-typography-secondary-letter-spacing:0px;--e-global-typography-secondary-word-spacing:0em;--e-global-typography-text-font-family:"Kumbh Sans";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-text-transform:none;--e-global-typography-text-font-style:normal;--e-global-typography-text-text-decoration:none;--e-global-typography-text-line-height:1.4em;--e-global-typography-text-letter-spacing:0.1px;--e-global-typography-text-word-spacing:0em;--e-global-typography-accent-font-family:"Kumbh Sans";--e-global-typography-accent-font-size:24px;--e-global-typography-accent-font-weight:300;--e-global-typography-accent-font-style:normal;--e-global-typography-accent-text-decoration:none;--e-global-typography-accent-line-height:1.2em;--e-global-typography-accent-letter-spacing:0em;--e-global-typography-accent-word-spacing:0em;background-color:var( --e-global-color-primary );--e-page-transition-entrance-animation:e-page-transition-fade-out;--e-page-transition-animation-duration:1500ms;--e-preloader-animation:flash;--e-preloader-animation-duration:3900ms;--e-preloader-delay:0ms;--e-preloader-width:8%;}.elementor-kit-10 e-page-transition{background-color:var( --e-global-color-primary );}.elementor-kit-10 a{color:var( --e-global-color-accent );}.elementor-kit-10 a:hover{color:var( --e-global-color-primary );}.elementor-kit-10 h4{color:var( --e-global-color-primary );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:100%;}.e-con{--container-max-width:100%;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-10{--e-global-typography-primary-font-size:7vw;--e-global-typography-secondary-font-size:5vw;--e-global-typography-text-font-size:14px;--e-global-typography-accent-font-size:28px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-10{--e-global-typography-primary-font-size:28px;--e-global-typography-primary-line-height:1.1em;--e-global-typography-secondary-font-size:40px;--e-global-typography-text-font-size:18px;--e-preloader-width:27%;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ===== Sélecteur de langue — petit menu déroulant (v4, 09/2026) ===== */
/* Desktop : seule la langue active est affichée, avec un chevron ;
   l'autre se déplie au survol. Mobile/tablette (pas de survol) : EN | FR côte à côte.
   La COULEUR n'est jamais forcée : elle est héritée des autres entrées du menu,
   donc elle reste lisible sur les pages à fond clair (#F7F7F7) comme sur les
   pages à fond sombre (#383838 : accueil, Media...). Ne pas y mettre d'opacité. */

.trp-floating-switcher { display: none !important; }
.elementor-nav-menu .jk-lang img { display: none !important; }

/* --- Typographie commune --- */
.elementor-nav-menu--layout-vertical .jk-lang { display: block !important; width: auto !important; }
.elementor-nav-menu--layout-vertical .jk-lang > a.elementor-item,
.elementor-nav-menu--layout-vertical .jk-lang > a.elementor-item:hover,
.elementor-nav-menu--layout-vertical .jk-lang > a.elementor-item:focus {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-style: normal !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 22px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase;
  text-decoration: none !important;
  background: transparent !important;
  opacity: 1 !important;            /* jamais d'opacité : illisible sur fond clair */
}
.elementor-nav-menu--layout-vertical .jk-lang > a::before { display: none !important; }

@media (min-width: 1025px) {

  /* La langue active passe en tête du bloc (order:1), l'autre juste en dessous (order:2).
     Les autres entrées du menu gardent order:0 et restent donc avant. */
  .elementor-nav-menu--layout-vertical > ul.elementor-nav-menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .elementor-nav-menu--layout-vertical > ul.elementor-nav-menu > .jk-lang { order: 2; }
  .elementor-nav-menu--layout-vertical > ul.elementor-nav-menu > .jk-lang.current-language-menu-item {
    order: 1;
    margin-top: 26px !important;   /* espace avec la fin du menu (Instagram) */
  }

  /* Aligné sur le retrait des autres entrées du menu, qui ont padding: 13px 20px */
  .elementor-nav-menu--layout-vertical .jk-lang > a.elementor-item {
    padding: 0 20px !important;
  }
  .elementor-nav-menu--layout-vertical .jk-lang:not(.current-language-menu-item) > a.elementor-item {
    padding-top: 4px !important;
  }

  /* Déclencheur = langue active + chevron (couleur héritée du menu) */
  .elementor-nav-menu--layout-vertical .jk-lang.current-language-menu-item > a.elementor-item {
    text-decoration: none !important;
    cursor: default;
  }
  .elementor-nav-menu--layout-vertical .jk-lang.current-language-menu-item > a.elementor-item::after {
    content: "" !important;
    display: inline-block !important;
    position: static !important;
    width: 5px !important;
    height: 5px !important;
    margin: 0 0 2px 9px !important;
    border: 0 !important;
    border-right: 1.5px solid currentColor !important;
    border-bottom: 1.5px solid currentColor !important;
    background: none !important;
    /* !important obligatoire : Elementor met opacity:0 sur .elementor-item::after
       (effet de soulignement au survol) avec une spécificité plus forte */
    opacity: 1 !important;
    transform: rotate(45deg);
    transition: transform .25s ease;
    vertical-align: middle !important;
  }

  /* L'autre langue est repliée */
  .elementor-nav-menu--layout-vertical .jk-lang:not(.current-language-menu-item) {
    max-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    transition: max-height .25s ease, opacity .2s ease;
  }

  /* Ouverture au survol, et au focus clavier pour l'accessibilité */
  .elementor-nav-menu--layout-vertical > ul.elementor-nav-menu:has(.jk-lang:hover) .jk-lang:not(.current-language-menu-item),
  .elementor-nav-menu--layout-vertical > ul.elementor-nav-menu:has(.jk-lang a:focus-visible) .jk-lang:not(.current-language-menu-item) {
    max-height: 34px !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  .elementor-nav-menu--layout-vertical > ul.elementor-nav-menu:has(.jk-lang:hover) .jk-lang.current-language-menu-item > a.elementor-item::after,
  .elementor-nav-menu--layout-vertical > ul.elementor-nav-menu:has(.jk-lang a:focus-visible) .jk-lang.current-language-menu-item > a.elementor-item::after {
    transform: rotate(-135deg);
  }

  /* Navigateurs sans :has() : on laisse EN et FR visibles, sans chevron */
  @supports not .elementor-kit-10(:has(*)) {
    .elementor-nav-menu--layout-vertical .jk-lang:not(.current-language-menu-item) {
      max-height: 34px !important; opacity: 1 !important; pointer-events: auto !important;
    }
    .elementor-nav-menu--layout-vertical .jk-lang.current-language-menu-item > a.elementor-item::after { display: none !important; }
  }
}

/* ===== Menu mobile / tablette : pas de survol, on garde EN | FR côte à côte ===== */
@media (max-width: 1024px) {
  /* vertical-align:top sur les deux <li> : sans ça, FR remontait par rapport à EN
     (alignement sur la ligne de base d'un inline-flex vs un bloc) */
  .elementor-nav-menu--dropdown .jk-lang {
    display: inline-block !important;
    width: auto !important;
    vertical-align: top !important;
  }
  .elementor-nav-menu--dropdown .jk-lang > a.elementor-item {
    display: inline-block !important;
    padding: 0 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-style: normal !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 44px !important;
    letter-spacing: .14em !important;
    text-transform: uppercase;
    text-decoration: none !important;
    background: transparent !important;
    opacity: 1 !important;
  }
  .elementor-nav-menu--dropdown .jk-lang.current-language-menu-item > a.elementor-item {
    font-weight: 600 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 5px;
  }
  .elementor-nav-menu--dropdown .jk-lang > a::after { display: none !important; }
  .elementor-nav-menu--dropdown .jk-lang-en > a::before { display: none !important; }

  /* aligner sur le retrait des autres entrées (padding: 20px 18px) */
  /* la marge doit porter sur les DEUX items : appliquée au seul EN,
     elle le décalait de 8px vers le bas et FR remontait par rapport à lui */
  .elementor-nav-menu--dropdown .jk-lang { margin-top: 8px !important; }
  .elementor-nav-menu--dropdown .jk-lang-en > a.elementor-item { padding-left: 18px !important; }
  .elementor-nav-menu--dropdown .jk-lang-fr > a.elementor-item { padding-right: 18px !important; }

  /* filet fin entre EN et FR, dans la couleur du texte */
  .elementor-nav-menu--dropdown .jk-lang-fr > a::before {
    content: "" !important;
    display: inline-block !important;
    position: static !important;
    width: 1px !important;
    height: 11px !important;
    margin: 0 12px !important;
    background: currentColor !important;
    opacity: .5 !important;
    transform: none !important;
    border: 0 !important;
    vertical-align: middle !important;
  }
}

/* ===== Tablette (768–1024 px) — ajustements du 05/10/2026 ===== */
/* Ne touche ni l'ordinateur (>=1025) ni le mobile (<=767). */
@media (min-width: 768px) and (max-width: 1024px) {

  /* A1 — Accueil : la vidéo est centrée dans la hauteur de l'écran
     (avant : collée en haut, moitié basse vide en portrait). 72px = bandeau. */
  .elementor-23 .elementor-element.elementor-element-4e94f96c {
    --jkh: max(72px, 7.72vw);              /* hauteur réelle du bandeau (72px, 79px à 1024) */
    min-height: calc(100vh - var(--jkh));
    min-height: calc(100dvh - var(--jkh));
  }
  .elementor-23 .elementor-element.elementor-element-4e94f96c > .e-con-inner {
    min-height: inherit;
    justify-content: center;
  }
  .elementor-23 .elementor-element.elementor-element-5fb015cc { padding-bottom: 0 !important; }
  .elementor-23 .elementor-element.elementor-element-5fb015cc > .e-con-inner {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  /* la vidéo (format 3:2) ne dépasse jamais la hauteur disponible : plus de défilement,
     y compris en paysage ; 48px = 24px d'air au-dessus et en dessous */
  .elementor-23 .elementor-element.elementor-element-40b4c48 {
    width: 100%;
    /* !important obligatoire : Elementor impose max-width:100% sur le widget */
    max-width: calc((100vh - var(--jkh) - 48px) * 1.5) !important;
    max-width: calc((100dvh - var(--jkh) - 48px) * 1.5) !important;
    align-self: center;
  }

  /* A2 + A3 — Menu déroulant : entrées alignées sur le logo (4 % comme le bandeau)
     et lignes de 48px pour le doigt */
  .elementor-nav-menu--dropdown a.elementor-item,
  .elementor-nav-menu--dropdown a.elementor-sub-item {
    padding-left: 4vw !important;
    padding-right: 4vw !important;
    padding-top: 13px !important;
    padding-bottom: 13px !important;
  }
  .elementor-nav-menu--dropdown a.elementor-sub-item {
    padding-left: calc(4vw + 18px) !important;
  }
  .elementor-nav-menu--dropdown .jk-lang > a.elementor-item {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .elementor-nav-menu--dropdown .jk-lang-en > a.elementor-item { padding-left: 4vw !important; padding-right: 0 !important; }
  .elementor-nav-menu--dropdown .jk-lang-fr > a.elementor-item { padding-left: 0 !important; padding-right: 4vw !important; }
  .elementor-nav-menu--dropdown .jk-lang { margin-bottom: 10px !important; }

  /* A4 — Contact : mêmes marges que le bandeau (4 %), et un peu d'air sous le bandeau */
  .elementor-29 .elementor-element.elementor-element-1487087a {
    padding: 4vw 4vw 4vw 4vw;
  }
  /* les deux cartes faisaient 50 % + 50 % + 32px d'écart : elles débordaient de 32px */
  .elementor-29 .elementor-element.elementor-element-9647582,
  .elementor-29 .elementor-element.elementor-element-6c4deb3 {
    width: calc(50% - 16px) !important;
    max-width: calc(50% - 16px) !important;
  }
  /* titre légèrement réduit pour que « Joseph Karam Paris » tienne sur une ligne */
  .elementor-29 .ehp-cta__heading { font-size: clamp(28px, 3.9vw, 36px) !important; }

  /* A5 — Bandeau du haut : même fond que la page partout (il était blanc, gris ou
     transparent selon les pages). L'accueil (fond sombre) garde le sien. */
  body:not(.page-id-23) .e-con.elementor-hidden-desktop[data-settings*='"sticky":"top"'] {
    background-color: #F7F7F7 !important;
  }
}

/* ===== Navigation — retouches du 05/10/2026 (toutes largeurs) ===== */
/* Picto Instagram redessiné : traits réguliers de 1,7 (l'ancien tracé plein donnait
   des traits irréguliers à 22px). Couleur et taille inchangées (CSS additionnel WP). */
.elementor-nav-menu .menu-item-5922 a::after,
.elementor-nav-menu .menu-item-5922 a:hover::after,
.elementor-nav-menu .menu-item-5922 a:focus::after {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'><rect x='3' y='3' width='18' height='18' rx='5.2'/><circle cx='12' cy='12' r='4.3'/><circle cx='17.4' cy='6.6' r='1.15' fill='black' stroke='none'/></svg>") center/contain no-repeat !important;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'><rect x='3' y='3' width='18' height='18' rx='5.2'/><circle cx='12' cy='12' r='4.3'/><circle cx='17.4' cy='6.6' r='1.15' fill='black' stroke='none'/></svg>") center/contain no-repeat !important;
}
/* Ordinateur : un peu moins d'espace entre le logo et le menu (24 % -> 18 %,
   soit 82px -> 61px à 1366). Cible le conteneur du menu vertical sur toutes les pages. */
@media (min-width: 1025px) {
  .e-con:has(> .e-con-inner > .elementor-widget-nav-menu > nav.elementor-nav-menu--layout-vertical),
  .e-con:has(> .elementor-widget-nav-menu > nav.elementor-nav-menu--layout-vertical) {
    --padding-top: 18% !important;
  }
}

/* ===== Accueil sans défilement — ordinateur et mobile (05/10/2026) ===== */
/* Ordinateur : la colonne du menu avait une hauteur minimale de 1035px, d'où 135px de
   défilement sur un écran de 900px de haut. On la retire, et la vidéo (3:2) ne dépasse
   jamais la hauteur de la fenêtre (8vw = marges haute + basse du bloc vidéo). */
@media (min-width: 1025px) {
  /* « .elementor.elementor-23 » : il faut être plus spécifique que la feuille de la page
     (post-23.css, chargée après celle-ci), sinon ses 1035px l'emportent */
  .elementor.elementor-23 .elementor-element.elementor-element-a8a7b70 { --min-height: 0px; }
  .elementor.elementor-23 .elementor-element.elementor-element-eadd6ec { --min-height: 0px; }
  .elementor-23 .elementor-element.elementor-element-40b4c48 {
    max-width: calc((100vh - 80px) * 1.3333) !important;   /* 40px d'air en haut et en bas */
    max-width: calc((100dvh - 80px) * 1.3333) !important;
  }
  /* Cadre agrandi (05/10, demande de Noémie : plus de hauteur ET de largeur) :
     marge droite réduite de 4 % à 24px, format 4:3 au lieu de 3:2.
     À 1366 : 946x710 au lieu de 915x610. (L'essai 16:9 a été annulé : perte de hauteur.) */
  .elementor.elementor-23 .elementor-element.elementor-element-5fb015cc { --padding-right: 24px; }
  .elementor-23 .elementor-element.elementor-element-40b4c48 .elementor-wrapper { aspect-ratio: 4 / 3 !important; }
  .elementor-23 .elementor-element.elementor-element-40b4c48 video {
    width: 100% !important; height: 100% !important; object-fit: cover !important;
  }
}
/* Mobile : sur les petits téléphones la vidéo verticale (9:16) dépassait de 15 à 50px.
   Elle se réduit juste assez pour tenir sous le bandeau (≈ 25,5vw), centrée. */
@media (max-width: 767px) {
  .elementor-23 .elementor-element.elementor-element-995fbdb {
    width: 100%;
    max-width: none !important;
    align-self: center;
  }
  /* Téléphone : cadre 3:4 au lieu de 9:16 -> on voit 42 % de la largeur de la scène au lieu
     de 32 %. Le fichier mobile (810x1080) est déjà recadré à ce format. Vidéo centrée
     dans la hauteur restante sous le bandeau. */
  .elementor-23 .elementor-element.elementor-element-995fbdb .elementor-wrapper {
    /* Cadre agrandi (05/10) : presque bord à bord (8px) et toute la hauteur sous le bandeau.
       (L'essai 3:4 a été annulé : perte de hauteur.) */
    aspect-ratio: auto !important;
    height: calc(100vh - var(--jk-hdr) - 12px) !important;
    height: calc(100dvh - var(--jk-hdr) - 12px) !important;
  }
  .elementor.elementor-23 .elementor-element.elementor-element-5fb015cc { --padding-left: 8px; --padding-right: 8px; }
  .elementor.elementor-23 .elementor-element.elementor-element-5fb015cc > .e-con-inner { padding-left: 0 !important; padding-right: 0 !important; }
  .elementor-23 .elementor-element.elementor-element-995fbdb video {
    width: 100% !important; height: 100% !important; object-fit: cover !important;
  }
  .elementor.elementor-23 .elementor-element.elementor-element-4e94f96c {
    min-height: calc(100vh - var(--jk-hdr));
    min-height: calc(100dvh - var(--jk-hdr));
  }
  .elementor.elementor-23 .elementor-element.elementor-element-4e94f96c > .e-con-inner {
    min-height: inherit;
    justify-content: flex-start;
  }
  /* la marge négative de -24px du bloc vidéo décalait le centrage */
  .elementor.elementor-23 .elementor-element.elementor-element-5fb015cc { --margin-top: 0px; margin-top: 0 !important; }
}

/* ===== Derniers correctifs après contrôle complet (05/10/2026) ===== */
/* Tablette — pages projet courtes (peu d'images) : le contenu était centré verticalement
   dans une hauteur d'écran, ce qui faisait descendre le bandeau au milieu de la page
   (ex. /projet/adm/ : bandeau à 92px du haut, /projet/palais-riyad/ : 240px). */
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor .elementor-element.elementor-element-58a6b69 > .e-con-inner,
  .elementor .elementor-element.elementor-element-43d28c6 > .e-con-inner {
    justify-content: flex-start !important;
  }
}
/* Ordinateur — toutes les pages : la colonne du menu imposait 1035px de haut, donc un
   défilement inutile sur les pages courtes (Television, Contemporary, fiches mobilier…). */
@media (min-width: 1025px) {
  .elementor .e-con.elementor-element.elementor-hidden-tablet.elementor-hidden-mobile[data-settings*='"sticky":"top"'] {
    --min-height: 0px !important;
  }
  .e-con:has(> .e-con-inner > .elementor-widget-nav-menu > nav.elementor-nav-menu--layout-vertical),
  .e-con:has(> .elementor-widget-nav-menu > nav.elementor-nav-menu--layout-vertical) {
    --min-height: 0px !important;
  }
}
/* Television : sa rangée principale centre verticalement ses colonnes ; sans la hauteur
   imposée, la colonne du menu (logo compris) descendait au milieu. On la garde en haut. */
@media (min-width: 1025px) {
  .elementor-59 .elementor-element.elementor-element-f1feeed { align-self: flex-start !important; }
}
/* Ordinateur, fenêtre basse (<= 720px de haut) : menu resserré pour que le sélecteur de
   langue ne soit plus coupé en bas (le menu est fixe, il ne défile pas). */
@media (min-width: 1025px) and (max-height: 720px) {
  .e-con:has(> .e-con-inner > .elementor-widget-nav-menu > nav.elementor-nav-menu--layout-vertical),
  .e-con:has(> .elementor-widget-nav-menu > nav.elementor-nav-menu--layout-vertical) {
    --padding-top: 9% !important;
  }
  .elementor-nav-menu--layout-vertical > ul.elementor-nav-menu > li > a.elementor-item {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
}
/* Mobile : même fond de bandeau que la tablette (il était blanc ou gris selon les pages). */
@media (max-width: 767px) {
  body:not(.page-id-23) .e-con.elementor-hidden-desktop[data-settings*='"sticky":"top"'] {
    background-color: #F7F7F7 !important;
  }
}
/* Grands écrans (> 1600px) : Contact, Press et Television n'étaient pas limitées à 1600px
   comme les autres pages -> colonne du menu plus large, donc logo plus gros (230px au lieu
   de 192px à 1920) et décalé. Même largeur maximale partout. */
@media (min-width: 1601px) {
  .elementor-29 .elementor-element.elementor-element-3d7310e9 > .e-con-inner,
  .elementor-61 .elementor-element.elementor-element-651bf44e > .e-con-inner,
  .elementor-59 .elementor-element.elementor-element-651bf44e > .e-con-inner {
    max-width: 1600px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
/* Tablette en portrait — accueil : la vidéo remplit la hauteur de l'écran (recadrée sur
   les côtés, comme sur mobile) au lieu de laisser 240px de vide au-dessus et en dessous.
   Marges haut/bas = marges latérales (4vw). Pour revenir au format 3:2 : supprimer ce bloc. */
@media (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .elementor-23 .elementor-element.elementor-element-40b4c48 .elementor-wrapper {
    aspect-ratio: auto !important;
    height: calc(100vh - max(72px, 7.72vw) - 8vw) !important;
    height: calc(100dvh - max(72px, 7.72vw) - 8vw) !important;
  }
  .elementor-23 .elementor-element.elementor-element-40b4c48 video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
}

/* ===== Menu mobile / tablette plein écran + bandeau mobile compact (05/10/2026) ===== */
/* 100 % CSS : aucun script, aucune image, aucun fichier en plus -> aucun impact sur la vitesse. */

@media (max-width: 1024px) {
  :root { --jk-hdr: max(72px, 7.72vw); --jk-menu-bg: #F7F7F7; --jk-menu-ink: #333333; --jk-menu-soft: #9b9b9b; }
  body.page-id-23 { --jk-menu-bg: #383838; --jk-menu-ink: #F2F2F2; --jk-menu-soft: #ABABAB; }

  /* --- Le panneau : plein écran sous le bandeau, dévoilé par un rideau qui descend --- */
  .elementor .elementor-element.elementor-widget-nav-menu.elementor-nav-menu--toggle .elementor-menu-toggle + nav.elementor-nav-menu__container.elementor-nav-menu--dropdown {
    position: fixed !important;
    top: var(--jk-hdr) !important; left: 0 !important; right: 0 !important;
    width: 100vw !important;
    height: calc(100vh - var(--jk-hdr)); height: calc(100dvh - var(--jk-hdr));
    max-height: none !important;
    margin: 0 !important; padding: 0 0 9vh !important;
    border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
    background: var(--jk-menu-bg) !important;
    display: flex !important; flex-direction: column; justify-content: center;
    overflow-y: auto !important;
    transform: none !important; animation: none !important;
    clip-path: inset(0 0 100% 0); -webkit-clip-path: inset(0 0 100% 0);
    visibility: hidden; pointer-events: none;
    transition: clip-path .6s cubic-bezier(.76, 0, .24, 1), -webkit-clip-path .6s cubic-bezier(.76, 0, .24, 1), visibility 0s linear .6s !important;
  }
  .elementor .elementor-element.elementor-widget-nav-menu.elementor-nav-menu--toggle .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu__container.elementor-nav-menu--dropdown {
    clip-path: inset(0); -webkit-clip-path: inset(0);
    visibility: visible; pointer-events: auto;
    transition: clip-path .6s cubic-bezier(.76, 0, .24, 1), -webkit-clip-path .6s cubic-bezier(.76, 0, .24, 1), visibility 0s !important;
  }
  /* la page derrière ne défile pas pendant que le menu est ouvert */
  body:has(.elementor-menu-toggle.elementor-active) { overflow: hidden; }

  /* --- Les entrées : grande italique, apparition en cascade --- */
  nav.elementor-nav-menu__container.elementor-nav-menu--dropdown > ul.elementor-nav-menu {
    width: 100%; margin: 0; padding: 0 9vw !important; background: transparent !important;
  }
  nav.elementor-nav-menu__container.elementor-nav-menu--dropdown > ul > li {
    opacity: 0; transform: translateY(16px);
    transition: opacity .25s ease, transform .25s ease;
  }
  .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu__container.elementor-nav-menu--dropdown > ul > li {
    opacity: 1; transform: none;
    transition: opacity .6s ease, transform .7s cubic-bezier(.22, 1, .36, 1);
  }
  .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu__container > ul > li:nth-child(1) { transition-delay: .18s; }
  .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu__container > ul > li:nth-child(2) { transition-delay: .23s; }
  .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu__container > ul > li:nth-child(3) { transition-delay: .28s; }
  .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu__container > ul > li:nth-child(4) { transition-delay: .33s; }
  .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu__container > ul > li:nth-child(5) { transition-delay: .38s; }
  .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu__container > ul > li:nth-child(6) { transition-delay: .43s; }
  .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu__container > ul > li:nth-child(7) { transition-delay: .48s; }
  .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu__container > ul > li:nth-child(8) { transition-delay: .53s; }
  .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu__container > ul > li:nth-child(n+9) { transition-delay: .58s; }

  nav.elementor-nav-menu__container.elementor-nav-menu--dropdown > ul > li:not(.jk-lang):not(.menu-item-5922) > a.elementor-item {
    font-family: Georgia, "Times New Roman", serif !important;
    font-style: italic !important; font-weight: 400 !important;
    font-size: clamp(27px, 7.4vw, 44px) !important; line-height: 1.15 !important; letter-spacing: 0 !important;
    color: var(--jk-menu-ink) !important; fill: var(--jk-menu-ink) !important;
    background: transparent !important; border: 0 !important;
    padding: 9px 0 !important;
    justify-content: flex-start !important;
  }
  /* page en cours : simplement atténuée, pas de fond noir */
  nav.elementor-nav-menu__container.elementor-nav-menu--dropdown a.elementor-item.elementor-item-active,
  nav.elementor-nav-menu__container.elementor-nav-menu--dropdown .current-menu-ancestor > a.elementor-item {
    color: var(--jk-menu-soft) !important;
  }
  /* chevron fin à la place de la flèche pleine */
  nav.elementor-nav-menu__container.elementor-nav-menu--dropdown .sub-arrow { padding: 0 0 0 14px !important; }
  nav.elementor-nav-menu__container.elementor-nav-menu--dropdown .sub-arrow svg,
  nav.elementor-nav-menu__container.elementor-nav-menu--dropdown .sub-arrow i { display: none !important; }
  nav.elementor-nav-menu__container.elementor-nav-menu--dropdown .sub-arrow::after {
    content: ""; display: block; width: 9px; height: 9px; margin-top: -4px;
    border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg); transition: transform .3s ease;
  }
  nav.elementor-nav-menu__container.elementor-nav-menu--dropdown a.highlighted .sub-arrow::after { transform: rotate(-135deg); margin-top: 4px; }

  /* sous-menus : petites capitales espacées */
  nav.elementor-nav-menu__container.elementor-nav-menu--dropdown ul.sub-menu {
    background: transparent !important; border: 0 !important; box-shadow: none !important;
    margin: 2px 0 10px !important; padding: 0 !important;
  }
  nav.elementor-nav-menu__container.elementor-nav-menu--dropdown a.elementor-sub-item {
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-style: normal !important; font-size: 13px !important; font-weight: 400 !important;
    letter-spacing: .16em !important; text-transform: uppercase !important; line-height: 1.2 !important;
    color: var(--jk-menu-soft) !important; background: transparent !important; border: 0 !important;
    padding: 10px 0 10px 2px !important;
  }

  /* Instagram + langues en bas du bloc */
  nav.elementor-nav-menu__container.elementor-nav-menu--dropdown .menu-item-5922 { margin-top: 22px; }
  nav.elementor-nav-menu__container.elementor-nav-menu--dropdown .menu-item-5922 > a.elementor-item {
    padding: 6px 0 !important; background: transparent !important; border: 0 !important;
  }
  nav.elementor-nav-menu__container.elementor-nav-menu--dropdown .menu-item-5922 a::after { background-color: var(--jk-menu-soft) !important; position: static !important; }
  nav.elementor-nav-menu__container.elementor-nav-menu--dropdown .jk-lang { margin-top: 14px !important; margin-bottom: 0 !important; }
  nav.elementor-nav-menu__container.elementor-nav-menu--dropdown .jk-lang > a.elementor-item {
    color: var(--jk-menu-soft) !important; border: 0 !important;
  }
  nav.elementor-nav-menu__container.elementor-nav-menu--dropdown .jk-lang.current-language-menu-item > a.elementor-item { color: var(--jk-menu-ink) !important; }
  nav.elementor-nav-menu__container.elementor-nav-menu--dropdown .jk-lang-en > a.elementor-item { padding-left: 0 !important; padding-right: 0 !important; }
  nav.elementor-nav-menu__container.elementor-nav-menu--dropdown .jk-lang-fr > a.elementor-item { padding-left: 0 !important; padding-right: 0 !important; }

  /* bouton menu : deux traits fins qui se croisent à l'ouverture (remplace l'icône épaisse) */
  .elementor-hidden-desktop .elementor-menu-toggle {
    background: transparent !important; position: relative; width: 40px; height: 40px; padding: 0 !important;
    color: var(--jk-menu-ink) !important;
  }
  .elementor-hidden-desktop .elementor-menu-toggle > * { display: none !important; }
  .elementor-hidden-desktop .elementor-menu-toggle::before,
  .elementor-hidden-desktop .elementor-menu-toggle::after {
    content: ""; position: absolute; left: 8px; right: 8px; top: 50%; height: 1.5px; margin-top: -.75px;
    background: currentColor; transition: transform .45s cubic-bezier(.76, 0, .24, 1);
  }
  .elementor-hidden-desktop .elementor-menu-toggle::before { transform: translateY(-4.5px); }
  .elementor-hidden-desktop .elementor-menu-toggle::after  { transform: translateY(4.5px); }
  .elementor-hidden-desktop .elementor-menu-toggle.elementor-active::before { transform: rotate(45deg); }
  .elementor-hidden-desktop .elementor-menu-toggle.elementor-active::after  { transform: rotate(-45deg); }

  /* --- Respiration en bas de page (la dernière image touchait le bas de l'écran) --- */
  body:not(.page-id-23):not(.page-id-2456) > .elementor > .e-con.e-parent:last-child { --padding-bottom: 56px !important; }
}

/* ===== Bandeau mobile compact : 64px au lieu de ~97px ===== */
@media (max-width: 767px) {
  :root { --jk-hdr: 64px; }
  .e-con.elementor-hidden-desktop[data-settings*='"sticky":"top"'] {
    min-height: 64px !important; --min-height: 64px !important;
    /* uniquement les variables : sur un bandeau « boxed » (accueil) un padding direct s'ajoutait à celui du contenu */
    --padding-top: 10px !important; --padding-bottom: 10px !important; --padding-left: 16px !important; --padding-right: 16px !important;
    align-items: center;
  }
  .e-con.elementor-hidden-desktop[data-settings*='"sticky":"top"'] .elementor-widget-image img {
    height: 44px !important; width: auto !important; max-width: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .elementor .elementor-element.elementor-widget-nav-menu.elementor-nav-menu--toggle .elementor-menu-toggle + nav.elementor-nav-menu__container.elementor-nav-menu--dropdown,
  nav.elementor-nav-menu__container.elementor-nav-menu--dropdown > ul > li { transition: none !important; transform: none !important; }
}

/* ===== Angles : 2px maximum partout (05/10/2026, demande de Noémie) ===== */
.elementor .elementor-element.e-con { --border-radius: 2px !important; border-radius: 2px !important; }
.elementor .elementor-element.e-con.e-parent { --border-radius: 0px !important; border-radius: 0 !important; }
.elementor .elementor-widget,
.elementor .elementor-widget .elementor-wrapper,
.elementor .elementor-widget video,
.elementor .elementor-widget img,
.elementor .elementor-custom-embed-image-overlay,
.e-gallery-item, .e-gallery-image, .mob-card,
.press-cover-item img, .jk-badge, .jk-readmore,
.elementor-widget-video button.jk-sound,
html body.page-id-2456 .post-password-form input[type] { border-radius: 2px !important; }

/* ===== Pages Media : intitulés (05/10/2026) ===== */
/* Television : chaîne en petites capitales espacées, sujet en italique dessous */
.jk-cap { display: flex; flex-direction: column; gap: 5px; margin: 14px 0 6px !important; }
.jk-cap-src {
  font: 500 11px/1.2 -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: .2em; text-transform: uppercase; color: #9b9b9b;
}
.jk-cap-title { font: italic 400 19px/1.3 Georgia, "Times New Roman", serif; letter-spacing: 0; color: #4a4a4a; }
@media (max-width: 767px) { .jk-cap-title { font-size: 18px; } .jk-cap { margin-bottom: 14px !important; } }
/* Press : pastille du nombre de pages plus discrète, « Lire la suite » seulement au survol */
.press-cover-item .jk-badge {
  bottom: 10px !important; right: 10px !important; padding: 5px 8px !important;
  background: rgba(24, 24, 24, .58) !important; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  font: 500 10px/1 -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  letter-spacing: .16em !important; text-transform: uppercase;
}
.press-cover-item .jk-readmore {
  left: 10px !important; right: auto !important; bottom: 10px !important; padding: 5px 8px !important;
  background: rgba(24, 24, 24, .58) !important; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  font: 500 10px/1 -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-style: normal !important; letter-spacing: .16em !important; text-transform: uppercase;
  opacity: 0 !important; transition: opacity .3s ease;
}
.press-cover-item:hover .jk-readmore { opacity: 1 !important; }

/* ===== Visionneuse photo des projets — habillage « galerie » (05/10/2026) ===== */
/* 100 % CSS sur la visionneuse d'Elementor : aucun script ni fichier en plus. */

.elementor-lightbox {
  background-color: #111110 !important;            /* fond uni : la page ne transparaît plus */
  --lightbox-ui-color: rgba(255, 255, 255, .62);
  --lightbox-ui-color-hover: #ffffff;
  --lightbox-text-color: rgba(255, 255, 255, .62);
}
/* ouverture en fondu doux, sans l'effet de zoom d'origine */
.elementor-lightbox .dialog-lightbox-message.animated { animation-name: jkLbFade !important; animation-duration: .5s !important; }
@keyframes jkLbFade { from { opacity: 0; } to { opacity: 1; } }

/* la photo occupe presque tout l'écran */
.elementor-lightbox .elementor-lightbox-item { padding: 5vh 96px 8vh !important; }
.elementor-lightbox .elementor-lightbox-image { border-radius: 0 !important; box-shadow: none !important; }

/* en-tête : on ne garde que le compteur, replacé en bas au centre */
.elementor-lightbox .elementor-slideshow__header { position: static !important; height: 0 !important; padding: 0 !important; }
.elementor-lightbox .elementor-slideshow__header > svg,
.elementor-lightbox .elementor-slideshow__header > .elementor-slideshow__share-menu { display: none !important; }
.elementor-lightbox .elementor-slideshow__counter {
  position: fixed !important; left: 50% !important; bottom: 3vh !important; top: auto !important; right: auto !important;
  transform: translateX(-50%); z-index: 3;
  font: 400 11px/1 -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  letter-spacing: .28em !important; color: rgba(255, 255, 255, .55) !important;
  font-variant-numeric: tabular-nums;
}

/* flèches : chevrons d'un trait fin, discrets, qui s'éclaircissent au survol */
.elementor-lightbox .elementor-swiper-button { width: 96px !important; color: rgba(255, 255, 255, .5) !important; transition: color .3s ease; }
.elementor-lightbox .elementor-swiper-button:hover,
.elementor-lightbox .elementor-swiper-button:focus-visible { color: #fff !important; }
.elementor-lightbox .elementor-swiper-button svg,
.elementor-lightbox .elementor-swiper-button i { display: none !important; }
.elementor-lightbox .elementor-swiper-button::after {
  content: ""; display: block; width: 18px; height: 18px; margin: 0 auto;
  border-left: 1px solid currentColor; border-bottom: 1px solid currentColor;
  transition: transform .35s cubic-bezier(.22, 1, .36, 1);
}
.elementor-lightbox .elementor-swiper-button-prev::after { transform: translateX(5px) rotate(45deg); }
.elementor-lightbox .elementor-swiper-button-next::after { transform: translateX(-5px) rotate(-135deg); }
.elementor-lightbox .elementor-swiper-button-prev:hover::after { transform: translateX(0) rotate(45deg); }
.elementor-lightbox .elementor-swiper-button-next:hover::after { transform: translateX(0) rotate(-135deg); }

/* fermeture : croix d'un trait fin */
.elementor-lightbox .dialog-lightbox-close-button {
  top: 22px !important; right: 26px !important; width: 34px; height: 34px; margin: 0 !important;
  color: rgba(255, 255, 255, .6) !important; opacity: 1 !important; transition: color .3s ease, transform .4s ease;
}
.elementor-lightbox .dialog-lightbox-close-button:hover { color: #fff !important; transform: rotate(90deg); }
.elementor-lightbox .dialog-lightbox-close-button svg,
.elementor-lightbox .dialog-lightbox-close-button i { display: none !important; }
.elementor-lightbox .dialog-lightbox-close-button::before,
.elementor-lightbox .dialog-lightbox-close-button::after {
  content: ""; position: absolute; left: 5px; right: 5px; top: 50%; height: 1px; background: currentColor;
}
.elementor-lightbox .dialog-lightbox-close-button::before { transform: rotate(45deg); }
.elementor-lightbox .dialog-lightbox-close-button::after  { transform: rotate(-45deg); }

/* mobile : photo bord à bord, on glisse au doigt -> flèches masquées */
@media (max-width: 767px) {
  .elementor-lightbox .elementor-lightbox-item { padding: 64px 0 9vh !important; }
  .elementor-lightbox .elementor-swiper-button { display: none !important; }
  .elementor-lightbox .dialog-lightbox-close-button { top: 14px !important; right: 14px !important; }
}

/* ===== Menu ordinateur : chevrons fins à la place des flèches pleines ===== */
@media (min-width: 1025px) {
  .elementor-nav-menu--layout-vertical > ul.elementor-nav-menu > li > a .sub-arrow svg,
  .elementor-nav-menu--layout-vertical > ul.elementor-nav-menu > li > a .sub-arrow i { display: none !important; }
  .elementor-nav-menu--layout-vertical > ul.elementor-nav-menu > li > a .sub-arrow { padding-left: 10px !important; }
  .elementor-nav-menu--layout-vertical > ul.elementor-nav-menu > li > a .sub-arrow::after {
    content: ""; display: block; width: 6px; height: 6px; margin-top: -3px;
    border-right: 1px solid currentColor; border-bottom: 1px solid currentColor;
    transform: rotate(45deg); transition: transform .3s ease, margin .3s ease;
  }
  .elementor-nav-menu--layout-vertical > ul.elementor-nav-menu > li.is-open > a .sub-arrow::after { transform: rotate(-135deg); margin-top: 3px; }
}

/* ===== Finitions du 05/10/2026 (2e série) ===== */

/* ---------- 1. Visionneuse Press : même habillage que celle des projets ---------- */
.jk-lb { background: #111110 !important; }
.jk-lb.open { animation: jkLbFade .5s ease; }
.jk-lb .jk-lb-img { max-width: calc(100vw - 192px) !important; max-height: 86vh !important; margin-bottom: 4vh; border-radius: 0 !important; }
.jk-lb button.jk-lb-prev, .jk-lb button.jk-lb-next, .jk-lb button.jk-lb-close {
  font-size: 0 !important; line-height: 0 !important; padding: 0 !important; margin: 0 !important;
  background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important;
  color: rgba(255, 255, 255, .5) !important; cursor: pointer; transition: color .3s ease, transform .4s ease;
}
.jk-lb button.jk-lb-prev:hover, .jk-lb button.jk-lb-next:hover, .jk-lb button.jk-lb-close:hover,
.jk-lb button.jk-lb-prev:focus, .jk-lb button.jk-lb-next:focus, .jk-lb button.jk-lb-close:focus { color: #fff !important; background: transparent !important; }
.jk-lb button.jk-lb-prev, .jk-lb button.jk-lb-next {
  top: 0 !important; bottom: 0 !important; height: 100% !important; width: 96px !important; transform: none !important;
  display: flex !important; align-items: center; justify-content: center;
}
.jk-lb button.jk-lb-prev { left: 0 !important; }
.jk-lb button.jk-lb-next { right: 0 !important; }
.jk-lb button.jk-lb-prev::after, .jk-lb button.jk-lb-next::after {
  content: ""; display: block; width: 18px; height: 18px;
  border-left: 1px solid currentColor; border-bottom: 1px solid currentColor;
  transition: transform .35s cubic-bezier(.22, 1, .36, 1);
}
.jk-lb button.jk-lb-prev::after { transform: translateX(5px) rotate(45deg); }
.jk-lb button.jk-lb-next::after { transform: translateX(-5px) rotate(-135deg); }
.jk-lb button.jk-lb-prev:hover::after { transform: translateX(0) rotate(45deg); }
.jk-lb button.jk-lb-next:hover::after { transform: translateX(0) rotate(-135deg); }
.jk-lb button.jk-lb-close { top: 22px !important; right: 26px !important; width: 34px !important; height: 34px !important; }
.jk-lb button.jk-lb-close:hover { transform: rotate(90deg); }
.jk-lb button.jk-lb-close::before, .jk-lb button.jk-lb-close::after {
  content: ""; position: absolute; left: 5px; right: 5px; top: 50%; height: 1px; background: currentColor;
}
.jk-lb button.jk-lb-close::before { transform: rotate(45deg); }
.jk-lb button.jk-lb-close::after  { transform: rotate(-45deg); }
.jk-lb .jk-lb-counter {
  bottom: 3vh !important; font: 400 11px/1 -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  letter-spacing: .28em !important; color: rgba(255, 255, 255, .55) !important; font-variant-numeric: tabular-nums;
}
.jk-lb .jk-lb-hint { display: none !important; }
@media (max-width: 767px) {
  .jk-lb .jk-lb-img { max-width: 100vw !important; max-height: 80vh !important; }
  /* pas de glissement au doigt dans cette visionneuse : on garde deux petites flèches en bas */
  .jk-lb button.jk-lb-prev, .jk-lb button.jk-lb-next { top: auto !important; height: 64px !important; width: 64px !important; }
  .jk-lb button.jk-lb-prev::after, .jk-lb button.jk-lb-next::after { width: 13px; height: 13px; }
  .jk-lb button.jk-lb-close { top: 14px !important; right: 14px !important; }
}

/* ---------- 2. Menu ordinateur ---------- */
@media (min-width: 1025px) {
  /* chevron plus éloigné du mot */
  .elementor-nav-menu--layout-vertical > ul.elementor-nav-menu > li > a .sub-arrow { padding-left: 18px !important; }

  /* page en cours : le sous-menu de la rubrique reste ouvert et l'entrée est marquée */
  /* (règle retirée le 06/10/2026 : l'état ouvert/fermé est géré par le script du menu) */
  /* Elementor duplique le menu fixe dans un « spacer » invisible : il doit le rester,
     sinon le sous-menu apparaît en double */
  .elementor-sticky__spacer .elementor-nav-menu--layout-vertical.e--pointer-none .current-menu-ancestor > .sub-menu.elementor-nav-menu--dropdown {
    visibility: hidden !important;
  }
  .elementor-nav-menu--layout-vertical.e--pointer-none a.elementor-sub-item.elementor-item-active {
    font-weight: 500 !important; text-decoration: underline !important;
    text-decoration-thickness: 1px !important; text-underline-offset: 5px;
  }
  /* sur une fiche projet aucune entrée n'était marquée : Furniture pour le mobilier, Project sinon */
  .elementor-location-single.type_projet-mobilier .elementor-nav-menu--layout-vertical .menu-item-244 > a.elementor-item,
  .elementor-location-single.type-projet:not(.type_projet-mobilier):not(.type_projet-classique):not(.type_projet-moderne):not(.type_projet-contemporain) .elementor-nav-menu--layout-vertical .menu-item-2615 > a.elementor-item {
    text-decoration: underline !important; text-underline-offset: 6px; text-decoration-thickness: 1px !important;
  }

  /* ---------- 3. Langues : plus de menu déroulant, EN | FR visibles, un clic suffit ---------- */
  /* Le menu reste en colonne (le passer en ligne décalait toutes les entrées) :
     FR est simplement remonté à droite de EN. 43px = retrait de 20px + largeur de « EN ». */
  .elementor-nav-menu--layout-vertical > ul.elementor-nav-menu > li.jk-lang {
    max-height: none !important; opacity: 1 !important; overflow: visible !important; pointer-events: auto !important;
  }
  /* « html body » : doit l'emporter sur l'ancienne règle du déroulant (langue active en premier) */
  html body .elementor-nav-menu--layout-vertical > ul.elementor-nav-menu > li.jk-lang.jk-lang-en { order: 1 !important; margin-top: 26px !important; align-self: flex-start; }
  html body .elementor-nav-menu--layout-vertical > ul.elementor-nav-menu > li.jk-lang.jk-lang-fr { order: 2 !important; margin-top: -22px !important; margin-left: 43px !important; align-self: flex-start; }
  .elementor-nav-menu--layout-vertical .jk-lang > a.elementor-item,
  .elementor-nav-menu--layout-vertical .jk-lang:not(.current-language-menu-item) > a.elementor-item { padding: 0 !important; cursor: pointer !important; opacity: .55 !important; }
  html body .elementor-nav-menu--layout-vertical li.jk-lang.jk-lang-en > a.elementor-item { padding-left: 20px !important; }
  .elementor-nav-menu--layout-vertical .jk-lang.current-language-menu-item > a.elementor-item {
    opacity: 1 !important; font-weight: 600 !important;
    text-decoration: underline !important; text-decoration-thickness: 1px !important; text-underline-offset: 5px;
  }
  .elementor-nav-menu--layout-vertical .jk-lang > a.elementor-item:hover { opacity: 1 !important; }
  /* le chevron du déroulant disparaît ; un filet fin sépare EN et FR */
  .elementor-nav-menu--layout-vertical .jk-lang.current-language-menu-item > a.elementor-item::after,
  .elementor-nav-menu--layout-vertical .jk-lang > a.elementor-item::after { display: none !important; content: none !important; }
  .elementor-nav-menu--layout-vertical .jk-lang-fr > a.elementor-item::before {
    content: "" !important; display: inline-block !important; position: static !important;
    width: 1px !important; height: 11px !important; margin: 0 12px !important;
    background: currentColor !important; opacity: .5 !important; transform: none !important; border: 0 !important; vertical-align: middle !important;
  }
}

/* ---------- 4. Menu mobile / tablette : la page en cours se voit ---------- */
@media (max-width: 1024px) {
  nav.elementor-nav-menu__container.elementor-nav-menu--dropdown a.elementor-item.elementor-item-active,
  nav.elementor-nav-menu__container.elementor-nav-menu--dropdown .current-menu-ancestor > a.elementor-item,
  .elementor-location-single.type_projet-mobilier nav.elementor-nav-menu--dropdown .menu-item-244 > a.elementor-item,
  .elementor-location-single.type-projet:not(.type_projet-mobilier):not(.type_projet-classique):not(.type_projet-moderne):not(.type_projet-contemporain) nav.elementor-nav-menu--dropdown .menu-item-2615 > a.elementor-item {
    color: var(--jk-menu-ink) !important;
    text-decoration: underline !important; text-decoration-thickness: 1px !important; text-underline-offset: 9px;
  }
  nav.elementor-nav-menu__container.elementor-nav-menu--dropdown .current-menu-ancestor > ul.sub-menu { display: block !important; }
  nav.elementor-nav-menu__container.elementor-nav-menu--dropdown a.elementor-sub-item.elementor-item-active {
    color: var(--jk-menu-ink) !important;
    text-decoration: underline !important; text-decoration-thickness: 1px !important; text-underline-offset: 6px;
  }
}

/* ---------- 5. Pages projet : retour discret en haut et en bas, « haut de page » si plus de 15 images ---------- */
.jk-pnav {
  display: flex; justify-content: space-between; align-items: center; width: 100%;
  font: 400 11px/1 -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: .22em; text-transform: uppercase;
}
.jk-pnav--top { margin: 0 0 14px; }
.jk-pnav--bottom { margin: 40px 0 0; padding-top: 14px; border-top: 1px solid rgba(0, 0, 0, .09); }
.jk-pnav a.jk-pnav-back, .jk-pnav button.jk-pnav-top {
  display: inline-flex; align-items: center; gap: 14px; min-height: 44px;
  padding: 0 !important; margin: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important;
  font: inherit !important; letter-spacing: inherit !important; text-transform: inherit !important; text-decoration: none !important;
  color: #9b9b9b !important; cursor: pointer; transition: color .3s ease;
}
.jk-pnav a.jk-pnav-back:hover, .jk-pnav button.jk-pnav-top:hover,
.jk-pnav a.jk-pnav-back:focus-visible, .jk-pnav button.jk-pnav-top:focus-visible { color: #2b2b2b !important; background: transparent !important; }
.jk-pnav i { display: block; width: 7px; height: 7px; border-left: 1px solid currentColor; border-bottom: 1px solid currentColor; transition: transform .35s cubic-bezier(.22, 1, .36, 1); }
.jk-pnav a.jk-pnav-back i { transform: rotate(45deg); margin-left: 3px; }
.jk-pnav a.jk-pnav-back:hover i { transform: translateX(-5px) rotate(45deg); }
.jk-pnav button.jk-pnav-top i { transform: rotate(135deg); margin-top: 4px; }
.jk-pnav button.jk-pnav-top:hover i { transform: translateY(-4px) rotate(135deg); }
@media (min-width: 1025px) {
  /* sur ordinateur le retour du haut se loge dans la marge existante : la galerie ne descend pas */
  .jk-pnav--top { position: absolute; left: 0; top: -46px; margin: 0; width: auto; }
}

/* Intitulés bilingues écrits dans la page (Television) : on n'affiche que la langue en cours */
html[lang^="fr"] .jk-en { display: none !important; }
html:not([lang^="fr"]) .jk-fr { display: none !important; }

/* ===== Langue : un seul bouton (05/10/2026, demande de Noémie) ===== */
/* Le bouton affiche la langue en cours (EN par défaut). Un clic bascule vers l'autre langue,
   et le bouton affiche alors FR. Techniquement : on masque l'entrée de la langue en cours et
   on montre le lien vers l'autre langue, dont le texte est remplacé par le code de la langue
   affichée. Pour revenir à « EN | FR » : supprimer ce bloc. */
html body nav.elementor-nav-menu__container .elementor-nav-menu li.jk-lang.current-language-menu-item { display: none !important; }
html body nav.elementor-nav-menu__container .elementor-nav-menu li.jk-lang:not(.current-language-menu-item) {
  display: block !important; order: 1 !important; margin-left: 0 !important;
  max-height: none !important; opacity: 1 !important; overflow: visible !important; pointer-events: auto !important;
}
html body nav.elementor-nav-menu__container .elementor-nav-menu li.jk-lang:not(.current-language-menu-item) > a.elementor-item {
  font-size: 0 !important; opacity: 1 !important; text-decoration: none !important; cursor: pointer !important;
}
html body nav.elementor-nav-menu__container .elementor-nav-menu li.jk-lang:not(.current-language-menu-item) > a.elementor-item::before {
  content: "EN" !important; display: inline !important; position: static !important;
  width: auto !important; height: auto !important; margin: 0 !important; background: none !important; border: 0 !important;
  opacity: .75 !important; transform: none !important;
  font-size: 14px !important; letter-spacing: .14em !important; transition: opacity .3s ease;
}
html[lang^="fr"] body nav.elementor-nav-menu__container .elementor-nav-menu li.jk-lang:not(.current-language-menu-item) > a.elementor-item::before { content: "FR" !important; }
html body nav.elementor-nav-menu__container .elementor-nav-menu li.jk-lang:not(.current-language-menu-item) > a.elementor-item:hover::before { opacity: 1 !important; }
html body nav.elementor-nav-menu__container .elementor-nav-menu li.jk-lang > a.elementor-item::after { display: none !important; content: none !important; }
@media (min-width: 1025px) {
  html body nav.elementor-nav-menu--layout-vertical > ul.elementor-nav-menu > li.jk-lang:not(.current-language-menu-item) { margin-top: 26px !important; align-self: flex-start; }
  html body nav.elementor-nav-menu--layout-vertical > ul.elementor-nav-menu > li.jk-lang:not(.current-language-menu-item) > a.elementor-item { padding: 0 0 0 20px !important; }
}
@media (max-width: 1024px) {
  html body nav.elementor-nav-menu__container.elementor-nav-menu--dropdown .elementor-nav-menu li.jk-lang:not(.current-language-menu-item) > a.elementor-item { padding: 0 !important; color: var(--jk-menu-ink) !important; }
}

/* ===== 3e série du 05/10/2026 : espace bas de page, menu ordinateur, bandeau mobile ===== */

/* ---------- Espace en bas de chaque page (pas de pied de page) ---------- */
@media (max-width: 1024px) {
  body:not(.page-id-23):not(.page-id-2456) > .elementor > .e-con.e-parent:last-child { --padding-bottom: 88px !important; }
}
@media (min-width: 1025px) {
  body:not(.page-id-23):not(.page-id-2456) > .elementor > .e-con.e-parent:last-child { --padding-bottom: 48px !important; }
}

/* ---------- Menu ordinateur ---------- */
@media (min-width: 1025px) {
  /* Rubrique de la page en cours : ouverte par défaut, et un clic la referme vraiment.
     (Le script du menu ajoute .is-open au clic : pour la rubrique en cours on inverse son sens.) */
  /* (règle retirée le 06/10/2026 : l'état ouvert/fermé est géré par le script du menu) */
  /* le chevron suit toujours l'état réel : vers le haut quand c'est ouvert */
  html body .elementor-nav-menu--layout-vertical > ul.elementor-nav-menu > li > a .sub-arrow::after { transition: transform .45s cubic-bezier(.22, 1, .36, 1), margin .45s cubic-bezier(.22, 1, .36, 1); }
  /* (règle retirée le 06/10/2026 : l'état ouvert/fermé est géré par le script du menu) */
  /* (règle retirée le 06/10/2026 : l'état ouvert/fermé est géré par le script du menu) */
  /* ouverture / fermeture plus douce */
  html body .elementor-nav-menu--layout-vertical.e--pointer-none .sub-menu.elementor-nav-menu--dropdown {
    transition: max-height .5s cubic-bezier(.22, 1, .36, 1), opacity .35s ease, transform .45s cubic-bezier(.22, 1, .36, 1), visibility .35s ease, margin .45s ease !important;
  }
  /* sous-entrées : mêmes petites capitales espacées que dans le menu mobile */
  html body .elementor-nav-menu--layout-vertical.e--pointer-none a.elementor-sub-item,
  html body .elementor-nav-menu--layout-vertical.e--pointer-none a.elementor-sub-item:hover,
  html body .elementor-nav-menu--layout-vertical.e--pointer-none a.elementor-sub-item:focus {
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-style: normal !important; font-size: 11px !important; font-weight: 400 !important;
    letter-spacing: .18em !important; text-transform: uppercase !important; line-height: 1.2 !important;
    padding: 8px 0 8px 21px !important; text-decoration: none !important;
    opacity: .72; transition: opacity .3s ease !important;
  }
  html body .elementor-nav-menu--layout-vertical.e--pointer-none a.elementor-sub-item:hover { opacity: 1; }
  html body .elementor-nav-menu--layout-vertical.e--pointer-none a.elementor-sub-item.elementor-item-active {
    opacity: 1; font-weight: 500 !important;
    text-decoration: underline !important; text-decoration-thickness: 1px !important; text-underline-offset: 6px;
  }
}

/* ---------- Bandeau mobile : logo plus grand à l'arrivée, qui se réduit un peu au défilement ---------- */
@property --jk-h { syntax: "<length>"; inherits: true; initial-value: 84px; }
@media (max-width: 767px) {
  :root { --jk-hdr: 84px; }
  .e-con.elementor-hidden-desktop[data-settings*='"sticky":"top"'] {
    --jk-h: 84px;
    min-height: var(--jk-h) !important; --min-height: var(--jk-h) !important;
  }
  .e-con.elementor-hidden-desktop[data-settings*='"sticky":"top"'] .elementor-widget-image img {
    height: calc(var(--jk-h) - 20px) !important;      /* 64px à l'arrivée, 48px après défilement (44px avant) */
  }
  /* réduction liée au défilement, sans script (navigateurs récents ; sinon le bandeau reste à 84px) */
  @supports (animation-timeline: scroll()) {
    .e-con.elementor-hidden-desktop[data-settings*='"sticky":"top"'] {
      animation: jkHdrShrink linear both; animation-timeline: scroll(root block); animation-range: 0px 140px;
    }
    /* menu ouvert : le bandeau reprend sa grande taille pour rester aligné avec le panneau */
    body:has(.elementor-menu-toggle.elementor-active) .e-con.elementor-hidden-desktop[data-settings*='"sticky":"top"'] { animation: none; }
  }
}
@keyframes jkHdrShrink { from { --jk-h: 84px; } to { --jk-h: 68px; } }

/* ===== Correctifs du 05/10/2026 au soir ===== */
/* Press : la zone des flèches recouvrait la croix (impossible de fermer) */
.jk-lb button.jk-lb-close { z-index: 6 !important; }
@media (min-width: 768px) {
  .jk-lb button.jk-lb-prev, .jk-lb button.jk-lb-next { top: 90px !important; bottom: 90px !important; height: auto !important; }
}
/* Menu mobile : quand les sous-onglets sont ouverts, le haut passait sous le bandeau.
   Le bloc reste centré s'il tient dans l'écran, sinon il part du haut et défile. */
@media (max-width: 1024px) {
  .elementor .elementor-element.elementor-widget-nav-menu.elementor-nav-menu--toggle .elementor-menu-toggle + nav.elementor-nav-menu__container.elementor-nav-menu--dropdown {
    justify-content: flex-start !important; padding: 0 !important; -webkit-overflow-scrolling: touch; overscroll-behavior: contain;
  }
  html body nav.elementor-nav-menu__container.elementor-nav-menu--dropdown > ul.elementor-nav-menu {
    margin: auto 0 !important; padding: 28px 9vw 9vh !important;
  }
}
/* Bas des projets : plus de texte « Haut de page », seulement la petite flèche */
.jk-pnav button.jk-pnav-top span { display: none !important; }
.jk-pnav button.jk-pnav-top { min-width: 44px; justify-content: flex-end; }
.jk-pnav button.jk-pnav-top i { width: 9px; height: 9px; margin-right: 4px; }

/* ===== Cartes projet (06/10/2026) : titre en italique, ville en petites capitales ===== */
.elementor-632 .elementor-element.elementor-element-da33d5d,
.elementor-632 .elementor-element.elementor-element-da33d5d p {
  font-family: Georgia, "Times New Roman", serif !important; font-style: italic !important;
  font-size: 24px !important; font-weight: 400 !important; line-height: 1.2 !important;
  letter-spacing: 0 !important; text-transform: none !important; color: #4a4a4a !important;
}
.elementor-632 .elementor-element.elementor-element-d84ca56,
.elementor-632 .elementor-element.elementor-element-d84ca56 p {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 11px !important; font-weight: 500 !important; line-height: 1.2 !important;
  letter-spacing: .2em !important; text-transform: uppercase !important; color: #9b9b9b !important;
}
.elementor-632 .elementor-element.elementor-element-956a517 { --gap: 10px 10px !important; }
@media (max-width: 1024px) { .elementor-632 .elementor-element.elementor-element-da33d5d, .elementor-632 .elementor-element.elementor-element-da33d5d p { font-size: 20px !important; } }
@media (max-width: 767px)  { .elementor-632 .elementor-element.elementor-element-da33d5d, .elementor-632 .elementor-element.elementor-element-da33d5d p { font-size: 24px !important; } }

/* ===== Chevron du menu ordinateur (06/10/2026) : l'ancien CSS faisait tourner tout le bloc
   de la flèche de 180° (il passait sur le mot) EN PLUS de mon chevron. Seul le chevron tourne,
   sur place, en un demi-tour doux. ===== */
@media (min-width: 1025px) {
  html body .elementor-nav-menu--layout-vertical.e--pointer-none .elementor-item .sub-arrow,
  html body .elementor-nav-menu--layout-vertical.e--pointer-none .menu-item-has-children.is-open > .elementor-item .sub-arrow {
    transform: none !important; transition: none !important; display: inline-flex; align-items: center;
  }
  html body .elementor-nav-menu--layout-vertical > ul.elementor-nav-menu > li > a .sub-arrow::after {
    transform-origin: 50% 50%; margin-top: -3px; transform: rotate(45deg);
    transition: transform .4s cubic-bezier(.22, 1, .36, 1), margin-top .4s cubic-bezier(.22, 1, .36, 1);
  }
  html body .elementor-nav-menu--layout-vertical > ul.elementor-nav-menu > li.is-open > a .sub-arrow::after { transform: rotate(-135deg); margin-top: 3px; }
}
/* Pages projet : la barre du bas (retour + flèche haut) n'apparaît que si plus de 15 images */
.jk-pnav--bottom:not(.jk-pnav--long) { display: none !important; }

/* ===== Sous-onglets du menu (06/10/2026, 2e passe) ===== */
/* Ordinateur, pages claires : les sous-onglets étaient presque invisibles (gris à 55 % + opacité 72 %).
   Couleurs explicites, sans opacité : clair #7a7a7a / actif #2b2b2b ; accueil sombre #b9b9b9 / actif #fff. */
@media (min-width: 1025px) {
  html body:not(.jk-x) .elementor-nav-menu--layout-vertical.e--pointer-none a.elementor-sub-item,
  html body:not(.jk-x) .elementor-nav-menu--layout-vertical.e--pointer-none a.elementor-sub-item:hover,
  html body:not(.jk-x) .elementor-nav-menu--layout-vertical.e--pointer-none a.elementor-sub-item:focus { opacity: 1 !important; color: #7a7a7a !important; }
  html body:not(.jk-x) .elementor-nav-menu--layout-vertical.e--pointer-none a.elementor-sub-item:hover { color: #2b2b2b !important; }
  html body:not(.jk-x) .elementor-nav-menu--layout-vertical.e--pointer-none a.elementor-sub-item.elementor-item-active { color: #2b2b2b !important; }
  html body.home:not(.jk-x) .elementor-nav-menu--layout-vertical.e--pointer-none a.elementor-sub-item { color: #b9b9b9 !important; }
  html body.home:not(.jk-x) .elementor-nav-menu--layout-vertical.e--pointer-none a.elementor-sub-item:hover,
  html body.home:not(.jk-x) .elementor-nav-menu--layout-vertical.e--pointer-none a.elementor-sub-item.elementor-item-active { color: #ffffff !important; }
}
/* Mobile / tablette : la rubrique de la page en cours est ouverte -> son chevron pointe vers le haut */
@media (max-width: 1024px) {
  nav.elementor-nav-menu__container.elementor-nav-menu--dropdown .current-menu-ancestor > a .sub-arrow::after { transform: rotate(-135deg); margin-top: 4px; }
}

/* ===== Doublon du sous-menu (06/10/2026) ===== */
/* Elementor duplique le menu fixe dans un « spacer » invisible. Depuis que la rubrique en cours
   est ouverte au chargement, la copie laissait voir ses sous-onglets (CLASSIC CLASSIC, MODERN MODERN…).
   La copie reste entièrement invisible, quel que soit son contenu. */
html body .elementor-sticky__spacer,
html body .elementor-sticky__spacer * { visibility: hidden !important; }

/* ===== Cartes projet (06/10/2026) : au survol le fond devient gris foncé, le titre prend le gris de la ville ===== */
.elementor-632 .elementor-element.elementor-element-da33d5d p { transition: color .3s ease !important; }
.elementor-632 .elementor-element.elementor-element-8e120fb:hover .elementor-element.elementor-element-da33d5d,
.elementor-632 .elementor-element.elementor-element-8e120fb:hover .elementor-element.elementor-element-da33d5d p { color: #9b9b9b !important; }

/* ===== Private (06/10/2026) : le CSS additionnel du thème met body.page-id-2456 en flex pour centrer le formulaire
   de mot de passe ; une fois entré, cela rétrécissait toute la page. On ne garde le flex que tant que le mot de passe est demandé. ===== */
html body.page-id-2456:not(.post-password-required) { display: block !important; min-height: 0 !important; }
/* Fiche projet Classic / Modern / Contemporary : la sous-rubrique correspondante est active (classe posée par jk-desktop-nav-js),
   Project n'est plus souligné (sauf fiches 3D). */

/* ===== Press (06/10/2026) : bouton « Lire » au survol — étiquette blanche centrée, fine, qui monte en fondu ===== */
html body .press-cover-item .jk-readmore {
  left: 50% !important; right: auto !important; bottom: 14px !important; transform: translate(-50%, 6px);
  display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px !important;
  background: rgba(255, 255, 255, .92) !important; color: #1d1d1d !important; border-radius: 2px !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .18); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  font: 500 10px/1 -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 0 !important; letter-spacing: .22em !important; text-transform: uppercase;
  opacity: 0 !important; transition: opacity .3s ease, transform .3s ease;
}
html body .press-cover-item .jk-readmore::before { content: "Lire"; font-size: 10px; }
html[lang^="en"] body .press-cover-item .jk-readmore::before { content: "Read"; }
html body .press-cover-item .jk-readmore::after {
  content: ""; width: 6px; height: 6px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: rotate(45deg);
}
html body .press-cover-item:hover .jk-readmore { opacity: 1 !important; transform: translate(-50%, 0); }
@media (hover: none) { html body .press-cover-item .jk-readmore { opacity: 1 !important; transform: translate(-50%, 0); } }

/* ===== Menu ordinateur (06/10/2026) : le trait sous les onglets principaux venait du CSS additionnel du thème
   (épaisseur automatique ≈ 2 px) ; on l'aligne sur celui des sous-rubriques : 1 px, décalé de 6 px ===== */
html body .elementor-nav-menu--layout-vertical.e--pointer-none a.elementor-item.elementor-item-active,
html body .elementor-nav-menu--layout-vertical.e--pointer-none .current-menu-ancestor > a.elementor-item,
html body .elementor-nav-menu--layout-vertical.e--pointer-none .current-menu-item > a.elementor-item {
  text-decoration-thickness: 1px !important; text-underline-offset: 6px !important; text-decoration-color: currentColor;
}

/* ===== About (06/10/2026) : typo de la page de test appliquée à la page en ligne — titre italique, intro en Georgia, texte en sans ===== */
html body .elementor-65 .elementor-element.elementor-element-495d24a .elementor-heading-title {
  font: italic 400 clamp(40px, 4.4vw, 64px)/1.08 Georgia, "Times New Roman", serif !important; color: #2b2b2b !important; letter-spacing: -.015em !important; margin-bottom: 8px;
}
html body .elementor-65 .elementor-element.elementor-element-f0c88c9 { max-width: 62ch; }
html body .elementor-65 .elementor-element.elementor-element-f0c88c9 p {
  font: 400 17px/1.75 -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif !important; color: #444 !important; letter-spacing: 0 !important; margin: 0 0 20px !important;
}
html body .elementor-65 .elementor-element.elementor-element-f0c88c9 p:first-child {
  font: italic 400 24px/1.45 Georgia, "Times New Roman", serif !important; color: #333 !important; margin-bottom: 26px !important;
}
@media (max-width: 767px) {
  html body .elementor-65 .elementor-element.elementor-element-f0c88c9 { max-width: none; }
  html body .elementor-65 .elementor-element.elementor-element-f0c88c9 p { font-size: 16px !important; }
  html body .elementor-65 .elementor-element.elementor-element-f0c88c9 p:first-child { font-size: 21px !important; }
}

/* ===== Contact (06/10/2026) : les deux blocs existants, plus légers — plus de boîte grise, photo en bandeau, titre italique, coordonnées en sans ===== */
html body .elementor-29 .ehp-cta { background: transparent !important; box-shadow: none !important; border: 0 !important; }
html body .elementor-29 .ehp-cta__overlay { display: none !important; }
html body .elementor-29 .ehp-cta__elements-container { padding: 0 !important; gap: 0 !important; align-items: flex-start !important; text-align: left !important; }
html body .elementor-29 .ehp-cta__image-container { width: 100% !important; margin: 0 0 26px !important; }
html body .elementor-29 .ehp-cta__img { width: 100% !important; height: auto !important; aspect-ratio: 3 / 2 !important; object-fit: cover !important; border: 0 !important; border-radius: 2px !important; display: block !important; }
html body .elementor-29 .ehp-cta__text-container { padding: 0 !important; align-items: flex-start !important; text-align: left !important; }
html body .elementor-29 .ehp-cta__heading {
  font: italic 400 30px/1.15 Georgia, "Times New Roman", serif !important; color: #2b2b2b !important; letter-spacing: -.01em !important; margin: 0 0 14px !important; text-align: left !important;
}
html body .elementor-29 .ehp-cta__description {
  font: 400 15px/1.7 -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif !important; color: #555 !important; letter-spacing: 0 !important; margin: 0 !important; text-align: left !important;
}
html body .elementor-29 .ehp-cta__ctas-container { display: none !important; }
html body .elementor-29 .elementor-element.elementor-element-1487087a { --gap: 56px 64px !important; }
@media (max-width: 1024px) { html body .elementor-29 .ehp-cta__heading { font-size: 26px !important; } }
@media (max-width: 767px) { html body .elementor-29 .elementor-element.elementor-element-1487087a { --gap: 44px 0 !important; } }

/* ===== Press (06/10/2026, v2) : plus de mot — un rond blanc fin avec une flèche en diagonale, en bas à droite,
   et la couverture s'assombrit très légèrement : on comprend que ça s'ouvre ===== */
html body .press-cover-item .jk-readmore {
  left: auto !important; right: 12px !important; bottom: 12px !important; transform: translateY(6px) !important;
  width: 36px; height: 36px; padding: 0 !important; justify-content: center; border-radius: 50% !important;
  background: rgba(255, 255, 255, .94) !important; box-shadow: 0 4px 14px rgba(0, 0, 0, .18);
}
html body .press-cover-item .jk-readmore::before { content: "" !important; font-size: 0; }
html body .press-cover-item .jk-readmore::after {
  content: ""; width: 9px; height: 9px; border: 0 !important; border-top: 1px solid #1d1d1d !important; border-right: 1px solid #1d1d1d !important;
  transform: rotate(45deg); margin-left: -2px; margin-top: 2px;
}
html body .press-cover-item .jk-badge { left: 12px !important; right: auto !important; bottom: 12px !important; }
html body .press-cover-item img { transition: box-shadow .35s ease, transform .35s ease, filter .35s ease !important; }
html body .press-cover-item:hover img { filter: brightness(.94); }
html body .press-cover-item:hover .jk-readmore { transform: translateY(0) !important; }
@media (hover: none) { html body .press-cover-item .jk-readmore { transform: none !important; } }

/* ===== Press (06/10/2026, v3, décision Noémie) : plus de bouton du tout au survol — seule la pastille du nombre de pages reste ===== */
html body .press-cover-item .jk-readmore, html body .press-cover-item .jk-readmore::before, html body .press-cover-item .jk-readmore::after { display: none !important; }
html body .press-cover-item .jk-badge { left: auto !important; right: 10px !important; bottom: 10px !important; }
html body .press-cover-item:hover img { filter: none; }

/* ===== Contact (06/10/2026, v2) : on remet des cartes — blanches, photo en tête, titres et coordonnées centrés ===== */
html body .elementor-29 .ehp-cta { background: #ffffff !important; border-radius: 2px !important; overflow: hidden; box-shadow: 0 1px 2px rgba(0,0,0,.03); transition: box-shadow .35s ease, transform .35s ease; }
html body .elementor-29 .ehp-cta:hover { box-shadow: 0 14px 34px rgba(0,0,0,.08); transform: translateY(-2px); }
html body .elementor-29 .ehp-cta__elements-container { align-items: center !important; text-align: center !important; padding: 0 0 36px !important; }
html body .elementor-29 .ehp-cta__image-container { margin: 0 0 30px !important; }
html body .elementor-29 .ehp-cta__img { border-radius: 2px 2px 0 0 !important; }
html body .elementor-29 .ehp-cta__text-container { align-items: center !important; text-align: center !important; padding: 0 28px !important; }
html body .elementor-29 .ehp-cta__heading { text-align: center !important; margin-bottom: 16px !important; }
html body .elementor-29 .ehp-cta__description { text-align: center !important; }/* End custom CSS */