/*
Theme Name: Inspiro Modern
Theme URI: https://local.dev/inspiro-modern
Description: Child theme moderne pour Inspiro : design premium, motif “Accueil ultra” (2 artistes + 4 activités) dans l’éditeur.
Author: Local Custom
Template: inspiro
Version: 1.5.0
Text Domain: inspiro-modern
*/

:root {
  --modern-bg: #f2f5ff;
  --modern-surface: #ffffff;
  --modern-surface-2: #f8faff;
  --modern-text: #0f172a;
  --modern-muted: #5f6c85;
  --modern-accent: #5b4df6;
  --modern-accent-2: #a04dff;
  --modern-accent-3: #18b6f6;
  --im-mobile-edge: 0.65rem;
  --im-mobile-gap: 0.65rem;
  --im-banner-radius: 16px;
  --modern-radius: 18px;
  --modern-shadow: 0 16px 40px rgba(15, 23, 42, 0.1);
  --modern-shadow-soft: 0 10px 26px rgba(15, 23, 42, 0.06);
  --modern-border: 1px solid rgba(15, 23, 42, 0.09);
  /* Activités : marges identiques pour les 4 cartes */
  --im-activity-pad-x: clamp(1rem, 3vw, 1.5rem);
  --im-activity-pad-y: clamp(0.85rem, 2vw, 1.25rem);
  --im-activity-body-pad: clamp(1rem, 2.5vw, 1.5rem);
  --im-activity-text-gap: 0.65rem;
  --im-activity-cover-min: clamp(200px, 28vw, 320px);
}

html {
  scroll-behavior: smooth;
}

body {
  background:
    radial-gradient(circle at 10% -10%, rgba(160, 77, 255, 0.18), transparent 40%),
    radial-gradient(circle at 90% 5%, rgba(24, 182, 246, 0.18), transparent 35%),
    var(--modern-bg);
  color: var(--modern-text);
  font-family: "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  line-height: 1.65;
}

a {
  color: var(--modern-accent);
  text-underline-offset: 3px;
  transition: color 0.25s ease;
}

a:hover,
a:focus {
  color: var(--modern-accent-2);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--modern-text);
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.site-content,
.entry-content,
.page-content {
  font-size: 1.03rem;
}

.site-header,
.site-footer {
  backdrop-filter: blur(6px);
}

.site-header {
  background: rgba(255, 255, 255, 0.76);
  border-bottom: 1px solid rgba(91, 77, 246, 0.14);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

/*
 * Inspiro place le menu dans #site-navigation.navbar avec fond #101010.
 * On force une barre claire (y compris au scroll et sur pages avec média héro).
 */
#masthead.site-header #site-navigation.navbar {
  background: rgba(255, 255, 255, 0.88);
  color: var(--modern-text);
  background-image: none;
}

#masthead.site-header.headroom--not-top #site-navigation.navbar,
body.has-header-image #masthead.site-header.headroom--not-top #site-navigation.navbar,
body.has-header-video #masthead.site-header.headroom--not-top #site-navigation.navbar {
  background: rgba(255, 255, 255, 0.95);
  color: var(--modern-text);
}

body.has-header-image #masthead.site-header.headroom--top #site-navigation.navbar,
body.has-header-video #masthead.site-header.headroom--top #site-navigation.navbar {
  background: rgba(255, 255, 255, 0.88);
  color: var(--modern-text);
  backdrop-filter: blur(8px);
}

#masthead.site-header #site-navigation.navbar a {
  color: inherit;
}

#masthead.site-header #site-navigation.navbar .navbar-nav > li > a:hover,
#masthead.site-header #site-navigation.navbar .navbar-nav > li > a:focus {
  color: var(--modern-accent);
  opacity: 1;
  border-bottom-color: rgba(91, 77, 246, 0.45);
}

#masthead.site-header #site-navigation.navbar .navbar-nav > li.current-menu-item > a,
#masthead.site-header #site-navigation.navbar .navbar-nav > li.current_page_item > a,
#masthead.site-header #site-navigation.navbar .navbar-nav > li.current-menu-parent > a {
  border-bottom-color: rgba(91, 77, 246, 0.55);
}

#masthead.site-header #site-navigation.navbar .navbar-nav .menu-item-has-children .svg-icon {
  fill: currentColor;
}

#masthead.site-header #site-navigation.navbar .navbar-toggle .icon-bar {
  background-color: var(--modern-text);
}

#masthead.site-header #site-navigation.navbar .navbar-toggle:hover .icon-bar {
  background-color: var(--modern-accent);
}

.main-navigation a,
.site-header a {
  font-weight: 600;
}

.custom-logo-link img {
  max-height: 52px;
}

.site-main .entry,
.site-main article,
.widget,
.wp-block-group,
.wp-block-columns {
  background: var(--modern-surface);
  border-radius: var(--modern-radius);
}

.site-main .entry,
.site-main article,
.wp-block-group,
.wp-block-columns {
  box-shadow: var(--modern-shadow-soft);
  border: var(--modern-border);
}

/* Covers premium accueil uniquement (pas les bannières pages activités) */
.im-premium-artist-cover,
.im-premium-activity-cover {
  background: var(--modern-surface);
  border-radius: var(--modern-radius);
  box-shadow: var(--modern-shadow-soft);
  border: var(--modern-border);
}

.site-main .entry,
.site-main article {
  padding: clamp(1.1rem, 2.4vw, 2rem);
}

.site-main article:hover,
.site-main .entry:hover {
  transform: translateY(-2px);
  box-shadow: var(--modern-shadow);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

/* Hero premium : grands covers pleine largeur (hors cartes artiste et bannières activités) */
.wp-block-cover.alignfull:not(.im-premium-artist-cover):not(.im-premium-activity-cover) {
  position: relative;
  overflow: hidden;
  border-radius: 0 0 26px 26px;
}

.wp-block-cover.alignfull:not(.im-premium-artist-cover):not(.im-premium-activity-cover)::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(120deg, rgba(15, 23, 42, 0.58), rgba(91, 77, 246, 0.32));
  pointer-events: none;
}

.wp-block-cover.alignfull:not(.im-premium-artist-cover):not(.im-premium-activity-cover) .wp-block-cover__inner-container {
  position: relative;
  z-index: 2;
}

.wp-block-button__link,
button,
input[type="submit"],
.button,
.btn {
  border-radius: 999px;
  border: none;
  background: linear-gradient(120deg, var(--modern-accent), var(--modern-accent-2));
  color: #ffffff;
  font-weight: 700;
  padding: 0.75rem 1.3rem;
  box-shadow: 0 12px 26px rgba(91, 77, 246, 0.32);
  transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.wp-block-button__link:hover,
button:hover,
input[type="submit"]:hover,
.button:hover,
.btn:hover {
  filter: brightness(1.05);
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(91, 77, 246, 0.36);
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="number"],
input[type="password"],
textarea,
select {
  border-radius: 12px;
  border: 1px solid rgba(16, 22, 35, 0.15);
  background: #fff;
}

input:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: rgba(79, 70, 229, 0.5);
  box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15);
}

.widget {
  border: var(--modern-border);
  box-shadow: var(--modern-shadow-soft);
  padding: 1rem 1.1rem;
}

.site-footer {
  background: linear-gradient(145deg, #0f172a, #1f2a44);
  color: #dbe5ff;
}

.site-footer a {
  color: #b9c8ff;
}

.site-footer a:hover {
  color: #ffffff;
}

/* Premium cards for portfolio/activity grids */
.wp-block-latest-posts li,
.portfolio-grid .portfolio_item,
.wpzoom-portfolio-entry,
.wp-block-post {
  background: linear-gradient(165deg, #ffffff 0%, var(--modern-surface-2) 100%);
  border: var(--modern-border);
  border-radius: 16px;
  box-shadow: var(--modern-shadow-soft);
  overflow: hidden;
}

.wp-block-latest-posts li:hover,
.portfolio-grid .portfolio_item:hover,
.wpzoom-portfolio-entry:hover,
.wp-block-post:hover {
  transform: translateY(-4px);
  box-shadow: var(--modern-shadow);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

/* Better readability for artist/activity sections */
.entry-content p,
.entry-content li,
.wp-block-paragraph,
.wp-block-list li {
  color: #23304a;
}

.entry-content h2,
.entry-content h3,
.wp-block-heading {
  margin-top: 1.2em;
  margin-bottom: 0.5em;
}

.wp-block-separator,
hr {
  border: 0;
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(91, 77, 246, 0.3), transparent);
}

/* Smooth interactions */
a,
button,
input,
textarea,
select,
.wp-block-image img,
.portfolio-grid .portfolio_item img {
  transition: all 0.22s ease;
}

.wp-block-image img:hover,
.portfolio-grid .portfolio_item img:hover {
  transform: scale(1.02);
}

/* --------- Motif “Accueil ultra” (sections 2 artistes + 4 activités) --------- */

/*
 * Inspiro : .entry-content > .alignfull (100vw + marges négatives) peut décaler tout le
 * groupe si le conteneur n’est pas exactement centré dans la fenêtre. On recentre le shell.
 */
.site-main .entry-content > .im-premium-shell.alignfull,
.site-main .entry-content .wp-block-group.alignfull.im-premium-shell {
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100%;
  max-width: min(1180px, calc(100vw - 2rem));
  box-sizing: border-box;
  position: relative;
  left: auto;
  right: auto;
}

@media (max-width: 920px) {
  .site-main .entry-content > .im-premium-shell.alignfull,
  .site-main .entry-content .wp-block-group.alignfull.im-premium-shell {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

.im-premium-shell {
  position: relative;
  border-radius: var(--modern-radius);
  border: var(--modern-border);
  box-shadow: var(--modern-shadow-soft);
  /* Réduit les marges latérales imposées par le bloc (souvent « medium » en inline) */
  padding-left: clamp(0.65rem, 2.2vw, 1rem) !important;
  padding-right: clamp(0.65rem, 2.2vw, 1rem) !important;
}

.im-premium-shell::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: calc(var(--modern-radius) - 1px);
  background: radial-gradient(circle at 20% 15%, rgba(91, 77, 246, 0.12), transparent 45%),
    radial-gradient(circle at 90% 85%, rgba(24, 182, 246, 0.1), transparent 40%);
  pointer-events: none;
  z-index: 0;
}

.im-premium-shell > * {
  position: relative;
  z-index: 1;
}

.im-premium-shell .wp-block-columns.im-premium-artists-row,
.im-premium-shell .wp-block-columns.im-premium-activities-row,
.im-premium-shell .wp-block-group.im-premium-section {
  background: transparent;
  box-shadow: none;
  border: none;
  border-radius: 0;
}

.im-premium-overline {
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-size: 0.72rem;
  color: var(--modern-muted);
}

.im-premium-title {
  margin-top: 0.35rem !important;
  font-weight: 800;
  font-size: clamp(1.75rem, 2.4vw, 2.35rem);
  background: linear-gradient(120deg, var(--modern-text) 0%, #4b4f6a 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.im-premium-lead {
  max-width: 38rem;
  margin-left: auto;
  margin-right: auto;
  color: var(--modern-muted);
}

/* Intro : moins de bandes vides, texte plus large qu’une colonne ~38rem */
.im-premium-artists-intro {
  width: 100%;
  box-sizing: border-box;
}

.im-premium-artists-intro .im-premium-lead {
  max-width: min(58rem, 100%);
}

.im-premium-artists-intro .im-premium-lead.has-text-align-center {
  max-width: min(50rem, 100%);
  padding-inline: clamp(0, 1.5vw, 0.75rem);
}

.im-premium-artists-intro .im-premium-lead:not(.has-text-align-center) {
  margin-left: 0;
  margin-right: 0;
  max-width: min(62rem, 100%);
}

.im-premium-artist-card {
  height: 100%;
  padding: clamp(0.55rem, 1.2vw, 0.9rem);
  background: linear-gradient(155deg, var(--modern-surface), var(--modern-surface-2));
  overflow: hidden;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

/* Artists: stacked cards with alternating media/text sides */
.im-premium-artists-row {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.im-premium-artists-row > .wp-block-column {
  flex-basis: 100% !important;
  width: 100%;
}

.im-premium-artists-row .im-premium-artist-card {
  display: grid;
  grid-template-columns: minmax(280px, 50%) minmax(0, 1fr);
  gap: 1.35rem;
  align-items: stretch;
}

.im-premium-artists-row .im-premium-artist-card .im-premium-artist-cover {
  margin: 0;
  min-height: clamp(280px, 34vw, 400px);
  height: 100%;
}

/* Artistes : cartes empilées (lisibles) ; chanteuse plus à gauche, chanteur plus à droite */
@media (min-width: 921px) {
  /* Desktop uniquement : Jean-Christian texte à gauche, photo à droite */
  .im-premium-artists-row > .wp-block-column:nth-child(even) .im-premium-artist-card {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 50%);
  }

  .im-premium-artists-row > .wp-block-column:nth-child(even) .im-premium-artist-card .im-premium-artist-cover {
    order: 2;
  }

  .im-premium-artists-row > .wp-block-column:nth-child(even) .im-premium-artist-card .im-premium-artist-meta {
    order: 1;
  }

  .im-premium-shell .im-premium-artists-row {
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    align-items: stretch;
  }

  .im-premium-shell .im-premium-artists-row > .wp-block-column {
    flex-basis: 100% !important;
    width: 100%;
    max-width: min(58rem, 100%);
    box-sizing: border-box;
  }

  .im-premium-shell .im-premium-artists-row > .wp-block-column:first-child {
    margin-left: 0;
    margin-right: auto;
  }

  .im-premium-shell .im-premium-artists-row > .wp-block-column:nth-child(2) {
    margin-left: auto;
    margin-right: 0;
    max-width: min(72rem, 100%);
  }
}

.im-premium-artist-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--modern-shadow);
}

.im-premium-artist-card .im-premium-artist-cover {
  min-height: clamp(300px, 38vw, 420px);
}

.im-premium-artist-card--accent {
  background: linear-gradient(165deg, #ffffff 0%, #f7f3ff 58%, #eef7ff 100%);
}

.im-premium-artist-meta .im-premium-artist-name {
  margin-top: 0;
}

.im-premium-artist-role {
  margin-top: 0.25rem;
  color: var(--modern-muted);
}

.im-premium-artist-bio {
  margin-top: 0.65rem;
}

.im-premium-social {
  margin-top: 0.5rem;
}

.im-premium-artist-meta {
  background: transparent;
  border: none;
  box-shadow: none;
  max-width: none;
}

.im-premium-artist-meta .im-premium-artist-bio,
.im-premium-artist-meta .im-premium-artist-role {
  max-width: none;
}

.im-premium-activity-card {
  height: 100%;
  padding: 0;
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.96), rgba(246, 251, 255, 0.98));
  border: var(--modern-border);
  box-shadow: var(--modern-shadow-soft);
  border-radius: 16px;
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

/* Activities: full-width banner (cover) on top, text body below */
.im-premium-activities-row {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.im-premium-activities-row > .wp-block-column {
  flex-basis: 100% !important;
  width: 100%;
}

.im-premium-activities-row .im-premium-activity-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.im-premium-activities-row .im-premium-activity-cover,
.im-premium-activities-row .im-premium-activity-cover--dance,
.im-premium-activities-row .im-premium-activity-cover--pub,
.im-premium-activities-row .im-premium-activity-cover--ehpad,
.im-premium-activities-row .im-premium-activity-cover--carols {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  min-height: var(--im-activity-cover-min) !important;
  height: auto;
  flex: 0 0 auto;
  border-radius: 16px 16px 0 0 !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  box-sizing: border-box;
  overflow: hidden;
  padding: 0 !important;
}

.im-premium-activities-row .im-premium-activity-cover .wp-block-cover__image-background,
.im-premium-activities-row .im-premium-activity-cover > img {
  width: 100% !important;
  max-width: none !important;
  object-fit: cover;
}

.im-premium-activities-row .im-premium-activity-body {
  width: 100%;
  flex: 1 1 auto;
  padding: var(--im-activity-body-pad) !important;
  box-sizing: border-box;
}

.im-premium-shell .wp-block-cover.im-premium-activity-cover {
  background-color: transparent;
  border: none;
  box-shadow: none;
}

/* Bannière : texte avec les mêmes marges sur les 4 activités */
.im-premium-activities-row .im-premium-activity-cover .wp-block-cover__inner-container {
  position: relative;
  z-index: 2;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: var(--im-activity-pad-y) var(--im-activity-pad-x) !important;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  justify-content: center;
  gap: var(--im-activity-text-gap);
}

.im-premium-activities-row .im-premium-activity-cover .wp-block-cover__inner-container > * {
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
}

.im-premium-activities-row .im-premium-activity-cover .im-premium-activity-title,
.im-premium-activities-row .im-premium-activity-cover .im-premium-activity-text {
  text-align: center;
}

.im-premium-activities-row .im-premium-activity-cover .im-premium-activity-index {
  margin-left: auto;
  margin-right: auto;
}

/* Galeries vidéo (dzs-videogallery) : voir assets/video-fix.css pour le ratio 16/9 */
.im-premium-shell .im-premium-activity-body .videogallery-con {
  align-self: center;
  float: none !important;
  box-sizing: border-box;
}

.im-premium-shell .im-premium-activity-body .videogallery {
  align-self: center;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

/* Empilement après le code court / galerie : centré dans la colonne flex (évite décalage à gauche) */
.im-premium-shell .im-premium-activity-body .wp-block-stack,
.im-premium-shell .im-premium-activity-card > .wp-block-stack {
  align-self: center;
  width: min(100%, 42rem);
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

.im-premium-shell .im-premium-activity-body .wp-block-stack > *,
.im-premium-shell .im-premium-activity-card > .wp-block-stack > * {
  max-width: 100%;
  box-sizing: border-box;
}

.im-premium-activity-cover {
  border-radius: 16px 16px 0 0 !important;
  min-height: var(--im-activity-cover-min) !important;
}

.im-premium-activity-body {
  padding: var(--im-activity-body-pad) !important;
  gap: var(--im-activity-text-gap);
  box-sizing: border-box;
}

/* Paragraphes / titres : même rendu dans bannière et corps (toutes activités) */
.im-premium-activities-row .im-premium-activity-card .im-premium-activity-cover p,
.im-premium-activities-row .im-premium-activity-card .im-premium-activity-cover h2,
.im-premium-activities-row .im-premium-activity-card .im-premium-activity-cover h3,
.im-premium-activities-row .im-premium-activity-card .im-premium-activity-cover h4,
.im-premium-activities-row .im-premium-activity-card .im-premium-activity-body p,
.im-premium-activities-row .im-premium-activity-card .im-premium-activity-body h2,
.im-premium-activities-row .im-premium-activity-card .im-premium-activity-body h3,
.im-premium-activities-row .im-premium-activity-card .im-premium-activity-body h4 {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100%;
  box-sizing: border-box;
}

.im-premium-activities-row .im-premium-activity-card .im-premium-activity-body > * + * {
  margin-top: var(--im-activity-text-gap);
}

/* Dance (1re activité) : même marges si le corps n’a pas la classe attendue */
.im-premium-activities-row > .wp-block-column:first-child .im-premium-activity-card .wp-block-cover .wp-block-cover__inner-container,
.im-premium-activities-row .im-premium-activity-cover--dance .wp-block-cover__inner-container {
  padding: var(--im-activity-pad-y) var(--im-activity-pad-x) !important;
  box-sizing: border-box;
}

.im-premium-activities-row > .wp-block-column:first-child .im-premium-activity-card > .im-premium-activity-body,
.im-premium-activities-row > .wp-block-column:first-child .im-premium-activity-card > .wp-block-group:not(.wp-block-cover):not(.im-premium-activity-cover),
.im-premium-activities-row .im-premium-activity-cover--dance ~ .im-premium-activity-body,
.im-premium-activities-row .im-premium-activity-cover--dance ~ .wp-block-group:not(.wp-block-cover) {
  padding: var(--im-activity-body-pad) !important;
  box-sizing: border-box;
}

.im-premium-activities-row > .wp-block-column:first-child .im-premium-activity-card > .wp-block-paragraph,
.im-premium-activities-row > .wp-block-column:first-child .im-premium-activity-card > p {
  padding-left: var(--im-activity-pad-x) !important;
  padding-right: var(--im-activity-pad-x) !important;
  box-sizing: border-box;
}

.im-premium-activity-body .im-premium-activity-index {
  margin-top: 0.35rem;
}

.im-premium-shell .im-premium-activity-body .wp-block-shortcode,
.im-premium-shell .im-premium-activity-body .im-premium-shortcode {
  align-self: center;
  width: min(100%, 42rem);
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

.im-premium-activity-body .im-premium-shortcode,
.im-premium-activity-body .wp-block-shortcode {
  margin-top: 1rem;
  width: 100%;
}

.im-premium-artists-outro .has-text-align-center {
  margin-left: auto;
  margin-right: auto;
}

/* Texte après les artistes : largeur modérée, centrée */
.im-premium-shell .im-premium-artists-outro {
  gap: 0.35rem;
  max-width: min(48rem, 100%);
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

/* Si vous avez remplacé le groupe par un bloc Empilement juste après les colonnes artistes */
.im-premium-shell .im-premium-artists-row + .wp-block-stack,
.im-premium-shell .im-premium-artists-row + .wp-block-spacer + .wp-block-stack {
  max-width: min(48rem, 100%);
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

.im-premium-activity-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 100% 0%, rgba(91, 77, 246, 0.16), transparent 55%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.im-premium-activity-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--modern-shadow);
  border-color: rgba(91, 77, 246, 0.25);
}

.im-premium-activity-card:hover::before {
  opacity: 1;
}

.im-premium-activity-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.65rem;
  height: 2.65rem;
  margin: 0 0 0.35rem;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #ffffff;
  border-radius: 999px;
  background: linear-gradient(140deg, var(--modern-accent), var(--modern-accent-3));
  box-shadow: 0 8px 18px rgba(91, 77, 246, 0.32);
}

.im-premium-activity-title {
  margin: 0;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.im-premium-activity-text {
  margin-top: var(--im-activity-text-gap) !important;
  color: var(--modern-muted);
  line-height: 1.6;
}

@media (max-width: 920px) {
  /* Page d’accueil mobile : mêmes marges que les pages activités (0,65 rem) */
  .site-main .entry-content:has(.im-premium-shell) {
    --im-home-mobile-pad: var(--im-mobile-edge, 0.65rem);
    --im-home-mobile-gap: var(--im-mobile-gap, 0.65rem);
    --im-home-banner-margin: var(--im-mobile-edge, 0.65rem);
  }

  .site-main .entry:has(.im-premium-shell),
  .site-main article:has(.im-premium-shell) {
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0;
    box-shadow: none;
    border: none;
    background: transparent !important;
  }

  /*
   * Accueil : supprime le gutter Inspiro (30 px) — même base que pages activités.
   */
  body.home {
    --wp--style--root--padding-left: 0 !important;
    --wp--style--root--padding-right: 0 !important;
    --wp--custom--spacing--outer: 0 !important;
  }

  body.home .site-content-contain,
  body.home #content.site-content,
  body.home .inner-wrap,
  body.home #primary,
  body.home .content-area,
  body.home .site-main,
  body.home .site-main .entry-content,
  body.home.page .entry-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
  }

  /*
   * Accueil mobile : le shell est un conteneur invisible (comme pages activités :
   * entry-content → cartes directement, sans cadre intermédiaire).
   */
  body.home .site-main .entry-content > .im-premium-shell,
  body.home .site-main .entry-content .im-premium-shell.alignfull,
  body.home .site-main .entry-content .wp-block-group.im-premium-shell {
    display: contents !important;
  }

  body.home .im-premium-shell::before {
    content: none !important;
    display: none !important;
  }

  body.home .im-premium-shell.wp-block-group,
  body.home .im-premium-shell .wp-block-group:not(.im-premium-artist-card):not(.im-premium-activity-card),
  .editor-styles-wrapper:has(.im-premium-shell) .im-premium-shell.wp-block-group,
  .editor-styles-wrapper:has(.im-premium-shell) .im-premium-shell .wp-block-group:not(.im-premium-artist-card):not(.im-premium-activity-card) {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }

  body.home .entry-content > .wp-block-cover:not(.im-premium-artist-cover):not(.im-premium-activity-cover),
  .editor-styles-wrapper:has(.im-premium-shell) .is-root-container > .wp-block-cover:not(.im-premium-artist-cover):not(.im-premium-activity-cover) {
    position: relative !important;
    width: calc(100% - 2 * var(--im-mobile-edge, 0.65rem)) !important;
    max-width: calc(100% - 2 * var(--im-mobile-edge, 0.65rem)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    left: auto !important;
    transform: none !important;
    padding: 0 !important;
    border: var(--modern-border) !important;
    box-shadow: var(--modern-shadow-soft) !important;
    border-radius: var(--im-banner-radius, 16px) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body.home .entry-content > .wp-block-cover:not(.im-premium-artist-cover):not(.im-premium-activity-cover) .wp-block-cover__inner-container,
  .editor-styles-wrapper:has(.im-premium-shell) .wp-block-cover:not(.im-premium-artist-cover):not(.im-premium-activity-cover) .wp-block-cover__inner-container {
    padding: var(--im-mobile-edge, 0.65rem) !important;
    max-width: 100% !important;
  }

  .site-main .entry-content:has(.im-premium-shell) {
    padding: 0 !important;
    box-sizing: border-box;
  }

  /*
   * Accueil mobile — conteneurs pleine largeur ; cadres visibles via --im-home-card-width.
   * (Voir aussi functions.php : inspiro_modern_enqueue_home_mobile_card_width_fix)
   */
  .entry-content:has(.im-premium-shell),
  .editor-styles-wrapper:has(.im-premium-shell) {
    --im-home-card-width: calc(100% - 2 * var(--im-mobile-edge, 0.65rem));
  }

  body.home .im-premium-shell .im-premium-artists-intro,
  body.home .im-premium-shell .im-premium-artists-outro,
  body.home .im-premium-shell .im-premium-activities-intro,
  body.home .im-premium-shell .im-premium-section,
  body.home .im-premium-artists-row,
  body.home .im-premium-artists-row > .wp-block-column,
  body.home .im-premium-activities-row > .wp-block-column,
  .editor-styles-wrapper .im-premium-shell .im-premium-artists-intro,
  .editor-styles-wrapper .im-premium-shell .im-premium-artists-outro,
  .editor-styles-wrapper .im-premium-shell .im-premium-activities-intro,
  .editor-styles-wrapper .im-premium-shell .im-premium-section,
  .editor-styles-wrapper .im-premium-artists-row,
  .editor-styles-wrapper .im-premium-artists-row > .wp-block-column,
  .editor-styles-wrapper .im-premium-activities-row > .wp-block-column {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    box-sizing: border-box;
  }

  /* Cadres visibles : intro (cover ou groupe) + cartes artistes/activités */
  body.home .im-premium-shell .im-premium-artists-intro .wp-block-cover:not(.im-premium-artist-cover),
  body.home .im-premium-shell .im-premium-artists-intro:not(:has(.wp-block-cover:not(.im-premium-artist-cover))),
  body.home .im-premium-artists-row .im-premium-artist-card,
  body.home .im-premium-activities-row .im-premium-activity-card,
  body.home .im-premium-shell > .wp-block-cover:not(.im-premium-artist-cover):not(.im-premium-activity-cover),
  .editor-styles-wrapper .im-premium-shell .im-premium-artists-intro .wp-block-cover:not(.im-premium-artist-cover),
  .editor-styles-wrapper .im-premium-shell .im-premium-artists-intro:not(:has(.wp-block-cover:not(.im-premium-artist-cover))),
  .editor-styles-wrapper .im-premium-artists-row .im-premium-artist-card,
  .editor-styles-wrapper .im-premium-activities-row .im-premium-activity-card {
    width: var(--im-home-card-width, calc(100% - 1.3rem)) !important;
    max-width: var(--im-home-card-width, calc(100% - 1.3rem)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  body.home .im-premium-shell .im-premium-artists-outro,
  body.home .im-premium-shell .im-premium-activities-intro,
  body.home .im-premium-shell .im-premium-section,
  .editor-styles-wrapper .im-premium-shell .im-premium-artists-outro,
  .editor-styles-wrapper .im-premium-shell .im-premium-activities-intro,
  .editor-styles-wrapper .im-premium-shell .im-premium-section {
    width: var(--im-home-card-width, calc(100% - 1.3rem)) !important;
    max-width: var(--im-home-card-width, calc(100% - 1.3rem)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--im-mobile-edge, 0.65rem) !important;
    padding-right: var(--im-mobile-edge, 0.65rem) !important;
  }

  .editor-styles-wrapper:has(.im-premium-shell),
  .editor-styles-wrapper:has(.im-premium-shell) .is-root-container,
  .editor-styles-wrapper:has(.im-premium-shell) .block-editor-block-list__layout {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
  }

  .editor-styles-wrapper:has(.im-premium-shell) .im-premium-shell.is-layout-constrained,
  .editor-styles-wrapper:has(.im-premium-shell) .im-premium-shell .is-layout-constrained,
  .editor-styles-wrapper:has(.im-premium-shell) .im-premium-shell .wp-block-group.is-layout-constrained {
    max-width: 100% !important;
    width: 100% !important;
  }

  .editor-styles-wrapper:has(.im-premium-shell) .im-premium-shell .is-layout-constrained > *,
  .editor-styles-wrapper:has(.im-premium-shell) .im-premium-shell .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .im-premium-shell .im-premium-section,
  .im-premium-shell .im-premium-artists-intro,
  .im-premium-shell .im-premium-artists-outro,
  .im-premium-shell .im-premium-activities-intro {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .im-premium-shell .im-premium-artists-intro .im-premium-lead,
  .im-premium-shell .im-premium-artists-intro .im-premium-lead.has-text-align-center,
  .im-premium-shell .im-premium-artists-intro .im-premium-title,
  .im-premium-shell .im-premium-artists-intro .im-premium-overline,
  .im-premium-shell .im-premium-artists-intro > p,
  .im-premium-shell .im-premium-artists-intro > .wp-block-paragraph,
  .im-premium-shell .im-premium-lead,
  .im-premium-shell .im-premium-artists-outro p,
  .im-premium-shell .im-premium-activities-intro .im-premium-lead,
  .im-premium-shell .im-premium-section > p,
  .im-premium-shell .im-premium-section > .wp-block-paragraph,
  body.home .im-premium-shell .im-premium-artists-intro > p,
  body.home .im-premium-shell .im-premium-artists-intro > .wp-block-paragraph,
  body.home .im-premium-shell .im-premium-artists-intro > .wp-block-heading,
  body.home .im-premium-shell .im-premium-artists-outro > p,
  body.home .im-premium-shell .im-premium-artists-outro > .wp-block-paragraph {
    padding-left: var(--im-mobile-edge, 0.65rem) !important;
    padding-right: var(--im-mobile-edge, 0.65rem) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  body.home .im-premium-shell .im-premium-lead,
  body.home .im-premium-shell .im-premium-artists-intro .im-premium-lead,
  body.home .im-premium-shell .im-premium-artists-intro .im-premium-title,
  body.home .im-premium-shell .im-premium-artists-intro .im-premium-overline,
  .editor-styles-wrapper .im-premium-shell .im-premium-lead,
  .editor-styles-wrapper .im-premium-shell .im-premium-artists-intro .im-premium-lead {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-inline: 0 !important;
  }

  body.home .im-premium-shell .im-premium-artists-intro .wp-block-cover:not(.im-premium-artist-cover) .wp-block-cover__inner-container,
  .editor-styles-wrapper .im-premium-shell .im-premium-artists-intro .wp-block-cover:not(.im-premium-artist-cover) .wp-block-cover__inner-container {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: var(--im-mobile-edge, 0.65rem) !important;
    box-sizing: border-box !important;
  }

  body.home .im-premium-shell .im-premium-artists-intro .wp-block-cover:not(.im-premium-artist-cover),
  .editor-styles-wrapper .im-premium-shell .im-premium-artists-intro .wp-block-cover:not(.im-premium-artist-cover) {
    left: auto !important;
    right: auto !important;
    transform: none !important;
    border-radius: var(--im-banner-radius, 16px) !important;
    overflow: hidden !important;
  }

  /*
   * WordPress « layout constrained » : limite la largeur de l’intro (~650 px)
   * → grosses marges latérales sur mobile. On force pleine largeur.
   */
  .im-premium-shell .is-layout-constrained,
  .im-premium-shell .wp-block-group.is-layout-constrained {
    max-width: 100% !important;
  }

  .im-premium-shell .is-layout-constrained > *,
  .im-premium-shell .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .im-premium-shell .wp-block-cover:not(.im-premium-artist-cover):not(.im-premium-activity-cover) .wp-block-cover__inner-container {
    padding: var(--im-home-mobile-pad, 0.65rem) !important;
    box-sizing: border-box;
  }

  .im-premium-shell .wp-block-spacer {
    height: var(--im-home-mobile-gap, 0.65rem) !important;
    max-height: var(--im-home-mobile-gap, 0.65rem);
  }

  .im-premium-shell .im-premium-artists-row,
  .im-premium-shell .im-premium-activities-row {
    gap: var(--im-home-mobile-gap, 0.65rem);
  }

  .site-main .entry:not(:has(.im-premium-shell)),
  .site-main article:not(:has(.im-premium-shell)) {
    border-radius: 12px;
    padding: 1rem;
  }

  /* Hero pleine largeur au-dessus du shell (page d’accueil) */
  .site-main .entry-content:has(.im-premium-shell) > .wp-block-cover.alignfull:not(.im-premium-artist-cover):not(.im-premium-activity-cover) .wp-block-cover__inner-container {
    padding: var(--im-home-mobile-pad, 0.65rem) !important;
    box-sizing: border-box;
  }

  .wp-block-cover.alignfull:not(.im-premium-artist-cover):not(.im-premium-activity-cover) {
    border-radius: 0 0 18px 18px;
  }

  /* Artistes mobile : photo dans le cadre, texte en dessous */
  .im-premium-artists-row .im-premium-artist-card,
  .im-premium-artists-row > .wp-block-column:first-child .im-premium-artist-card,
  .im-premium-artists-row > .wp-block-column:nth-child(even) .im-premium-artist-card,
  .im-premium-artists-row .wp-block-group.im-premium-artist-card.is-layout-flex {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    grid-template-columns: unset !important;
    gap: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    align-items: stretch !important;
  }

  /* Colonnes imbriquées (souvent le cas pour Sylvie) */
  .im-premium-artists-row .im-premium-artist-card .wp-block-columns {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .im-premium-artists-row .im-premium-artist-card .wp-block-columns > .wp-block-column {
    flex-basis: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .im-premium-artists-row .im-premium-artist-card .wp-block-columns > .wp-block-column:has(.wp-block-cover),
  .im-premium-artists-row .im-premium-artist-card .wp-block-columns > .wp-block-column:has(.wp-block-image),
  .im-premium-artists-row .im-premium-artist-card .wp-block-columns > .wp-block-column:has(.im-premium-artist-cover) {
    order: 1 !important;
  }

  .im-premium-artists-row .im-premium-artist-card .wp-block-columns > .wp-block-column:has(.im-premium-artist-meta) {
    order: 2 !important;
  }

  /* Photo : toujours en premier (même si le HTML la met après le texte) */
  .im-premium-artists-row .im-premium-artist-card > .wp-block-cover,
  .im-premium-artists-row .im-premium-artist-card > .wp-block-cover.im-premium-artist-cover,
  .im-premium-artists-row .im-premium-artist-card .im-premium-artist-cover,
  .im-premium-artists-row > .wp-block-column:first-child .im-premium-artist-card > .wp-block-cover,
  .im-premium-artists-row > .wp-block-column:nth-child(even) .im-premium-artist-card .im-premium-artist-cover,
  .im-premium-artists-row .im-premium-artist-card > figure.wp-block-image,
  .im-premium-artists-row .im-premium-artist-card > .wp-block-image,
  .im-premium-artists-row > .wp-block-column:first-child .im-premium-artist-card > figure,
  .im-premium-artists-row > .wp-block-column:first-child .im-premium-artist-card > .wp-block-image {
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    min-height: 220px !important;
    max-height: min(75vw, 400px);
    height: auto !important;
    flex: 0 0 auto;
    align-self: stretch;
    border-radius: 16px 16px 0 0 !important;
    overflow: hidden !important;
    box-sizing: border-box;
  }

  .im-premium-artists-row .im-premium-artist-card .im-premium-artist-cover .wp-block-cover__image-background,
  .im-premium-artists-row .im-premium-artist-card .im-premium-artist-cover > img.wp-block-cover__image-background,
  .im-premium-artists-row .im-premium-artist-card .wp-block-columns .wp-block-cover .wp-block-cover__image-background {
    width: 100% !important;
    height: 100% !important;
    min-height: 220px;
    max-height: min(75vw, 400px);
    object-fit: cover !important;
    object-position: center center;
  }

  .im-premium-artists-row .im-premium-artist-card figure.wp-block-image img,
  .im-premium-artists-row .im-premium-artist-card > .wp-block-image img,
  .im-premium-artists-row .im-premium-artist-card .wp-block-columns figure.wp-block-image img {
    display: block;
    width: 100% !important;
    height: auto !important;
    max-height: min(75vw, 400px);
    object-fit: cover;
    object-position: center center;
  }

  /* Texte : toujours sous la photo */
  .im-premium-artists-row .im-premium-artist-card > .im-premium-artist-meta,
  .im-premium-artists-row > .wp-block-column:first-child .im-premium-artist-card > .im-premium-artist-meta,
  .im-premium-artists-row > .wp-block-column:nth-child(even) .im-premium-artist-card .im-premium-artist-meta,
  .im-premium-artists-row .im-premium-artist-card > .wp-block-group.im-premium-artist-meta {
    order: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 auto;
    padding: var(--im-home-mobile-pad, 0.65rem) !important;
    box-sizing: border-box;
    display: flex !important;
    flex-direction: column !important;
  }

  /* Photo dans le groupe meta (structure Sylvie possible) */
  .im-premium-artists-row .im-premium-artist-meta > figure.wp-block-image,
  .im-premium-artists-row .im-premium-artist-meta > .wp-block-image {
    order: 1 !important;
    width: 100% !important;
    margin: 0 0 var(--im-home-mobile-gap, 0.65rem) !important;
    border-radius: 12px;
    overflow: hidden;
  }

  .im-premium-artists-row .im-premium-artist-meta > .im-premium-artist-role,
  .im-premium-artists-row .im-premium-artist-meta > .im-premium-artist-bio,
  .im-premium-artists-row .im-premium-artist-meta > p,
  .im-premium-artists-row .im-premium-artist-meta > .wp-block-paragraph {
    order: 2 !important;
  }

  .im-premium-artists-row .im-premium-artist-meta .im-premium-artist-bio,
  .im-premium-artists-row .im-premium-artist-meta .im-premium-artist-role {
    max-width: 100%;
  }

  /* Jean-Christian (2e carte) : photo puis texte, comme Sylvie — mobile seulement */
  .im-premium-artists-row > .wp-block-column:nth-child(2) .im-premium-artist-card > .wp-block-cover,
  .im-premium-artists-row > .wp-block-column:nth-child(2) .im-premium-artist-card .im-premium-artist-cover,
  .im-premium-artists-row > .wp-block-column:nth-child(2) .im-premium-artist-card > figure,
  .im-premium-artists-row > .wp-block-column:nth-child(2) .im-premium-artist-card > .wp-block-image {
    order: 1 !important;
  }

  .im-premium-artists-row > .wp-block-column:nth-child(2) .im-premium-artist-card > .im-premium-artist-meta,
  .im-premium-artists-row > .wp-block-column:nth-child(2) .im-premium-artist-card > .wp-block-group.im-premium-artist-meta {
    order: 2 !important;
  }

  .im-premium-activities-row .im-premium-activity-cover,
  .im-premium-activities-row .im-premium-activity-cover--dance,
  .im-premium-activities-row .im-premium-activity-cover--pub,
  .im-premium-activities-row .im-premium-activity-cover--ehpad,
  .im-premium-activities-row .im-premium-activity-cover--carols {
    min-height: 200px !important;
  }

  .im-premium-activities-row .im-premium-activity-cover .wp-block-cover__inner-container,
  .im-premium-activities-row .im-premium-activity-body,
  .im-premium-activities-row > .wp-block-column:first-child .im-premium-activity-card > .wp-block-group:not(.wp-block-cover),
  .im-premium-activities-row > .wp-block-column:first-child .im-premium-activity-card > .im-premium-activity-body {
    padding: var(--im-home-mobile-pad, 0.65rem) !important;
    box-sizing: border-box;
  }

  .im-premium-activities-row > .wp-block-column:first-child .im-premium-activity-card .wp-block-cover .wp-block-cover__inner-container,
  .im-premium-activities-row .im-premium-activity-cover--dance .wp-block-cover__inner-container {
    padding: var(--im-home-mobile-pad, 0.65rem) !important;
  }

  .im-premium-activities-row .im-premium-activity-card .wp-block-column {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .im-premium-artists-row,
  .im-premium-activities-row {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /*
   * Pages activités (Aix’Music, Pub, Carols, EHPAD…) — mobile :
   * bannière beige avec petite marge + coins arrondis, textes marge minimale.
   * Sélecteurs doubles : site public + prévisualisation mobile Gutenberg.
   */
  body.page:not(.home),
  .editor-styles-wrapper:not(:has(.im-premium-shell)) {
    --im-page-mobile-pad: var(--im-mobile-edge, 0.65rem);
    --im-page-mobile-gap: var(--im-mobile-gap, 0.65rem);
    --im-page-banner-radius: var(--im-banner-radius, 16px);
    --im-page-banner-margin: var(--im-mobile-edge, 0.65rem);
  }

  /* Supprime le cadre Inspiro + padding du conteneur (site public) */
  body.page:not(.home) .inner-wrap,
  body.page:not(.home) .entry-header .inner-wrap {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
  }

  body.page:not(.home) .entry-header .inner-wrap {
    padding-top: 0.75rem;
    padding-bottom: 0.35rem;
  }

  body.page:not(.home) .entry-header .entry-title {
    padding-left: var(--im-page-mobile-pad, 0.65rem) !important;
    padding-right: var(--im-page-mobile-pad, 0.65rem) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.page:not(.home) .site-main .entry,
  body.page:not(.home) .site-main article {
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  body.page:not(.home) .site-main article:hover,
  body.page:not(.home) .site-main .entry:hover {
    transform: none !important;
    box-shadow: none !important;
  }

  /* Conteneur de contenu : annule Inspiro (.page .entry-content { padding: 30px }) */
  body.page:not(.home) .site-main .entry-content,
  body.page:not(.home) .builder-wrap.full-width .entry-content,
  .editor-styles-wrapper:not(:has(.im-premium-shell)) {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
  }

  body.page:not(.home) .entry-content .is-layout-constrained,
  body.page:not(.home) .entry-content .wp-block-group.is-layout-constrained,
  body.page:not(.home) .entry-content .wp-block-cover.is-layout-constrained,
  .editor-styles-wrapper:not(:has(.im-premium-shell)) .is-layout-constrained,
  .editor-styles-wrapper:not(:has(.im-premium-shell)) .wp-block-cover.is-layout-constrained {
    max-width: 100% !important;
    width: 100% !important;
  }

  body.page:not(.home) .entry-content .is-layout-constrained > *,
  body.page:not(.home) .entry-content .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
  .editor-styles-wrapper:not(:has(.im-premium-shell)) .is-layout-constrained > *,
  .editor-styles-wrapper:not(:has(.im-premium-shell)) .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /*
   * Pages activités — supprime le « gutter » WordPress / Inspiro autour du contenu.
   */
  body.page:not(.home),
  .editor-styles-wrapper:not(:has(.im-premium-shell)) {
    --wp--style--root--padding-left: 0 !important;
    --wp--style--root--padding-right: 0 !important;
    --wp--custom--spacing--outer: 0 !important;
  }

  body.page:not(.home) .site-content-contain,
  body.page:not(.home) #content.site-content,
  body.page:not(.home) .inner-wrap,
  body.page:not(.home) #primary,
  body.page:not(.home) .content-area,
  body.page:not(.home) .site-main,
  body.page:not(.home) .page .entry-content,
  .editor-styles-wrapper:not(:has(.im-premium-shell)),
  .editor-styles-wrapper:not(:has(.im-premium-shell)) .is-root-container,
  .editor-styles-wrapper:not(:has(.im-premium-shell)) .block-editor-block-list__layout {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
  }

  /*
   * Bannière cover : légère marge latérale pour voir l’arrondi (comme les cadres accueil).
   */
  body.page:not(.home) .entry-content > .wp-block-cover:not(.im-premium-artist-cover):not(.im-premium-activity-cover),
  body.page:not(.home) .entry-content .wp-block-cover:not(.im-premium-artist-cover):not(.im-premium-activity-cover),
  .editor-styles-wrapper:not(:has(.im-premium-shell)) .is-root-container > .wp-block-cover:not(.im-premium-artist-cover):not(.im-premium-activity-cover),
  .editor-styles-wrapper:not(:has(.im-premium-shell)) .wp-block-cover:not(.im-premium-artist-cover):not(.im-premium-activity-cover) {
    position: relative !important;
    width: calc(100% - 2 * var(--im-page-banner-margin, 0.65rem)) !important;
    max-width: calc(100% - 2 * var(--im-page-banner-margin, 0.65rem)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    left: auto !important;
    transform: none !important;
    padding: 0 !important;
    border: var(--modern-border) !important;
    box-shadow: var(--modern-shadow-soft) !important;
    border-radius: var(--im-page-banner-radius, 16px) !important;
    background: transparent !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body.page:not(.home) .entry-content .wp-block-cover .wp-block-cover__background,
  .editor-styles-wrapper:not(:has(.im-premium-shell)) .wp-block-cover:not(.im-premium-artist-cover):not(.im-premium-activity-cover) .wp-block-cover__background {
    border-radius: var(--im-page-banner-radius, 16px) !important;
    inset: 0 !important;
    width: 100% !important;
  }

  body.page:not(.home) .entry-content .wp-block-cover .wp-block-cover__image-background,
  body.page:not(.home) .entry-content .wp-block-cover > img,
  .editor-styles-wrapper:not(:has(.im-premium-shell)) .wp-block-cover:not(.im-premium-artist-cover):not(.im-premium-activity-cover) .wp-block-cover__image-background {
    width: 100% !important;
    object-fit: cover;
    border-radius: var(--im-page-banner-radius, 16px) !important;
  }

  body.page:not(.home) .entry-content .wp-block-cover .wp-block-cover__inner-container,
  .editor-styles-wrapper:not(:has(.im-premium-shell)) .wp-block-cover:not(.im-premium-artist-cover):not(.im-premium-activity-cover) .wp-block-cover__inner-container {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: var(--im-page-mobile-pad, 0.65rem) !important;
    box-sizing: border-box;
  }

  /* Annule has-global-padding + padding inline « medium » (60px) dans le cover */
  body.page:not(.home) .entry-content .wp-block-cover .wp-block-cover__inner-container.has-global-padding,
  .editor-styles-wrapper:not(:has(.im-premium-shell)) .wp-block-cover .wp-block-cover__inner-container.has-global-padding {
    padding: var(--im-page-mobile-pad, 0.65rem) !important;
  }

  body.page:not(.home) .entry-content .wp-block-cover .wp-block-cover__inner-container > *,
  body.page:not(.home) .entry-content .wp-block-cover .wp-block-cover__inner-container p,
  body.page:not(.home) .entry-content .wp-block-cover .wp-block-cover__inner-container .wp-block-paragraph,
  .editor-styles-wrapper:not(:has(.im-premium-shell)) .wp-block-cover:not(.im-premium-artist-cover):not(.im-premium-activity-cover) .wp-block-cover__inner-container > *,
  .editor-styles-wrapper:not(:has(.im-premium-shell)) .wp-block-cover:not(.im-premium-artist-cover):not(.im-premium-activity-cover) .wp-block-cover__inner-container p {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
  }

  /* Texte sous la bannière (hors cover) */
  body.page:not(.home) .entry-content > .wp-block-paragraph,
  body.page:not(.home) .entry-content > .wp-block-heading,
  body.page:not(.home) .entry-content > .wp-block-list,
  body.page:not(.home) .entry-content > .wp-block-quote,
  body.page:not(.home) .entry-content > .wp-block-shortcode,
  body.page:not(.home) .entry-content > .wp-block-group:not(.wp-block-cover),
  body.page:not(.home) .entry-content > .wp-block-image,
  body.page:not(.home) .entry-content > p,
  body.page:not(.home) .entry-content > ul,
  body.page:not(.home) .entry-content > ol,
  body.page:not(.home) .entry-content > h1,
  body.page:not(.home) .entry-content > h2,
  body.page:not(.home) .entry-content > h3,
  body.page:not(.home) .entry-content > h4,
  .editor-styles-wrapper:not(:has(.im-premium-shell)) > .wp-block-paragraph,
  .editor-styles-wrapper:not(:has(.im-premium-shell)) > .wp-block-heading,
  .editor-styles-wrapper:not(:has(.im-premium-shell)) > .wp-block-shortcode,
  .editor-styles-wrapper:not(:has(.im-premium-shell)) .block-editor-block-list__layout > .wp-block-paragraph,
  .editor-styles-wrapper:not(:has(.im-premium-shell)) .block-editor-block-list__layout > .wp-block-shortcode {
    padding-left: var(--im-page-mobile-pad, 0.65rem) !important;
    padding-right: var(--im-page-mobile-pad, 0.65rem) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  body.page:not(.home) .entry-content p[style*="padding"],
  body.page:not(.home) .entry-content .wp-block-paragraph[style*="padding"],
  .editor-styles-wrapper:not(:has(.im-premium-shell)) p[style*="padding"],
  .editor-styles-wrapper:not(:has(.im-premium-shell)) .wp-block-paragraph[style*="padding"] {
    padding-left: var(--im-page-mobile-pad, 0.65rem) !important;
    padding-right: var(--im-page-mobile-pad, 0.65rem) !important;
  }

  body.page:not(.home) .entry-content .wp-block-spacer,
  .editor-styles-wrapper:not(:has(.im-premium-shell)) .wp-block-spacer {
    height: var(--im-page-mobile-gap, 0.65rem) !important;
    max-height: var(--im-page-mobile-gap, 0.65rem);
  }

  /* Galeries vidéo : voir assets/video-fix.css */

  /*
   * Accueil mobile — priorité finale : intro (cover/groupe beige) = cartes artistes.
   */
  .im-premium-artists-row .wp-block-group.im-premium-artist-card,
  .im-premium-artists-intro .wp-block-cover:not(.im-premium-artist-cover):not(.im-premium-activity-cover),
  .im-premium-artists-intro > .wp-block-group.has-background,
  .im-premium-artists-intro.wp-block-group.has-background:not(:has(> .wp-block-cover:not(.im-premium-artist-cover))) {
    width: calc(100% - 1.3rem) !important;
    max-width: calc(100% - 1.3rem) !important;
    min-width: calc(100% - 1.3rem) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
}
