/* ==========================================================================
   DÉFONCE DE RIRE — Réplique fidèle du site actuel (preset « tech-space »)
   Polices du modèle : Heebo (titres) + Nunito Sans (corps).
   Rouge de marque du modèle : #e31f24.
   Base fidèle ; l'évolution premium se fera à partir d'ici.
   Chargé automatiquement par YOOtheme (child theme).
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Heebo:wght@400;500;600;700;800;900&family=Nunito+Sans:ital,wght@0,400;0,600;0,700;0,800;1,400&display=swap');

/* ---- 1. Tokens ---------------------------------------------------------- */
:root {
  /* Couleurs */
  --ddr-black:#0B0B0D;        /* titres, header, texte fort */
  --ddr-text:#2A2A2D;         /* corps de texte */
  --ddr-muted:#6F7177;        /* méta, légendes, eyebrow */
  --ddr-line:#E7E4DE;         /* bordures, séparateurs */
  --ddr-white:#FAFAF7;        /* fond principal (blanc chaud) */
  --ddr-soft:#F3F1EC;         /* fond secondaire */
  --ddr-accent:#e31f24;       /* rouge de marque du modèle */
  --ddr-accent-dark:#c1121c;  /* hover CTA */
  --ddr-gold:#C8A96A;         /* détails premium, rare */

  /* Rayons */
  --r:8px;                    /* cartes, champs, boutons */
  --r-img:6px;                /* vignettes affiche */

  /* Espacements (base 8) */
  --gap:20px;                 /* gap cartes desktop */
  --gap-m:12px;               /* gap cartes mobile */
  --section-y:80px;           /* respiration sections desktop */
  --section-y-m:48px;         /* mobile */
  --container:1200px;

  /* Ombres */
  --shadow-rest:0 1px 2px rgba(11,11,13,.04);
  --shadow-hover:0 10px 28px -12px rgba(11,11,13,.16);
}

/* ---- 2. Fondations ------------------------------------------------------ */
body{
  background-color:var(--ddr-white);
  color:var(--ddr-text);
  font-family:'Nunito Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.uk-container{max-width:var(--container);}

/* ---- 3. Typographie CALIBRÉE (corrige le « trop gros ») ----------------- */
h1,h2,h3,h4,h5,h6,.uk-h1,.uk-h2,.uk-h3,.uk-h4,.uk-h5,.uk-h6,.uk-heading-small,.uk-heading-medium,.uk-heading-large{
  font-family:'Heebo',system-ui,-apple-system,'Segoe UI',sans-serif;
}
h1,h2,h3,h4,.uk-h1,.uk-h2,.uk-h3,.uk-h4{
  color:var(--ddr-black);
  font-weight:700;
  letter-spacing:-0.01em;
  line-height:1.15;
}
h1,.uk-h1{ font-size:clamp(30px,4.4vw,48px); line-height:1.08; }
h2,.uk-h2{ font-size:clamp(24px,3.2vw,36px); }
h3,.uk-h3{ font-size:clamp(20px,2.2vw,24px); line-height:1.25; }
h4,.uk-h4{ font-size:17px; line-height:1.3; }

/* Hero accueil : seule exception un peu plus forte */
.ddr-hero h1, .ddr-hero .uk-h1{ font-size:clamp(34px,5.2vw,56px); line-height:1.04; }

/* Corps & utilitaires */
p{ line-height:1.6; }
.uk-text-lead{ font-size:clamp(17px,1.6vw,18px); line-height:1.55; color:var(--ddr-text); font-weight:400; }
.uk-text-meta{ font-size:13px; color:var(--ddr-muted); line-height:1.5; }
/* Eyebrow / sur-titre */
.ddr-eyebrow,.uk-text-meta.ddr-eyebrow{
  text-transform:uppercase; letter-spacing:.08em; font-size:12px; font-weight:600; color:var(--ddr-muted);
}
/* Largeur de lecture confortable */
.ddr-readable{ max-width:680px; margin-left:auto; margin-right:auto; }

/* ---- 4. Liens ----------------------------------------------------------- */
a{ color:var(--ddr-black); text-decoration:none; transition:color .16s ease; }
a:hover{ color:var(--ddr-accent); }

/* ---- 5. Boutons --------------------------------------------------------- */
.uk-button{
  border-radius:var(--r);
  text-transform:none;
  letter-spacing:0;
  font-weight:600;
  font-size:15px;
  padding:0 24px;
  line-height:46px;
  min-height:46px;
  transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .12s ease;
}
.uk-button-primary{ background-color:var(--ddr-accent); color:#fff; }
.uk-button-primary:hover,.uk-button-primary:focus{ background-color:var(--ddr-accent-dark); color:#fff; }
.uk-button-default{
  background:transparent; border:1px solid var(--ddr-line); color:var(--ddr-black);
}
.uk-button-default:hover,.uk-button-default:focus{ background:var(--ddr-soft); border-color:#D6D2CA; color:var(--ddr-black); }
/* Lien-texte fléché */
.uk-button-text{
  color:var(--ddr-black); font-weight:600; padding:0; line-height:1.4; min-height:auto;
  position:relative;
}
.uk-button-text::after{ content:" →"; }
.uk-button-text:hover{ color:var(--ddr-accent); }

/* ---- 6. Accessibilité : focus visible (WCAG 2.2) ----------------------- */
a:focus-visible,.uk-button:focus-visible,button:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--ddr-accent);
  outline-offset:2px;
  border-radius:2px;
}

/* ---- 7. Cartes (sobres, hover doux) ------------------------------------ */
.uk-card,.uk-panel.uk-card{ border-radius:var(--r); }
.uk-card-default{
  background:#fff; border:1px solid var(--ddr-line); box-shadow:var(--shadow-rest);
  transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease;
}
.uk-card-default:hover{ box-shadow:var(--shadow-hover); border-color:#DAD6CE; }

/* ---- 8. C1 · Carte spectacle (vignette compacte 2:3) ------------------- */
/* LE composant clé : affiche compacte, plusieurs par ligne. */
.ddr-card-show{ display:flex; flex-direction:column; }
.ddr-card-show .ddr-poster,
.ddr-card-show img{
  aspect-ratio:2/3;
  object-fit:cover;
  width:100%;
  border-radius:var(--r-img);
  display:block;
  background:var(--ddr-soft);
}
.ddr-card-show .ddr-title{
  font-size:16px; font-weight:700; color:var(--ddr-black); line-height:1.25;
  margin:10px 0 4px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.ddr-card-show .ddr-card-meta{ font-size:13px; color:var(--ddr-muted); }
.ddr-card-show:hover{ transform:translateY(-2px); }

/* ---- 9. C2 · Carte séance --------------------------------------------- */
.ddr-card-session{ padding:16px 18px; }
.ddr-card-session .ddr-date{ font-size:17px; font-weight:700; color:var(--ddr-black); }
.ddr-card-session .ddr-when{ font-size:14px; color:var(--ddr-muted); }

/* ---- 10. Badges (texte + couleur, jamais couleur seule) ---------------- */
.ddr-badge{
  display:inline-flex; align-items:center; gap:5px;
  font-size:12px; font-weight:600; line-height:1;
  padding:5px 10px; border-radius:999px;
  background:var(--ddr-soft); color:var(--ddr-text);
}
.ddr-badge--last{ background:#fbeaed; color:var(--ddr-accent); }      /* dernières places */
.ddr-badge--full{ background:#ededed; color:var(--ddr-muted); }       /* complet */
.ddr-badge--cancel{ background:#f7e3e6; color:var(--ddr-accent-dark);}/* annulé/reporté */
.ddr-badge--premium{ background:transparent; border:1px solid var(--ddr-gold); color:#8a6d2f; } /* succès, or rare */

/* ---- 11. Sur-titres / eyebrow méta ------------------------------------ */
section .ddr-eyebrow{ display:block; margin-bottom:8px; }

/* ---- 12. Header / navigation premium ----------------------------------- */
.tm-navbar,.uk-navbar-container:not(.uk-navbar-transparent){
  background-color:#fff;          /* en-tête fond blanc (modèle) */
  border-bottom:1px solid var(--ddr-line);
}
/* En-tête : logo « enseigne » fort ; hauteur = logo (zéro vide bas) */
.tm-headerbar + .tm-header .uk-navbar,
.tm-header .uk-navbar{ min-height:180px; }
.uk-navbar-nav>li>a{
  color:var(--ddr-black);
  font-weight:500; font-size:15px; letter-spacing:.005em; text-transform:none;
  min-height:64px; padding:0 16px; position:relative;
  transition:color .16s ease;
}
.uk-navbar-nav>li>a:hover,.uk-navbar-nav>li.uk-active>a{ color:var(--ddr-accent); }
.uk-navbar-nav>li>a::after{
  content:""; position:absolute; left:16px; right:16px; bottom:18px; height:2px;
  background:var(--ddr-accent); transform:scaleX(0); transform-origin:left; transition:transform .18s ease;
}
.uk-navbar-nav>li>a:hover::after,.uk-navbar-nav>li.uk-active>a::after{ transform:scaleX(1); }

/* ---- 13. Footer (noir profond, validé) --------------------------------- */
.ddr-footer,.tm-footer{ background:var(--ddr-black); color:#cfcfd2; }
.ddr-footer a,.tm-footer a{ color:#e8e8ea; }
.ddr-footer a:hover,.tm-footer a:hover{ color:#fff; }
.ddr-footer .ddr-sep{ border:none; border-top:1px solid rgba(200,169,106,.25); } /* liseré or discret */

/* ---- 14. Sections : respiration & fonds alternés ----------------------- */
.uk-section{ padding-top:var(--section-y); padding-bottom:var(--section-y); }
.uk-section-muted{ background-color:var(--ddr-soft); }
@media (max-width:639px){
  .uk-section{ padding-top:var(--section-y-m); padding-bottom:var(--section-y-m); }
}

/* ---- 15. Encart Pass (pub élégante) ------------------------------------ */
.ddr-pass-promo{
  background:var(--ddr-black); color:#fff; border-radius:var(--r);
  padding:24px 28px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
}
.ddr-pass-promo .ddr-pass-title{ color:#fff; font-weight:700; }
.ddr-pass-promo .ddr-gold{ color:var(--ddr-gold); }

/* ---- 16. Listes infos -------------------------------------------------- */
.uk-list>li{ padding:6px 0; }
.uk-list-bullet>li::before,.uk-list>li::marker{ color:var(--ddr-accent); }

/* ---- 17. Filtres (boutons de filtre public) ---------------------------- */
.ddr-filter{ display:flex; gap:8px; flex-wrap:wrap; justify-content:center; }
.ddr-filter button,.ddr-filter .uk-button{
  background:#fff; border:1px solid var(--ddr-line); color:var(--ddr-text);
  border-radius:999px; padding:8px 18px; font-size:14px; line-height:1; min-height:40px;
}
.ddr-filter button.is-active,.ddr-filter .uk-active{ background:var(--ddr-black); color:#fff; border-color:var(--ddr-black); }

/* ---- 18. Chatbot : bulle plus visible ---------------------------------- */
/* (le rendu exact dépend du script Limova ; styles d'appoint au besoin) */
.ddr-chat-label{ font-size:14px; font-weight:600; }

/* ---- 19. Icônes (fines, façon Apple) ----------------------------------- */
.ddr-icon{ width:20px; height:20px; stroke-width:1.5; vertical-align:middle; }

/* ---- 20. Images : pas de layout shift ---------------------------------- */
img{ height:auto; }
.ddr-img-cover{ object-fit:cover; }

/* ---- 21. Mobile : grille spectacles 2 colonnes ------------------------- */
@media (max-width:639px){
  .uk-button{ width:auto; }
}
.ddr-sticky-reserve{
  position:fixed; left:0; right:0; bottom:0; z-index:980;
  display:none; align-items:center; justify-content:space-between; gap:12px;
  padding:10px 16px; background:rgba(250,250,247,.96); backdrop-filter:saturate(180%) blur(8px);
  border-top:1px solid var(--ddr-line);
}
.ddr-sticky-reserve .uk-button-primary{ flex:1; }
@media (max-width:959px){ .ddr-sticky-reserve.is-on{ display:flex; } }

/* ---- 22. Motion sobre + reduced-motion --------------------------------- */
@media (prefers-reduced-motion:reduce){
  *,*::after,*::before{ transition:none !important; animation:none !important; scroll-behavior:auto !important; }
}

/* ---- 23. GRILLE SPECTACLES — cartes « affiche-produit » (archives) -------
   Scopé aux archives spectacles + taxonomies public/genre (réutilisable pour
   Jeune public / Adultes). Retour client traité : hauteurs ÉGALES, titres mis
   en avant, prochaine date lisible, marges resserrées, style premium éditorial
   (affiches en héros, sans boîte, façon Apple Store / Leica). */

.post-type-archive-spectacle,
.tax-public_spectacle,
.tax-genre_spectacle{ background:var(--ddr-white); }

/* Carte : pas de boîte lourde, mais un filet en bas pour MARQUER la séparation
   entre les lignes (façon « étagère » épurée). Contenu serré en haut. */
.post-type-archive-spectacle .el-item.uk-card,
.tax-public_spectacle .el-item.uk-card,
.tax-genre_spectacle .el-item.uk-card,
.ddr-shows-grid .el-item.uk-card{
  background:transparent; box-shadow:none; border-radius:0; padding:0 0 22px;
  border:none; border-bottom:1px solid var(--ddr-line);
  display:flex; flex-direction:column;
}
/* bloc bouton : collé au contenu (écart serré), pas poussé en bas.
   margin-top:0 !important neutralise le .uk-margin-top !important de YOOtheme. */
.post-type-archive-spectacle .el-item.uk-card > :last-child,
.tax-public_spectacle .el-item.uk-card > :last-child,
.tax-genre_spectacle .el-item.uk-card > :last-child,
.ddr-shows-grid .el-item.uk-card > :last-child{ margin-top:0 !important; padding-top:12px; }
.post-type-archive-spectacle .el-item picture,
.tax-public_spectacle .el-item picture,
.tax-genre_spectacle .el-item picture,
.ddr-shows-grid .el-item picture{ display:block; }

/* AFFICHE : ratio FIXE 2:3 + cover → toutes les cartes à la même hauteur.
   (corrige le défaut n°1 : les affiches avaient des ratios différents.) */
.post-type-archive-spectacle .el-image,
.tax-public_spectacle .el-image,
.tax-genre_spectacle .el-image,
.ddr-shows-grid .el-image{
  width:100%; aspect-ratio:2/3; object-fit:cover; display:block;
  border-radius:10px; background:var(--ddr-soft);
  box-shadow:0 1px 3px rgba(11,11,13,.10);
  transition:transform .25s ease, box-shadow .25s ease;
}
.post-type-archive-spectacle .el-item:hover .el-image,
.tax-public_spectacle .el-item:hover .el-image,
.tax-genre_spectacle .el-item:hover .el-image,
.ddr-shows-grid .el-item:hover .el-image{
  transform:translateY(-4px);
  box-shadow:0 16px 32px -16px rgba(11,11,13,.32);
}

/* TITRE : mis en avant, 2 lignes réservées (régularité des hauteurs). */
.post-type-archive-spectacle .el-title,
.tax-public_spectacle .el-title,
.tax-genre_spectacle .el-title,
.ddr-shows-grid .el-title{
  margin:13px 0 0; color:var(--ddr-black); text-transform:none;
  font-size:16.5px; font-weight:700; line-height:1.25; letter-spacing:-0.015em;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.post-type-archive-spectacle .el-item:hover .el-title,
.tax-public_spectacle .el-item:hover .el-title,
.tax-genre_spectacle .el-item:hover .el-title,
.ddr-shows-grid .el-item:hover .el-title{ color:var(--ddr-accent); }

/* DATE (prochaine séance) : collée au titre, lisible, sobre (pas de rouge).
   Spécificité renforcée (.el-item) pour battre le .uk-margin-top de YOOtheme. */
.post-type-archive-spectacle .el-item .el-meta,
.tax-public_spectacle .el-item .el-meta,
.tax-genre_spectacle .el-item .el-meta,
.ddr-shows-grid .el-item .el-meta{
  margin-top:4px !important;   /* bat le .uk-margin-top !important de YOOtheme */
  color:var(--ddr-text);
  font-size:13px; font-weight:600; line-height:1.35; letter-spacing:.005em;
}

/* FILTRE public : onglets natifs → contrôle segmenté clair (façon iOS/Apple).
   Conteneur gris doux, pastille active blanche avec ombre légère. Aucun noir. */
.post-type-archive-spectacle .uk-tab,
.tax-public_spectacle .uk-tab{
  display:flex; width:fit-content; max-width:100%;
  margin:0 auto; padding:4px; gap:2px;
  background:var(--ddr-soft); border:none; border-radius:999px;
}
.post-type-archive-spectacle .uk-tab::before,
.tax-public_spectacle .uk-tab::before{ display:none; }
.post-type-archive-spectacle .uk-tab > *,
.tax-public_spectacle .uk-tab > *{ padding-left:0; }
.post-type-archive-spectacle .uk-tab > * > a,
.tax-public_spectacle .uk-tab > * > a{
  padding:8px 18px; border:none; border-radius:999px; background:transparent;
  color:var(--ddr-muted); font-size:14px; font-weight:600; text-transform:none;
  min-height:auto; line-height:1.3;
  transition:color .16s ease, background-color .16s ease;
}
.post-type-archive-spectacle .uk-tab > * > a:hover,
.tax-public_spectacle .uk-tab > * > a:hover{ color:var(--ddr-black); }
.post-type-archive-spectacle .uk-tab > .uk-active > a,
.tax-public_spectacle .uk-tab > .uk-active > a{
  background:#fff; color:var(--ddr-black);
  box-shadow:0 1px 3px rgba(11,11,13,.12), 0 0 0 .5px rgba(11,11,13,.04);
}

/* BOUTON « Réserver » par carte : CTA clair, plein (façon carte produit Apple).
   Aligné en bas de carte, pleine largeur = cible intuitive et sans ambiguïté. */
.post-type-archive-spectacle .el-link.uk-button,
.tax-public_spectacle .el-link.uk-button,
.tax-genre_spectacle .el-link.uk-button,
.ddr-shows-grid .el-link.uk-button{
  display:block; width:100%; box-sizing:border-box;
  margin:0; padding:0 16px; min-height:44px; line-height:44px;
  background:var(--ddr-accent); color:#fff; border:none; border-radius:10px;
  font-size:14px; font-weight:600; text-transform:none; letter-spacing:0;
  transition:background-color .16s ease, transform .12s ease;
}
.post-type-archive-spectacle .el-link.uk-button:hover,
.post-type-archive-spectacle .el-link.uk-button:focus,
.tax-public_spectacle .el-link.uk-button:hover,
.tax-genre_spectacle .el-link.uk-button:hover,
.ddr-shows-grid .el-link.uk-button:hover{
  background:var(--ddr-accent-dark); color:#fff;
}

@media (max-width:639px){
  .post-type-archive-spectacle .el-title,
  .tax-public_spectacle .el-title{ font-size:15px; }
}


/* ---- 24. HERO accueil avec photo (cinématique) -------------------------
   Fond posé en CSS (fiable) — pour changer la photo : remplacer ce fichier dans
   wp-content/uploads/ddr/ddr-salle.jpg (même nom) ou modifier cette URL. */
.ddr-hero{ position:relative; overflow:hidden; min-height:72vh; display:flex; align-items:center;
  background-image:url(/wp/wp-content/uploads/ddr/ddr-salle.jpg);
  background-size:cover; background-position:center 40%; background-repeat:no-repeat; }
.ddr-hero::after{ content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg, rgba(11,11,13,.42) 0%, rgba(11,11,13,.66) 100%); }
.ddr-hero > .uk-container,
.ddr-hero .uk-container,
.ddr-hero .tm-section-content{ position:relative; z-index:2; }
.ddr-hero h1,.ddr-hero .uk-h1{ color:#fff !important; }
.ddr-hero .ddr-eyebrow{ color:rgba(255,255,255,.82) !important; }
.ddr-hero p,.ddr-hero .uk-text-lead{ color:rgba(255,255,255,.94) !important; }
.ddr-hero .uk-button-default{ background:transparent; border-color:rgba(255,255,255,.55); color:#fff; }
.ddr-hero .uk-button-default:hover{ background:rgba(255,255,255,.14); border-color:#fff; color:#fff; }
@media (max-width:639px){ .ddr-hero{ min-height:78vh; } }


/* ---- 25. Logo en-tête (grand, sans marge haut/bas — modèle) ------------- */
.ddr-logo-link{ display:inline-flex; align-items:center; padding:0; line-height:0; vertical-align:middle; }
.ddr-logo{ height:180px; width:auto; max-width:none; display:block; vertical-align:middle; transition:height .25s ease; }
/* zéro padding vertical + pas de descender de ligne (logo collé sans vide bas) */
[class*="uk-navbar"] .ddr-logo-link{ padding-top:0; padding-bottom:0; vertical-align:middle; }
@media (max-width:959px){ .ddr-logo{ height:104px; } .tm-header .uk-navbar{ min-height:124px; } }


/* ---- 26. Footer global (fond blanc, identique au bloc diaporama) -------- */
.ddr-footer-global{ background:#fff; color:var(--ddr-text); padding:54px 0 28px; border-top:1px solid var(--ddr-line); }
.ddr-footer-grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:40px; }
.ddr-footer-brand{ font-size:19px; font-weight:700; color:var(--ddr-black); letter-spacing:-0.01em; margin-bottom:6px; }
.ddr-footer-col p,.ddr-footer-contact{ color:var(--ddr-text); font-size:14px; line-height:1.7; font-style:normal; margin:0 0 10px; }
.ddr-footer-legal{ color:var(--ddr-muted); font-size:13px; }
.ddr-footer-head{ font-size:15px; font-weight:700; color:var(--ddr-black); margin-bottom:14px; }
.ddr-footer-global a{ color:var(--ddr-accent); transition:color .16s ease; }
.ddr-footer-global a:hover{ color:var(--ddr-accent-dark); }
.ddr-footer-social{ display:flex; gap:10px; margin-bottom:12px; }
.ddr-footer-social a{ display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px;
  border-radius:999px; background:#fff; border:1px solid var(--ddr-line); color:var(--ddr-accent); }
.ddr-footer-social a:hover{ background:var(--ddr-accent); color:#fff; border-color:var(--ddr-accent); }
.ddr-footer-bottom{ margin-top:34px; padding-top:18px; border-top:1px solid var(--ddr-line); font-size:13px; color:var(--ddr-muted); }
@media (max-width:739px){
  .ddr-footer-grid{ grid-template-columns:1fr; gap:28px; }
  .ddr-footer-global{ padding:40px 0 24px; }
}


/* ---- 27. Accueil — réplique du site actuel ----------------------------- */
/* Hauteur fixée à ~65 % de l'ancienne (diaporama plus court) */
.ddr-home-slideshow .uk-slideshow-items{ height:clamp(260px,42vh,470px) !important; min-height:0 !important; background:#fff; }
.ddr-home-slideshow .uk-slideshow-items > li{ height:100%; }
/* Image plein cadre (cover) : remplit le bloc, sans bandes blanches latérales.
   (Les slides actuelles sont des photos ; cover = rendu premium maîtrisé.) */
.ddr-home-slideshow img{ object-fit:cover !important; width:100%; height:100%; }
/* Espace menu ↔ diaporama réduit */
.tm-main{ padding-top:0 !important; margin-top:0 !important; }
.ddr-home-slideshow{ margin-top:0 !important; }
/* Anti « hero vide » au 1er chargement -------------------------------------
   Avant qu'uikit n'initialise le slideshow, AUCUNE slide n'a la classe
   .uk-active ; or uikit masque toute slide non active (display:none) → seule la
   zone blanche s'affiche (« hero vide » intermittent, le temps de l'init JS +
   décodage image). On force donc la 1re slide visible TANT QU'aucune slide
   n'est active. Dès l'init, .uk-active existe → ce sélecteur cesse de
   s'appliquer → le rendu final (fade, autoplay) reste strictement identique.
   :has() est « Baseline » (largement supporté) ; à défaut, simple no-op
   (comportement actuel inchangé). N'affecte que le hero d'accueil. */
.ddr-home-slideshow .uk-slideshow-items:not(:has(.uk-active)) > :first-child{ display:block !important; }
/* Infos pratiques */
.ddr-infos p{ margin:0 0 12px; line-height:1.6; }
/* Newsletter */
.ddr-newsletter-form{ display:flex; flex-direction:column; gap:14px; max-width:460px; }
.ddr-newsletter-form label{ font-size:14px; color:var(--ddr-muted); }
.ddr-newsletter-form input[type=email]{ padding:13px 16px; border:1px solid var(--ddr-line); border-radius:8px; font-size:15px; background:#fff; }
.ddr-newsletter-form button{ align-self:flex-start; background:var(--ddr-black); color:#fff; border:none; border-radius:8px; padding:13px 26px; font-weight:600; font-size:14px; letter-spacing:.04em; cursor:pointer; transition:background .16s ease; }
.ddr-newsletter-form button:hover{ background:var(--ddr-accent); }


/* ---- 28. Contact — réplique du site actuel ----------------------------- */
/* Titres de colonnes en casse normale (le modèle n'est pas en majuscules) */
.ddr-contact-info .uk-h4{ text-transform:none; letter-spacing:0; font-weight:700; }
/* Tableau des horaires : jour à gauche, heure en gras à droite */
.ddr-hours{ margin:0; }
.ddr-hours td{ padding:9px 0; border-color:var(--ddr-line); }
.ddr-hours td:first-child{ color:var(--ddr-text); }
.ddr-hours td:last-child{ color:var(--ddr-black); white-space:nowrap; }
/* Carte grise « Besoin d'un renseignement ? » + réservations obligatoires */
.ddr-contact-card{ background:var(--ddr-soft); border:1px solid var(--ddr-line); border-radius:12px;
  padding:clamp(22px,3vw,38px); height:100%; }
.ddr-contact-card > p{ line-height:1.65; color:var(--ddr-text); }
.ddr-contact-phone{ font-size:clamp(30px,4vw,44px); font-weight:800; letter-spacing:-0.01em;
  color:var(--ddr-black); line-height:1.05; margin:6px 0 14px; }
.ddr-contact-oblig{ color:var(--ddr-accent); margin:22px 0 8px; font-size:18px; text-transform:none; letter-spacing:0; }
/* Carte Google (iframe sans clé) + légende centrée */
.ddr-map{ border:0; display:block; width:100%; }
.ddr-map-caption{ text-align:center; padding:18px 10px 4px; line-height:1.6; color:var(--ddr-text); }
.ddr-map-caption strong{ color:var(--ddr-black); }


/* ---- 29. Infos pratiques — réplique --------------------------------------- */
/* Petites notes (tarifs, conditions) */
.ddr-note{ display:inline-block; font-size:12.5px; color:var(--ddr-muted); line-height:1.45; margin-top:2px; }
/* Carte Newsletter (fond gris, comme le modèle) */
.ddr-nl-card{ background:var(--ddr-soft); border:1px solid var(--ddr-line); border-radius:12px;
  padding:clamp(22px,3vw,38px); height:100%; }
.ddr-nl-title{ font-size:clamp(28px,3.4vw,40px); font-weight:800; color:var(--ddr-black); margin:0 0 10px; letter-spacing:-0.01em; }
.ddr-nl-card > p{ color:var(--ddr-text); line-height:1.65; margin:0 0 18px; }
/* Bloc IMPORTANT */
.ddr-important-title{ font-weight:800; color:var(--ddr-black); letter-spacing:.02em; margin:0 0 14px; font-size:20px; }
.ddr-important{ list-style:none; margin:0; padding:0; }
.ddr-important li{ position:relative; padding:0 0 10px 20px; line-height:1.55; color:var(--ddr-text); }
.ddr-important li::before{ content:"*"; position:absolute; left:0; top:2px; color:var(--ddr-accent); font-weight:700; }
.ddr-important-plus{ margin:18px 0 0; padding-top:14px; border-top:1px solid var(--ddr-line);
  color:var(--ddr-text); font-weight:600; }
/* Tables horaires/tarifs : réutilise .ddr-hours (cf. §28) */
.ddr-hours td{ vertical-align:top; }
/* Images via <img> dans bloc html (fiable) */
.ddr-img{ display:block; width:100%; height:auto; border-radius:12px; }
.ddr-img-cover{ aspect-ratio:16/10; object-fit:cover; }


/* ---- 30. Bons cadeaux — réplique ------------------------------------------ */
/* Bandeau IMPORTANT */
.ddr-gc-banner{ background:#FCF3E9; border:1px solid #EBD9C2; border-left:4px solid var(--ddr-accent);
  border-radius:10px; padding:20px 24px; }
.ddr-gc-banner p{ margin:0 0 8px; line-height:1.6; color:var(--ddr-text); }
.ddr-gc-banner p:last-child{ margin:0; }
.ddr-gc-banner-note{ font-size:13px; color:var(--ddr-muted); }
/* Cartes offres (cocktail + spectacle) */
.ddr-gc-offer{ border:1px solid var(--ddr-line); border-radius:14px; overflow:hidden; background:#fff;
  box-shadow:var(--shadow-rest); display:flex; flex-direction:column; height:100%; }
.ddr-gc-offer-img{ display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.ddr-gc-offer-body{ padding:22px 22px 26px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:10px; }
.ddr-gc-offer-price{ font-size:clamp(22px,2.6vw,28px); font-weight:800; color:var(--ddr-black); letter-spacing:-0.01em; }
.ddr-gc-offer-details{ color:var(--ddr-text); line-height:1.5; }
.ddr-gc-plus{ color:var(--ddr-accent); font-weight:800; }
.ddr-gc-offer .uk-button{ margin-top:6px; }
/* Conditions */
.ddr-gc-cond{ columns:2; column-gap:40px; list-style:none; margin:24px 0 0; padding:0; }
.ddr-gc-cond li{ position:relative; padding:0 0 9px 20px; line-height:1.5; color:var(--ddr-text); break-inside:avoid; }
.ddr-gc-cond li::before{ content:"✓"; position:absolute; left:0; top:0; color:var(--ddr-accent); font-weight:700; }
/* Sélecteur de montants */
.ddr-gc-amounts{ display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:16px; margin-top:8px; }
.ddr-gc-amount{ border:1px solid var(--ddr-line); border-radius:14px; background:#fff; padding:24px 16px;
  text-align:center; display:flex; flex-direction:column; align-items:center; gap:6px; transition:box-shadow .18s ease, transform .18s ease; }
.ddr-gc-amount:hover{ box-shadow:var(--shadow-hover,0 12px 30px rgba(0,0,0,.08)); transform:translateY(-2px); }
.ddr-gc-amount-val{ font-size:30px; font-weight:800; color:var(--ddr-black); line-height:1; }
.ddr-gc-amount-words{ font-size:13px; color:var(--ddr-muted); margin-bottom:8px; }
.ddr-gc-amount .uk-button{ width:100%; }
/* Arguments */
.ddr-gc-args{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.ddr-gc-arg{ background:var(--ddr-soft); border:1px solid var(--ddr-line); border-radius:14px; padding:26px; }
.ddr-gc-arg-title{ font-size:18px; font-weight:700; color:var(--ddr-black); margin:0 0 10px; }
.ddr-gc-arg p{ margin:0; line-height:1.6; color:var(--ddr-text); }
.ddr-gc-arg a{ color:var(--ddr-accent); }
@media (max-width:959px){ .ddr-gc-args{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:639px){ .ddr-gc-args{ grid-template-columns:1fr; } .ddr-gc-cond{ columns:1; } }


/* ---- 31. Menu : icône réaliste au-dessus du label + CTA Réserver --------- */
/* Desktop uniquement ; le mobile garde la barre + offcanvas (cf. §31b). */
@media (min-width:960px){
  /* En-tête (logo + menu) sur 80 % de la largeur de page, centré */
  .tm-header .uk-navbar-container > .uk-container{ width:80%; max-width:80%; }
  .tm-header .uk-navbar{ justify-content:space-between; align-items:center; }
  .tm-header .uk-navbar-left{ align-items:center; }   /* logo centré, pas de vide bas */
  /* Bloc droit : menu regroupé + bouton Réserver sur UNE ligne (pas de wrap) */
  .tm-header .uk-navbar-right{ flex:0 1 auto; flex-wrap:nowrap; align-items:center; gap:22px; }
  /* Menu regroupé à droite (fini le space-between étalé), largeur = contenu */
  .tm-header .uk-navbar-right .uk-navbar-nav{ flex:0 1 auto; width:auto;
    justify-content:flex-end; align-items:center; gap:4px; }
  .tm-header .uk-navbar-nav{ align-items:center; }
  .tm-header .uk-navbar-nav > li > a{
    flex-direction:column; justify-content:center; gap:7px;
    min-height:auto; padding:8px 12px; max-width:none;
    font-size:13.5px; font-weight:600; letter-spacing:0; text-transform:none;
    color:var(--ddr-text); text-align:center; line-height:1.2; white-space:nowrap;
  }
  /* Zone d'icône homogène (~52 px), image en contain (jamais déformée) */
  .tm-header .uk-navbar-nav > li > a::before{
    content:""; display:block; width:52px; height:52px;
    background:center/contain no-repeat; transition:transform .25s ease;
  }
  .tm-header .uk-navbar-nav > li:hover > a,
  .tm-header .uk-navbar-nav > li.uk-active > a{ color:var(--ddr-accent); }
  .tm-header .uk-navbar-nav > li:hover > a::before{ transform:translateY(-2px) scale(1.06); }
  .tm-header .uk-navbar-nav > li > a::after{ display:none !important; }
  /* Icônes par entrée — ciblage par href (YOOtheme n'ajoute pas .menu-item-ID). */
  .tm-header .uk-navbar-nav > li > a[href*="/spectacles"]::before{ background-image:url(/wp/wp-content/uploads/ddr/menu/menu-billetterie.png?v=8); }
  .tm-header .uk-navbar-nav > li > a[href*="/bons-cadeaux"]::before{ background-image:url(/wp/wp-content/uploads/ddr/menu/menu-bons-cadeaux.png?v=8); }
  .tm-header .uk-navbar-nav > li > a[href$="/horaires-et-tarifs/"]::before{ background-image:url(/wp/wp-content/uploads/ddr/menu/menu-horaires-tarifs.png?v=8); }
  .tm-header .uk-navbar-nav > li > a[href*="/la-carte-du-bar"]::before{ background-image:url(/wp/wp-content/uploads/ddr/menu/menu-carte-bar.png?v=8); }
  .tm-header .uk-navbar-nav > li > a[href$="/contact/"]::before{ background-image:url(/wp/wp-content/uploads/ddr/menu/menu-aide-contact.png?v=8); }
  /* « Offres pro » → /entreprises-associations/ : mallette noire/or (série premium 2026). */
  .tm-header .uk-navbar-nav > li > a[href*="/entreprises-associations"]::before{
    background-image:url(/wp/wp-content/uploads/ddr/menu/menu-offres-pro.png?v=8);
  }
}

/* CTA « Réserver » (injecté à droite de la navbar et dans la barre mobile) ---- */
.ddr-nav-cta{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:var(--ddr-accent); color:#fff !important; font-weight:700;
  font-size:14px; line-height:1; letter-spacing:.01em; text-transform:none;
  padding:12px 22px; border-radius:10px; white-space:nowrap; text-decoration:none;
  box-shadow:0 2px 8px rgba(227,31,36,.22);
  transition:background .16s ease, transform .16s ease, box-shadow .16s ease;
}
.ddr-nav-cta:hover, .ddr-nav-cta:focus-visible{ background:var(--ddr-accent-dark);
  color:#fff !important; transform:translateY(-1px); box-shadow:0 4px 14px rgba(227,31,36,.30); }
.ddr-nav-cta:active{ transform:translateY(0); }
@media (min-width:960px){
  .tm-header .uk-navbar-right > .ddr-nav-cta{ align-self:center; flex:0 0 auto; }
}


/* Barre mobile : logo + burger (UIkit uk-hidden@m gère la visibilité ≥960) */
.ddr-mobile-header{ display:flex; align-items:center; justify-content:space-between;
  padding:10px 18px; background:#fff; border-bottom:1px solid var(--ddr-line); }
.ddr-mobile-logo img{ height:60px; width:auto; display:block; }
.ddr-mobile-actions{ display:flex; align-items:center; gap:10px; }
.ddr-mobile-cta{ padding:9px 15px; font-size:13px; border-radius:9px; box-shadow:none; }
.ddr-mobile-burger{ color:var(--ddr-black); padding:6px; display:inline-flex; }
.ddr-mobile-burger:hover{ color:var(--ddr-accent); }
.ddr-mobile-bar{ background:#fff; }
.ddr-mobile-bar .uk-close{ color:var(--ddr-black); }
.ddr-mobile-bar .uk-nav > li > a{ color:var(--ddr-text); font-size:16px; font-weight:600;
  text-transform:none; padding:12px 0; border-bottom:1px solid var(--ddr-line); }
.ddr-mobile-bar .uk-nav > li.uk-active > a,
.ddr-mobile-bar .uk-nav > li > a:hover{ color:var(--ddr-accent); }
.ddr-mobile-bar .uk-nav .sub-menu{ list-style:none; padding-left:14px; margin:0; }
.ddr-mobile-bar .uk-nav .sub-menu a{ color:var(--ddr-muted); font-size:14px; padding:8px 0; display:block; }
.ddr-mobile-bar .uk-nav .sub-menu a:hover{ color:var(--ddr-accent); }


/* ---- 32. Accueil — bloc « Infos pratiques à ne pas manquer » -------------- */
.ddr-home-infos-title{ font-size:clamp(20px,2.4vw,26px); font-weight:800; color:var(--ddr-black);
  margin:0 0 18px; letter-spacing:-0.01em; }
.ddr-home-infos p{ margin:0 0 10px; line-height:1.55; color:var(--ddr-text); }
.ddr-home-infos-after{ margin-top:16px !important; padding-top:14px; border-top:1px solid var(--ddr-line); }
.ddr-home-infos-after strong{ color:var(--ddr-black); }


/* ---- 33. Affiches cliquables (grille spectacles) -------------------------- */
.ddr-card-link{ display:block; cursor:pointer; color:inherit; text-decoration:none; overflow:hidden; }
.ddr-card-link .el-image{ transition:transform .35s ease; }
.el-item:hover .ddr-card-link .el-image{ transform:scale(1.035); }
a.ddr-card-link .el-title{ transition:color .16s ease; }
.el-item:hover a.ddr-card-link .el-title{ color:var(--ddr-accent); }


/* ---- 34. Fiche spectacle (réplique Joomla) -------------------------------- */
.ddr-fiche-poster img{ width:100%; height:auto; border-radius:12px; box-shadow:var(--shadow-rest); }
.ddr-fiche-dates{ font-size:clamp(17px,2vw,20px); font-weight:700; color:var(--ddr-black); margin:0 0 16px; }
.ddr-fiche-synopsis{ line-height:1.65; color:var(--ddr-text); }
.ddr-fiche-synopsis p:first-child{ font-weight:700; color:var(--ddr-black); }
/* Liste d'infos : libellé | valeur, avec séparateurs */
.ddr-fiche-info{ list-style:none; margin:18px 0 22px; padding:0; }
.ddr-fiche-info li{ display:flex; gap:12px; padding:11px 0; border-bottom:1px solid var(--ddr-line); }
.ddr-fiche-info-k{ font-weight:700; color:var(--ddr-black); flex:0 0 120px; }
.ddr-fiche-info-v{ color:var(--ddr-text); }
/* CTA « Je réserve » : rouge, prominent, pleine largeur */
.ddr-fiche-cta{ width:100%; display:block; font-size:16px; padding:14px 22px; }
.ddr-fiche-cta .uk-button{ width:100%; }
/* 3 cartes alternatives (pass / cocktail / bon d'achat) */
.ddr-fiche-altcard{ background:#fff; border:1px solid var(--ddr-line); border-radius:14px; padding:24px;
  height:100%; display:flex; flex-direction:column; gap:14px; box-shadow:var(--shadow-rest); }
.ddr-fiche-altcard p{ margin:0; line-height:1.55; color:var(--ddr-text); flex:1; }
.ddr-fiche-altcard .uk-button{ align-self:flex-start; }
/* Infos théâtre / horaires */
.ddr-fiche-h{ font-size:18px; font-weight:800; letter-spacing:.02em; color:var(--ddr-black); margin:0 0 16px; }
.ddr-fiche-rules{ list-style:none; margin:0; padding:0; }
.ddr-fiche-rules li{ position:relative; padding:0 0 10px 18px; line-height:1.55; color:var(--ddr-muted); font-size:14px; }
.ddr-fiche-rules li::before{ content:"›"; position:absolute; left:0; top:0; color:var(--ddr-accent); font-weight:700; }
.ddr-fiche-schedule{ line-height:2; color:var(--ddr-text); font-size:16px; margin-bottom:22px; }
.ddr-fiche-important{ color:var(--ddr-accent); line-height:1.6; font-weight:500; }
.ddr-fiche-important strong{ color:var(--ddr-accent-dark); }


/* ---- 35. En-tête sticky : toujours visible, compact au scroll ------------- */
.tm-header.uk-sticky-fixed,
.ddr-mobile-header.uk-sticky-fixed{
  background:#fff !important;
  box-shadow:0 3px 14px rgba(0,0,0,.07);   /* ombre légère */
  border-bottom:1px solid var(--ddr-line); /* bordure basse fine */
  z-index:980;
}
/* Version compacte de l'en-tête desktop collé (transition douce, pas de saut) */
@media (min-width:960px){
  .tm-header.uk-sticky-fixed .uk-navbar-container > .uk-container{ width:84%; max-width:84%; }
  .tm-header.uk-sticky-fixed .tm-headerbar + .tm-header .uk-navbar,
  .tm-header.uk-sticky-fixed .uk-navbar{ min-height:118px; transition:min-height .25s ease; }
  /* centrage vertical strict en sticky (icônes non collées au bord haut) */
  .tm-header.uk-sticky-fixed .uk-navbar-left,
  .tm-header.uk-sticky-fixed .uk-navbar-right,
  .tm-header.uk-sticky-fixed .uk-navbar-nav,
  .tm-header.uk-sticky-fixed .uk-navbar-nav > li{ align-items:center; }
  .tm-header.uk-sticky-fixed .ddr-logo{ height:116px; }
  .tm-header.uk-sticky-fixed .uk-navbar-nav > li > a{ padding:7px 12px; font-size:12.5px; gap:6px; }
  .tm-header.uk-sticky-fixed .uk-navbar-nav > li > a::before{ width:40px; height:40px; }
  .tm-header.uk-sticky-fixed .ddr-nav-cta{ padding:10px 18px; font-size:13.5px; }
}
.ddr-logo{ transition:height .25s ease; }


/* ---- 36. Aide & Contact (page premium) ----------------------------------- */
/* Cible d'ancrage : déport sous le header sticky */
.ddr-anchor{ display:block; position:relative; height:0; width:0; scroll-margin-top:124px; }

/* Titres dédiés (la classe l'emporte sur l'élément h1/h2) */
.ddr-help-h1{ font-size:clamp(32px,4.8vw,52px); line-height:1.06; margin:0 0 14px; color:var(--ddr-black); }
.ddr-help-h2{ margin:0 0 8px; }
.ddr-help-sub{ color:var(--ddr-muted); line-height:1.55; margin:0 0 4px; }

/* Boutons groupés (hero, coordonnées, transports) */
.ddr-help-actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:18px; }

/* 1. Hero clair & épuré (section muted) */
.ddr-help-hero-inner{ max-width:780px; margin:0 auto; text-align:center; }
.ddr-help-hero .ddr-eyebrow{ display:block; margin-bottom:10px; }
.ddr-help-lead{ color:var(--ddr-text); margin:0 auto 4px; max-width:660px; }
.ddr-help-hero .ddr-help-actions{ justify-content:center; }

/* 2. Cartes d'accès rapide */
.ddr-help-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.ddr-help-card{
  box-sizing:border-box;
  display:flex; flex-direction:column; align-items:flex-start; gap:10px;
  background:#fff; border:1px solid var(--ddr-line); border-radius:14px;
  padding:24px 22px 22px; box-shadow:var(--shadow-rest); min-height:240px;
  color:var(--ddr-text); text-align:left;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.ddr-help-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow-hover); border-color:#e3b9bc; color:var(--ddr-text); }
.ddr-help-card-ico{ display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius:12px; background:#fdf3f4; color:var(--ddr-accent); }
.ddr-help-card-ico svg{ width:26px; height:26px; }
.ddr-help-card-title{ font-size:17px; font-weight:700; color:var(--ddr-black); line-height:1.25; }
.ddr-help-card-text{ font-size:14px; color:var(--ddr-muted); line-height:1.55; }
.ddr-help-card-cta{ font-size:14px; font-weight:700; color:var(--ddr-accent); margin-top:auto; padding-top:10px; }
.ddr-help-card-cta::after{ content:" \2192"; }

/* 3. Chatbot */
.ddr-help-chat .ddr-help-h2{ text-align:center; }
.ddr-help-chat .ddr-help-sub{ text-align:center; max-width:680px; margin-left:auto; margin-right:auto; }
.ddr-chatbot{ margin-top:24px; border-radius:14px; overflow:hidden; }
.ddr-chatbot iframe{ width:100%; height:600px; border:0; display:block; }
.ddr-chatbot--ph{ border:1.5px dashed #d9d5cd; background:#fff; min-height:300px; display:flex; align-items:center; justify-content:center; padding:44px 24px; }
.ddr-chatbot-ph{ text-align:center; max-width:560px; }
.ddr-chatbot-badge{ display:inline-block; font-size:13px; font-weight:700; color:var(--ddr-accent); background:#fdf3f4; border:1px solid #f3c9cc; border-radius:999px; padding:6px 14px; margin-bottom:14px; }
.ddr-chatbot-ph p{ color:var(--ddr-text); line-height:1.6; margin:0; }
.ddr-chatbot-ph a{ color:var(--ddr-accent); font-weight:600; }

/* 4. Coordonnées */
.ddr-help-coords{ text-align:center; max-width:680px; margin:0 auto; }
.ddr-help-addr{ color:var(--ddr-text); line-height:1.6; margin:0 0 6px; }
.ddr-help-coords .ddr-contact-phone{ margin:6px 0; }
.ddr-help-mail{ margin:0 0 6px; }
.ddr-help-mail a{ color:var(--ddr-accent); font-weight:600; }
.ddr-help-coords .ddr-help-actions{ justify-content:center; }

/* 5. Venir au théâtre */
.ddr-help-tlist{ list-style:none; margin:0 0 18px; padding:0; }
.ddr-help-tlist li{ display:flex; gap:12px; align-items:baseline; padding:10px 0; border-bottom:1px solid var(--ddr-line); }
.ddr-help-tlist li:last-child{ border-bottom:0; }
.ddr-help-tk{ flex:0 0 92px; font-weight:700; color:var(--ddr-black); }
.ddr-help-map{ height:100%; min-height:340px; border:1px solid var(--ddr-line); border-radius:14px; overflow:hidden; }
.ddr-help-map .ddr-map{ width:100%; height:100%; min-height:340px; display:block; border:0; }

/* 6. À savoir avant votre venue (dans .ddr-gc-banner) */
.ddr-help-important-title{ font-size:22px; font-weight:800; color:var(--ddr-black); margin:0 0 6px; }
.ddr-help-times{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:14px 0 0; }
.ddr-help-time{ display:flex; flex-direction:column; gap:4px; background:#fff; border:1px solid var(--ddr-line); border-radius:12px; padding:16px 18px; }
.ddr-help-time--must{ border-color:#f3c9cc; background:#fdf3f4; }
.ddr-help-time-tag{ font-size:11px; text-transform:uppercase; letter-spacing:.06em; font-weight:700; }
.ddr-help-time--must .ddr-help-time-tag{ color:var(--ddr-accent); }
.ddr-help-time--tip .ddr-help-time-tag{ color:var(--ddr-muted); }
.ddr-help-time-val{ font-size:22px; font-weight:800; color:var(--ddr-black); line-height:1.1; }
.ddr-help-time-desc{ font-size:14px; color:var(--ddr-text); line-height:1.45; }
.ddr-help-alert{ display:flex; gap:10px; align-items:flex-start; margin:16px 0 0; font-weight:600; color:var(--ddr-black); line-height:1.5; }
.ddr-help-alert-ico{ flex:0 0 auto; width:22px; height:22px; border-radius:50%; background:var(--ddr-accent); color:#fff; font-weight:800; font-size:14px; line-height:1; display:inline-flex; align-items:center; justify-content:center; }
.ddr-help-rules{ list-style:none; margin:16px 0 0; padding:0; }
.ddr-help-rules li{ position:relative; padding:0 0 8px 20px; line-height:1.55; color:var(--ddr-text); }
.ddr-help-rules li::before{ content:"\203A"; position:absolute; left:0; top:0; color:var(--ddr-accent); font-weight:700; }

/* 7. Réseaux sociaux */
.ddr-help-social-wrap{ text-align:center; }
.ddr-help-social{ display:flex; gap:12px; justify-content:center; margin-top:14px; }
.ddr-help-social a{ display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:999px; background:#fff; border:1px solid var(--ddr-line); color:var(--ddr-accent); transition:background-color .16s ease, color .16s ease, border-color .16s ease, transform .16s ease; }
.ddr-help-social a:hover{ background:var(--ddr-accent); color:#fff; border-color:var(--ddr-accent); transform:translateY(-2px); }

/* Responsive */
@media (max-width:959px){
  .ddr-help-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:639px){
  .ddr-help-grid{ grid-template-columns:1fr; }
  .ddr-help-times{ grid-template-columns:1fr; }
  .ddr-chatbot iframe{ height:520px; }
  .ddr-help-actions{ gap:10px; }
  .ddr-help-actions .uk-button{ flex:1 1 auto; text-align:center; }
}


/* ---- 37. Aide & Contact v2 (Aide rapide, 3 cadres, pages d'aide) ---------- */
/* Aide rapide : en-tête centré + grille 5 cartes (3+2) */
.ddr-help-aide .ddr-aide-title{ text-align:center; margin-bottom:6px; }
.ddr-help-aide .ddr-aide-sub{ text-align:center; max-width:680px; margin:0 auto 26px; }
/* 5 cartes : 3 + 2, 2e rangée centrée. FLEXBOX : chaque ligne se dimensionne
   sur son contenu (aucun chevauchement possible, contrairement aux pistes grid)
   et justify-content:center centre nativement la rangée incomplète. */
.ddr-aide-grid{ display:flex; flex-wrap:wrap; justify-content:center; gap:28px; }
/* base ~1/3 avec une petite marge anti-arrondi (sinon la 3e carte passe à la ligne) */
.ddr-aide-grid > .ddr-help-card{ flex:0 1 calc(33.333% - 20px); }

/* « À savoir avant votre venue » : 3 cadres distincts */
.ddr-help-when-title{ text-align:center; font-size:clamp(24px,3.2vw,32px); margin:0 0 22px; color:var(--ddr-black); }
.ddr-help-when{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; align-items:start; }
.ddr-when-card{ background:#fff; border:1px solid var(--ddr-line); border-radius:14px; padding:22px; box-shadow:var(--shadow-rest); }
.ddr-when-card--must{ border-color:#f0bcc0; background:#fdf2f3; }
.ddr-when-head{ display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 10px; margin-bottom:10px; }
.ddr-when-time{ font-size:clamp(20px,2.4vw,24px); font-weight:800; color:var(--ddr-black); line-height:1.05; letter-spacing:-0.01em; }
.ddr-when-badge{ font-size:13px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:#fff; background:var(--ddr-accent); border-radius:6px; padding:4px 11px; }
.ddr-when-tag{ font-size:12.5px; font-weight:600; color:var(--ddr-muted); }
.ddr-when-card p{ margin:0; font-size:14px; line-height:1.6; color:var(--ddr-text); }

/* Pages d'aide : article centré, étapes numérotées, encadré */
.ddr-help-article{ max-width:760px; margin:0 auto; }
.ddr-steps{ counter-reset:ddrstep; list-style:none; margin:0 0 26px; padding:0; }
.ddr-steps li{ position:relative; padding:3px 0 22px 56px; line-height:1.6; color:var(--ddr-text); }
.ddr-steps li:last-child{ padding-bottom:0; }
.ddr-steps li::before{ counter-increment:ddrstep; content:counter(ddrstep); position:absolute; left:0; top:0; width:36px; height:36px; border-radius:50%; background:var(--ddr-accent); color:#fff; font-weight:800; font-size:15px; display:flex; align-items:center; justify-content:center; }
.ddr-steps li:not(:last-child)::after{ content:""; position:absolute; left:17px; top:38px; bottom:0; width:2px; background:var(--ddr-line); }
.ddr-help-box{ margin:6px 0 26px; }
.ddr-help-box-title{ font-size:18px; font-weight:800; color:var(--ddr-black); margin:0 0 8px; }
.ddr-help-actions--center{ justify-content:center; }

/* Responsive v2 */
@media (max-width:959px){
  /* tablette : 2 cartes par ligne */
  .ddr-aide-grid > .ddr-help-card{ flex-basis:calc(50% - 16px); }
}
@media (max-width:739px){
  /* mobile : 1 carte par ligne */
  .ddr-aide-grid{ gap:18px; }
  .ddr-aide-grid > .ddr-help-card{ flex-basis:100%; }
  .ddr-help-when{ grid-template-columns:1fr; }
  .ddr-help-card{ min-height:0; }
}


/* ---- 38. Hero Aide & Contact : 4 boutons 1 ligne desktop / empilés mobile -- */
.ddr-help-hero .ddr-help-actions .uk-button{ white-space:nowrap; }
@media (min-width:1000px){
  /* desktop : la rangée de boutons s'élargit ; le texte reste centré (calé à 660px) */
  .ddr-help-hero .ddr-help-hero-inner{ max-width:960px; }
  .ddr-help-hero .ddr-help-actions{ flex-wrap:nowrap; }
}
@media (max-width:639px){
  /* téléphone : boutons les uns sous les autres, pleine largeur */
  .ddr-help-hero .ddr-help-actions{ flex-direction:column; align-items:stretch; }
  .ddr-help-hero .ddr-help-actions .uk-button{ width:100%; flex:0 0 auto; }
}


/* ---- 39. FAQ — centre d'aide premium (accordéons) ------------------------- */
/* Le hero hérite de .ddr-help-hero (boutons sur 1 ligne en desktop via §38). */

/* La nav par catégories remonte juste sous le hero (cadre intro supprimé) :
   on resserre l'espacement entre le hero et les chips. */
.ddr-help-hero.ddr-faq-hero{ padding-bottom:22px; }

/* Navigation par catégories (directement sous le hero) */
.ddr-faq-navsec{ padding-top:6px; padding-bottom:38px; }
/* séparateur texte générique (lecture/accessibilité), invisible visuellement */
.ddr-srsep{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.ddr-faq-nav{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; list-style:none; margin:0; padding:0; }
.ddr-faq-nav li{ display:inline-flex; }
.ddr-faq-navchip{ display:inline-flex; align-items:center; padding:9px 16px; border-radius:999px; background:#fff; border:1px solid var(--ddr-line); color:var(--ddr-text); font-size:14px; font-weight:600; transition:background-color .16s ease, color .16s ease, border-color .16s ease; }
.ddr-faq-navchip:hover{ border-color:var(--ddr-accent); color:var(--ddr-accent); background:#fdf3f4; }

/* Titres de catégorie */
.ddr-faq-cat-title{ font-size:clamp(22px,3vw,30px); margin:0 0 16px; color:var(--ddr-black); }
.ddr-faq-cat-lead{ color:var(--ddr-muted); margin:0 0 16px; line-height:1.55; }

/* Accordéon (UIkit uk-accordion) */
.ddr-faq-acc{ margin:0; padding:0; list-style:none; }
.ddr-faq-acc > li{ background:#fff; border:1px solid var(--ddr-line); border-radius:12px; margin:0 0 12px; box-shadow:var(--shadow-rest); overflow:hidden; }
.ddr-faq-acc > li:last-child{ margin-bottom:0; }
.ddr-faq-acc > li.uk-open{ border-color:#e3b9bc; }
.ddr-faq-acc .uk-accordion-title{ font-family:'Heebo',system-ui,sans-serif; font-size:16px; font-weight:700; color:var(--ddr-black); line-height:1.35; margin:0; padding:18px 54px 18px 20px; position:relative; transition:color .16s ease; }
.ddr-faq-acc .uk-accordion-title::before{ display:none; }
.ddr-faq-acc .uk-accordion-title::after{ content:""; position:absolute; right:22px; top:50%; width:9px; height:9px; border-right:2px solid var(--ddr-muted); border-bottom:2px solid var(--ddr-muted); transform:translateY(-70%) rotate(45deg); transition:transform .2s ease, border-color .16s ease; }
.ddr-faq-acc .uk-accordion-title:hover{ color:var(--ddr-accent); }
.ddr-faq-acc > li.uk-open .uk-accordion-title{ color:var(--ddr-accent); }
.ddr-faq-acc > li.uk-open .uk-accordion-title::after{ transform:translateY(-30%) rotate(-135deg); border-color:var(--ddr-accent); }
.ddr-faq-acc .uk-accordion-content{ margin:0; padding:0 20px 20px; color:var(--ddr-text); line-height:1.6; }
.ddr-faq-acc .uk-accordion-content > :first-child{ margin-top:0; }
.ddr-faq-acc .uk-accordion-content p{ margin:0 0 12px; }
.ddr-faq-acc .uk-accordion-content p:last-child{ margin-bottom:0; }
.ddr-faq-acc .uk-accordion-content a:not(.uk-button){ color:var(--ddr-accent); font-weight:600; }

/* Badge « Obligatoire » */
.ddr-faq-badge{ display:inline-block; font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:#fff; background:var(--ddr-accent); border-radius:5px; padding:2px 8px; vertical-align:middle; }

/* Encadré important (dans .ddr-gc-banner) */
.ddr-faq-imp{ margin:12px 0; padding:14px 18px; }
.ddr-faq-imp p{ margin:0; line-height:1.55; }
.ddr-faq-imp p + p{ margin-top:8px; }

/* Listes à puces rouges */
.ddr-faq-list{ margin:0 0 4px; padding:0; list-style:none; }
.ddr-faq-list li{ position:relative; padding:0 0 9px 22px; line-height:1.55; }
.ddr-faq-list li::before{ content:"\203A"; position:absolute; left:5px; top:0; color:var(--ddr-accent); font-weight:700; }

/* Code (format de bon) */
.ddr-faq-code{ font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:13px; background:var(--ddr-soft); border:1px solid var(--ddr-line); border-radius:5px; padding:1px 7px; letter-spacing:.03em; white-space:nowrap; }

/* Boutons dans les réponses */
.ddr-faq-btnrow{ display:flex; flex-wrap:wrap; gap:10px; margin-top:6px; }
.ddr-faq-acc .uk-button-small{ line-height:34px; min-height:34px; font-size:13px; padding:0 16px; }

/* CTA final */
.ddr-faq-final{ text-align:center; max-width:720px; margin:0 auto; }
.ddr-faq-final .ddr-help-actions{ justify-content:center; }

/* Responsive */
@media (max-width:639px){
  .ddr-faq-navchip{ font-size:13px; padding:8px 13px; }
  .ddr-faq-acc .uk-accordion-title{ font-size:15px; padding:16px 44px 16px 16px; }
  .ddr-faq-acc .uk-accordion-content{ padding:0 16px 16px; }
  .ddr-faq-btnrow .uk-button{ width:100%; text-align:center; }
}


/* ---- 40. La carte du bar (page d'ambiance, compacte) --------------------- */
/* Hero 2 colonnes : texte + 2 boutons | visuel (ratio naturel, jamais déformé) */
.ddr-bar-hero-text .ddr-eyebrow{ display:block; margin-bottom:8px; }
.ddr-bar-hero-text .ddr-help-lead{ margin:0 0 4px; max-width:none; }
.ddr-bar-hero .ddr-help-actions{ margin-top:22px; }
.ddr-bar-hero-img{ width:100%; aspect-ratio:4/3; max-height:380px; object-fit:cover; border-radius:16px; display:block; box-shadow:var(--shadow-hover); }

/* Le bar en pratique : 6 mini-cartes (compact, hiérarchisé) */
.ddr-bar-prat-h2{ text-align:center; font-size:clamp(22px,2.8vw,28px); margin:0 0 20px; color:var(--ddr-black); }
.ddr-bar-rules-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.ddr-bar-rule-card{ display:flex; gap:12px; align-items:flex-start; background:#fff; border:1px solid var(--ddr-line); border-radius:12px; padding:14px 16px; box-shadow:var(--shadow-rest); }
.ddr-bar-rule-ico{ flex:0 0 auto; width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center; border-radius:9px; background:#fdf3f4; color:var(--ddr-accent); }
.ddr-bar-rule-ico svg{ width:20px; height:20px; }
.ddr-bar-rule-card p{ margin:0; font-size:13.5px; line-height:1.45; color:var(--ddr-text); }
.ddr-bar-rule-card strong{ color:var(--ddr-black); }

/* Carte premium (compacte) */
.ddr-bar-navsec{ padding-bottom:4px; }
.ddr-bar-carte{ max-width:900px; margin:0 auto; }
.ddr-bar-sec{ background:#fff; border:1px solid var(--ddr-line); border-radius:16px; padding:20px 24px 12px; box-shadow:var(--shadow-rest); margin-bottom:20px; }
.ddr-bar-sec:last-child{ margin-bottom:0; }
.ddr-bar-sec-title{ font-size:clamp(19px,2.4vw,24px); font-weight:800; color:var(--ddr-black); margin:0 0 12px; padding-bottom:8px; border-bottom:2px solid var(--ddr-accent); display:inline-block; }
.ddr-bar-item{ padding:8px 0; border-bottom:1px solid var(--ddr-line); }
.ddr-bar-item:last-child{ border-bottom:0; }
.ddr-bar-line{ display:flex; align-items:baseline; gap:6px; }
/* (séparateur texte générique .ddr-srsep défini plus bas) */
.ddr-bar-name{ font-weight:700; color:var(--ddr-black); }
.ddr-bar-dots{ flex:1 1 auto; border-bottom:1px dotted var(--ddr-line); transform:translateY(-4px); min-width:14px; }
.ddr-bar-price{ font-weight:700; color:var(--ddr-accent); white-space:nowrap; }
.ddr-bar-price--long{ white-space:normal; text-align:right; font-size:13px; max-width:52%; }
.ddr-bar-desc{ margin:2px 0 0; font-size:13px; color:var(--ddr-muted); line-height:1.45; }
.ddr-bar-desc strong{ color:var(--ddr-text); font-weight:700; }
.ddr-bar-note{ margin:12px 0 2px; font-size:12.5px; color:var(--ddr-muted); line-height:1.5; }

/* Sections longues sur 2 colonnes (cocktails, bières, apéritifs, boissons fraîches) */
@media (min-width:720px){
  .ddr-bar-2col{ columns:2; column-gap:40px; }
  .ddr-bar-2col .ddr-bar-item{ break-inside:avoid; }
}

/* Responsive */
@media (max-width:959px){ .ddr-bar-rules-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:739px){
  .ddr-bar-rules-grid{ grid-template-columns:1fr; gap:12px; }
  .ddr-bar-sec{ padding:18px 16px 12px; }
  .ddr-bar-hero-img{ aspect-ratio:16/10; max-height:300px; }
  .ddr-bar-hero .ddr-help-actions .uk-button{ flex:1 1 auto; text-align:center; }
  .ddr-bar-price--long{ max-width:58%; }
}


/* ---- 41. Horaires & tarifs (page premium) -------------------------------- */
/* Deux grandes cartes côte à côte (adultes / enfants), hauteurs égales. */
.ddr-ht-grid{ display:flex; flex-wrap:wrap; gap:24px; align-items:stretch; }
.ddr-ht-card{ flex:1 1 calc(50% - 12px); box-sizing:border-box; display:flex; flex-direction:column;
  background:#fff; border:1px solid var(--ddr-line); border-radius:16px; padding:30px 30px 26px;
  box-shadow:var(--shadow-rest); }
.ddr-ht-card-title{ font-size:clamp(22px,2.6vw,28px); line-height:1.1; margin:0; color:var(--ddr-black);
  letter-spacing:-0.01em; }
.ddr-ht-sub{ font-size:13px; text-transform:uppercase; letter-spacing:.07em; font-weight:700;
  color:var(--ddr-accent); margin:22px 0 6px; }
.ddr-ht-card .ddr-hours{ margin:0; }
.ddr-ht-note{ font-size:13.5px; line-height:1.55; color:var(--ddr-muted); margin:10px 0 0; }
.ddr-ht-mentions{ margin-top:16px; }
.ddr-ht-mentions li{ font-size:14px; padding-bottom:7px; }
.ddr-ht-card .ddr-help-actions{ margin-top:auto; padding-top:24px; }
/* Pass 10 places : encadré centré (barre d'accent en haut plutôt qu'à gauche). */
.ddr-ht-pass{ text-align:center; max-width:760px; margin:0 auto;
  border-left:1px solid #EBD9C2; border-top:4px solid var(--ddr-accent); }
.ddr-ht-pass-title{ font-size:clamp(22px,2.6vw,28px); margin:0 0 8px; color:var(--ddr-black); }
.ddr-ht-pass p{ max-width:620px; margin:0 auto; color:var(--ddr-text); line-height:1.6; }
.ddr-ht-pass .ddr-help-actions{ justify-content:center; margin-top:18px; }
/* Sous-ligne explicative sous un libellé de tarif (réduit, groupe…). */
.ddr-ht-subnote{ display:block; font-size:12.5px; font-weight:400; color:var(--ddr-muted);
  line-height:1.4; margin-top:3px; max-width:30ch; }
/* Pass : prix mis en avant + ligne d'arguments. */
.ddr-ht-pass-price{ font-size:clamp(20px,2.4vw,26px); font-weight:800; color:var(--ddr-black);
  line-height:1.15; margin:0 auto 2px; }
.ddr-ht-pass-old{ font-size:.66em; font-weight:600; color:var(--ddr-muted);
  text-decoration:line-through; white-space:nowrap; }
.ddr-ht-pass-meta{ font-size:13px; font-weight:700; letter-spacing:.01em; color:var(--ddr-accent);
  margin:0 auto 12px; }
/* Badge « Obligatoire » renforcé — scopé à cette page (n'impacte pas la page Contact). */
.ddr-ht-retenir .ddr-when-card--must{ border-width:2px; }
.ddr-ht-retenir .ddr-when-badge{ font-size:13.5px; padding:5px 13px;
  box-shadow:0 3px 8px rgba(227,31,36,.30); }
/* Bon à savoir : bloc centré. */
.ddr-ht-savoir-wrap{ max-width:760px; margin:0 auto; }
.ddr-ht-savoir-wrap .ddr-help-rules{ max-width:660px; margin:14px auto 0; text-align:left; }
@media (max-width:859px){
  .ddr-ht-card{ flex:1 1 100%; }
  .ddr-ht-card{ padding:24px 22px 22px; }
}


/* ---- 42. Pass 10 places (landing commerciale) --------------------------- */
/* Hero : accroche prix + badges de réassurance. */
.ddr-pass-accroche{ font-size:clamp(20px,3vw,28px); font-weight:700; color:var(--ddr-black);
  margin:0 auto 10px; line-height:1.2; }
.ddr-pass-accroche strong{ color:var(--ddr-accent); }
.ddr-pass-accroche-old{ font-weight:600; color:var(--ddr-muted); text-decoration:line-through; font-size:.72em; }
.ddr-pass-reassure{ list-style:none; display:flex; flex-wrap:wrap; gap:10px; justify-content:center;
  margin:22px 0 0; padding:0; }
.ddr-pass-reassure li{ background:#fff; border:1px solid var(--ddr-line); border-radius:999px;
  padding:7px 15px; font-size:13.5px; font-weight:600; color:var(--ddr-black); box-shadow:var(--shadow-rest); }
.ddr-pass-reassure li::before{ content:"\2713"; color:var(--ddr-accent); font-weight:800; margin-right:6px; }
/* Bloc prix géant. */
.ddr-pass-pricebox{ max-width:560px; margin:0 auto; text-align:center; background:#fff;
  border:1px solid var(--ddr-line); border-top:4px solid var(--ddr-accent); border-radius:18px;
  padding:34px 30px 30px; box-shadow:var(--shadow-rest); }
.ddr-pass-price-main{ display:flex; align-items:baseline; justify-content:center; gap:14px; }
.ddr-pass-price-now{ font-size:clamp(46px,8vw,72px); font-weight:800; color:var(--ddr-black); line-height:1; letter-spacing:-0.02em; }
.ddr-pass-price-old{ font-size:clamp(22px,3vw,30px); font-weight:600; color:var(--ddr-muted); text-decoration:line-through; }
.ddr-pass-price-desc{ margin:16px 0 0; color:var(--ddr-text); }
.ddr-pass-price-sub{ margin:4px 0 0; color:var(--ddr-text); }
.ddr-pass-price-save{ margin:14px auto 0; max-width:400px; font-weight:700; color:var(--ddr-accent); line-height:1.45; }
.ddr-pass-pricebox .ddr-help-actions{ justify-content:center; margin-top:20px; }
/* Pourquoi : 4 cartes (réutilise .ddr-gc-arg). */
.ddr-pass-why{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.ddr-pass-why .ddr-gc-arg{ background:#fff; }
/* Comment ça marche : bloc centré (réutilise .ddr-steps). */
.ddr-pass-how{ max-width:640px; margin:0 auto; }
.ddr-pass-how .ddr-steps{ margin-bottom:22px; }
/* Inclus / Exclus : 2 cartes. */
.ddr-pass-io{ display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:920px; margin:0 auto; }
.ddr-pass-incl,.ddr-pass-excl{ background:#fff; border:1px solid var(--ddr-line); border-radius:16px;
  padding:26px 28px; box-shadow:var(--shadow-rest); }
.ddr-pass-incl{ border-top:4px solid #1a9d5a; }
.ddr-pass-excl{ border-top:4px solid var(--ddr-accent); }
.ddr-pass-io-title{ margin:0 0 14px; font-size:19px; font-weight:700; color:var(--ddr-black); }
.ddr-pass-incl ul,.ddr-pass-excl ul{ list-style:none; margin:0; padding:0; }
.ddr-pass-incl li,.ddr-pass-excl li{ position:relative; padding:0 0 11px 28px; line-height:1.5; color:var(--ddr-text); }
.ddr-pass-incl li:last-child,.ddr-pass-excl li:last-child{ padding-bottom:0; }
.ddr-pass-incl li::before{ content:"\2713"; position:absolute; left:0; top:0; color:#1a9d5a; font-weight:800; }
.ddr-pass-excl li::before{ content:"\2715"; position:absolute; left:0; top:0; color:var(--ddr-accent); font-weight:800; }
/* À offrir / partager : encadré centré (réutilise .ddr-gc-banner). */
.ddr-pass-share{ text-align:center; max-width:760px; margin:0 auto;
  border-left:1px solid #EBD9C2; border-top:4px solid var(--ddr-accent); }
.ddr-pass-share-title{ font-size:clamp(22px,2.6vw,28px); margin:0 0 8px; color:var(--ddr-black); }
.ddr-pass-share p{ max-width:640px; margin:0 auto; color:var(--ddr-text); line-height:1.6; }
.ddr-pass-share .ddr-help-actions{ justify-content:center; margin-top:18px; }
/* FAQ : largeur lisible (réutilise .ddr-faq-acc). */
.ddr-pass-faq{ max-width:760px; margin:0 auto; }
@media (max-width:959px){
  .ddr-pass-why{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:719px){
  .ddr-pass-io{ grid-template-columns:1fr; }
}
@media (max-width:559px){
  .ddr-pass-why{ grid-template-columns:1fr; }
}


/* ---- 43. Bons cadeaux (landing de vente) -------------------------------- */
/* Lien discret « J'ai déjà un bon cadeau » (secondaire). */
.ddr-bons-already{ text-align:center; margin:18px 0 0; }
.ddr-bons-already a{ color:var(--ddr-muted); font-weight:600; font-size:14px; text-decoration:underline; text-underline-offset:3px; }
.ddr-bons-already a:hover{ color:var(--ddr-accent); }
.ddr-help-hero .ddr-bons-already{ margin-top:16px; }
/* Visuel d'ambiance + légende. */
.ddr-bons-herovisual img{ width:100%; height:auto; max-height:440px; object-fit:cover; border-radius:18px;
  box-shadow:var(--shadow-rest); display:block; }
.ddr-bons-visuel-cap{ text-align:center; color:var(--ddr-muted); font-size:14px; line-height:1.5;
  max-width:760px; margin:14px auto 0; }
/* Deux grandes cartes d'offre (image + corps), hauteurs égales. */
.ddr-bons-offers{ display:flex; flex-wrap:wrap; gap:24px; align-items:stretch; }
.ddr-bons-offer{ flex:1 1 calc(50% - 12px); box-sizing:border-box; display:flex; flex-direction:column;
  background:#fff; border:1px solid var(--ddr-line); border-radius:18px; overflow:hidden;
  box-shadow:var(--shadow-rest); position:relative; }
.ddr-bons-offer-img{ aspect-ratio:3/2; overflow:hidden; background:var(--ddr-soft); }
.ddr-bons-offer-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.ddr-bons-offer-body{ padding:26px 28px 28px; display:flex; flex-direction:column; flex:1; }
.ddr-bons-offer-title{ font-size:clamp(20px,2.4vw,25px); margin:0 0 4px; color:var(--ddr-black); letter-spacing:-0.01em; }
.ddr-bons-offer-lead{ color:var(--ddr-muted); margin:0 0 16px; line-height:1.5; }
.ddr-bons-prices{ display:flex; flex-direction:column; gap:10px; margin:0 0 14px; }
.ddr-bons-price{ display:flex; align-items:center; gap:14px; padding:12px 16px; background:var(--ddr-soft);
  border-radius:12px; }
.ddr-bons-price-val{ font-size:26px; font-weight:800; color:var(--ddr-accent); line-height:1; flex:0 0 auto; }
.ddr-bons-price-desc{ font-size:14px; color:var(--ddr-text); line-height:1.4; }
.ddr-bons-fromprice{ font-size:20px; font-weight:600; color:var(--ddr-black); margin:0 0 4px; }
.ddr-bons-fromprice strong{ color:var(--ddr-accent); font-size:30px; font-weight:800; }
.ddr-bons-amounts{ font-size:13px; color:var(--ddr-muted); margin:0 0 14px; line-height:1.6; }
/* Note secondaire « montant personnalisé sur demande » — discrète, ne détourne
   pas du bouton d'achat principal. */
.ddr-bons-custom{ font-size:12.5px; color:var(--ddr-muted); line-height:1.55; margin:2px 0 0;
  padding-top:10px; border-top:1px solid var(--ddr-line); }
.ddr-bons-custom a{ color:var(--ddr-accent); font-weight:600; text-decoration:none;
  border-bottom:1px solid rgba(227,31,36,.35); }
.ddr-bons-custom a:hover{ border-bottom-color:var(--ddr-accent); }
/* Astuce « pour offrir » (bon d'achat Mapado uniquement) : nom bénéficiaire + email acheteur */
.ddr-bons-offer-tip{ font-size:12.5px; color:var(--ddr-text); line-height:1.55; margin:10px 0 0;
  padding:9px 11px; background:#FCF6EE; border:1px solid #ECDDC6; border-radius:9px; }
.ddr-bons-offer-tip strong{ color:var(--ddr-black); }
.ddr-bons-offer-info{ margin-top:0; }
.ddr-bons-offer-info li{ font-size:14px; padding-bottom:7px; }
.ddr-bons-offer .ddr-help-actions{ margin-top:auto; padding-top:18px; }
/* Bloc « déjà un bon » (secondaire, centré). */
.ddr-bons-deja{ text-align:center; max-width:820px; margin:0 auto; border-left:1px solid #EBD9C2; }
.ddr-bons-deja .ddr-help-actions{ justify-content:center; }
.ddr-bons-block-title{ font-size:clamp(20px,2.4vw,26px); margin:0 0 8px; color:var(--ddr-black); }
.ddr-bons-deja p, .ddr-bons-resto p{ max-width:660px; margin:0 auto; color:var(--ddr-text); line-height:1.6; }
/* Comparatif « Quel bon choisir ? ». */
.ddr-bons-choose{ list-style:none; margin:0 auto; padding:0; max-width:780px; display:flex; flex-direction:column; gap:10px; }
.ddr-bons-choose li{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px; background:#fff;
  border:1px solid var(--ddr-line); border-radius:12px; padding:14px 18px; box-shadow:var(--shadow-rest); }
.ddr-bons-choose-q{ flex:1 1 240px; color:var(--ddr-text); }
.ddr-bons-choose-arrow{ flex:0 0 auto; color:var(--ddr-muted); font-weight:700; white-space:pre; }
.ddr-bons-choose-a{ flex:0 0 auto; font-weight:700; color:var(--ddr-accent); }
/* Pourquoi : 4 cartes. */
.ddr-bons-why{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.ddr-bons-why .ddr-gc-arg{ background:#fff; }
/* Comment ça marche : 2 colonnes. */
.ddr-bons-how{ display:grid; grid-template-columns:1fr 1fr; gap:28px; max-width:980px; margin:0 auto; }
.ddr-bons-how-col{ background:#fff; border:1px solid var(--ddr-line); border-radius:16px; padding:26px 28px;
  box-shadow:var(--shadow-rest); }
.ddr-bons-how-title{ font-size:19px; font-weight:700; margin:0 0 18px; color:var(--ddr-black); }
.ddr-bons-how-col .ddr-help-actions{ margin-top:6px; }
/* À savoir : 2 colonnes. */
.ddr-bons-savoir{ display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:920px; margin:0 auto; }
.ddr-bons-savoir-col{ background:#fff; border:1px solid var(--ddr-line); border-radius:16px; padding:24px 26px;
  box-shadow:var(--shadow-rest); }
.ddr-bons-savoir-title{ font-size:18px; font-weight:700; margin:0 0 12px; color:var(--ddr-black); }
.ddr-bons-savoir-col .ddr-help-rules{ margin-top:0; }
/* Restauration (bas de page) + FAQ. */
.ddr-bons-resto{ text-align:center; max-width:820px; margin:0 auto; border-top:4px solid var(--ddr-line); }
.ddr-bons-resto .ddr-help-actions{ justify-content:center; }
.ddr-bons-faq{ max-width:780px; margin:0 auto; }
@media (max-width:959px){
  .ddr-bons-why{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:859px){
  .ddr-bons-offer{ flex:1 1 100%; }
  .ddr-bons-how, .ddr-bons-savoir{ grid-template-columns:1fr; }
}
@media (max-width:559px){
  .ddr-bons-why{ grid-template-columns:1fr; }
}


/* ---- 44. Landing pages « idées cadeaux » (satellites SEO) ---------------- */
/* Hero 2 colonnes (texte + visuel intégré). */
.ddr-cl-hero{ display:flex; gap:42px; align-items:center; max-width:1120px; margin:0 auto; }
.ddr-cl-hero-text{ flex:1 1 54%; }
.ddr-cl-hero-img{ flex:1 1 46%; }
.ddr-cl-hero-img img{ width:100%; height:auto; border-radius:18px; box-shadow:var(--shadow-rest); display:block; }
.ddr-cl-hero .ddr-eyebrow{ display:block; margin-bottom:8px; }
.ddr-cl-hero .ddr-help-h1{ margin-bottom:12px; }
.ddr-cl-hero .ddr-help-lead{ margin:0 0 4px; max-width:none; }
.ddr-cl-hero .ddr-pass-reassure{ justify-content:flex-start; }
.ddr-cl-hero .ddr-help-actions{ justify-content:flex-start; }
.ddr-cl-hero .ddr-bons-already{ text-align:left; }
/* Variante hero texte premium (sans visuel) — même registre que les pages
   Horaires / Pass / Contact : centré, largeur de lecture confortable. */
.ddr-cl-hero--textonly{ display:block; max-width:760px; text-align:center; }
.ddr-cl-hero--textonly .ddr-cl-hero-text{ flex:none; }
.ddr-cl-hero--textonly .ddr-help-lead{ margin-left:auto; margin-right:auto; }
.ddr-cl-hero--textonly .ddr-pass-reassure{ justify-content:center; }
.ddr-cl-hero--textonly .ddr-help-actions{ justify-content:center; }
.ddr-cl-hero--textonly .ddr-bons-already{ text-align:center; }
/* Formules + étapes + local : largeurs lisibles (réutilisent §43). */
.ddr-cl-formules{ max-width:920px; margin:0 auto; }
.ddr-cl-how{ max-width:640px; margin:0 auto; }
.ddr-cl-local{ max-width:760px; margin:0 auto; text-align:center; }
.ddr-cl-local p{ color:var(--ddr-text); line-height:1.7; margin:0 0 4px; }
/* Maillage occasions (sur la page mère Bons cadeaux). */
.ddr-bons-occ-intro{ text-align:center; color:var(--ddr-muted); max-width:640px; margin:0 auto 18px; }
.ddr-bons-occasions{ list-style:none; margin:0 auto; padding:0; max-width:840px; display:flex; flex-wrap:wrap;
  gap:12px; justify-content:center; }
.ddr-bons-occ-link{ display:inline-flex; align-items:center; background:#fff; border:1px solid var(--ddr-line);
  border-radius:999px; padding:10px 20px; font-weight:600; color:var(--ddr-black); box-shadow:var(--shadow-rest);
  text-decoration:none; transition:border-color .16s ease, color .16s ease, transform .16s ease; }
.ddr-bons-occ-link:hover{ border-color:var(--ddr-accent); color:var(--ddr-accent); transform:translateY(-1px); }
@media (max-width:859px){
  .ddr-cl-hero{ flex-direction:column; gap:24px; }
  .ddr-cl-hero-text, .ddr-cl-hero-img{ flex:1 1 100%; width:100%; }
}

/* ---- 45. Accueil — page d'entrée premium (refonte 2026-06) -------------- */
/* Réutilise les composants existants (hero help, cartes, grilles, boutons,
   .ddr-shows-grid pour la grille spectacles §du même fichier). Purement additif. */

/* 1. HERO : texte fixe à gauche + diaporama à droite (Option A) */
.ddr-home-hero .uk-grid{ align-items:center; }
.ddr-home-hero-text{ max-width:none; margin:0; text-align:left; }
.ddr-home-hero-text .ddr-eyebrow{ display:block; margin-bottom:10px; }
.ddr-home-hero-text .ddr-help-h1{ margin:0 0 14px; }
.ddr-home-hero-text .ddr-help-lead{ margin:0 0 18px; max-width:560px; }
.ddr-home-hero-text .ddr-help-actions{ justify-content:flex-start; margin-top:0; }
.ddr-home-hero-tertiary{ margin:14px 0 0; font-size:15px; }
.ddr-home-hero-tertiary a{ color:var(--ddr-black); font-weight:600; text-decoration:none;
  border-bottom:1px solid rgba(11,11,13,.18); padding-bottom:1px; }
.ddr-home-hero-tertiary a:hover{ color:var(--ddr-accent); border-color:var(--ddr-accent); }
.ddr-home-hero-reassure{ list-style:none; margin:20px 0 0; padding:0; display:flex; flex-wrap:wrap;
  align-items:center; color:var(--ddr-muted); font-size:13.5px; font-weight:600; }
.ddr-home-hero-reassure li{ display:inline-flex; align-items:center; }
.ddr-home-hero-reassure li:not(:last-child)::after{ content:"·"; margin:0 10px; color:var(--ddr-line); }

/* Diaporama : ratio 3:2 fixe + cover (jamais de déformation), coins arrondis */
.ddr-home-slideshow{ border-radius:14px; overflow:hidden; box-shadow:var(--shadow-hover); }
.ddr-home-slideshow .uk-slideshow-items{ aspect-ratio:3/2; min-height:0; }
.ddr-home-slideshow img{ width:100%; height:100%; object-fit:cover; }
.ddr-home-slideshow .uk-dotnav{ margin-top:12px; }
/* Flèches : pastilles sobres rentrées dans l'image, lisibles sur la photo.
   Scopé .ddr-home-slideshow → n'affecte aucun autre slider du site. */
.ddr-home-slideshow .uk-position-center-left{ left:14px; margin:0; }
.ddr-home-slideshow .uk-position-center-right{ right:14px; margin:0; }
.ddr-home-slideshow .uk-slidenav{
  width:38px; height:38px; padding:0; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:rgba(11,11,13,.34); color:#fff;
  -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px);
  transition:background .18s ease, transform .18s ease;
}
.ddr-home-slideshow .uk-slidenav:hover{ background:var(--ddr-accent); transform:scale(1.06); }
.ddr-home-slideshow .uk-slidenav svg{ width:17px; height:17px; }

/* En-têtes de section centrés */
.ddr-home-sec-head{ text-align:center; max-width:680px; margin:0 auto 28px; }
.ddr-home-sec-head .ddr-help-h2{ margin:0 0 8px; }
.ddr-home-sec-head .ddr-help-sub{ margin:0; }

/* 2. À l'affiche : CTA global centré + repli vide */
.ddr-home-shows-cta, .ddr-home-shows-empty{ text-align:center; margin-top:28px; }
.ddr-shows-grid .el-image.el-image--ph{ aspect-ratio:2/3; background:var(--ddr-soft); border-radius:10px; }

/* 3. Offrez une soirée : bloc centré */
.ddr-home-gift-inner{ max-width:720px; margin:0 auto; text-align:center; }
.ddr-home-gift-inner .ddr-eyebrow{ display:block; margin-bottom:8px; }
.ddr-home-gift-inner .ddr-help-h2{ margin:0 0 10px; }
.ddr-home-gift-list{ list-style:none; margin:14px auto 4px; padding:0; max-width:560px;
  display:grid; grid-template-columns:1fr 1fr; gap:8px 22px; text-align:left; }
.ddr-home-gift-list li{ position:relative; padding-left:24px; color:var(--ddr-text);
  font-size:14.5px; line-height:1.5; }
.ddr-home-gift-list li::before{ content:"✓"; position:absolute; left:0; top:0; color:var(--ddr-accent);
  font-weight:700; }

/* 4. Avant votre venue : cartes 15 / 30 / 1h (cartes info, pas des liens) */
.ddr-home-step{ cursor:default; text-align:left; }
.ddr-home-step:hover{ transform:none; box-shadow:var(--shadow-rest); border-color:var(--ddr-line);
  color:var(--ddr-text); }
.ddr-home-step-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.ddr-home-step-time{ font-size:23px; font-weight:800; color:var(--ddr-black); line-height:1.05;
  letter-spacing:-0.02em; }
.ddr-home-step-time span{ display:block; font-size:11.5px; font-weight:600; letter-spacing:.06em;
  text-transform:uppercase; color:var(--ddr-muted); margin-top:3px; }
.ddr-home-step-badge{ font-size:11px; font-weight:700; letter-spacing:.03em; text-transform:uppercase;
  padding:4px 10px; border-radius:999px; white-space:nowrap; }
.ddr-home-step-badge.is-must{ background:#fdecec; color:var(--ddr-accent); }
.ddr-home-step-badge.is-tip{ background:#FCF3E9; color:#9a6a16; }
.ddr-home-step .ddr-help-card-title{ margin-top:14px; }
.ddr-home-note{ text-align:center; color:var(--ddr-muted); font-size:13.5px; margin:22px auto 0;
  max-width:560px; }
.ddr-home-before .ddr-help-actions{ margin-top:22px; }

/* 5. Expérience : texte + photo réelle de la salle */
.ddr-home-exp .uk-grid{ align-items:center; }
.ddr-home-exp-text .ddr-eyebrow{ display:block; margin-bottom:8px; }
.ddr-home-exp-text .ddr-help-h2{ margin:0 0 12px; }
.ddr-home-exp-text > p{ color:var(--ddr-text); line-height:1.7; margin:0 0 14px; }
.ddr-home-exp-list{ list-style:none; margin:0 0 18px; padding:0; }
.ddr-home-exp-list li{ position:relative; padding-left:24px; margin-bottom:7px; color:var(--ddr-text);
  line-height:1.5; }
.ddr-home-exp-list li::before{ content:"✓"; position:absolute; left:0; color:var(--ddr-accent);
  font-weight:700; }
.ddr-home-exp-img{ width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:14px;
  box-shadow:var(--shadow-hover); }

/* 6 & 7. Newsletter + Mariah : blocs centrés */
.ddr-home-nl-inner, .ddr-home-help-inner{ max-width:680px; margin:0 auto; text-align:center; }
.ddr-home-nl-inner .ddr-eyebrow, .ddr-home-help-inner .ddr-eyebrow{ display:block; margin-bottom:8px; }
.ddr-home-nl-inner .ddr-help-h2, .ddr-home-help-inner .ddr-help-h2{ margin:0 0 10px; }
/* Newsletter : conteneur centré pour l'iframe Brevo (le formulaire porte sa propre
   carte ; on évite le « carte dans la carte »). Hauteur suffisante = pas de scroll interne. */
.ddr-home-nl-form{ max-width:600px; margin:22px auto 0; }
.ddr-home-nl-form iframe{ display:block; width:100%; max-width:100%; min-height:340px; border:0; margin:0 auto; }
@media (max-width:639px){ .ddr-home-nl-form iframe{ min-height:420px; } }

/* --- Responsive ---------------------------------------------------------- */
@media (max-width:959px){
  .ddr-home-gift-list{ grid-template-columns:1fr; max-width:340px; margin-left:auto; margin-right:auto; }
}
/* Empilage mobile : hero & expérience passent en pleine largeur (texte puis visuel).
   Les colonnes YOOtheme .uk-width-1-2 sont à 50 % à toutes tailles → on force 100 %. */
@media (max-width:767px){
  .ddr-home-hero .uk-grid > [class*="uk-width"],
  .ddr-home-exp .uk-grid > [class*="uk-width"]{ width:100% !important; }
  .ddr-home-slideshow{ margin-top:22px; }
  .ddr-home-exp-img{ margin-top:22px; }
  .ddr-home-hero-text{ text-align:center; }
  .ddr-home-hero-text .ddr-help-actions{ justify-content:center; }
  .ddr-home-hero-text .ddr-help-lead{ margin-left:auto; margin-right:auto; }
  .ddr-home-hero-reassure{ justify-content:center; }
}
@media (max-width:639px){
  .ddr-home-step-time{ font-size:21px; }
}
/* DDR HOME CSS §45 — 2026-06-03 */

/* ===== 45b. Accueil V2 — cadre réassurance + vitrine horizontale + densité ===== */

/* Sections après le hero : marges verticales réduites (~50 %). Hero inchangé. */
.ddr-home-shows-sec, .ddr-home-gift, .ddr-home-before,
.ddr-home-exp, .ddr-home-nl, .ddr-home-help{ padding-top:42px; padding-bottom:42px; }

/* Hero : cadre de réassurance compact (4 mini-items + icônes) */
.ddr-home-reassure{ display:grid; grid-template-columns:1fr 1fr; gap:9px 14px; margin:20px 0 0;
  padding:12px 14px; background:#fff; border:1px solid var(--ddr-line); border-radius:12px;
  box-shadow:var(--shadow-rest); max-width:448px; }
.ddr-home-reassure-item{ display:flex; align-items:center; gap:8px; font-size:12.5px; font-weight:600;
  color:var(--ddr-text); line-height:1.25; text-align:left; }
.ddr-home-reassure-item svg{ width:16px; height:16px; flex:0 0 16px; color:var(--ddr-accent); }

/* « À l'affiche » : en-tête compact (titre + sous-titre + lien discret à droite) */
.ddr-home-shows-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:14px;
  flex-wrap:wrap; margin:0 0 14px; }
.ddr-home-shows-title{ font-size:clamp(21px,2.3vw,27px); line-height:1.1; margin:0; color:var(--ddr-black);
  font-weight:800; letter-spacing:-0.02em; }
.ddr-home-shows-sub{ margin:4px 0 0; color:var(--ddr-muted); font-size:13.5px; }
.ddr-home-shows-link{ flex:0 0 auto; color:var(--ddr-accent); font-weight:700; font-size:13.5px;
  text-decoration:none; white-space:nowrap; }
.ddr-home-shows-link:hover{ text-decoration:underline; }

/* Vitrine : bande horizontale scrollable, scroll-snap, cartes compactes (~300 px) */
.ddr-home-shows-strip-wrap{ position:relative; }
.ddr-home-shows-strip{ list-style:none; margin:0; padding:4px 2px 12px; display:flex; gap:16px;
  overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
  scrollbar-width:thin; scroll-padding-left:2px; overscroll-behavior-x:contain; }
.ddr-home-shows-strip::-webkit-scrollbar{ height:6px; }
.ddr-home-shows-strip::-webkit-scrollbar-thumb{ background:rgba(11,11,13,.16); border-radius:6px; }
.ddr-strip-card{ flex:0 0 162px; scroll-snap-align:start; display:flex; flex-direction:column; }
.ddr-strip-poster{ display:block; }
.ddr-strip-poster .el-image{ width:100%; aspect-ratio:2/3; object-fit:cover; border-radius:10px;
  background:var(--ddr-soft); box-shadow:0 1px 3px rgba(11,11,13,.10);
  transition:transform .22s ease, box-shadow .22s ease; }
.ddr-strip-card:hover .el-image{ transform:translateY(-3px); box-shadow:0 14px 26px -14px rgba(11,11,13,.32); }
.ddr-strip-body{ display:flex; flex-direction:column; padding-top:8px; flex:1 1 auto; }
.ddr-strip-title{ margin:0; font-size:13.5px; font-weight:700; line-height:1.22; letter-spacing:-0.01em;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ddr-strip-title a{ color:var(--ddr-black); text-decoration:none; }
.ddr-strip-card:hover .ddr-strip-title a{ color:var(--ddr-accent); }
.ddr-strip-meta{ margin:3px 0 8px; font-size:11.5px; font-weight:600; color:var(--ddr-muted); line-height:1.3; }
.ddr-strip-btn.uk-button{ margin-top:auto; padding:0 14px; height:30px; line-height:30px; font-size:12.5px;
  align-self:flex-start; }

/* Flèches discrètes (masquées par défaut ; le JS du thème les révèle si ça déborde) */
.ddr-strip-nav{ position:absolute; top:36%; transform:translateY(-50%); z-index:2; width:34px; height:34px;
  border-radius:50%; border:1px solid var(--ddr-line); background:rgba(255,255,255,.95); color:var(--ddr-black);
  font-size:22px; line-height:1; cursor:pointer; box-shadow:var(--shadow-rest); padding:0;
  display:flex; align-items:center; justify-content:center; transition:color .15s, border-color .15s; }
.ddr-strip-nav:hover{ color:var(--ddr-accent); border-color:#e3b9bc; }
.ddr-strip-nav[hidden]{ display:none; }
.ddr-strip-prev{ left:-6px; }
.ddr-strip-next{ right:-6px; }

@media (max-width:767px){
  .ddr-home-reassure{ margin-left:auto; margin-right:auto; }
}
@media (max-width:639px){
  .ddr-home-shows-sec, .ddr-home-gift, .ddr-home-before,
  .ddr-home-exp, .ddr-home-nl, .ddr-home-help{ padding-top:30px; padding-bottom:30px; }
  .ddr-home-reassure{ max-width:none; }
  .ddr-strip-nav{ display:none; }              /* mobile = scroll tactile */
  .ddr-strip-card{ flex-basis:146px; }
  .ddr-home-shows-head{ margin-bottom:12px; }
}
/* DDR HOME CSS §45b V2 — 2026-06-03 */

/* ---- 46. Fiche spectacle premium ([ddr_fiche_spectacle]) ----------------- */
.ddr-fiche2 .uk-container{ max-width:1100px; }
.ddr-fiche2-h2{ font-size:clamp(20px,2.4vw,26px); font-weight:800; color:var(--ddr-black);
  letter-spacing:-0.02em; margin:0 0 18px; }
/* Cible d'ancrage « Voir toutes les dates » : repli no-JS / ouverture directe
   #seances → s'arrête sous le header collant (≈181px desktop) + marge. Le clic,
   lui, est géré en JS (hauteur de header lue en direct) pour un offset exact. */
.ddr-fiche2-seances-title{ scroll-margin-top:205px; }

/* Fil d'Ariane discret : retour clair vers l'ensemble des spectacles */
.ddr-fiche2-breadcrumb{ padding:14px 0 0; }
.ddr-fiche2-breadcrumb .uk-container{ display:flex; flex-wrap:wrap; align-items:center;
  font-size:13.5px; line-height:1.5; color:var(--ddr-muted); }
.ddr-fiche2-breadcrumb a{ color:var(--ddr-muted); text-decoration:none;
  border-bottom:1px solid transparent; transition:color .16s ease, border-color .16s ease; }
.ddr-fiche2-breadcrumb a:hover,
.ddr-fiche2-breadcrumb a:focus-visible{ color:var(--ddr-accent); border-bottom-color:currentColor; }
.ddr-fiche2-bc-sep{ margin:0 9px; color:var(--ddr-line); }
.ddr-fiche2-bc-current{ color:var(--ddr-text); font-weight:600; min-width:0;
  max-width:46ch; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ddr-fiche2-seances{ background:var(--ddr-soft); }
.ddr-fiche2-infos{ background:var(--ddr-soft); }

/* HERO : affiche contenue (gauche) + infos (droite) */
.ddr-fiche2-hero{ padding:34px 0; }
.ddr-fiche2-hero-grid{ display:grid; grid-template-columns:minmax(280px,38%) 1fr; gap:36px; align-items:start; }
.ddr-fiche2-poster{ background:var(--ddr-soft); border:1px solid var(--ddr-line); border-radius:14px;
  padding:14px; box-shadow:var(--shadow-rest); display:flex; justify-content:center; }
.ddr-fiche2-poster-img{ display:block; width:auto; max-width:100%; max-height:62vh; height:auto;
  object-fit:contain; border-radius:8px; }

.ddr-fiche2-badge{ display:inline-block; font-size:12px; font-weight:700; letter-spacing:.03em;
  text-transform:uppercase; padding:5px 12px; border-radius:999px; background:#fdecec; color:var(--ddr-accent);
  margin:0 0 12px; }
.ddr-fiche2-badge.is-jeune{ background:#eaf6ee; color:#1f7a3d; }
.ddr-fiche2-title{ font-size:clamp(28px,4vw,42px); line-height:1.05; letter-spacing:-0.02em;
  color:var(--ddr-black); margin:0 0 8px; }
.ddr-fiche2-dates{ font-size:15px; font-weight:700; color:var(--ddr-accent); margin:0 0 14px; }
.ddr-fiche2-accroche{ font-size:17px; font-weight:700; color:var(--ddr-black); line-height:1.5; margin:0 0 10px; }
.ddr-fiche2-resume{ color:var(--ddr-text); line-height:1.7; }
.ddr-fiche2-resume p{ margin:0 0 10px; }

.ddr-fiche2-cta{ display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin:18px 0 6px; }
.ddr-fiche2-reserve.uk-button{ font-size:16px; padding:0 30px; height:48px; line-height:48px; }
.ddr-fiche2-jump{ font-size:14px; font-weight:600; color:var(--ddr-black); text-decoration:none;
  border-bottom:1px solid rgba(11,11,13,.2); }
.ddr-fiche2-jump:hover{ color:var(--ddr-accent); border-color:var(--ddr-accent); }

.ddr-fiche2-chips{ list-style:none; margin:18px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.ddr-fiche2-chip{ display:inline-flex; flex-direction:column; background:#fff; border:1px solid var(--ddr-line);
  border-radius:10px; padding:7px 12px; box-shadow:var(--shadow-rest); }
.ddr-fiche2-chip-k{ font-size:10.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--ddr-muted); }
.ddr-fiche2-chip-v{ font-size:13.5px; font-weight:600; color:var(--ddr-black); }

.ddr-fiche2-share{ display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:18px 0 0; }
.ddr-fiche2-share-btn{ font:inherit; font-size:13.5px; font-weight:600; cursor:pointer;
  background:#fff; border:1px solid var(--ddr-line); border-radius:999px; padding:8px 16px; color:var(--ddr-black); }
.ddr-fiche2-share-btn:hover{ border-color:var(--ddr-accent); color:var(--ddr-accent); }
.ddr-fiche2-share-fb{ font-size:13.5px; font-weight:600; color:#fff; background:#1877f2; border-radius:999px;
  padding:8px 16px; text-decoration:none; }
.ddr-fiche2-share-fb:hover{ filter:brightness(.95); }

/* SÉANCES */
.ddr-fiche2-seances{ padding:34px 0; }
.ddr-fiche2-seances-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px;
  max-width:760px; }
.ddr-fiche2-seance{ display:flex; align-items:center; gap:16px; background:#fff; border:1px solid var(--ddr-line);
  border-radius:12px; padding:12px 16px; box-shadow:var(--shadow-rest); }
.ddr-fiche2-seance-when{ display:flex; align-items:baseline; gap:8px; flex:1 1 auto; min-width:0; }
.ddr-fiche2-seance-day{ font-weight:800; color:var(--ddr-black); }
.ddr-fiche2-seance-date{ color:var(--ddr-text); }
.ddr-fiche2-seance-time{ font-weight:700; color:var(--ddr-accent); }
.ddr-fiche2-seance-status{ font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.03em;
  padding:3px 10px; border-radius:999px; white-space:nowrap; }
.ddr-fiche2-seance-status.is-open{ background:#eaf6ee; color:#1f7a3d; }
.ddr-fiche2-seance-status.is-few{ background:#fcf3e9; color:#9a6a16; }
.ddr-fiche2-seance-status.is-soldout{ background:#f1f1f1; color:#6f7177; }
.ddr-fiche2-seance-status.is-cancelled,
.ddr-fiche2-seance-status.is-postponed{ background:#fdecec; color:var(--ddr-accent); }
.ddr-fiche2-seance-act{ display:flex; align-items:center; gap:12px; }
.ddr-fiche2-seance-btn.uk-button{ height:36px; line-height:36px; padding:0 18px; font-size:13.5px; }
.ddr-fiche2-agenda{ font-size:12.5px; font-weight:600; color:var(--ddr-black); text-decoration:none; white-space:nowrap;
  border-bottom:1px solid rgba(11,11,13,.18); }
.ddr-fiche2-agenda:hover{ color:var(--ddr-accent); border-color:var(--ddr-accent); }
.ddr-fiche2-noseance{ color:var(--ddr-muted); }

/* AIDES */
.ddr-fiche2-aides-sec{ padding:34px 0; }
.ddr-fiche2-aides-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.ddr-fiche2-aide{ background:#fff; border:1px solid var(--ddr-line); border-radius:12px; padding:16px 18px;
  box-shadow:var(--shadow-rest); display:flex; flex-direction:column; }
.ddr-fiche2-aide h3{ font-size:15px; font-weight:700; color:var(--ddr-black); margin:0 0 6px; }
.ddr-fiche2-aide p{ font-size:13.5px; color:var(--ddr-text); line-height:1.55; margin:0 0 10px; }
.ddr-fiche2-aide-link{ font-size:13.5px; font-weight:700; color:var(--ddr-accent); text-decoration:none; }
.ddr-fiche2-aide-link:first-of-type{ margin-top:auto; }
.ddr-fiche2-aide-link + .ddr-fiche2-aide-link{ margin-top:6px; }
.ddr-fiche2-aide-link::after{ content:" \2192"; }

/* INFOS THÉÂTRE + IMPORTANT */
.ddr-fiche2-infos{ padding:34px 0; }
.ddr-fiche2-infos-grid{ display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start; }
.ddr-fiche2-rules{ list-style:none; margin:0; padding:0; }
.ddr-fiche2-rules li{ position:relative; padding-left:24px; margin-bottom:9px; color:var(--ddr-text); line-height:1.5; }
.ddr-fiche2-rules li::before{ content:"\2713"; position:absolute; left:0; color:var(--ddr-accent); font-weight:700; }
.ddr-fiche2-important{ background:#FCF3E9; border:1px solid #EBD9C2; border-left:4px solid var(--ddr-accent);
  border-radius:10px; padding:16px 18px; }
.ddr-fiche2-important-badge{ display:inline-block; font-size:11px; font-weight:800; letter-spacing:.06em;
  color:var(--ddr-accent); background:#fff; border:1px solid #EBD9C2; border-radius:6px; padding:3px 9px; margin:0 0 8px; }
.ddr-fiche2-important p{ margin:0; color:var(--ddr-text); line-height:1.6; font-size:14px; }

/* RESPONSIVE */
@media (max-width:899px){
  .ddr-fiche2-hero-grid{ grid-template-columns:1fr; gap:20px; }
  .ddr-fiche2-poster{ max-width:300px; margin:0 auto; }
  .ddr-fiche2-poster-img{ max-height:48vh; }
  .ddr-fiche2-aides-grid{ grid-template-columns:1fr; }
  .ddr-fiche2-infos-grid{ grid-template-columns:1fr; gap:20px; }
}
@media (max-width:639px){
  .ddr-fiche2-seance{ flex-wrap:wrap; gap:8px 12px; }
  .ddr-fiche2-seance-when{ flex:1 1 100%; }
  .ddr-fiche2-seance-act{ flex:1 1 100%; justify-content:space-between; }
}
/* DDR FICHE CSS §46 — 2026-06-03 */

/* ---- 46b. Fiche spectacle V2 (premium + blocs optionnels) --------------- */

/* Séparateur sr-only (extraction texte propre entre boutons) */
.ddr-fiche2 .ddr-srsep{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

/* 1. Espace haut réduit (~50%), sans coller au header + soupçon de chaleur */
.ddr-fiche2-hero{ padding-top:16px; padding-bottom:30px;
  background:linear-gradient(180deg,#FBF7F0 0%, #ffffff 72%); }

/* Titres de section : accent rouge premium */
.ddr-fiche2-h2{ position:relative; padding-bottom:10px; }
.ddr-fiche2-h2::after{ content:""; position:absolute; left:0; bottom:0; width:42px; height:3px;
  background:var(--ddr-accent); border-radius:3px; }

/* 3. Séances : boutons équilibrés, centrés verticalement, alignés */
.ddr-fiche2-seance-act{ gap:10px; }
.ddr-fiche2-seance-btn.uk-button{ display:inline-flex; align-items:center; justify-content:center;
  height:40px; line-height:1; padding:0 20px; font-size:13.5px; }
.ddr-fiche2-agenda{ display:inline-flex; align-items:center; }
/* 4. Libellé agenda responsive */
.ddr-fiche2-agenda-short{ display:none; }
@media (max-width:520px){
  .ddr-fiche2-agenda-full{ display:none; }
  .ddr-fiche2-agenda-short{ display:inline; }
}

/* PARTIE 4 — Bandeau Pass 10 places, très visible (adultes uniquement) */
.ddr-fiche2-passband{ padding:30px 0; background:#fff; }
.ddr-fiche2-passband-inner{ display:flex; align-items:center; gap:28px; position:relative; overflow:hidden;
  background:linear-gradient(135deg,#2a0f10 0%, #6e1418 55%, #9a1c1f 100%);
  border-radius:18px; padding:26px 30px; color:#fff; box-shadow:var(--shadow-hover); }
.ddr-fiche2-passband-inner::after{ content:""; position:absolute; right:-40px; top:-40px; width:210px; height:210px;
  background:radial-gradient(circle, rgba(244,200,120,.28), transparent 70%); }
.ddr-fiche2-passband-main{ flex:1 1 auto; position:relative; z-index:1; }
.ddr-fiche2-passband-eyebrow{ display:block; font-size:13px; font-weight:700; letter-spacing:.04em; color:#F2C879; margin:0 0 4px; }
.ddr-fiche2-passband-title{ font-size:clamp(24px,3vw,32px); font-weight:800; margin:0 0 6px; color:#fff; letter-spacing:-0.02em; }
.ddr-fiche2-passband-price{ margin:0 0 4px; font-size:18px; }
.ddr-fiche2-passband-price strong{ font-size:30px; color:#fff; }
.ddr-fiche2-passband-old{ color:#e7c8c9; text-decoration:line-through; font-size:15px; margin-left:8px; }
.ddr-fiche2-passband-sub{ margin:0 0 12px; color:#f3dada; font-size:14px; }
.ddr-fiche2-passband-chips{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.ddr-fiche2-passband-chips li{ font-size:12px; font-weight:600; background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.22); border-radius:999px; padding:5px 12px; }
.ddr-fiche2-passband-cta{ flex:0 0 auto; position:relative; z-index:1; }
.ddr-fiche2-passband-btn.uk-button{ background:#F2C879; color:#2a0f10; font-weight:800; height:50px;
  line-height:50px; padding:0 26px; border-radius:10px; }
.ddr-fiche2-passband-btn.uk-button:hover{ background:#f6d490; color:#2a0f10; }

/* PARTIE 5 — Bons cadeaux : 2 cartes colorées et lisibles */
.ddr-fiche2-bons{ padding:30px 0; background:var(--ddr-soft); }
.ddr-fiche2-bons-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.ddr-fiche2-boncard{ border:1px solid var(--ddr-line); border-radius:14px; padding:20px 22px;
  box-shadow:var(--shadow-rest); display:flex; flex-direction:column; }
.ddr-fiche2-boncard.is-sb{ background:linear-gradient(180deg,#FCF3E9,#fff 60%); border-color:#EBD9C2; }
.ddr-fiche2-boncard.is-ba{ background:linear-gradient(180deg,#fdecec,#fff 60%); border-color:#f0cccd; }
.ddr-fiche2-boncard-ico{ font-size:26px; line-height:1; margin-bottom:8px; }
.ddr-fiche2-boncard h3{ font-size:16px; font-weight:800; color:var(--ddr-black); margin:0 0 8px; line-height:1.25; }
.ddr-fiche2-boncard p{ font-size:14px; color:var(--ddr-text); line-height:1.55; margin:0 0 16px; }
.ddr-fiche2-boncard-btns{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:auto; }
.ddr-fiche2-boncard-btns .uk-button{ display:inline-flex; align-items:center; height:40px; line-height:1;
  padding:0 18px; font-size:13.5px; }

/* PARTIE 6 — Vidéo (16:9 responsive) — module complémentaire, centré, taille réduite (B3-FIX 2026-06-08) */
.ddr-fiche2-video{ padding:30px 0; }
.ddr-fiche2-video-frame{ position:relative; width:100%; max-width:720px; margin:0 auto; aspect-ratio:16/9;
  border-radius:14px; overflow:hidden; box-shadow:var(--shadow-hover); }
.ddr-fiche2-video-frame iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }

/* PARTIE 7 — Galerie (≤6 · tuiles compactes hauteur fixe + fond neutre · object-fit:contain ·
   AUCUN crop violent · lightbox interne) — V2 2026-06-08 */
.ddr-fiche2-gallery{ padding:30px 0; background:var(--ddr-soft); }
.ddr-fiche2-gallery-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.ddr-fiche2-gallery-item{ display:block; width:100%; height:150px; margin:0; padding:0; border:1px solid var(--ddr-line);
  background:#fff; border-radius:12px; overflow:hidden; box-shadow:var(--shadow-rest); cursor:pointer; transition:box-shadow .2s, transform .2s; }
.ddr-fiche2-gallery-item:hover{ box-shadow:var(--shadow-hover); transform:translateY(-2px); }
.ddr-fiche2-gallery-img{ display:block; width:100%; height:100%; object-fit:contain; transition:transform .25s; }
.ddr-fiche2-gallery-item:hover .ddr-fiche2-gallery-img{ transform:scale(1.03); }

/* Lightbox interne (overlay DOM, sans UIkit ni window.open) */
.ddr-lb{ position:fixed; inset:0; z-index:99990; display:none; align-items:center; justify-content:center;
  background:rgba(12,12,14,.92); padding:48px 16px; }
.ddr-lb.is-open{ display:flex; }
.ddr-lb-fig{ margin:0; max-width:92vw; max-height:82vh; display:flex; align-items:center; justify-content:center; }
.ddr-lb-img{ max-width:92vw; max-height:82vh; width:auto; height:auto; object-fit:contain; border-radius:6px;
  box-shadow:0 10px 40px rgba(0,0,0,.5); }
.ddr-lb-close{ position:absolute; top:14px; right:18px; width:44px; height:44px; border:0; border-radius:50%;
  background:rgba(255,255,255,.12); color:#fff; font-size:28px; line-height:1; cursor:pointer; }
.ddr-lb-close:hover{ background:rgba(255,255,255,.22); }
.ddr-lb-nav{ position:absolute; top:50%; transform:translateY(-50%); width:52px; height:52px; border:0; border-radius:50%;
  background:rgba(255,255,255,.12); color:#fff; font-size:34px; line-height:1; cursor:pointer; }
.ddr-lb-nav:hover{ background:rgba(255,255,255,.22); }
.ddr-lb-prev{ left:14px; }
.ddr-lb-next{ right:14px; }
.ddr-lb-dl{ position:absolute; bottom:16px; left:50%; transform:translateX(-50%); color:#fff; font-size:13px; font-weight:600;
  text-decoration:underline; opacity:.85; }
.ddr-lb-dl:hover{ opacity:1; color:#fff; }

/* PARTIE 9 — Avis (cartes premium · 3/ligne desktop · 1/mobile · aucun schema.org) — V2 2026-06-08 */
.ddr-fiche2-reviews{ padding:34px 0; }
.ddr-fiche2-reviews-head{ margin:0 0 18px; }
.ddr-fiche2-reviews-sub{ margin:4px 0 0; font-size:13.5px; font-weight:600; color:var(--ddr-muted); }
.ddr-fiche2-reviews-src-lbl{ color:var(--ddr-muted); }
.ddr-fiche2-reviews-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; align-items:start; }
.ddr-fiche2-review{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--ddr-line);
  border-radius:14px; padding:16px 18px; margin:0; box-shadow:var(--shadow-rest); transition:box-shadow .2s, transform .2s; }
.ddr-fiche2-review:hover{ box-shadow:var(--shadow-hover); transform:translateY(-2px); }
.ddr-fiche2-review-rating{ display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.ddr-fiche2-review-stars{ color:#F2A900; font-size:15px; letter-spacing:1px; line-height:1; white-space:nowrap; }
.ddr-fiche2-review-note{ font-size:12px; font-weight:700; color:var(--ddr-muted); }
.ddr-fiche2-review-title{ margin:0 0 6px; font-size:15px; font-weight:800; color:var(--ddr-black); line-height:1.3; }
.ddr-fiche2-review-text{ margin:0 0 12px; color:var(--ddr-text); line-height:1.55; font-size:14px;
  display:-webkit-box; -webkit-line-clamp:6; -webkit-box-orient:vertical; overflow:hidden; }
.ddr-fiche2-review-foot{ margin-top:auto; display:flex; flex-wrap:wrap; align-items:baseline;
  justify-content:space-between; gap:6px; padding-top:10px; border-top:1px solid var(--ddr-line); }
.ddr-fiche2-review-author{ font-size:12.5px; font-weight:600; color:var(--ddr-muted); }
.ddr-fiche2-review-src{ font-size:11px; font-weight:700; color:var(--ddr-accent); text-transform:uppercase; letter-spacing:.4px; }
.ddr-fiche2-reviews-cta{ margin-top:18px; }
.ddr-fiche2-reviews-all.uk-button-text{ font-weight:700; }

@media (max-width:899px){
  .ddr-fiche2-passband-inner{ flex-direction:column; align-items:flex-start; gap:16px; }
  .ddr-fiche2-passband-cta, .ddr-fiche2-passband-btn.uk-button{ width:100%; }
  .ddr-fiche2-bons-grid{ grid-template-columns:1fr; }
  .ddr-fiche2-gallery-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:959px){
  /* Sous 960px, le header devient le bandeau mobile (~80px) : repli d'ancre ajusté. */
  .ddr-fiche2-seances-title{ scroll-margin-top:104px; }
  .ddr-fiche2-reviews-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:639px){
  .ddr-fiche2-breadcrumb{ padding-top:10px; }
  .ddr-fiche2-breadcrumb .uk-container{ font-size:12.5px; }
  .ddr-fiche2-bc-sep{ margin:0 7px; }
  .ddr-fiche2-bc-current{ max-width:22ch; }
  .ddr-fiche2-reviews-grid{ grid-template-columns:1fr; }
}
/* DDR FICHE CSS §46b V3 — 2026-06-03 (ancre sous header + fil d'Ariane) */

/* Fiche : la section de contenu YOOtheme impose 80px en haut → on réduit (~50%)
   uniquement sur les pages single-spectacle (sans coller au header sticky). */
.single-spectacle main > .uk-section-default{ padding-top:18px !important; }

/* Fiche : beaucoup de séances → 2 colonnes sur desktop (compact, lisible) */
@media (min-width:900px){
  .ddr-fiche2-seances-list--many{ display:grid; grid-template-columns:1fr 1fr; gap:10px; max-width:none; }
  .ddr-fiche2-seances-list--many .ddr-fiche2-seance{ margin:0; }
}


/* ---- 47. Archive spectacles — groupement par ANNÉE (Lot 1) ----------------
   Le shortcode [ddr_grille_spectacles] remplace la grille YOOtheme : mêmes
   cartes (réutilise §23 .ddr-shows-grid .el-item.uk-card) + bandeaux d'année
   bien visibles + onglets de filtre (pastilles §23). */
.ddr-archive-grid{ }

/* Onglets : on garde les pastilles §23 (.uk-tab) ; juste l'espacement dessous. */
.ddr-shows-tabs{ margin:0 auto 30px; }

/* Bandeau d'année : marqué mais léger (fond doux + filet rouge à gauche). */
.ddr-year-group + .ddr-year-group{ margin-top:46px; }
.ddr-year-banner{ display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 12px;
  margin:0 0 22px; padding:14px 22px;
  background:var(--ddr-soft); border-left:4px solid var(--ddr-accent); border-radius:12px; }
.ddr-year-num{ font-size:clamp(24px,3.2vw,34px); font-weight:800; line-height:1;
  color:var(--ddr-black); letter-spacing:-0.02em; }
.ddr-year-label{ font-size:13.5px; font-weight:700; color:var(--ddr-muted);
  text-transform:uppercase; letter-spacing:.05em; }

/* Grille : 4 colonnes desktop, 2 tablette, 1 mobile (les cartes = §23). */
.ddr-shows-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  column-gap:24px; row-gap:14px; align-items:start; }
.ddr-show-cell{ min-width:0; }
.ddr-card-titlelink{ display:block; text-decoration:none; color:inherit; }
.ddr-noimg{ width:100%; aspect-ratio:2/3; display:block; border-radius:10px; background:var(--ddr-soft); }
.ddr-grille-empty{ text-align:center; color:var(--ddr-muted); padding:40px 0; }

@media (max-width:959px){
  .ddr-shows-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:18px; }
  .ddr-year-group + .ddr-year-group{ margin-top:36px; }
}
@media (max-width:639px){
  .ddr-shows-grid{ grid-template-columns:1fr; }
  .ddr-year-banner{ padding:12px 16px; }
  .ddr-shows-tabs{ margin-bottom:22px; }
}
/* DDR ARCHIVE CSS §47 — 2026-06-03 (groupement par année) */


/* ---- 48. Entreprises / Associations / CSE (landing premium) -------------- */
/* Réutilise §36 (.ddr-help-grid/.ddr-help-card/.ddr-help-rules/.ddr-help-actions),
   §30 (.ddr-gc-banner). N'ajoute que le hero photo, les badges et les listes 2 col. */
.ddr-ent-hero{ display:grid; grid-template-columns:1.05fr .95fr; gap:44px; align-items:center;
  max-width:1140px; margin:0 auto; }
.ddr-ent-hero-text .ddr-help-h1{ margin-top:6px; }
.ddr-ent-hero-text .ddr-help-lead{ margin:0 0 4px; max-width:none; }
.ddr-ent-hero-text .ddr-help-actions{ justify-content:flex-start; }
.ddr-ent-hero-img img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:18px;
  box-shadow:var(--shadow-hover); display:block; }
.ddr-ent-badges{ list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin:22px 0 0; padding:0; }
.ddr-ent-badges li{ font-size:12.5px; font-weight:600; color:var(--ddr-text); background:var(--ddr-soft);
  border:1px solid var(--ddr-line); border-radius:999px; padding:7px 14px; }
.ddr-ent-h2{ margin:0 0 20px; font-size:clamp(22px,3vw,30px); color:var(--ddr-black); letter-spacing:-0.01em; }
.ddr-ent-list2{ columns:2; column-gap:42px; }
.ddr-ent-list2 li{ break-inside:avoid; }
.ddr-ent-note{ margin-top:14px; color:var(--ddr-muted); font-size:14px; line-height:1.55; }
.ddr-ent-note a{ color:var(--ddr-accent); font-weight:600; }
.ddr-ent-bonspro .ddr-help-rules{ margin-bottom:8px; }
.ddr-ent-cta{ text-align:center; }
.ddr-ent-cta .ddr-help-rules{ text-align:left; }
.ddr-ent-cta .ddr-help-actions{ justify-content:center; }
/* lien croisé depuis /bons-cadeaux/ vers la page Entreprises */
.ddr-bons-occ-pro{ text-align:center; margin:20px 0 0; color:var(--ddr-text); }
.ddr-bons-occ-pro a{ color:var(--ddr-accent); font-weight:700; }
/* V2 B2B : icônes cartes (réutilise §36 .ddr-help-card-ico), sous-titres, chips, bloc photo */
.ddr-ent-subh{ font-size:18px; font-weight:800; color:var(--ddr-black); margin:20px 0 8px; }
.ddr-ent-sub2{ font-weight:700; color:var(--ddr-black); margin:16px 0 8px; }
.ddr-ent-bonspro{ scroll-margin-top:200px; }
.ddr-ent-bonspro .ddr-help-actions{ margin-top:18px; }
.ddr-ent-chips{ list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin:6px 0 0; padding:0; }
.ddr-ent-chips li{ font-size:13px; font-weight:600; color:var(--ddr-black); background:#fff;
  border:1px solid var(--ddr-line); border-radius:999px; padding:7px 14px; }
.ddr-ent-split{ display:grid; grid-template-columns:1.1fr .9fr; gap:42px; align-items:center; }
.ddr-ent-split-img img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:16px;
  box-shadow:var(--shadow-rest); display:block; }
@media (max-width:859px){
  .ddr-ent-hero{ grid-template-columns:1fr; gap:24px; }
  .ddr-ent-hero-img{ order:-1; }
  .ddr-ent-list2{ columns:1; }
  .ddr-ent-split{ grid-template-columns:1fr; gap:22px; }
  .ddr-ent-split-img{ order:-1; }
}
/* DDR ENTREPRISES CSS §48 V2 — 2026-06-03 (landing B2B) */


/* ---- 49. Archive spectacles — vitrine V2 : filtres 2 niveaux + cartes ----- */
/* Bandeau éditorial discret (compteur global + mention + rappels). */
.ddr-grille-meta{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
  gap:6px 14px; margin:0 0 20px; font-size:13.5px; color:var(--ddr-muted); }
.ddr-grille-count{ font-weight:700; color:var(--ddr-black); }
.ddr-grille-sep{ color:var(--ddr-line); }
.ddr-grille-links a{ color:var(--ddr-accent); font-weight:600; text-decoration:none; }
.ddr-grille-links a:hover{ text-decoration:underline; }

/* Filtres : public (pills §23) + genre (chips). */
.ddr-grille-filters{ display:flex; flex-direction:column; align-items:center; gap:14px; margin:0 0 32px; }
.ddr-grille-pub{ margin:0 auto; }   /* hérite des pills .uk-tab (§23) */
.ddr-grille-genre{ list-style:none; display:flex; flex-wrap:wrap; justify-content:center;
  gap:8px; margin:0; padding:0; max-width:920px; }
.ddr-grille-genre a{ display:inline-block; padding:7px 16px; border-radius:999px;
  border:1px solid var(--ddr-line); background:#fff; color:var(--ddr-muted);
  font-size:13.5px; font-weight:600; text-decoration:none;
  transition:color .16s ease, background-color .16s ease, border-color .16s ease; }
.ddr-grille-genre a:hover{ color:var(--ddr-black); border-color:#e3b9bc; }
.ddr-grille-genre li.is-active a{ background:var(--ddr-accent); color:#fff; border-color:var(--ddr-accent); }

/* État « aucun résultat ». */
.ddr-grille-noresult{ text-align:center; color:var(--ddr-muted); padding:34px 0; font-size:15px; }
.ddr-grille-noresult a{ color:var(--ddr-accent); font-weight:600; }

/* Carte : badge public coloré (distinction adultes / jeune public) + date renforcée. */
.ddr-show-cell .ddr-card-link{ position:relative; }
.ddr-card-badge{ position:absolute; top:10px; left:10px; z-index:2;
  font-size:11px; font-weight:700; letter-spacing:.02em; line-height:1;
  padding:5px 11px; border-radius:999px; color:#fff;
  box-shadow:0 1px 5px rgba(11,11,13,.22); }
.ddr-card-badge.is-adulte{ background:var(--ddr-accent); }
.ddr-card-badge.is-jeune{ background:#1f7a3d; }
.ddr-card-date{ color:var(--ddr-black) !important; font-weight:700 !important; font-size:14px !important; letter-spacing:-0.005em; }

@media (max-width:639px){
  .ddr-grille-meta{ font-size:12.5px; gap:5px 12px; }
  .ddr-grille-genre a{ padding:6px 13px; font-size:12.5px; }
  .ddr-card-badge{ font-size:10.5px; padding:4px 9px; }
}
/* DDR ARCHIVE CSS §49 — 2026-06-03 (filtres 2 niveaux + badges) */

/* =====================================================================
   §50 — VITRINE PREMIUM V2 /spectacles/ (Lot C) — 2026-06-03
   En-tête éditorial (titre YOOtheme allégé + eyebrow) · filtre public/âge ·
   cartes affinées (affiche valorisée, zoom doux, fondu) · bandeaux d'année fins.
   Vient APRÈS §23/§47/§49 → surcharge volontaire par la cascade. Sélecteurs
   préfixés .ddr-archive-grid pour battre §23 sans recourir à !important.
   ===================================================================== */

/* ---- En-tête éditorial (H1 + chapô rendus par le template archive YOOtheme) */
/* Espace haut réduit ~50 % (80px -> 40px) : le titre/filtres arrivent plus vite,
   sans coller au header sticky (qui mesure ~120px et s'arrête au-dessus). */
body.post-type-archive-spectacle .uk-section:first-of-type{ padding-top:40px; padding-bottom:14px; }
body.post-type-archive-spectacle h1{
  margin:0 0 14px; color:var(--ddr-black); font-weight:800;
  font-size:clamp(1.8rem, 1.25rem + 1.9vw, 2.6rem); line-height:1.06; letter-spacing:-.025em;
}
body.post-type-archive-spectacle h1::before{
  content:"Café-théâtre · Clermont-Ferrand"; display:block;
  margin:0 0 14px; font-size:12px; font-weight:700; letter-spacing:.2em;
  text-transform:uppercase; color:var(--ddr-accent);
}
body.post-type-archive-spectacle .uk-text-lead{
  max-width:600px; margin-left:auto; margin-right:auto;
  color:var(--ddr-muted); font-size:16px; line-height:1.62; font-weight:400;
}

/* ---- Méta live (compteur + maj auto + rappels) */
.ddr-archive-grid .ddr-grille-meta{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
  gap:6px 12px; margin:6px 0 0; font-size:13.5px; color:var(--ddr-muted);
}
.ddr-archive-grid .ddr-grille-count{ font-weight:700; color:var(--ddr-black); }
.ddr-archive-grid .ddr-grille-sep{ color:var(--ddr-line); }
.ddr-archive-grid .ddr-grille-links a{ color:var(--ddr-accent); font-weight:600; text-decoration:none; }
.ddr-archive-grid .ddr-grille-links a:hover{ text-decoration:underline; }

/* ---- Filtre unique public / âge — pills raffinées (façon segmenté premium) */
.ddr-archive-grid .ddr-grille-filters{ display:flex; justify-content:center; margin:24px 0 38px; }
.ddr-archive-grid .ddr-grille-pub{
  list-style:none; display:inline-flex; flex-wrap:wrap; justify-content:center;
  gap:8px; margin:0; padding:0; max-width:100%;
}
.ddr-archive-grid .ddr-grille-pub li{ margin:0; }
.ddr-archive-grid .ddr-grille-pub a{
  display:inline-flex; align-items:center; padding:9px 18px; border-radius:999px;
  border:1px solid var(--ddr-line); background:#fff; color:var(--ddr-text);
  font-size:14px; font-weight:600; letter-spacing:-.005em; text-decoration:none; white-space:nowrap;
  transition:border-color .2s ease, color .2s ease, background-color .2s ease, box-shadow .2s ease, transform .12s ease;
}
.ddr-archive-grid .ddr-grille-pub a:hover{ border-color:var(--ddr-black); color:var(--ddr-black); }
.ddr-archive-grid .ddr-grille-pub li.is-active a{
  background:var(--ddr-black); border-color:var(--ddr-black); color:#fff;
  box-shadow:0 8px 18px -10px rgba(11,11,13,.55);
}

/* ---- État « aucun résultat » */
.ddr-archive-grid .ddr-grille-noresult{ text-align:center; color:var(--ddr-muted); padding:38px 0; font-size:15px; }
.ddr-archive-grid .ddr-grille-noresult a{ color:var(--ddr-accent); font-weight:600; }

/* ---- Bandeaux d'année : filet fin (pas un séparateur administratif) */
.ddr-archive-grid .ddr-year-group{ margin:0; }
.ddr-archive-grid .ddr-year-group + .ddr-year-group{ margin-top:18px; }
.ddr-archive-grid .ddr-year-banner{
  display:flex; align-items:baseline; gap:14px; padding:0; margin:0 0 24px;
  background:none; border:none;
}
.ddr-archive-grid .ddr-year-banner::after{
  content:""; flex:1 1 auto; align-self:center; height:1px;
  background:linear-gradient(90deg, var(--ddr-line), rgba(0,0,0,0));
}
.ddr-archive-grid .ddr-year-num{
  font-size:1.45rem; font-weight:800; letter-spacing:-.01em; color:var(--ddr-black); line-height:1;
}
.ddr-archive-grid .ddr-year-label{ font-size:.92rem; font-weight:500; color:var(--ddr-muted); }

/* ---- Grille + cartes (aérées, sans filet « étagère », affiche valorisée) */
.ddr-archive-grid .ddr-shows-grid{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:34px 26px;
  --sep-x:13px; --sep-y:17px; --ddr-sep:rgba(227,31,36,.12);
}
.ddr-archive-grid .ddr-shows-grid .el-item.uk-card{
  background:transparent; box-shadow:none; border:none; border-radius:0;
  padding:0; display:flex; flex-direction:column;
}
.ddr-archive-grid .ddr-shows-grid .el-item.uk-card > :last-child{ margin-top:0 !important; }

/* Affiche : conteneur arrondi qui clippe le zoom ; ratio 2:3 ; ombre fine. */
.ddr-archive-grid .ddr-shows-grid .ddr-card-link{
  display:block; position:relative; overflow:hidden; border-radius:16px;
  background:var(--ddr-soft); box-shadow:0 1px 2px rgba(11,11,13,.05);
  transition:box-shadow .35s ease, transform .35s ease;
}
.ddr-archive-grid .ddr-shows-grid .el-image{
  width:100%; aspect-ratio:2/3; object-fit:cover; display:block; border-radius:16px;
  box-shadow:none; transition:transform .6s cubic-bezier(.2,.6,.2,1);
}
.ddr-archive-grid .ddr-shows-grid .el-item:hover .ddr-card-link{ box-shadow:0 20px 38px -22px rgba(11,11,13,.42); }
.ddr-archive-grid .ddr-shows-grid .el-item:hover .el-image{ transform:scale(1.055); }

/* Filet TRÈS FIN entre les rangées (casse l'effet « bloc » sans alourdir).
   Pseudo posé dans la gouttière verticale (var --sep-y = ½ row-gap), prolongé de
   ½ gouttière horizontale (var --sep-x) pour franchir les colonnes -> trait
   continu sur toute la rangée. Offsets adaptés par palier responsive.
   Couleur « rouge très transparent » (var --ddr-sep) : discret, premium. */
.ddr-archive-grid .ddr-show-cell{ position:relative; }
.ddr-archive-grid .ddr-show-cell::after{
  content:""; position:absolute; pointer-events:none; height:1px;
  left:calc(var(--sep-x) * -1); right:calc(var(--sep-x) * -1); bottom:calc(var(--sep-y) * -1);
  background:var(--ddr-sep, rgba(227,31,36,.12));
}

/* Titre + date */
.ddr-archive-grid .ddr-shows-grid .ddr-card-titlelink{ display:block; text-decoration:none; color:inherit; }
.ddr-archive-grid .ddr-shows-grid .el-title{
  margin:15px 0 0; color:var(--ddr-black); font-size:16px; font-weight:700;
  line-height:1.28; letter-spacing:-.015em; text-transform:none;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  transition:color .18s ease;
}
.ddr-archive-grid .ddr-shows-grid .el-item:hover .el-title{ color:var(--ddr-accent); }
.ddr-archive-grid .ddr-shows-grid .el-meta.ddr-card-date{
  margin:7px 0 0 !important; color:#6a6a72 !important;
  font-size:11.5px !important; font-weight:700 !important;
  letter-spacing:.06em; text-transform:uppercase; line-height:1.35;
}

/* CTA « Réserver » fin + flèche discrète (plus de gros rectangle) */
.ddr-archive-grid .ddr-shows-grid .ddr-card-cta{
  display:inline-flex; align-items:center; align-self:flex-start; gap:.45em;
  margin:14px 0 0; padding:8px 17px; border-radius:999px;
  background:var(--ddr-accent); color:#fff; text-decoration:none;
  font-size:13px; font-weight:600; letter-spacing:.005em; line-height:1.2;
  transition:background-color .18s ease, box-shadow .2s ease;
}
.ddr-archive-grid .ddr-shows-grid .ddr-card-cta::after{
  content:"→"; font-size:1.02em; line-height:1; transition:transform .2s ease;
}
.ddr-archive-grid .ddr-shows-grid .ddr-card-cta:hover{
  background:var(--ddr-accent-dark); box-shadow:0 10px 20px -10px rgba(227,31,36,.6);
}
.ddr-archive-grid .ddr-shows-grid .ddr-card-cta:hover::after{ transform:translateX(3px); }

/* ---- Apparition en fondu (UNIQUEMENT si JS actif → rien de masqué sans JS) */
.ddr-js .ddr-archive-grid .ddr-show-cell{
  opacity:0; transform:translateY(16px);
  transition:opacity .55s ease, transform .55s cubic-bezier(.2,.6,.2,1);
}
.ddr-js .ddr-archive-grid .ddr-show-cell.is-in{ opacity:1; transform:none; }

@media (prefers-reduced-motion:reduce){
  .ddr-js .ddr-archive-grid .ddr-show-cell{ opacity:1 !important; transform:none !important; transition:none !important; }
  .ddr-archive-grid .ddr-shows-grid .el-image{ transition:none !important; }
  .ddr-archive-grid .ddr-shows-grid .ddr-card-cta::after{ transition:none !important; }
}

/* ---- Responsive */
@media (max-width:959px){
  .ddr-archive-grid .ddr-shows-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 20px; --sep-x:10px; --sep-y:15px; }
}
@media (max-width:639px){
  body.post-type-archive-spectacle .uk-section:first-of-type{ padding-top:26px; }
  body.post-type-archive-spectacle h1{ font-size:clamp(1.6rem, 1.2rem + 2.6vw, 2rem); }
  body.post-type-archive-spectacle .uk-text-lead{ font-size:15px; }
  .ddr-archive-grid .ddr-grille-pub a{ padding:8px 14px; font-size:13px; }
  .ddr-archive-grid .ddr-shows-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 14px; --sep-x:7px; --sep-y:11px; }
  .ddr-archive-grid .ddr-shows-grid .el-title{ font-size:14.5px; }
  .ddr-archive-grid .ddr-shows-grid .ddr-card-cta{ font-size:12.5px; padding:7px 14px; }
  .ddr-archive-grid .ddr-year-num{ font-size:1.25rem; }
}
@media (max-width:399px){
  .ddr-archive-grid .ddr-shows-grid{ grid-template-columns:1fr; --sep-x:0px; }
}
/* DDR ARCHIVE CSS §50 — 2026-06-03 (vitrine premium V2 : filtre public/âge) */
