.elementor-kit-4{--e-global-color-primary:#8B0000;--e-global-color-secondary:#3A3A3A;--e-global-color-text:#474745;--e-global-color-accent:#FFFFFF00;--e-global-color-4f3aee6:#F2F1EF;--e-global-color-8d2adae:#FFFFFF;--e-global-color-e6f43e2:#4A492C;--e-global-color-8f368ca:#D6D3D3;--e-global-color-5290e9c:#FFFFFF;--e-global-typography-primary-font-family:"Helvetica";--e-global-typography-primary-font-size:50.4px;--e-global-typography-primary-font-weight:700;--e-global-typography-primary-font-style:normal;--e-global-typography-primary-line-height:1.2px;--e-global-typography-primary-letter-spacing:0px;--e-global-typography-secondary-font-family:"Helvetica";--e-global-typography-secondary-font-size:36.7px;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-line-height:1.3px;--e-global-typography-secondary-letter-spacing:0px;--e-global-typography-text-font-family:"Playfair Display";--e-global-typography-text-font-size:18.3px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6px;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-family:"Roboto Mono";--e-global-typography-accent-font-size:11.6px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-font-style:normal;--e-global-typography-accent-line-height:1.4px;--e-global-typography-accent-letter-spacing:0px;--e-global-typography-accent-word-spacing:0px;--e-global-typography-5bcab41-font-family:"Helvetica";--e-global-typography-5bcab41-font-size:28.2px;--e-global-typography-5bcab41-font-weight:700;--e-global-typography-5bcab41-text-transform:uppercase;--e-global-typography-5bcab41-font-style:normal;--e-global-typography-5bcab41-line-height:1.2px;--e-global-typography-5bcab41-letter-spacing:-2.8px;--e-global-typography-5bcab41-word-spacing:0px;--e-global-typography-c24d89b-font-family:"Helvetica";--e-global-typography-c24d89b-font-size:31.5px;--e-global-typography-c24d89b-font-weight:700;--e-global-typography-c24d89b-font-style:normal;--e-global-typography-c24d89b-line-height:1.2px;--e-global-typography-c24d89b-letter-spacing:0px;--e-global-typography-dc06cf0-font-family:"Playfair Display";--e-global-typography-dc06cf0-font-size:21px;--e-global-typography-dc06cf0-font-weight:400;--e-global-typography-dc06cf0-text-transform:uppercase;--e-global-typography-dc06cf0-font-style:normal;--e-global-typography-dc06cf0-line-height:1.4px;--e-global-typography-dc06cf0-letter-spacing:0px;--e-global-typography-dc06cf0-word-spacing:1.4px;--e-global-typography-265bf3b-font-family:"Helvetica";--e-global-typography-265bf3b-font-size:28.2px;--e-global-typography-265bf3b-font-weight:600;--e-global-typography-265bf3b-font-style:normal;--e-global-typography-265bf3b-line-height:1.5px;--e-global-typography-265bf3b-letter-spacing:1px;--e-global-typography-d2140a7-font-family:"Playfair Display";--e-global-typography-d2140a7-font-size:28.2px;--e-global-typography-d2140a7-font-weight:400;--e-global-typography-d2140a7-font-style:normal;--e-global-typography-d2140a7-line-height:1.5px;--e-global-typography-d2140a7-letter-spacing:1px;--e-global-typography-7779ac0-font-family:"Playfair Display";--e-global-typography-7779ac0-font-size:20px;--e-global-typography-7779ac0-font-weight:400;--e-global-typography-7779ac0-text-transform:uppercase;--e-global-typography-7779ac0-line-height:1.4px;--e-global-typography-7779ac0-letter-spacing:0.8px;--e-global-typography-7779ac0-word-spacing:0px;--e-global-typography-17d4daf-font-family:"Roboto Mono";--e-global-typography-17d4daf-font-size:10.7px;--e-global-typography-17d4daf-font-weight:400;--e-global-typography-17d4daf-font-style:normal;--e-global-typography-17d4daf-line-height:1.3px;--e-global-typography-17d4daf-letter-spacing:0px;--e-global-typography-2718e4e-font-family:"Roboto Mono";--e-global-typography-2718e4e-font-size:11.6px;--e-global-typography-2718e4e-font-weight:400;--e-global-typography-2718e4e-font-style:italic;--e-global-typography-2718e4e-line-height:1.4px;--e-global-typography-2718e4e-letter-spacing:0px;--e-global-typography-240a8be-font-family:"Helvetica";--e-global-typography-240a8be-font-size:22.4px;--e-global-typography-240a8be-font-weight:600;--e-global-typography-240a8be-font-style:normal;--e-global-typography-240a8be-line-height:1.3px;--e-global-typography-240a8be-letter-spacing:0px;--e-global-typography-a4c04c7-font-family:"Roboto Mono";--e-global-typography-a4c04c7-font-size:15px;--e-global-typography-a4c04c7-font-weight:400;--e-global-typography-a4c04c7-text-transform:uppercase;--e-global-typography-a4c04c7-font-style:normal;--e-global-typography-a4c04c7-line-height:2px;--e-global-typography-a4c04c7-letter-spacing:0px;--e-global-typography-f0cf9b4-font-family:"Helvetica";--e-global-typography-f0cf9b4-font-size:25px;--e-global-typography-f0cf9b4-font-weight:700;--e-global-typography-f0cf9b4-text-transform:uppercase;--e-global-typography-8ff11fb-font-family:"Helvetica";--e-global-typography-8ff11fb-font-size:24px;--e-global-typography-8ff11fb-font-weight:700;--e-global-typography-8ff11fb-text-transform:uppercase;--e-global-typography-7976805-font-family:"Helvetica";--e-global-typography-7976805-font-size:25px;--e-global-typography-7976805-font-weight:700;--e-global-typography-7976805-text-transform:uppercase;--e-global-typography-7976805-letter-spacing:-2.8px;background-color:#F2F1EF;color:#020202;font-family:"Roboto-Regular", Inter, sans-serif;font-size:16px;font-weight:400;font-style:normal;line-height:1.5px;letter-spacing:0.02px;}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.elementor-kit-4 a{color:var( --e-global-color-secondary );font-family:"Roboto-Bold", Inter, sans-serif;font-size:16px;font-weight:400;text-transform:uppercase;line-height:1.5px;letter-spacing:0.02px;word-spacing:11px;}.elementor-kit-4 h1{color:#000000;font-family:"RobotoSlab-Bold", Inter, sans-serif;font-size:48px;font-weight:700;text-transform:uppercase;font-style:normal;line-height:1.2px;letter-spacing:0.01px;}.elementor-kit-4 h2{color:#070707;font-family:"RobotoSlab-Bold", Inter, sans-serif;font-size:36px;font-weight:700;text-transform:uppercase;font-style:normal;line-height:1.3px;letter-spacing:0.01px;}.elementor-kit-4 h3{color:#0A0A0A;font-family:"RobotoSlab-Medium", Inter, sans-serif;font-size:28px;font-weight:500;font-style:normal;line-height:1.3px;letter-spacing:0.01px;}.elementor-kit-4 h4{color:#000000;font-family:"RobotoSlab-Regular", Inter, sans-serif;font-size:22px;font-weight:400;font-style:normal;line-height:1.3px;letter-spacing:0px;}.elementor-kit-4 h6{font-size:17px;line-height:20px;letter-spacing:-0.1px;word-spacing:5px;}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{text-shadow:0px 0px 10px rgba(255, 255, 255, 0.3);border-style:none;}.elementor-kit-4 button:hover,.elementor-kit-4 button:focus,.elementor-kit-4 input[type="button"]:hover,.elementor-kit-4 input[type="button"]:focus,.elementor-kit-4 input[type="submit"]:hover,.elementor-kit-4 input[type="submit"]:focus,.elementor-kit-4 .elementor-button:hover,.elementor-kit-4 .elementor-button:focus{border-style:none;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1440px;}.e-con{--container-max-width:1440px;--container-default-padding-top:40px;--container-default-padding-right:40px;--container-default-padding-bottom:40px;--container-default-padding-left:40px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-4{--e-global-typography-primary-font-size:40px;--e-global-typography-primary-line-height:1.2em;--e-global-typography-primary-letter-spacing:0px;--e-global-typography-secondary-font-size:30px;--e-global-typography-secondary-line-height:1.3em;--e-global-typography-secondary-letter-spacing:0px;--e-global-typography-text-font-size:17px;--e-global-typography-text-line-height:1.6em;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-size:11px;--e-global-typography-accent-line-height:1.4em;--e-global-typography-accent-letter-spacing:0px;--e-global-typography-5bcab41-font-size:24px;--e-global-typography-5bcab41-line-height:1.2em;--e-global-typography-5bcab41-letter-spacing:1px;--e-global-typography-c24d89b-font-size:26px;--e-global-typography-c24d89b-line-height:1.2em;--e-global-typography-c24d89b-letter-spacing:0px;--e-global-typography-dc06cf0-font-size:11px;--e-global-typography-dc06cf0-line-height:1.4em;--e-global-typography-dc06cf0-letter-spacing:0px;--e-global-typography-265bf3b-font-size:24px;--e-global-typography-265bf3b-line-height:1.5em;--e-global-typography-265bf3b-letter-spacing:1px;--e-global-typography-7779ac0-font-size:18px;--e-global-typography-7779ac0-line-height:1.4em;--e-global-typography-7779ac0-letter-spacing:0.5px;--e-global-typography-17d4daf-font-size:10px;--e-global-typography-17d4daf-line-height:1.3em;--e-global-typography-17d4daf-letter-spacing:0px;--e-global-typography-2718e4e-font-size:11px;--e-global-typography-2718e4e-line-height:1.4em;--e-global-typography-2718e4e-letter-spacing:0px;--e-global-typography-240a8be-font-size:20px;--e-global-typography-240a8be-line-height:1.3em;--e-global-typography-240a8be-letter-spacing:0px;--e-global-typography-a4c04c7-font-size:13px;--e-global-typography-a4c04c7-line-height:1.4em;--e-global-typography-a4c04c7-letter-spacing:0px;}.elementor-kit-4 h6{font-size:16px;line-height:21px;letter-spacing:0.1px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:30px;--container-default-padding-right:30px;--container-default-padding-bottom:30px;--container-default-padding-left:30px;}}@media(max-width:767px){.elementor-kit-4{--e-global-typography-primary-font-size:32px;--e-global-typography-primary-line-height:0.9em;--e-global-typography-primary-letter-spacing:-1.1px;--e-global-typography-secondary-font-size:24px;--e-global-typography-secondary-line-height:1.3em;--e-global-typography-secondary-letter-spacing:0px;--e-global-typography-text-font-size:16px;--e-global-typography-text-line-height:1.6em;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-size:10px;--e-global-typography-accent-line-height:1.4em;--e-global-typography-accent-letter-spacing:0px;--e-global-typography-5bcab41-font-size:20px;--e-global-typography-5bcab41-line-height:1.2em;--e-global-typography-5bcab41-letter-spacing:1px;--e-global-typography-c24d89b-font-size:22px;--e-global-typography-c24d89b-line-height:1.2em;--e-global-typography-c24d89b-letter-spacing:0px;--e-global-typography-dc06cf0-font-size:10px;--e-global-typography-dc06cf0-line-height:1.4em;--e-global-typography-dc06cf0-letter-spacing:0px;--e-global-typography-265bf3b-font-size:20px;--e-global-typography-265bf3b-line-height:1.5em;--e-global-typography-265bf3b-letter-spacing:1px;--e-global-typography-7779ac0-font-size:14px;--e-global-typography-7779ac0-line-height:1.4em;--e-global-typography-7779ac0-letter-spacing:0.5px;--e-global-typography-17d4daf-font-size:9px;--e-global-typography-17d4daf-line-height:1.3em;--e-global-typography-17d4daf-letter-spacing:0px;--e-global-typography-2718e4e-font-size:10px;--e-global-typography-2718e4e-line-height:1.4em;--e-global-typography-2718e4e-letter-spacing:0px;--e-global-typography-240a8be-font-size:18px;--e-global-typography-240a8be-letter-spacing:0px;--e-global-typography-a4c04c7-font-size:12px;--e-global-typography-a4c04c7-line-height:1.4em;--e-global-typography-a4c04c7-letter-spacing:0px;}.elementor-kit-4 h6{font-size:15px;line-height:18px;letter-spacing:-1.1px;word-spacing:0.1em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:20px;--container-default-padding-right:20px;--container-default-padding-bottom:20px;--container-default-padding-left:20px;}}/* Start custom CSS *//* =========================================================
   CRÆTIVE PARIS — CSS GLOBAL + ARTISTS GRID (4 / 3 / 1)
   ========================================================= */

/* ------------------------------
   0) VARIABLES & FOND / HEADER
   ------------------------------ */
:root{
  --site-bg:#f2f1ef;
  --color-primary:#8B0000;
  --color-black:#000;
  --color-white:#fff;
  --color-hover:#f0f0f0;

  --gap-desktop:24px;
  --gap-tablet:20px;
  --gap-mobile:16px;
}

html,body,body.custom-background{ background-color:var(--site-bg) !important; }
.elementor-location-header,
.elementor-location-header .elementor-section,
.elementor-location-header .e-con,
.elementor-location-header .e-con-inner,
.elementor-location-header .elementor-container,
.elementor-location-header .elementor-widget,
.elementor-location-header .elementor-widget-container,
.elementor-location-header .elementor-sticky--effects,
.elementor-location-header .elementor-sticky--active{
  background:transparent !important; box-shadow:none !important;
}
.elementor-location-header .elementor-nav-menu--dropdown,
.elementor-location-header .elementor-menu-toggle{ background:var(--site-bg) !important; }

/* --------------------------------
   1) CONTAINER GLOBAL (wrapper)
   -------------------------------- */
.artists-wrapper{
  max-width:1440px; margin:0 auto; padding:0 24px;
}
@media (max-width:767px){ .artists-wrapper{ max-width:100%; padding:0 16px; } }

/* --------------------------------
   2) GRILLE DES CARTES (4 / 3 / 1)
   Base = mobile d'abord (1 col) puis on monte
   -------------------------------- */

/* NB : on définit la grille mobile par défaut, puis on ajoute 3 colonnes (tablet) et 4 (desktop).
        Cette approche évite le "retour" à 4 colonnes sur tablet dû aux priorités CSS. */
#unique-artist-container{
  display:grid !important;
  grid-template-columns:1fr !important;              /* MOBILE */
  gap:var(--gap-mobile) !important;
  margin:0 auto !important;
  padding:0 !important;
  box-sizing:border-box;
}

/* TABLET — 3 colonnes (768–1199px) */
@media (min-width:768px){
  #unique-artist-container{
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    gap:var(--gap-tablet) !important;
  }
}

/* DESKTOP — 4 colonnes (≥1200px) */
@media (min-width:1200px){
  #unique-artist-container{
    grid-template-columns:repeat(4, minmax(0,1fr)) !important;
    gap:var(--gap-desktop) !important;
  }
}

/* S'assure que chaque carte occupe sa colonne sans "mélange" */
#unique-artist-container > *{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  box-sizing:border-box !important;
  min-width:0 !important;     /* évite les débordements internes */
}

/* --------------------------------
   3) STYLE BOUTON (CTA rouge — inchangé)
   -------------------------------- */
.elementor-widget-button.cta-red .elementor-button,
.elementor-widget-button .elementor-button.cta-red,
a.elementor-button.cta-red{
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  background:var(--color-primary) !important; color:#fff !important;
  border:none !important; box-shadow:none !important;
  font-family:Helvetica,"Helvetica Neue",Arial,sans-serif !important;
  font-weight:600 !important; text-transform:uppercase !important;
  letter-spacing:.35px !important; word-spacing:-0.12em !important; line-height:1 !important;
  min-height:28px !important; font-size:12px !important; padding:10px 18px !important; border-radius:22px !important;
  text-decoration:none !important; transition:all .25s ease !important; outline:none !important;
}
.elementor-widget-button.cta-red .elementor-button .elementor-button-text,
.elementor-widget-button .elementor-button.cta-red .elementor-button-text{ color:inherit !important; }
.elementor-widget-button.cta-red .elementor-button:hover,
.elementor-widget-button .elementor-button.cta-red:hover,
.elementor-widget-button.cta-red .elementor-button:focus,
.elementor-widget-button .elementor-button.cta-red:focus,
.elementor-widget-button.cta-red .elementor-button:active,
.elementor-widget-button .elementor-button.cta-red:active{
  background:#fff !important; color:var(--color-primary) !important;
  border:none !important; box-shadow:0 4px 10px rgba(139,0,0,.16) !important; transform:translateY(-2px) !important;
}
@media (max-width:767px){
  .elementor-widget-button.cta-red .elementor-button,
  .elementor-widget-button .elementor-button.cta-red{
    min-height:26px !important; font-size:9px !important; padding:5px 10px !important; border-radius:16px !important;
    letter-spacing:.28px !important; word-spacing:-0.10em !important;
  }
}

/* --------------------------------
   4) FILTRES (page 3026) — inchangé visuellement
   -------------------------------- */
body.page-id-3026 .filter-btn{ position:relative !important; display:inline-block !important; }
body.page-id-3026 .filter-btn .elementor-button,
body.page-id-3026 [data-filter].elementor-button,
body.page-id-3026 [data-filter] .elementor-button{
  background:#fff !important; color:#000 !important; border:none !important; border-radius:0 !important; box-shadow:none !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  padding:4px 10px !important; margin:0 10px 10px 0 !important;
  min-height:0 !important; height:auto !important; line-height:1 !important;
  min-width:0 !important; width:auto !important; white-space:nowrap !important; text-align:center !important;
  font-family:'Space Grotesk',sans-serif !important; font-size:10.5px !important; font-weight:500 !important; text-transform:uppercase !important; letter-spacing:1px !important;
  transition:none !important;
}
body.page-id-3026 .filter-btn .elementor-button-content-wrapper,
body.page-id-3026 [data-filter] .elementor-button-content-wrapper{
  display:flex !important; align-items:center !important; justify-content:center !important; gap:0 !important; padding:0 !important; margin:0 !important;
  background:transparent !important; border:none !important; border-radius:0 !important; box-shadow:none !important;
}
body.page-id-3026 .filter-btn .elementor-button-text,
body.page-id-3026 [data-filter] .elementor-button-text{
  display:inline-block !important; padding:0 !important; margin:0 !important; background:transparent !important; border:none !important; border-radius:0 !important; box-shadow:none !important;
  color:currentColor !important; font:inherit !important; letter-spacing:inherit !important; text-transform:inherit !important; line-height:1 !important;
}
body.page-id-3026 .filter-btn.active .elementor-button,
body.page-id-3026 [data-filter].active .elementor-button,
body.page-id-3026 .elementor-button[data-filter].active{
  background:#000 !important; color:#fff !important; border:none !important; border-radius:0 !important; box-shadow:none !important; padding:4px 10px !important;
}
body.page-id-3026 .filter-btn .elementor-button:hover,
body.page-id-3026 .filter-btn.active .elementor-button:hover,
body.page-id-3026 [data-filter] .elementor-button:hover,
body.page-id-3026 [data-filter]:hover .elementor-button,
body.page-id-3026 .elementor-button[data-filter]:hover{
  background:inherit !important; color:inherit !important; border:none !important; box-shadow:none !important; transform:none !important;
}
body.page-id-3026 .filter-btn .elementor-button::before,
body.page-id-3026 .filter-btn .elementor-button::after,
body.page-id-3026 [data-filter] .elementor-button::before,
body.page-id-3026 [data-filter] .elementor-button::after{ content:none !important; display:none !important; }
body.page-id-3026 .filter-btn .elementor-button:focus-visible,
body.page-id-3026 [data-filter] .elementor-button:focus-visible{ outline:2px solid #000 !important; outline-offset:2px !important; border-radius:0 !important; }
body.page-id-3026 .filter-btn.active:not([data-filter="all"])::after,
body.page-id-3026 [data-filter].active:not([data-filter="all"])::after{
  content:"✓" !important; position:absolute !important; top:-5px !important; right:-5px !important;
  width:16px !important; height:16px !important; display:flex !important; align-items:center !important; justify-content:center !important;
  background:#fff !important; color:#000 !important; border:1px solid #000 !important; border-radius:50% !important; font-size:10px !important; line-height:1 !important; pointer-events:none !important; z-index:2 !important;
}

/* --------------------------------
   5) TEXTE CATÉGORIES — lisibilité / clamp
   -------------------------------- */
.artist-card .artist-categories,
[data-category] .artist-categories {
  font-size:10px !important; line-height:1.4 !important; white-space:normal !important; word-wrap:break-word !important; max-height:2.8em !important; overflow:hidden !important;
}
@media (max-width:768px){ .artist-card .artist-categories{ font-size:9px !important; } }

body.page-id-3026 .artist-card .artist-categories,
body.page-id-3026 [data-category] .artist-categories{
  font-size:9px !important; line-height:1.5 !important; letter-spacing:.5px !important; white-space:normal !important; word-wrap:break-word !important; max-height:3em !important; overflow:hidden !important; padding:2px 0 !important;
}

/* Catégories (widget is-cat) */
.artist-card .elementor-widget-text-editor.is-cat{
  display:-webkit-box !important; -webkit-box-orient:vertical !important; -webkit-line-clamp:2 !important; overflow:hidden !important;
  white-space:normal !important; word-break:break-word !important; overflow-wrap:anywhere !important;
  font-size:clamp(9px,1.05vw,11px) !important; line-height:1.45 !important; letter-spacing:.4px !important;
  margin:10px 0 14px !important; padding:0 !important; box-sizing:border-box !important;
  flex:0 0 auto !important; align-self:stretch !important; position:static !important;
}
.artist-card .elementor-widget-text-editor.is-cat ~ .elementor-widget-text-editor.is-cat{ display:none !important; }

/* --------------------------------
   6) DESKTOP (≥1200px) — alignements typographiques
   -------------------------------- */
@media (min-width:1200px){
  body.page-id-3026 .artist-card .elementor-widget-wrap{ display:flex !important; flex-direction:column !important; height:100% !important; }
  body.page-id-3026 .artist-card .elementor-widget-button{ margin-top:auto !important; }

  body.page-id-3026 .artist-card .elementor-widget-text-editor.is-cat{
    --cat-lh:1.3;
    font-size:clamp(9.5px,0.95vw,11px) !important; line-height:var(--cat-lh) !important; letter-spacing:.35px !important;
    display:-webkit-box !important; -webkit-box-orient:vertical !important; -webkit-line-clamp:2 !important; overflow:hidden !important; text-overflow:ellipsis !important;
    white-space:normal !important; overflow-wrap:anywhere !important; word-break:break-word !important;
    block-size:calc(2 * 1em * var(--cat-lh)) !important; height:calc(2 * 1em * var(--cat-lh)) !important;
    margin:6px 0 6px !important; padding:0 !important; box-sizing:border-box !important;
  }
  body.page-id-3026 .artist-card .elementor-widget-text-editor.is-cat p{ margin:0 !important; }

  body.page-id-3026 .artist-card .elementor-widget-heading.is-name{ margin:4px 0 2px !important; padding:0 !important; }
  body.page-id-3026 .artist-card .elementor-widget-heading.is-name .elementor-heading-title{ margin:0 !important; line-height:1.1 !important; }

  body.page-id-3026 .artist-card .elementor-widget-text-editor.is-role{ margin:0 0 10px !important; line-height:1.2 !important; padding:0 !important; }
  body.page-id-3026 .artist-card .elementor-widget-text-editor.is-role p{ margin:0 !important; }
}

/* --------------------------------
   7) TABLET (768–1199px) — bouton en flux + espaces maîtrisés
   -------------------------------- */
@media (min-width:768px) and (max-width:1199px){

  /* Squelette carte : colonne + pas de hauteurs fantômes */
  body.page-id-3026 .artist-card .elementor-widget-wrap{
    display:flex !important; flex-direction:column !important;
    min-height:0 !important; height:auto !important;
    position:relative !important; z-index:1 !important; /* le texte reste au-dessus de l'image de fond */
  }

  /* Bloc texte : petit padding bas */
  body.page-id-3026 .artist-card .elementor-element-populated{
    padding-bottom:16px !important; position:static !important;
  }

  /* Catégories : 2 lignes fixes */
  body.page-id-3026 .artist-card .elementor-widget-text-editor.is-cat{
    --cat-lh:1.3;
    font-size:clamp(10px,1.05vw,12px) !important; line-height:var(--cat-lh) !important;
    display:-webkit-box !important; -webkit-box-orient:vertical !important; -webkit-line-clamp:2 !important;
    overflow:hidden !important; text-overflow:ellipsis !important; white-space:normal !important;
    height:calc(2 * 1em * var(--cat-lh)) !important; block-size:calc(2 * 1em * var(--cat-lh)) !important;
    margin:6px 0 6px !important; padding:0 !important; box-sizing:border-box !important;
  }
  body.page-id-3026 .artist-card .elementor-widget-text-editor.is-cat p{ margin:0 !important; }

  /* Nom : 2 lignes max */
  body.page-id-3026 .artist-card .elementor-widget-heading.is-name{ margin:4px 0 0 !important; padding:0 !important; }
  body.page-id-3026 .artist-card .elementor-widget-heading.is-name .elementor-heading-title{
    display:-webkit-box !important; -webkit-box-orient:vertical !important; -webkit-line-clamp:2 !important;
    overflow:hidden !important; text-overflow:ellipsis !important; line-height:1.1 !important;
    height:calc(2 * 1em * 1.1) !important; margin:0 !important;
  }

  /* Métier : 1 ligne compacte */
  body.page-id-3026 .artist-card .elementor-widget-text-editor.is-role{
    white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important;
    line-height:1.2 !important; height:calc(1 * 1em * 1.2) !important;
    margin:2px 0 8px !important; padding:0 !important;
  }

  /* Bouton : dans le flux, parfaitement aligné, sans "grand blanc" */
  body.page-id-3026 .artist-card .elementor-widget-button{
    position:static !important; align-self:flex-start !important;
    margin-top:10px !important; margin-bottom:0 !important;
  }
}

/* --------------------------------
   8) ACCESSOIRES
   -------------------------------- */

/* Kill motion sur la grille Artists (évite les effets invisibles / transform) */
body.page-id-3026 #unique-artist-container *{ transition:none !important; animation:none !important; }
body.page-id-3026 #unique-artist-container [style*="transform"]{ transform:none !important; }
body.page-id-3026 #unique-artist-container .elementor-invisible{ visibility:visible !important; opacity:1 !important; }

/* ===========================
   PAGE 3026 — TABLET ONLY (768–1199px)
   3 colonnes stables + boutons visibles
   =========================== */
@media (min-width:768px) and (max-width:1199px){

  /* 1) Forcer la grille 3 colonnes sur le parent (deux IDs possibles) */
  body.page-id-3026 #unique-artist-container,
  body.page-id-3026 #unique-artist-contain{
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    gap: var(--gap-tablet) !important;           /* 20px par défaut */
    grid-auto-flow: row !important;
    grid-auto-rows: auto !important;
    align-items: start !important;
  }

  /* 2) Neutraliser le width:100% hérité des enfants (cause du 1-colonne) */
  body.page-id-3026 #unique-artist-container > *,
  body.page-id-3026 #unique-artist-contain > *{
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    grid-column: auto / span 1 !important;       /* chaque carte = 1 cellule */
  }

  /* 3) Intérieur carte : colonne naturelle, pas de hauteurs forcées */
  body.page-id-3026 .artist-card{
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    overflow: visible !important;
  }
  body.page-id-3026 .artist-card .elementor-widget-wrap{
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    height: auto !important;
    position: relative !important;
    z-index: 1 !important;                        /* texte au-dessus de l'image bg */
  }

  /* 4) Bloc texte : retirer toute "réserve" d'espace bas */
  body.page-id-3026 .artist-card .elementor-element-populated{
    position: static !important;
    padding-bottom: 0 !important;                 /* annule les 64px historiques */
  }

  /* 5) Bouton : dans le flux, petit espace au-dessus */
  body.page-id-3026 .artist-card .elementor-widget-button{
    position: static !important;
    margin-top: 10px !important;
    margin-bottom: 0 !important;                  /* évite le grand blanc dessous */
    align-self: flex-start !important;
  }

  /* 6) Textes : hauteurs maîtrisées (pas d'effet "dents de scie") */
  body.page-id-3026 .artist-card .elementor-widget-text-editor.is-cat{
    --cat-lh: 1.3;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;             /* 2 lignes max */
    line-height: var(--cat-lh) !important;
    height: calc(2 * 1em * var(--cat-lh)) !important;
    overflow: hidden !important;
    margin: 6px 0 6px !important;
    padding: 0 !important;
  }
  body.page-id-3026 .artist-card .elementor-widget-heading.is-name{
    margin: 4px 0 0 !important; padding: 0 !important;
  }
  body.page-id-3026 .artist-card .elementor-widget-heading.is-name .elementor-heading-title{
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;             /* 2 lignes max */
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.1 !important;
    height: calc(2 * 1em * 1.1) !important;
    margin: 0 !important;
  }
  body.page-id-3026 .artist-card .elementor-widget-text-editor.is-role{
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.2 !important;
    height: calc(1 * 1em * 1.2) !important;       /* 1 ligne compacte */
    margin: 2px 0 8px !important;
    padding: 0 !important;
  }
}

/* =========================================================
   TABLET PATCH (768–1024) — garde padding 12/12/12/12
   et supprime le dépassement du bloc texte+bouton
   ========================================================= */
@media (min-width:768px) and (max-width:1024px){

  /* Carte blanche : on CONSERVE le padding 12px sur les 4 côtés */
  body.page-id-3026 .artist-card{
    background:#fff !important;
    padding:12px !important;                 /* ← padding 12/12/12/12 */
    display:flex !important;
    flex-direction:column !important;
    height:auto !important;                  /* hauteur naturelle */
    overflow:hidden !important;              /* coupe tout débord éventuel */
  }

  /* Le wrap texte remplit l'espace, sans hauteur fantôme */
  body.page-id-3026 .artist-card .elementor-widget-wrap{
    display:flex !important;
    flex-direction:column !important;
    flex:1 1 auto !important;
    min-height:0 !important;
    position:relative !important;
    z-index:1 !important;                    /* texte au-dessus de l'image bg */
  }

  /* Aucune "réserve" en bas du bloc de contenu */
  body.page-id-3026 .artist-card .elementor-element-populated{
    padding-bottom:0 !important;
    margin-bottom:0 !important;
    flex:1 1 auto !important;
  }

  /* Bouton dans le flux, poussé en bas par margin-top:auto */
  body.page-id-3026 .artist-card .elementor-widget-button{
    position:static !important;
    align-self:flex-start !important;
    margin-top:auto !important;              /* plaque le CTA en bas du wrap */
    margin-bottom:0 !important;              /* pas de "ventre" dessous */
  }

  /* Textes clampés pour stabiliser la hauteur */
  body.page-id-3026 .artist-card .elementor-widget-text-editor.is-cat{
    --lh:1.3;
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:2 !important;
    overflow:hidden !important;
    line-height:var(--lh) !important;
    height:calc(2 * 1em * var(--lh)) !important;
    margin:6px 0 6px !important;
    padding:0 !important;
  }
  body.page-id-3026 .artist-card .elementor-widget-heading.is-name{ margin:4px 0 0 !important; padding:0 !important; }
  body.page-id-3026 .artist-card .elementor-widget-heading.is-name .elementor-heading-title{
    display:-webkit-box !important; -webkit-box-orient:vertical !important; -webkit-line-clamp:2 !important;
    overflow:hidden !important; line-height:1.1 !important; height:calc(2 * 1em * 1.1) !important; margin:0 !important;
  }
  body.page-id-3026 .artist-card .elementor-widget-text-editor.is-role{
    white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important;
    line-height:1.2 !important; height:calc(1 * 1em * 1.2) !important; margin:2px 0 8px !important; padding:0 !important;
  }

  /* Sécurité : si un overlay est présent sur la carte, il reste derrière le texte */
  body.page-id-3026 .artist-card > .elementor-background-overlay{ z-index:0 !important; pointer-events:none !important; }
}



/* Forcer l'alignement gauche si un style global centre en mobile */
.hero-overlay .elementor-heading-title{ text-align: left !important; }

/* Responsive paddings */
@media (max-width: 1024px){
  .hero-unit{ --pad: 32px; min-height: clamp(380px, 52vh, 640px); }
}
@media (max-width: 767px){
  .hero-unit{ --pad: 20px; min-height: clamp(320px, 48vh, 560px); }
  /* Option mobile : ratio 16/9 plutôt que min-height
     .hero-unit{ aspect-ratio: 16/9; min-height: auto; } */
}

/* ==============================
   TYPO (NOM + MÉTIER)
   ============================== */

/* NOM — on NE change que l’interlettrage, responsive jusqu’à -3.6px */
.hero-overlay .elementor-widget-heading.this-artist .elementor-heading-title,
.hero-overlay .elementor-widget-heading.this-artist .elementor-widget-container .elementor-heading-title{
  letter-spacing: clamp(-1px, -0.25vw, -3.6px) !important;
}

/* MÉTIER — Playfair Display ONLY + taille fluide réduite */
.hero-overlay .elementor-widget-heading.this-job .elementor-heading-title,
.hero-overlay .elementor-widget-heading.this-job .elementor-widget-container .elementor-heading-title{
  font-family: "Playfair Display" !important;
  font-weight: 400 !important;     /* mets 300 si tu as la Light */
  font-style: normal !important;
  text-transform: none !important;
  line-height: 1.2 !important;
  letter-spacing: .04em !important;
  margin: 6px 0 0 0 !important;

  /* Mobile → Desktop : 18px → 24px */
  font-size: clamp(18px, 1.9vw, 24px) !important;
}

/* ===== EMBEDS SIMPLES (sans wrappers ni zoom) ===== */
.bloc-embed iframe,
.bloc-embed object,
.bloc-embed embed{
  width:100%;
  height:auto;
  display:block;
  border:0;
  aspect-ratio:16/9;
}

.bloc-video iframe,
.bloc-video video{
  width:100%;
  height:auto;
  display:block;
}

.bloc-pdf .pdf-viewer iframe{
  width:100%;
  height:80vh;
  border:0;
  display:block;
}

/* === STYLE DES TAGS EN BAS D’ARTICLE (custom-post-tags) === */
.custom-post-tags a {
    display: inline-block !important;
    padding: 8px 24px !important;
    margin: 5px !important;

    /* Bordure et fond */
    background: var(--site-bg) !important;   /* beige du site */
    border: 1px solid #444 !important;       /* gris foncé */
    border-radius: 30px !important;

    /* Texte */
    color: #000 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;

    /* Transition */
    transition: all 0.25s ease !important;
}

/* Hover : fond blanc + bordure gris foncé + texte noir */
.custom-post-tags a:hover {
    background: #fff !important;
    color: #000 !important;
    border-color: #444 !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08) !important;
    transform: translateY(-1px) !important;
}

/* Mobile : tags plus compacts */
@media (max-width: 767px) {
    .custom-post-tags a {
        padding: 6px 16px !important;
        font-size: 11px !important;
        margin: 3px !important;
    }
}

/* === STYLE DES TAGS EN BAS D’ARTICLE (custom-post-tags) — VERSION RECTANGULAIRE === */

/* Supprimer l'arrondi du conteneur parent */
.custom-post-tags,
.custom-post-tags .elementor-widget-container,
.custom-post-tags > div {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Tags */
.custom-post-tags a {
    display: inline-block !important;
    padding: 8px 20px !important;
    margin: 5px !important;

    /* Bordure et fond */
    background: var(--site-bg) !important;   /* beige du site */
    border: 1px solid #444 !important;       /* gris foncé */
    border-radius: 0 !important;             /* plus d'arrondi */

    /* Texte */
    color: #000 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;

    /* Transition */
    transition: all 0.25s ease !important;
}

/* Hover */
.custom-post-tags a:hover {
    background: #fff !important;
    color: #000 !important;
    border-color: #444 !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08) !important;
    transform: translateY(-1px) !important;
}

/* Mobile */
@media (max-width: 767px) {
    .custom-post-tags a {
        padding: 6px 14px !important;
        font-size: 11px !important;
        margin: 3px !important;
    }
}

/* ===== HERO FINAL (robuste aux wrappers Elementor) ===== */

/* Cadre : 1440px max centré */
.hero-unit{
  --frame: 1440px;
  width: min(100%, var(--frame));
  margin-inline: auto;
  display: grid;
  grid-template-areas: "stack";
  overflow: hidden;
}

/* Étire TOUT premier niveau d'enfants possibles d'Elementor */
.hero-unit > .e-con,
.hero-unit > .elementor-container,
.hero-unit > .elementor-widget,
.hero-unit > *{
  grid-area: stack;
  align-self: stretch !important;
  justify-self: stretch !important;
}

/* Si le hero-overlay est plus bas dans la hiérarchie, on l'étire quand même */
.hero-unit .hero-overlay{
  position: relative;
  width: 100% !important;
  height: 100% !important;
  min-height: auto !important;

  display: flex;
  flex-direction: column;
  justify-content: flex-end;   /* bas */
  align-items: flex-start;     /* gauche */
  gap: 8px;

  padding: 0 40px 40px;        /* desktop */
  box-sizing: border-box;
  z-index: 2;
}

/* Vidéo plein cadre */
.hero-unit .hero-overlay .elementor-background-video-container{
  position: absolute; inset: 0; width: 100%; height: 100%; overflow: hidden; z-index: 1;
}
.hero-unit .hero-overlay .elementor-background-video-container video,
.hero-unit .hero-overlay .elementor-background-video-embed{
  width: 100%; height: 100%; object-fit: cover;
}
.hero-unit .hero-overlay .elementor-widget{ position: relative; z-index: 2; }
.hero-unit .hero-overlay .elementor-background-video-container,
.hero-unit .hero-overlay .elementor-background-video-embed{ pointer-events: none; }

/* Air latéral responsive */
@media (max-width:1024px){ .hero-unit .hero-overlay{ padding: 0 28px 28px; } }
@media (max-width:767px){  .hero-unit .hero-overlay{ padding: 0 20px 20px; } }

.hero-unit{ outline:2px dashed #0af; }
.hero-unit .hero-overlay{ outline:2px dashed #f0a; }

/* ===== Fix desktop & tablet — hauteur de référence + wrappers ===== */

/* 1) Hauteur du HERO par device (à ajuster si tu veux) */
.hero-unit{ min-height: 520px !important; }                    /* desktop ≥1200 */
@media (min-width:768px) and (max-width:1199px){
  .hero-unit{ min-height: 380px !important; }                  /* tablet */
}
@media (max-width:767px){
  .hero-unit{ min-height: 280px !important; }                  /* mobile */
}

/* 2) Wrappers Elementor entre .hero-unit et .hero-overlay à 100% */
.hero-unit > .e-con,
.hero-unit > .elementor-container,
.hero-unit > .elementor-widget,
.hero-unit > .e-con > .e-con-inner{
  height: 100% !important;
  align-self: stretch !important;
  justify-self: stretch !important;
}

/* 3) L’overlay doit hériter de cette hauteur */
.hero-unit .hero-overlay{
  height: 100% !important;
}

/* ===== GALERIE ACF (Shortcode) — fond, images, boutons ===== */

/* Fond = couleur du site */
.bloc-galerie-slider .swiper{
  --swiper-h: clamp(240px, 56vw, 560px);
  width:100%;
  height:var(--swiper-h) !important;
  background: var(--site-bg, #f2f1ef) !important;
  margin:0 auto;
}

/* Slides centrés + images visibles en entier */
.bloc-galerie-slider .swiper .swiper-wrapper,
.bloc-galerie-slider .swiper .swiper-slide{ height:var(--swiper-h) !important; }
.bloc-galerie-slider .swiper .swiper-slide{
  display:flex !important; align-items:center !important; justify-content:center !important; overflow:hidden !important;
}
.bloc-galerie-slider .swiper .swiper-slide img{
  width:100%; height:100%; object-fit:contain; display:block;
}

/* Boutons style "tags" + MAJUSCULES */
.bloc-galerie-slider .swiper .swiper-button-prev,
.bloc-galerie-slider .swiper .swiper-button-next{
  position:absolute; top:50%; transform:translateY(-50%);
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  background: var(--site-bg, #f2f1ef) !important;
  color:#000 !important; border:1px solid #000 !important; border-radius:0 !important;
  padding:6px 20px !important; width:auto !important; height:auto !important; line-height:1 !important;
  z-index:20; --swiper-navigation-size:0 !important; /* neutralise la taille icône */
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
}
.bloc-galerie-slider .swiper .swiper-button-prev{ left:12px !important; }
.bloc-galerie-slider .swiper .swiper-button-next{ right:12px !important; }

/* Texte des boutons — forcer la police & les MAJUSCULES (Swiper met "none !important") */
.bloc-galerie-slider .swiper .swiper-button-prev::after,
.bloc-galerie-slider .swiper .swiper-button-next::after{
  content:"PREVIOUS" !important;
  font-family: inherit !important;
  font-weight:600 !important;
  font-size:12px !important;
  letter-spacing:1px !important;
  text-transform: uppercase !important;  /* ← override l’anti-uppercase de Swiper */
  line-height:1 !important;
}
.bloc-galerie-slider .swiper .swiper-button-next::after{ content:"NEXT" !important; }

/* Hover (mêmes codes que tes tags) */
.bloc-galerie-slider .swiper .swiper-button-prev:hover,
.bloc-galerie-slider .swiper .swiper-button-next:hover{
  background:#fff !important; border-color:#444 !important;
  box-shadow:0 2px 6px rgba(0,0,0,.08) !important;
  transform:translateY(-50%) translateY(-1px) !important;
}

/* Mobile : compact + libellés courts */
@media (max-width:767px){
  .bloc-galerie-slider .swiper .swiper-button-prev,
  .bloc-galerie-slider .swiper .swiper-button-next{ padding:4px 12px !important; }
  .bloc-galerie-slider .swiper .swiper-button-prev::after{ content:"PREV" !important; }
  .bloc-galerie-slider .swiper .swiper-button-next::after{ content:"NEXT" !important; }
}

/* Style pour le bloc intro ACF */
.bloc-intro {
  font-family: 'Roboto Mono', monospace !important;
  font-weight: 400 !important;
  color: #333 !important;
  text-align: left !important;
  line-height: 1.5 !important;
  letter-spacing: -0.02em !important;
  
  /* Desktop */
  font-size: 13px !important;
  margin: 60px 0 20px 0 !important;  /* Plus d'espace en haut (60px), moins en bas (20px) */
  max-width: 700px !important;
  padding: 0 !important;
  display: block !important;
}

/* Cibler aussi les paragraphes à l'intérieur */
.bloc-intro p {
  font-family: 'Roboto Mono', monospace !important;
  margin: 0 0 10px 0 !important;
  text-align: left !important;
}

/* Tablet */
@media (max-width: 1024px) {
  .bloc-intro {
    font-size: 12px !important;
    margin: 50px 0 15px 0 !important;  /* Ajusté proportionnellement */
    padding: 0 !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .bloc-intro {
    font-size: 11px !important;
    margin: 40px 0 15px 0 !important;  /* Ajusté proportionnellement */
    padding: 0 !important;
  }
}

/* =========================================================
   BREADCRUMB — Rank Math
   Portée : tout widget portant la classe CSS `breadcrumb-custom`
   ========================================================= */

/* DESKTOP — typo & style de base */
.breadcrumb-custom,
.breadcrumb-custom *,
.breadcrumb-custom .rank-math-breadcrumb,
.breadcrumb-custom .rank-math-breadcrumb *,
.breadcrumb-custom p,
.breadcrumb-custom span{
  font-family:'Roboto Mono', monospace !important;
  font-size:12px !important;
  font-weight:400 !important;
  text-transform:uppercase !important;
  letter-spacing:1.5px !important;
  line-height:1.6 !important;
  color:#1d1d1b !important;
}

/* Liens */
.breadcrumb-custom a{
  color:#1d1d1b !important;
  text-decoration:none !important;
}
.breadcrumb-custom a:hover{ color:#8b0000 !important; }

/* Dernier élément en rouge */
.breadcrumb-custom > span:last-child,
.breadcrumb-custom .last{ color:#8b0000 !important; }

/* Structure compacte (flex) */
.breadcrumb-custom .rank-math-breadcrumb{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:0 !important;
}

/* Éléments individuels : marges serrées */
.breadcrumb-custom span,
.breadcrumb-custom a{
  margin:0 !important;
  padding:0 2px !important;
}

/* Séparateur “|” avec espacement contrôlé */
.breadcrumb-custom .separator,
.breadcrumb-custom span.separator{
  margin:0 10px !important;
  padding:0 !important;
}

/* Supprimer espaces parasites des <p> éventuels */
.breadcrumb-custom p{
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  gap:0 !important;
}

/* No-wrap (desktop & tablet) */
@media (min-width:768px){
  .breadcrumb-custom .rank-math-breadcrumb > *,
  .breadcrumb-custom p > *{ white-space:nowrap !important; }
}

/* TABLET */
@media (max-width:1024px){
  .breadcrumb-custom,
  .breadcrumb-custom *{
    font-size:11px !important;
    letter-spacing:1.2px !important;
  }
  .breadcrumb-custom .separator{ margin:0 8px !important; }
}

/* MOBILE — autoriser le retour à la ligne + ajuster les espacements */
@media (max-width:767px){
  .breadcrumb-custom,
  .breadcrumb-custom *{
    font-size:10px !important;
    letter-spacing:1px !important;
  }
  /* autoriser le wrap sur mobile */
  .breadcrumb-custom .rank-math-breadcrumb,
  .breadcrumb-custom p{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    line-height:1.8 !important;
  }
  .breadcrumb-custom .rank-math-breadcrumb > *,
  .breadcrumb-custom p > *,
  .breadcrumb-custom span,
  .breadcrumb-custom a{
    white-space:normal !important;
    display:inline !important;
  }
  .breadcrumb-custom .separator{ margin:0 5px !important; }
  .breadcrumb-custom a,
  .breadcrumb-custom span{ padding:2px 1px !important; }
}

/* =========================================================
   FEATURED IMAGE — Image mise en avant des articles
   Portée : widget avec classe CSS `featured-image-custom`
   ========================================================= */

.single-post .featured-image-custom{
  max-width:1440px;
  margin:0 auto;
  display:block;
}

.single-post .featured-image-custom img{
  width:100%;
  height:300px;
  object-fit:cover;
  object-position:center;
}

/* Responsive Tablet */
@media (max-width:1024px){
  .single-post .featured-image-custom img{ height:250px; }
}

/* Responsive Mobile */
@media (max-width:767px){
  .single-post .featured-image-custom img{ height:200px; }
}

/* =========================================================
   POST INFO — ciblé par ID (#post-info)
   ========================================================= */

/* Position (optionnel : à supprimer si tu préfères gérer la position dans Elementor) */
#post-info{
  position: absolute !important;
  top: 30px !important;
  left: 30px !important;
  z-index: 999 !important;
}

/* Typo et style validés */
#post-info,
#post-info *,
#post-info .elementor-post-info,
#post-info .elementor-post-info *,
#post-info span,
#post-info time{
  font-family: Helvetica, Arial, sans-serif !important;
  font-weight: 700 !important;
  font-size: 24px !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: #ffffff !important; /* par défaut : blanc */
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  text-shadow: none !important;
}

/* Supprimer l’icône */
#post-info .elementor-icon{ display:none !important; }

/* Variante noire via ACF → ajoute "dark" dans Classe CSS du widget */
#post-info.dark *,
#post-info.dark time{
  color: #000000 !important;
}

/* Tablet */
@media (max-width:1024px){
  #post-info{
    top: 20px !important;
    left: 20px !important;
    right: 20px !important;
    max-width: calc(100% - 40px) !important;
  }
  #post-info *{ font-size: 20px !important; }
}

/* Mobile */
@media (max-width:767px){
  #post-info{
    top: 15px !important;
    left: 15px !important;
    right: 15px !important;
    max-width: calc(100% - 30px) !important;
  }
  #post-info *{ font-size: 16px !important; }
}

/* =========================================================
   POST TERMS — catégories multi-mots (style custom)
   Portée : widget Text Editor avec classe .post-terms-custom
   ========================================================= */

/* Conteneur des termes */
.post-terms-custom .elementor-post-terms-list{
  display:flex !important;
  align-items:center !important;
  gap:0 !important;
}

/* Liens */
.post-terms-custom a{
  font-family:'Roboto Mono', monospace !important;
  font-size:12px !important;
  font-weight:400 !important;
  text-transform:uppercase !important;
  letter-spacing:1.5px !important;
  color:#1d1d1b !important;
  text-decoration:none !important;
  margin:0 !important;
  padding:0 !important;
  word-spacing:0.3em !important; /* espace normal entre mots */
}

/* Séparateur | entre catégories */
.post-terms-custom a:not(:last-child)::after{
  content:"|" !important;
  display:inline-block !important;
  margin:0 20px !important;
  color:#1d1d1b !important;
  font-weight:300 !important;
  letter-spacing:0 !important;
}

/* Hover */
.post-terms-custom a:hover{ color:#8b0000 !important; }

/* TABLET */
@media (max-width:1024px){
  .post-terms-custom a{
    font-size:11px !important;
    word-spacing:0.25em !important;
  }
  .post-terms-custom a:not(:last-child)::after{ margin:0 15px !important; }
}

/* MOBILE */
@media (max-width:767px){
  .post-terms-custom a{
    font-size:10px !important;
    word-spacing:0.2em !important;
  }
  .post-terms-custom a:not(:last-child)::after{ margin:0 12px !important; }
}

/* =========================================================
   POST TITLE — responsive avec interlettrage serré
   Portée : widget avec classe .post-title-custom
   ========================================================= */

/* Desktop (≥ 1025px) */
@media (min-width:1025px){
  .post-title-custom .elementor-heading-title{
    text-transform:uppercase !important;
    color:#302a2b !important;
    font-size:32px !important;
    font-weight:700 !important;
    letter-spacing:-2.6px !important;
    line-height:1.2 !important;
  }
}

/* Tablet (768px – 1024px) */
@media (min-width:768px) and (max-width:1024px){
  .post-title-custom .elementor-heading-title{
    text-transform:uppercase !important;
    color:#302a2b !important;
    font-size:28px !important;
    font-weight:700 !important;
    letter-spacing:-2px !important;
    line-height:1.2 !important;
  }
}

/* Mobile (≤ 767px) */
@media (max-width:767px){
  .post-title-custom .elementor-heading-title{
    text-transform:uppercase !important;
    color:#302a2b !important;
    font-size:22px !important;
    font-weight:700 !important;
    letter-spacing:-1.5px !important;
    line-height:1.2 !important;
  }
}

/* Fallback commun (si pas de media query) */
.post-title-custom .elementor-heading-title{
  text-transform:uppercase !important;
  color:#302a2b !important;
  font-weight:700 !important;
  letter-spacing:-2.6px !important;
  line-height:1.2 !important;
}

/* =========================================================
   BLOCS FLEXIBLES — TYPO + STYLES
   Portée : wrapper .blocs-article-content
   ========================================================= */

/* Corps en Playfair, sauf liens et figcaption */
.blocs-article-content,
.blocs-article-content *:not(a):not(figcaption){
  font-family:'Playfair Display', serif !important;
  font-size:14px !important;
  font-weight:400 !important;
  line-height:1.8 !important;
  color:#1d1d1b !important;
  text-transform:none !important;
  letter-spacing:0.2px !important;
  text-align:justify !important;
}

/* Liens */
.blocs-article-content a{
  font-family:'Roboto Mono', monospace !important;
  text-decoration:underline !important;
  color:#1d1d1b !important;
}
.blocs-article-content a:hover{ color:#8b0000 !important; }

/* Légendes */
.blocs-article-content figcaption,
.blocs-article-content .bloc-image figcaption{
  font-family:'Roboto Mono', monospace !important;
  font-style:italic !important;
  font-size:13px !important;
  line-height:1.4 !important;
  color:#666 !important;
  margin-top:10px !important;
}

/* Mobile */
@media (max-width:767px){
  .blocs-article-content,
  .blocs-article-content *:not(a):not(figcaption){
    font-size:13px !important;
    line-height:1.7 !important;
  }
  .blocs-article-content figcaption{ font-size:12px !important; }
}

/* =========================================================
   SWIPER NAV — Boutons Prev/Next (galerie)
   ========================================================= */

.blocs-article-content .bloc-galerie-slider .swiper .swiper-button-prev,
.blocs-article-content .bloc-galerie-slider .swiper .swiper-button-next{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  background:#fff !important;
  color:#111 !important;
  border:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:4px 10px !important;
  width:auto !important;
  height:auto !important;
  line-height:1 !important;
  font-size:12px !important;
  font-weight:500 !important;
  font-family:Helvetica, Arial, sans-serif !important;
  text-transform:uppercase !important;
  letter-spacing:1px !important;
  z-index:10;
  --swiper-navigation-size:0 !important;
}

.blocs-article-content .bloc-galerie-slider .swiper .swiper-button-prev{ left:12px !important; }
.blocs-article-content .bloc-galerie-slider .swiper .swiper-button-next{ right:12px !important; }

/* Remplacer l’icône par du texte */
.blocs-article-content .bloc-galerie-slider .swiper .swiper-button-prev::after,
.blocs-article-content .bloc-galerie-slider .swiper .swiper-button-next::after{
  background:none !important;
  -webkit-mask:none !important;
  mask:none !important;
  font:inherit !important;
  content:"Previous" !important;
}
.blocs-article-content .bloc-galerie-slider .swiper .swiper-button-next::after{ content:"Next" !important; }

/* Mobile : boutons compacts */
@media (max-width:767px){
  .blocs-article-content .bloc-galerie-slider .swiper .swiper-button-prev,
  .blocs-article-content .bloc-galerie-slider .swiper .swiper-button-next{
    padding:3px 6px !important;
    font-size:11px !important;
  }
  .blocs-article-content .bloc-galerie-slider .swiper .swiper-button-prev::after{ content:"Prev" !important; }
  .blocs-article-content .bloc-galerie-slider .swiper .swiper-button-next::after{ content:"Next" !important; }
}

/* ===== Layout général Contact ===== */
.contact-wrap{
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 64px;
}
.contact-wrap .contact-col{ flex: 0 0 36%; }
.contact-wrap .form-col{ flex: 1 1 64%; }

/* Responsive */
@media (max-width: 1024px){
  .contact-wrap{ flex-direction: column; gap: 32px; padding: 0 20px; }
  .contact-wrap .contact-col,
  .contact-wrap .form-col{ flex: 1 1 100%; }
}

/* ===== Carte visuel + formulaire ===== */
#agency-frame{
  position: relative;
  /* largeur/hauteur de la plaque */
  --visual-max: 980px;                    /* ↑ passe à 1200px si tu veux plus grand */
  width: min(100%, var(--visual-max));
  margin: 0 auto;
  aspect-ratio: 16 / 9;                   /* image 1920×1080 */
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-color: #f4efe9;              /* beige de secours */
  padding: clamp(16px, 2.2vw, 28px);
}

/* Position du formulaire sur la plaque (flux normal, pas d'absolu) */
#agency-frame .elementor-widget-form{
  /* largeur du formulaire et calage sous le logo */
  max-width: 720px;
  /* left / top : ajuste selon la DA */
  margin-left: clamp(24px, 8vw, 180px);
  margin-top: clamp(90px, 10vw, 150px);
}

/* ===== Contacts (reprend tes règles en les resserrant un peu) ===== */
.agency-contacts{ line-height: 1.1 !important; }

.agency-contacts h3{
  margin: 0 0 2px !important;
  font-family: Helvetica, Arial, sans-serif !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: -1.5px !important;
  line-height: 1.1 !important;
  color: #8B0000 !important;
  font-size: 18px !important;
}
.agency-contacts .mail{ margin: 0 0 1px !important; }
.agency-contacts .mail a,
.agency-contacts .tel a{
  font-family: 'Roboto Mono', monospace !important;
  font-size: 12px !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  color: #1d1d1b !important;
  text-decoration: none !important;
}
.agency-contacts .mail a:hover,
.agency-contacts .tel a:hover{ color: #8B0000 !important; }
.agency-contacts .tel{ margin: 0 !important; }
.agency-contacts .addr{
  font-family: 'Roboto Mono', monospace !important;
  font-size: 13px !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  color:#1d1d1b !important;
  margin: 2px 0 0 !important;
  line-height: 1.3 !important;
}

/* ===== Form fields (manuscrit rouge) ===== */
.agency-form-visual .elementor-field-label{
  display:block;
  font: 700 12px/1.2 Helvetica, Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: 1px;
  color:#1d1d1b;
  margin: 0 0 6px;
}
.agency-form-visual .elementor-field{
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #1d1d1b !important;
  border-radius: 0 !important;
  color: #8B0000 !important;
  font-family: "Belmonte Ballpoint Cursive","Caveat","Homemade Apple",cursive !important; /* ta police manuscrite */
  font-size: 20px !important;
  line-height: 1.3 !important;
  padding: 6px 8px !important;
  outline: none !important;
  box-shadow: none !important;
  caret-color: #8B0000 !important;
}
.agency-form-visual .elementor-field::placeholder{
  color:#8B0000 !important;
  font-family:"Belmonte Ballpoint Cursive","Caveat","Homemade Apple",cursive !important;
  font-size:20px !important;
}

/* Textarea à cadre complet */
.agency-form-visual textarea{
  border: 1px solid #1d1d1b !important;
  min-height: 120px;
  resize: none !important;
}

/* Bouton cohérent */
.agency-form-visual .elementor-button{
  background:#8B0000 !important; color:#fff !important;
  border:1px solid #8B0000 !important; border-radius:0 !important;
  padding:10px 22px !important;
  font:700 12px/1 Helvetica,Arial,sans-serif !important;
  text-transform:uppercase; letter-spacing:1px;
}
.agency-form-visual .elementor-button:hover{
  background:#fff !important; color:#8B0000 !important;
}

/* ===== Contacts : reset + style compact stable ===== */
.agency-contacts{
  line-height: 1.25 !important;            /* plus sûr qu’1.1 en front */
}
.agency-contacts h3{
  margin: 0 0 4px !important;
  font-family: Helvetica, Arial, sans-serif !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: -1.2px !important;       /* léger serrage, pas trop */
  line-height: 1.15 !important;
  color: #8B0000 !important;
  font-size: 18px !important;
}
.agency-contacts p{                        /* force 1 bloc par ligne */
  margin: 0 0 3px !important;
  padding: 0 !important;
  display: block !important;
  white-space: normal !important;
}
.agency-contacts .mail a,
.agency-contacts .tel a{
  font-family: 'Roboto Mono', monospace !important;
  font-size: 12px !important;
  letter-spacing: .02em !important;
  word-spacing: .12em !important;
  text-transform: uppercase !important;
  color: #1d1d1b !important;
  text-decoration: none !important;
}
.agency-contacts .mail a:hover,
.agency-contacts .tel a:hover{ color:#8B0000 !important; }

.agency-contacts .addr{
  font: 400 13px/1.3 'Roboto Mono', monospace !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  color:#1d1d1b !important;
  margin: 2px 0 0 !important;
}

/* largeur/hauteur du cadre visuel (à garder) */
#agency-frame{
  position: relative;
  --visual-max: 1120px;                    /* ↑ augmente si tu veux plus large */
  width: min(100%, var(--visual-max));
  margin: 0 auto;
  aspect-ratio: 16 / 9;                    /* image 1920×1080 */
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-color: #f4efe9;
  padding: clamp(16px, 2.2vw, 28px);       /* marge interne responsive */
}

/* position du Form dans la plaque */
#agency-frame .elementor-widget-form{
  max-width: 720px;                        /* largeur du bloc form */
  margin-left: clamp(24px, 8vw, 180px);    /* décalage horizontal */
  margin-top:  clamp(60px, 8vw, 120px);    /* décalage vertical sous la photo */
}

#agency-frame{ --visual-max: 980px; }   /* au lieu de 1120 ou 1200 */

#agency-frame{ padding: clamp(12px, 1.6vw, 22px); }


/* ====== CONTACTS — reset anti-chevauchement + style cohérent ====== */
.agency-contacts{
  /* interlignage sûr pour le rendu public */
  line-height: 1.28 !important;
  /* annule d'éventuels effets du thème */
  text-shadow: none !important;
  mix-blend-mode: normal !important;
}
.agency-contacts *{
  line-height: inherit !important;
  text-shadow: none !important;
  transform: none !important;
  mix-blend-mode: normal !important;
}

/* chaque ligne est un bloc, sans br parasites */
.agency-contacts p{
  display: block !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  white-space: normal !important;
  word-break: normal !important;
}

/* NOMS — helvetica rouge, bien lisible */
.agency-contacts h3{
  margin: 0 0 6px !important;
  font-family: Helvetica, Arial, sans-serif !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: -1.2px !important;   /* léger serrage safe */
  line-height: 1.15 !important;
  color: #8B0000 !important;
  font-size: 18px !important;
}

/* LIGNES INFO — email, tel, adresse : même taille/typo */
.agency-contacts .mail a,
.agency-contacts .tel a,
.agency-contacts .addr{
  font-family: 'Roboto Mono', monospace !important;
  font-size: 12px !important;          /* ← taille unifiée */
  line-height: 1.3 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
  color: #1d1d1b !important;
  text-decoration: none !important;
}

/* léger espacement entre groupes du numéro, pas entre chiffres */
.agency-contacts .tel a{
  letter-spacing: 0 !important;
  word-spacing: .12em !important;
}

/* survol uniquement pour les liens, pas l’adresse */
.agency-contacts .mail a:hover,
.agency-contacts .tel a:hover{
  color: #8B0000 !important;
}

/* espace entre les fiches (Laetitia / Benoit / Agence) */
.agency-contacts .contact{ margin: 0 0 18px !important; }

/* sécurité : si Elementor a injecté une animation d'entrée */
.agency-contacts [class*="elementor-invisible"]{
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
}

.se-date {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 6px 10px;
  border-radius: 3px;
  font-weight: bold;
  text-transform: uppercase;
}

.se-date.white { color: #fff; background: transparent; }
.se-date.black { color: #000; background: transparent; }

/* =========================================
   STORIES & EXPLORE — DATE BADGE (OVERRIDE)
   ========================================= */

/* Le parent visuel doit être en relatif */
.se-media { position: relative !important; }

/* Wrapper du badge (autour du widget Post Info) */
.se-date {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 6px 10px;
  border-radius: 3px;
  font-weight: 700;
  text-transform: uppercase;
}

/* OVERRIDE la couleur de #post-info (qui a !important) */
.se-date[data-badge="black"] #post-info,
.se-date[data-badge="black"] #post-info *,
.se-date.black #post-info,
.se-date.black #post-info *{
  color: #000 !important;
}

.se-date[data-badge="white"] #post-info,
.se-date[data-badge="white"] #post-info *,
.se-date.white #post-info,
.se-date.white #post-info *{
  color: #fff !important;
}

/* Hériter la couleur si la date est un lien */
.se-date a { color: inherit !important; }

/* Force les cartes du Loop Grid à remplir correctement la colonne *//* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Roboto-Regular';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://aecreative.paris/wp-content/uploads/2025/08/Roboto-Regular.ttf') format('truetype');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Roboto-Bold';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://aecreative.paris/wp-content/uploads/2025/08/Roboto-Bold.ttf') format('truetype');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'RobotoSlab-Bold';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://aecreative.paris/wp-content/uploads/2025/08/RobotoSlab-Bold.ttf') format('truetype');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'RobotoSlab-Medium';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://aecreative.paris/wp-content/uploads/2025/08/RobotoSlab-Medium-1.ttf') format('truetype');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'RobotoSlab-Regular';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://aecreative.paris/wp-content/uploads/2025/08/RobotoSlab-Regular.ttf') format('truetype');
}
/* End Custom Fonts CSS */