/* =============================================================
   LE-PARCOURS-DU-DISCIPLE - Feuille de style unique
   Église ICC Lyon
   -------------------------------------------------------------
   Sommaire
   01. Jetons de design (couleurs, typo, espacements)
   02. Réinitialisation et base
   03. Utilitaires et mise en page
   04. Boutons
   05. En-tête et navigation
   06. Bandeaux (hero)
   07. Pied de page
   08. Cartes génériques
   09. Accueil (parcours, verset, contact)
   10. Commande au Matin
   11. Derniers cultes
   12. Formulaires
   13. Enseignements
   14. Témoignages
   15. Événements
   16. Recherche
   17. Lecteur vidéo
   18. Page 404
   19. Accessibilité et impression
   20. Adaptations responsive
   ============================================================= */

/* ==================== 01. JETONS DE DESIGN ==================== */
:root{
  /* Couleurs de marque */
  --violet:#6a0dad;
  --violet-fonce:#4d176c;
  --violet-nuit:#22042f;
  --violet-clair:#9b59b6;
  --violet-pale:#faf5ff;
  --or:#d4a017;

  /* Textes */
  --texte:#2c2c2c;
  --texte-doux:#5f5366;
  --texte-leger:#7a6f80;
  --texte-inverse:#ffffff;

  /* Surfaces */
  --fond:#ffffff;
  --fond-doux:#faf7fd;
  --surface:#ffffff;
  --surface-teintee:#f6eefc;
  --bordure:rgba(106,13,173,.12);
  --bordure-forte:rgba(106,13,173,.24);

  /* États */
  --succes:#1f9254;
  --erreur:#c0392b;
  --whatsapp:#25d366;

  /* Dégradés */
  --degrade-violet:linear-gradient(135deg,var(--violet),var(--violet-clair));
  --degrade-nuit:linear-gradient(135deg,var(--violet-nuit),var(--violet-fonce));
  --voile-hero:linear-gradient(135deg,rgba(34,4,47,.86),rgba(106,13,173,.74));

  /* Ombres */
  --ombre-xs:0 2px 8px rgba(106,13,173,.08);
  --ombre-sm:0 8px 22px rgba(106,13,173,.10);
  --ombre-md:0 16px 42px rgba(106,13,173,.13);
  --ombre-lg:0 24px 60px rgba(106,13,173,.18);

  /* Rayons */
  --r-sm:12px;
  --r-md:18px;
  --r-lg:24px;
  --r-xl:30px;
  --r-pilule:999px;

  /* Typographie */
  --titre:'Playfair Display', Georgia, 'Times New Roman', serif;
  --corps:'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;

  /* Rythme */
  --largeur:1200px;
  --gouttiere:20px;
  --section-y:clamp(48px, 7vw, 88px);

  /* Divers */
  --transition:.25s ease;
  --icc-watermark-y:0px;
  --icc-watermark-x:0px;
  --icc-watermark-rotate:-2deg;
  --icc-watermark-scale:1;
}

/* ==================== 02. RÉINITIALISATION ET BASE ==================== */
*,*::before,*::after{box-sizing:border-box;}

html{
  scroll-behavior:smooth;
  scroll-padding-top:96px;
  -webkit-text-size-adjust:100%;
}

body{
  margin:0;
  font-family:var(--corps);
  font-size:16px;
  line-height:1.7;
  color:var(--texte);
  background:var(--fond);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4,h5{
  font-family:var(--titre);
  color:var(--violet-fonce);
  line-height:1.2;
  margin:0 0 .5em;
  font-weight:700;
}
h1{font-size:clamp(2.1rem,5vw,3.6rem);}
h2{font-size:clamp(1.6rem,3.4vw,2.5rem);}
h3{font-size:clamp(1.15rem,2vw,1.45rem);}
h4{font-size:1.05rem;}

p{margin:0 0 1em;}
p:last-child{margin-bottom:0;}

a{color:var(--violet);text-decoration:none;transition:color var(--transition);}
a:hover{color:var(--violet-fonce);}

img{max-width:100%;height:auto;display:block;}

ul,ol{margin:0 0 1em;padding-left:1.25em;}

hr{border:0;border-top:1px solid var(--bordure);margin:32px 0;}

strong{font-weight:700;}

:focus-visible{
  outline:3px solid var(--violet-clair);
  outline-offset:2px;
  border-radius:6px;
}

::selection{background:rgba(106,13,173,.18);}

/* ==================== 03. UTILITAIRES ET MISE EN PAGE ==================== */
.container{
  width:100%;
  max-width:var(--largeur);
  margin:0 auto;
  padding:0 var(--gouttiere);
}

.section{padding:var(--section-y) 0;position:relative;overflow:hidden;}
.section-light{background:var(--fond-doux);}

.section-title{
  text-align:center;
  margin:0 0 12px;
}
.section-subtitle{
  text-align:center;
  max-width:760px;
  margin:0 auto 40px;
  color:var(--texte-doux);
  font-size:1.05rem;
}

.section-heading-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
  margin-bottom:32px;
}
.section-heading-row .section-title,
.section-heading-row .section-subtitle{text-align:left;margin:0;}

.highlight{color:var(--or);font-weight:700;}

.saut-contenu{
  position:absolute;
  left:0;
  top:0;
  transform:translateY(-120%);
  z-index:1000;
  background:var(--violet);
  color:#fff;
  padding:12px 20px;
  border-radius:0 0 var(--r-md) 0;
  font-weight:700;
}
.saut-contenu:focus{transform:none;color:#fff;}

.visuellement-cache{
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
  border:0;
}

/* Filigrane ICC animé au défilement */
.section::after{content:none;}
.pathway-section::after,
.teachings-command-center::after,
.testimonials-section::after{
  content:'';
  position:absolute;
  right:-40px;
  top:20%;
  width:min(360px,38vw);
  aspect-ratio:1;
  background:url('images/logo-icc-lyon.png') center/contain no-repeat;
  opacity:.07;
  pointer-events:none;
  transform:
    translate(var(--icc-watermark-x),var(--icc-watermark-y))
    rotate(var(--icc-watermark-rotate))
    scale(var(--icc-watermark-scale));
  transition:transform .4s ease-out;
  z-index:0;
}
.pathway-section > .container,
.teachings-command-center > .container,
.testimonials-section > .container{position:relative;z-index:1;}

/* ==================== 04. BOUTONS ==================== */
.btn,
.btn-submit,
.search-btn,
.contact-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:14px 26px;
  border:none;
  border-radius:var(--r-pilule);
  font-family:var(--corps);
  font-size:.98rem;
  font-weight:700;
  line-height:1.2;
  cursor:pointer;
  text-align:center;
  transition:transform var(--transition), box-shadow var(--transition), background var(--transition), color var(--transition);
}
.btn:hover,
.btn-submit:hover,
.search-btn:hover,
.contact-btn:hover{transform:translateY(-3px);box-shadow:var(--ombre-md);}
.btn:active,.btn-submit:active,.search-btn:active{transform:translateY(-1px);}
.btn[disabled],.btn-submit[disabled],button[disabled]{
  opacity:.5;cursor:not-allowed;transform:none;box-shadow:none;
}

.btn-primary,
.btn-submit,
.search-btn{
  background:var(--degrade-violet);
  color:#fff;
  box-shadow:0 12px 26px rgba(106,13,173,.22);
}
.btn-primary:hover,.btn-submit:hover,.search-btn:hover{color:#fff;}

/* Bouton par défaut (« btn » seul, sans variante) */
.btn:not(.btn-primary):not(.btn-secondary),
.btn-secondary{
  background:var(--surface);
  color:var(--violet);
  border:1px solid var(--bordure-forte);
  box-shadow:var(--ombre-xs);
}
.btn:not(.btn-primary):not(.btn-secondary):hover,
.btn-secondary:hover{background:var(--violet-pale);color:var(--violet-fonce);}

.btn-small{padding:10px 18px;font-size:.88rem;}

.hero .btn-secondary{
  background:rgba(255,255,255,.14);
  color:#fff;
  border-color:rgba(255,255,255,.4);
  backdrop-filter:blur(6px);
}
.hero .btn-secondary:hover{background:rgba(255,255,255,.24);color:#fff;}

.contact-btn{
  background:var(--whatsapp);
  color:#fff;
  box-shadow:0 12px 24px rgba(37,211,102,.26);
}
.contact-btn:hover{background:#1ebe5b;color:#fff;}

/* ==================== 05. EN-TÊTE ET NAVIGATION ==================== */
.navbar{
  position:sticky;
  top:0;
  z-index:900;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--bordure);
  box-shadow:0 2px 18px rgba(106,13,173,.07);
}
.navbar .container{
  display:flex;
  align-items:center;
  gap:18px;
  min-height:72px;
  padding-top:8px;
  padding-bottom:8px;
}

/* -- Logo / marque -- */
.brand-logo{
  display:flex;
  align-items:center;
  gap:11px;
  flex:0 0 auto;
  color:inherit;
}
.brand-logo .brand-mark{
  width:42px;
  height:42px;
  object-fit:contain;
  flex:0 0 auto;
}
.brand-text{display:flex;flex-direction:column;line-height:1.12;}
.brand-text strong{
  font-family:var(--titre);
  font-size:1.16rem;
  color:var(--violet-fonce);
  letter-spacing:.01em;
}
.brand-text small{
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--or);
}
.brand-text em{
  font-style:normal;
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--texte-leger);
}

/* -- Liens de navigation -- */
.nav-links{
  display:flex;
  align-items:center;
  gap:6px;
  margin-left:auto;
  flex-wrap:wrap;
}
.nav-links > a,
.nav-more-toggle{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:9px 15px;
  border-radius:var(--r-pilule);
  font-size:.92rem;
  font-weight:600;
  color:var(--texte);
  background:transparent;
  border:none;
  font-family:var(--corps);
  cursor:pointer;
  white-space:nowrap;
  transition:background var(--transition), color var(--transition);
}
.nav-links > a:hover,
.nav-more-toggle:hover{background:var(--violet-pale);color:var(--violet);}
.nav-links > a.active,
.nav-more-toggle.active{
  background:var(--surface-teintee);
  color:var(--violet);
  font-weight:700;
}

/* -- Menu « Explorer » -- */
.nav-more{position:relative;}
.nav-more-menu{
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  min-width:230px;
  display:none;
  flex-direction:column;
  gap:2px;
  padding:10px;
  background:var(--surface);
  border:1px solid var(--bordure);
  border-radius:var(--r-md);
  box-shadow:var(--ombre-lg);
  z-index:950;
}
.nav-more.open .nav-more-menu{display:flex;}
.nav-more-menu a{
  padding:11px 14px;
  border-radius:var(--r-sm);
  font-size:.93rem;
  font-weight:600;
  color:var(--texte);
}
.nav-more-menu a:hover{background:var(--violet-pale);color:var(--violet);}
.nav-more-menu a.active{background:var(--surface-teintee);color:var(--violet);}
.nav-more-toggle .fa-chevron-down{font-size:.72rem;transition:transform var(--transition);}
.nav-more.open .nav-more-toggle .fa-chevron-down{transform:rotate(180deg);}

/* -- Recherche rapide dans l'en-tête -- */
.nav-search{
  display:flex;
  align-items:center;
  gap:6px;
  padding:6px 6px 6px 14px;
  background:var(--violet-pale);
  border:1px solid var(--bordure);
  border-radius:var(--r-pilule);
  flex:0 1 230px;
  min-width:0;
}
.nav-search input{
  flex:1 1 auto;
  min-width:0;
  border:none;
  background:transparent;
  font-family:var(--corps);
  font-size:.88rem;
  color:var(--texte);
  padding:4px 0;
}
.nav-search input:focus{outline:none;}
.nav-search input::placeholder{color:var(--texte-leger);}
.nav-search button{
  flex:0 0 auto;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border:none;
  border-radius:50%;
  background:var(--degrade-violet);
  color:#fff;
  cursor:pointer;
  transition:transform var(--transition);
}
.nav-search button:hover{transform:scale(1.07);}

/* -- Sélecteur de langue -- */
.global-tools{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}
.global-tools select{
  appearance:none;
  -webkit-appearance:none;
  padding:9px 32px 9px 14px;
  border:1px solid var(--bordure-forte);
  border-radius:var(--r-pilule);
  background:var(--surface)
    url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236a0dad' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")
    no-repeat right 12px center/11px;
  font-family:var(--corps);
  font-size:.85rem;
  font-weight:700;
  color:var(--violet-fonce);
  cursor:pointer;
}
.global-tools select:hover{border-color:var(--violet-clair);}

/* -- Boutons mobiles (injectés par global-site.js) -- */
.mobile-nav-actions{display:none;gap:8px;margin-left:auto;}
.mobile-menu-toggle,
.display-mode-toggle{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:10px 16px;
  border:1px solid var(--bordure-forte);
  border-radius:var(--r-pilule);
  background:var(--surface);
  font-family:var(--corps);
  font-size:.85rem;
  font-weight:700;
  color:var(--violet-fonce);
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.mobile-menu-toggle:active,
.display-mode-toggle:active{background:var(--violet-pale);}

/* ==================== 06. BANDEAUX (HERO) ==================== */
.hero{
  position:relative;
  padding:clamp(64px,9vw,105px) 0;
  color:#fff;
  text-align:center;
  background:var(--voile-hero), url('images/hero-bible.jpg') center/cover no-repeat;
  background-color:var(--violet-fonce);
  overflow:hidden;
}
.hero h1{color:#fff;margin-bottom:16px;text-shadow:0 4px 22px rgba(0,0,0,.28);}
.hero h1 br{display:inline;}
.hero .subtitle{
  max-width:760px;
  margin:0 auto;
  font-size:clamp(1rem,1.7vw,1.2rem);
  line-height:1.75;
  color:rgba(255,255,255,.94);
}
.hero-text{position:relative;z-index:1;}
.hero-buttons{
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:28px;
}

/* Compteur et signature ICC sur l'accueil */
.hero-meta-stack{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
  margin-top:32px;
}
.home-counter{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
}
.home-counter > span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 17px;
  border-radius:var(--r-pilule);
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.26);
  backdrop-filter:blur(8px);
  font-size:.88rem;
  color:#fff;
}
.home-counter strong{font-weight:700;}
.site-icc-mark{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 20px 8px 8px;
  border-radius:var(--r-pilule);
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.26);
  backdrop-filter:blur(8px);
  font-size:.88rem;
  font-weight:700;
  color:#fff;
}
.site-icc-mark img{width:32px;height:32px;object-fit:contain;}

/* Étiquettes « kicker » utilisées sur plusieurs bandeaux */
.culte-kicker,
.teachings-kicker,
.testimonial-kicker,
.verse-kicker,
.culte-archive-kicker,
.commande-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 15px;
  border-radius:var(--r-pilule);
  background:var(--surface-teintee);
  color:var(--violet);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  margin-bottom:14px;
}
.hero .culte-kicker,
.hero .teachings-kicker{
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.28);
  color:#fff;
}

.teachings-hero-actions{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:28px;
}

/* ==================== 07. PIED DE PAGE ==================== */
.footer{
  background:var(--degrade-nuit);
  color:rgba(255,255,255,.86);
  padding:56px 0 22px;
}
.footer-content{
  display:grid;
  grid-template-columns:minmax(240px,1fr) 2fr;
  gap:40px;
  align-items:start;
}
.footer-logo .brand-logo{
  padding:20px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:var(--r-lg);
  background:rgba(255,255,255,.05);
}
.footer .brand-text strong{color:#fff;}
.footer .brand-text em{color:rgba(255,255,255,.6);}
.footer-links{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}
.footer-column{display:flex;flex-direction:column;gap:9px;}
.footer-column h4{
  display:flex;
  align-items:center;
  gap:8px;
  color:#fff;
  margin:0 0 6px;
  font-family:var(--titre);
  font-size:1.02rem;
}
.footer-column a{
  color:rgba(255,255,255,.8);
  font-size:.93rem;
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition:color var(--transition), transform var(--transition);
}
.footer-column a:hover{color:#fff;transform:translateX(3px);}
.footer-bottom{
  margin-top:40px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.16);
  text-align:center;
  font-size:.88rem;
  color:rgba(255,255,255,.72);
}
.footer-bottom p{margin:0 0 6px;}
.footer-address{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}

/* ==================== 08. CARTES GÉNÉRIQUES ==================== */
.card,
.resume-card,
.event-card,
.formulaire-card,
.channel-card,
.library-card,
.testimonial-card,
.question-card,
.result-card{
  background:var(--surface);
  border:1px solid var(--bordure);
  border-radius:var(--r-lg);
  box-shadow:var(--ombre-md);
}
.card{padding:28px;}
.card h2,.card h3{margin-top:0;}
.card-reference{
  color:var(--violet);
  font-weight:700;
  font-style:italic;
  font-size:.95rem;
}

.empty-state,
.culte-empty,
.testimonial-empty,
.commande-note{
  text-align:center;
  padding:36px 24px;
  border-radius:var(--r-lg);
  background:var(--surface);
  border:1px dashed var(--bordure-forte);
  color:var(--texte-doux);
}
.empty-state strong,
.culte-empty strong,
.testimonial-empty strong{color:var(--violet);display:block;margin-bottom:6px;}
.testimonial-empty i{font-size:1.6rem;color:var(--violet-clair);margin-bottom:10px;display:block;}

/* Mise en avant d'un résultat de recherche */
.site-search-focus{
  animation:surlignage 4.2s ease;
  border-radius:var(--r-md);
}
@keyframes surlignage{
  0%,70%{box-shadow:0 0 0 4px rgba(212,160,23,.55);background:rgba(246,223,116,.22);}
  100%{box-shadow:0 0 0 0 rgba(212,160,23,0);background:transparent;}
}

/* ==================== 09. ACCUEIL ==================== */
.pathway-brand{display:flex;justify-content:center;margin-bottom:24px;}
.pathway-brand img{width:min(150px,32vw);}

.pathway-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:22px;
}
.pathway-step{
  position:relative;
  padding:30px 26px 26px;
  background:var(--surface);
  border:1px solid var(--bordure);
  border-radius:var(--r-lg);
  box-shadow:var(--ombre-sm);
  transition:transform var(--transition), box-shadow var(--transition);
}
.pathway-step:hover{transform:translateY(-6px);box-shadow:var(--ombre-lg);}
.pathway-number{
  position:absolute;
  top:18px;
  right:22px;
  font-family:var(--titre);
  font-size:2rem;
  color:rgba(106,13,173,.16);
  font-weight:700;
}
.pathway-icon{
  width:52px;height:52px;
  display:grid;place-items:center;
  border-radius:var(--r-md);
  background:var(--surface-teintee);
  color:var(--violet);
  font-size:1.25rem;
  margin-bottom:16px;
}
.pathway-step h3{margin-bottom:8px;}
.pathway-step p{color:var(--texte-doux);font-size:.96rem;}
.pathway-step > a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-weight:700;
  font-size:.93rem;
}
.pathway-step > a::after{content:'\2192';transition:transform var(--transition);}
.pathway-step > a:hover::after{transform:translateX(4px);}

/* -- Verset du jour -- */
.verse-pro{
  display:grid;
  grid-template-columns:minmax(260px,.85fr) 1.15fr;
  gap:40px;
  align-items:center;
}
.verse-pro-intro h2{margin-bottom:10px;}
.verse-pro-intro p{color:var(--texte-doux);margin-bottom:22px;}
.verse-pro-card{
  position:relative;
  padding:38px 34px;
  background:var(--surface);
  border:1px solid var(--bordure);
  border-radius:var(--r-xl);
  box-shadow:var(--ombre-lg);
}
.verse-mark{
  width:46px;height:46px;
  display:grid;place-items:center;
  border-radius:var(--r-md);
  background:var(--surface-teintee);
  color:var(--violet);
  font-size:1.15rem;
  margin-bottom:18px;
}
#verset-du-jour-contenu,
#random-verse-content{
  font-family:var(--titre);
  font-size:clamp(1.25rem,2.3vw,1.7rem);
  line-height:1.5;
  color:var(--violet-nuit);
  margin-bottom:12px;
}
.verse-tools{
  margin-top:24px;
  padding:20px;
  border-radius:var(--r-lg);
  background:linear-gradient(135deg,var(--violet-pale),var(--surface));
  border:1px solid var(--bordure);
}
.verse-tools > strong{
  display:block;
  font-size:.85rem;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--texte-doux);
}
.verse-tools-row{display:flex;gap:11px;flex-wrap:wrap;margin-top:12px;}
.verse-tools select{
  padding:12px 18px;
  border-radius:var(--r-pilule);
  border:1px solid var(--bordure-forte);
  background:var(--surface);
  font-family:var(--corps);
  font-weight:700;
  color:var(--violet-fonce);
  cursor:pointer;
}
.random-verse-note{
  margin-top:12px;
  font-size:.88rem;
  color:var(--texte-leger);
}
/* Verset cliquable : un clic = un autre verset au hasard */
.verse-clickable{cursor:pointer;transition:transform .2s ease, box-shadow .2s ease;}
.verse-clickable:hover{transform:translateY(-2px);box-shadow:0 26px 60px rgba(66,10,110,.18);}
.verse-clickable:focus-visible{outline:3px solid var(--violet);outline-offset:4px;}
.verse-clickable .verse-tools{cursor:default;}
#verset-du-jour-contenu{transition:opacity .2s ease;min-height:3em;}
#verset-du-jour-contenu[dir="rtl"]{text-align:right;font-family:var(--corps);}
.verse-note{font-size:.85rem;color:var(--texte-leger);font-style:italic;margin:0 0 8px;}
.verse-other-versions{margin-top:12px;font-size:.9rem;color:var(--texte-doux);}
.verse-other-versions span{font-weight:700;margin-right:4px;}
.verse-other-versions a{color:var(--violet);font-weight:700;text-decoration:underline;text-underline-offset:3px;}
.verse-tools-row .btn[disabled]{opacity:.45;cursor:not-allowed;}
.btn-light{background:#fff;color:var(--violet-fonce);border:1px solid var(--bordure-forte);box-shadow:none;}
.btn-light:hover{background:var(--violet-pale);}

/* -- Section accompagnement -- */
.contact-section{padding:var(--section-y) 0;background:var(--fond);}
.contact-content{
  max-width:900px;
  margin:0 auto;
  padding:44px 34px;
  text-align:center;
  background:var(--surface);
  border:1px solid var(--bordure);
  border-radius:var(--r-xl);
  box-shadow:var(--ombre-md);
}
.contact-content h2{display:flex;align-items:center;justify-content:center;gap:12px;}
.contact-content > p{color:var(--texte-doux);max-width:620px;margin:0 auto 26px;}
.accompagnement{max-width:720px;}
.accompagnement-icone{display:inline-grid;place-items:center;width:56px;height:56px;margin-bottom:14px;border-radius:50%;background:rgba(106,13,173,.08);color:var(--violet);font-size:1.4rem;}
.accompagnement h2{margin-bottom:10px;}
.accompagnement-btn i{font-size:.8em;opacity:.85;}
.contact-content > p.accompagnement-note{margin:14px auto 0;font-size:.82rem;color:var(--texte-doux);letter-spacing:.02em;}
:root[data-theme="sombre"] .accompagnement-icone{background:rgba(185,138,240,.14);color:#c9a7ea;}
.contact-actions{
  display:flex;
  justify-content:center;
  gap:13px;
  flex-wrap:wrap;
}

/* Champ anti-spam invisible (honeypot) */
.piege-anti-spam{
  position:absolute !important;
  left:0 !important;
  width:1px;height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  opacity:0;
  pointer-events:none;
}

/* Message de retour de formulaire */
.form-feedback{
  margin-top:14px;
  padding:13px 18px;
  border-radius:var(--r-md);
  font-size:.93rem;
  font-weight:600;
  display:none;
  text-align:left;
}
.form-feedback.visible{display:block;}
.form-feedback.succes{background:rgba(31,146,84,.12);color:#12633a;border:1px solid rgba(31,146,84,.3);}
.form-feedback.info{background:rgba(106,13,173,.09);color:var(--violet-fonce);border:1px solid var(--bordure-forte);}
.form-feedback.erreur{background:rgba(192,57,43,.1);color:#8e2b20;border:1px solid rgba(192,57,43,.28);}

/* ==================== 10. COMMANDE AU MATIN ==================== */
.commande-layout{
  display:grid;
  grid-template-columns:1.55fr .95fr;
  gap:28px;
  align-items:start;
}
.commande-video-shell{min-width:0;}

.commande-calendar-panel{padding:26px;}
.commande-calendar-panel h3{margin-bottom:6px;}
.commande-calendar-panel > p{color:var(--texte-doux);font-size:.93rem;}

.commande-month-bar,
.culte-month-bar{
  display:flex;
  align-items:center;
  gap:9px;
  margin:18px 0 14px;
}
.commande-month-select,
.culte-month-select{
  flex:1 1 auto;
  min-width:0;
  padding:11px 15px;
  border-radius:var(--r-pilule);
  border:1px solid var(--bordure-forte);
  background:var(--surface);
  font-family:var(--corps);
  font-weight:700;
  color:var(--violet-fonce);
  cursor:pointer;
  text-transform:capitalize;
}
.commande-month-btn,
.culte-month-btn{
  flex:0 0 auto;
  width:40px;height:40px;
  display:grid;place-items:center;
  border:1px solid var(--bordure-forte);
  border-radius:50%;
  background:var(--surface);
  color:var(--violet);
  cursor:pointer;
  transition:background var(--transition);
}
.commande-month-btn:hover:not([disabled]),
.culte-month-btn:hover:not([disabled]){background:var(--violet-pale);}
.commande-month-btn[disabled],
.culte-month-btn[disabled]{opacity:.35;cursor:not-allowed;}

.commande-selected-card{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:16px 18px;
  border-radius:var(--r-md);
  background:linear-gradient(135deg,var(--violet-pale),var(--surface));
  border:1px solid var(--bordure);
  margin-bottom:16px;
}
.commande-selected-card span{font-size:.82rem;color:var(--texte-leger);display:inline-block;}
.commande-selected-card span::first-letter{text-transform:uppercase;}
.commande-selected-card strong{font-family:var(--titre);font-size:1.1rem;color:var(--violet-fonce);}
.commande-selected-card small{font-size:.84rem;color:var(--texte-doux);}

.commande-calendar-weekdays,
.culte-calendar-weekdays{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:5px;
  margin-bottom:6px;
}
.commande-calendar-weekdays span,
.culte-calendar-weekdays span{
  text-align:center;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:var(--texte-leger);
}
.commande-calendar-grid,
.culte-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:5px;
}
.commande-calendar-day,
.culte-calendar-day{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  min-height:50px;
  padding:5px 2px;
  border:1px solid var(--bordure);
  border-radius:var(--r-sm);
  background:var(--surface);
  font-family:var(--corps);
  cursor:pointer;
  transition:background var(--transition), border-color var(--transition), transform var(--transition);
}
.commande-calendar-day span,
.culte-calendar-day span{font-size:.9rem;font-weight:700;color:var(--texte);}
.commande-calendar-day small,
.culte-calendar-day small{
  font-size:.55rem;
  line-height:1.1;
  text-align:center;
  color:var(--texte-leger);
}
.commande-calendar-day[disabled],
.culte-calendar-day[disabled]{opacity:.45;cursor:default;}
.commande-calendar-day.weekend{background:var(--fond-doux);}
.commande-calendar-day.has-video,
.culte-calendar-day.has-cult{
  border-color:var(--bordure-forte);
  background:var(--violet-pale);
}
.commande-calendar-day.has-video:hover,
.culte-calendar-day.has-cult:hover{transform:translateY(-2px);border-color:var(--violet-clair);}
.commande-calendar-day.active,
.culte-calendar-day.active{
  background:var(--degrade-violet);
  border-color:var(--violet);
}
.commande-calendar-day.active span,
.commande-calendar-day.active small,
.culte-calendar-day.active span,
.culte-calendar-day.active small{color:#fff;}
.commande-calendar-empty,
.culte-calendar-empty{min-height:50px;}

.commande-nav-actions{
  display:flex;
  gap:10px;
  margin-top:16px;
}
.commande-nav-actions .btn{flex:1 1 0;padding:11px 12px;font-size:.85rem;}
.commande-toolbar-label{color:var(--texte-doux);font-size:.92rem;}

/* ==================== 11. DERNIERS CULTES ==================== */
.culte-archive-layout{
  display:grid;
  grid-template-columns:minmax(280px,.85fr) 1.6fr;
  gap:28px;
  align-items:start;
}
.culte-archive-panel{
  padding:26px;
  background:var(--surface);
  border:1px solid var(--bordure);
  border-radius:var(--r-lg);
  box-shadow:var(--ombre-md);
  position:sticky;
  top:92px;
}
.culte-archive-panel h2{font-size:1.35rem;margin-bottom:6px;}
.culte-archive-panel > p{color:var(--texte-doux);font-size:.92rem;}

.culte-detail-stack{display:flex;flex-direction:column;gap:32px;min-width:0;}
.culte-selected-heading h2{margin-bottom:10px;}
.culte-selected-heading > p{color:var(--texte-doux);}
.culte-selection-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
.culte-selection-meta span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 16px;
  border-radius:var(--r-pilule);
  background:var(--violet-pale);
  border:1px solid var(--bordure);
  font-size:.88rem;
  color:var(--texte-doux);
}
.culte-selection-meta strong{color:var(--violet-fonce);display:inline-block;}
.culte-selection-meta strong::first-letter{text-transform:uppercase;}

.culte-block .section-title{text-align:left;font-size:1.5rem;margin-bottom:16px;}

.culte-videos-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:20px;
}
.culte-video-card{
  background:var(--surface);
  border:1px solid var(--bordure);
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:var(--ombre-sm);
}
.culte-video-speaker{
  display:flex;
  align-items:center;
  gap:9px;
  padding:14px 18px;
  font-size:.86rem;
  color:var(--texte-doux);
  flex-wrap:wrap;
}
.culte-video-speaker i{color:var(--violet);}
.culte-video-speaker strong{color:var(--violet-fonce);margin-left:auto;}

.resume-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:18px;
}
.resume-card{
  display:flex;
  gap:16px;
  padding:24px;
}
.resume-index{
  flex:0 0 auto;
  font-family:var(--titre);
  font-size:1.5rem;
  font-weight:700;
  color:rgba(106,13,173,.28);
}
.resume-card h3{font-size:1.1rem;margin-bottom:6px;}
.resume-card p{color:var(--texte-doux);font-size:.95rem;margin:0;}

/* ==================== 12. FORMULAIRES ==================== */
.formulaire-section{
  padding:var(--section-y) 0;
  background:var(--fond-doux);
}
.formulaire-header{text-align:center;margin-bottom:32px;}
.formulaire-header p{color:var(--texte-doux);}
.formulaire-card{
  max-width:900px;
  margin:0 auto;
  padding:34px;
}

.form-intro{
  padding:18px 22px;
  border-radius:var(--r-md);
  background:var(--violet-pale);
  border:1px solid var(--bordure);
  margin-bottom:26px;
}
.form-intro span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:800;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--violet);
  margin-bottom:6px;
}
.form-intro p{margin:0;color:var(--texte-doux);font-size:.94rem;}

.form-row{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:18px;
}
.form-group{display:flex;flex-direction:column;gap:7px;margin-bottom:20px;}
.form-group label,
.testimonial-fields label{
  font-size:.88rem;
  font-weight:700;
  color:var(--violet-fonce);
}
.form-group input,
.form-group select,
.form-group textarea,
.testimonial-fields input,
.testimonial-fields textarea,
.question-card textarea,
.admin-login input{
  width:100%;
  padding:13px 16px;
  border:1px solid var(--bordure-forte);
  border-radius:var(--r-md);
  background:var(--surface);
  font-family:var(--corps);
  font-size:.97rem;
  color:var(--texte);
  transition:border-color var(--transition), box-shadow var(--transition);
}
.form-group textarea,
.testimonial-fields textarea,
.question-card textarea{resize:vertical;min-height:88px;line-height:1.6;}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus,
.testimonial-fields input:focus,
.testimonial-fields textarea:focus,
.question-card textarea:focus{
  outline:none;
  border-color:var(--violet);
  box-shadow:0 0 0 4px rgba(106,13,173,.1);
}
.form-group select{cursor:pointer;}

.form-section{margin-bottom:34px;}
.form-section-title{
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding-bottom:16px;
  margin-bottom:22px;
  border-bottom:1px solid var(--bordure);
}
.form-section-title > span{
  flex:0 0 auto;
  width:40px;height:40px;
  display:grid;place-items:center;
  border-radius:var(--r-sm);
  background:var(--degrade-violet);
  color:#fff;
  font-weight:800;
  font-size:.9rem;
}
.form-section-title h2{font-size:1.3rem;margin:0 0 4px;}
.form-section-title p{margin:0;color:var(--texte-doux);font-size:.92rem;}

.question-card{padding:22px;margin-bottom:16px;box-shadow:var(--ombre-xs);}
.question-heading{display:flex;align-items:flex-start;gap:13px;margin-bottom:14px;}
.question-heading > span{
  flex:0 0 auto;
  font-family:var(--titre);
  font-weight:700;
  color:rgba(106,13,173,.34);
}
.question-heading h3{margin:0;font-size:1.03rem;line-height:1.45;}

.radio-group{display:flex;flex-wrap:wrap;gap:10px;}
.radio-option{position:relative;}
.radio-option input{position:absolute;opacity:0;width:0;height:0;}
.radio-option label{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:11px 18px;
  border:1px solid var(--bordure-forte);
  border-radius:var(--r-pilule);
  background:var(--surface);
  font-size:.92rem;
  font-weight:600;
  cursor:pointer;
  transition:background var(--transition), border-color var(--transition);
}
.radio-option label span{
  width:16px;height:16px;
  border:2px solid var(--bordure-forte);
  border-radius:50%;
  transition:border-color var(--transition), box-shadow var(--transition);
}
.radio-option input:checked + label{
  background:var(--violet-pale);
  border-color:var(--violet);
  color:var(--violet-fonce);
}
.radio-option input:checked + label span{
  border-color:var(--violet);
  box-shadow:inset 0 0 0 3px var(--violet);
}
.radio-option input:focus-visible + label{outline:3px solid var(--violet-clair);outline-offset:2px;}

/* ==================== 13. ENSEIGNEMENTS ==================== */
.teachings-dashboard{
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:28px;
  align-items:center;
}
.teachings-intro-card{
  padding:30px;
  background:var(--surface);
  border:1px solid var(--bordure);
  border-radius:var(--r-xl);
  box-shadow:var(--ombre-md);
}
.teachings-intro-card h2{font-size:1.5rem;}
.teachings-intro-card p{color:var(--texte-doux);margin:0;}
.teachings-stats{display:grid;gap:12px;}
.teachings-stats a{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:17px 22px;
  border-radius:var(--r-md);
  background:var(--violet-pale);
  border:1px solid var(--bordure);
  transition:transform var(--transition), background var(--transition);
}
.teachings-stats a:hover{transform:translateX(5px);background:var(--surface-teintee);}
.teachings-stats strong{font-family:var(--titre);font-size:1.15rem;color:var(--violet-fonce);}
.teachings-stats span{font-size:.86rem;color:var(--texte-doux);}

.channel-grid,
.channel-grid-primary,
.channel-grid-compact{
  display:grid;
  gap:22px;
}
.channel-grid,.channel-grid-primary{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));}
.channel-grid-compact{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
.channel-subsection{margin-top:44px;}
.channel-subsection h3{font-size:1.25rem;margin-bottom:16px;}

.channel-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  transition:transform var(--transition), box-shadow var(--transition);
}
.channel-card:hover{transform:translateY(-5px);box-shadow:var(--ombre-lg);}
.channel-preview{
  position:relative;
  aspect-ratio:16/9;
  background:var(--violet-nuit);
}
.channel-preview iframe,
.channel-preview .video-container{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.channel-body{
  display:flex;
  flex-direction:column;
  gap:9px;
  padding:22px;
  flex:1 1 auto;
}
.channel-body h3{margin:0;font-size:1.12rem;}
.channel-body p{color:var(--texte-doux);font-size:.92rem;margin:0;flex:1 1 auto;}
.channel-body .btn{align-self:flex-start;margin-top:6px;}
.channel-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  align-self:flex-start;
  padding:5px 13px;
  border-radius:var(--r-pilule);
  background:var(--surface-teintee);
  color:var(--violet);
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.channel-help{
  margin-top:26px;
  padding:18px 22px;
  border-radius:var(--r-md);
  background:var(--violet-pale);
  border:1px solid var(--bordure);
  color:var(--texte-doux);
  font-size:.93rem;
}

.library-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:22px;
}
.library-card{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:26px;
  transition:transform var(--transition), box-shadow var(--transition);
}
.library-card:hover{transform:translateY(-5px);box-shadow:var(--ombre-lg);}
.library-card.is-featured,
.featured-library{
  border-color:var(--bordure-forte);
  background:linear-gradient(150deg,var(--violet-pale),var(--surface));
}
.library-icon{
  width:50px;height:50px;
  display:grid;place-items:center;
  border-radius:var(--r-md);
  background:var(--degrade-violet);
  color:#fff;
  font-size:1.2rem;
}
.library-card h3{margin:0;font-size:1.1rem;}
.library-card p{color:var(--texte-doux);font-size:.92rem;margin:0;flex:1 1 auto;}
.library-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:6px;}

.impactx-preview{
  display:flex;
  justify-content:center;
  padding:18px 0;
}
.impactx-phone{
  width:110px;
  aspect-ratio:9/17;
  border-radius:20px;
  border:3px solid var(--violet-fonce);
  background:linear-gradient(160deg,var(--violet),var(--violet-nuit));
  padding:14px 10px;
  display:flex;
  flex-direction:column;
  gap:7px;
  box-shadow:var(--ombre-md);
}
.impactx-dot{
  width:22px;height:4px;
  border-radius:var(--r-pilule);
  background:rgba(255,255,255,.5);
  margin:0 auto 6px;
}
.impactx-lines{display:flex;flex-direction:column;gap:6px;}
.impactx-lines span{
  height:7px;
  border-radius:var(--r-pilule);
  background:rgba(255,255,255,.28);
}
.impactx-lines span:nth-child(2){width:75%;}
.impactx-lines span:nth-child(3){width:55%;}

.voices-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:18px;
}
.voice-card{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:24px;
  background:var(--surface);
  border:1px solid var(--bordure);
  border-radius:var(--r-lg);
  box-shadow:var(--ombre-sm);
  color:var(--texte);
  transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}
.voice-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--ombre-lg);
  border-color:var(--bordure-forte);
  color:var(--texte);
}
.voice-card strong{font-family:var(--titre);font-size:1.08rem;color:var(--violet-fonce);}
.voice-card span{font-size:.9rem;color:var(--texte-doux);}
.voice-card i{color:var(--violet);font-size:1.1rem;}

/* ==================== 14. TÉMOIGNAGES ==================== */
.testimonials-layout{
  display:grid;
  grid-template-columns:minmax(300px,.9fr) 1.5fr;
  gap:30px;
  align-items:start;
}
.testimonial-form-panel{
  padding:28px;
  background:var(--surface);
  border:1px solid var(--bordure);
  border-radius:var(--r-xl);
  box-shadow:var(--ombre-md);
  position:sticky;
  top:92px;
}
.testimonial-form-panel h2{font-size:1.4rem;margin-bottom:8px;}
.testimonial-form-panel > p{color:var(--texte-doux);font-size:.93rem;}
.testimonial-form{display:flex;flex-direction:column;gap:15px;margin-top:20px;}
.testimonial-fields{display:flex;flex-direction:column;gap:7px;}
.testimonial-fields small{font-size:.8rem;color:var(--texte-leger);align-self:flex-end;}
.testimonial-submit{width:100%;}
.testimonial-check{
  display:flex;align-items:flex-start;gap:10px;
  margin:4px 0 10px;font-size:.92rem;color:var(--texte-doux);line-height:1.45;cursor:pointer;
}
.testimonial-check input{width:18px;height:18px;margin-top:2px;accent-color:var(--violet);flex:0 0 auto;}
.testimonial-note{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:.84rem;
  color:var(--texte-leger);
  margin:0;
}

.testimonials-wall{min-width:0;}
.testimonials-head h2{margin-bottom:8px;}
.testimonials-head > p{color:var(--texte-doux);}
.testimonial-filter-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  margin:22px 0 20px;
}
.testimonial-filters{display:flex;flex-wrap:wrap;gap:8px;}
.testimonial-filter{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:9px 15px;
  border:1px solid var(--bordure);
  border-radius:var(--r-pilule);
  background:var(--violet-pale);
  font-family:var(--corps);
  font-size:.85rem;
  font-weight:700;
  color:var(--violet-fonce);
  cursor:pointer;
  transition:background var(--transition), color var(--transition), border-color var(--transition);
}
.testimonial-filter:hover{border-color:var(--violet-clair);}
.testimonial-filter.active{background:var(--degrade-violet);color:#fff;border-color:var(--violet);}
.testimonial-filter strong{
  font-size:.76rem;
  padding:1px 7px;
  border-radius:var(--r-pilule);
  background:rgba(106,13,173,.12);
}
.testimonial-filter.active strong{background:rgba(255,255,255,.25);}
.testimonial-count{font-size:.88rem;color:var(--texte-doux);font-weight:600;}

.testimonials-scroll{max-height:none;}
.testimonials-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:18px;
}
.testimonial-card{
  display:flex;
  flex-direction:column;
  gap:11px;
  padding:24px;
  transition:transform var(--transition), box-shadow var(--transition);
}
.testimonial-card:hover{transform:translateY(-4px);box-shadow:var(--ombre-lg);}
.testimonial-card-top{display:flex;align-items:center;gap:13px;}
.testimonial-card-top h3{margin:0;font-size:1.03rem;}
.testimonial-card-top p{margin:0;font-size:.83rem;color:var(--texte-leger);}
.testimonial-avatar{
  flex:0 0 auto;
  width:46px;height:46px;
  display:grid;place-items:center;
  border-radius:50%;
  background:var(--degrade-violet);
  color:#fff;
  font-weight:800;
  font-size:.95rem;
}
.testimonial-stars{color:var(--or);font-size:.82rem;display:flex;gap:2px;}
.testimonial-tags{display:flex;flex-wrap:wrap;gap:7px;}
.testimonial-tags span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 11px;
  border-radius:var(--r-pilule);
  background:var(--violet-pale);
  border:1px solid var(--bordure);
  font-size:.74rem;
  font-weight:700;
  color:var(--violet);
}
.testimonial-message{
  font-size:.97rem;
  line-height:1.75;
  color:var(--texte-doux);
  margin:0;
  flex:1 1 auto;
}
.testimonial-date{font-size:.8rem;color:var(--texte-leger);}
.testimonial-card[data-en-attente="1"]{border-style:dashed;border-color:var(--bordure-forte);}
.testimonial-pending{
  align-self:flex-start;
  padding:3px 11px;
  border-radius:var(--r-pilule);
  background:rgba(212,160,23,.16);
  color:#8a6508;
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

/* ==================== 15. ÉVÉNEMENTS ==================== */
#evenements-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:22px;
  margin-bottom:32px;
}
.event-card{
  display:grid;
  grid-template-columns:88px 1fr;
  gap:20px;
  padding:24px;
  align-items:start;
}
.event-date{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:14px 6px;
  border-radius:var(--r-md);
  background:var(--degrade-violet);
  color:#fff;
}
.event-date .day{font-family:var(--titre);font-size:1.9rem;font-weight:700;line-height:1;}
.event-date .month{
  font-size:.76rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-top:4px;
}
.event-content h3{margin:0 0 10px;font-size:1.2rem;}
.event-content p{
  display:flex;
  align-items:flex-start;
  gap:8px;
  color:var(--texte-doux);
  font-size:.93rem;
  margin:0 0 7px;
}
.event-content p i{color:var(--violet);margin-top:4px;}
.event-times{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:11px;}
.event-times span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:6px 14px;
  border-radius:var(--r-pilule);
  background:var(--violet-pale);
  border:1px solid var(--bordure);
  font-size:.84rem;
  font-weight:700;
  color:var(--violet-fonce);
}

.calendrier-embed{
  position:relative;
  width:100%;
  aspect-ratio:4/3;
  min-height:420px;
  border-radius:var(--r-md);
  overflow:hidden;
  border:1px solid var(--bordure);
}
.calendrier-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* ==================== 16. RECHERCHE ==================== */
.search-hero{background:var(--voile-hero), url('images/hero-bible.jpg') center/cover no-repeat;}
.search-shell{
  max-width:1100px;
  margin:-48px auto var(--section-y);
  padding:0 var(--gouttiere);
  position:relative;
  z-index:2;
}
.search-panel{
  padding:28px;
  background:rgba(255,255,255,.96);
  border:1px solid var(--bordure);
  border-radius:var(--r-xl);
  box-shadow:var(--ombre-lg);
  backdrop-filter:blur(14px);
}
.search-box{
  display:grid;
  grid-template-columns:1fr auto;
  gap:13px;
  align-items:center;
}
#site-search-input{
  width:100%;
  padding:17px 22px;
  border:1px solid var(--bordure-forte);
  border-radius:var(--r-pilule);
  background:var(--surface);
  font-family:var(--corps);
  font-size:1rem;
  color:var(--texte);
}
#site-search-input:focus{
  outline:none;
  border-color:var(--violet);
  box-shadow:0 0 0 5px rgba(106,13,173,.1);
}
.search-btn{padding:17px 28px;}
.search-meta{
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  margin-top:18px;
  color:var(--texte-doux);
  font-size:.93rem;
}
.quick-filters{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px;}
.filter-chip{
  padding:10px 16px;
  border:1px solid var(--bordure);
  border-radius:var(--r-pilule);
  background:var(--violet-pale);
  font-family:var(--corps);
  font-size:.88rem;
  font-weight:700;
  color:var(--violet-fonce);
  cursor:pointer;
  transition:background var(--transition), color var(--transition);
}
.filter-chip:hover{background:var(--violet);color:#fff;}

.results{display:grid;gap:16px;margin-top:28px;}
.result-card{
  display:block;
  padding:24px;
  color:inherit;
  transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}
.result-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--ombre-lg);
  border-color:var(--bordure-forte);
  color:inherit;
}
.result-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:11px;
}
.result-title{
  font-family:var(--titre);
  color:var(--violet);
  font-size:1.3rem;
  margin:0;
}
.result-page{
  flex:0 0 auto;
  padding:6px 12px;
  border-radius:var(--r-pilule);
  background:var(--surface-teintee);
  color:var(--violet);
  font-size:.78rem;
  font-weight:800;
}
.result-excerpt{color:var(--texte-doux);line-height:1.7;margin:0;}
.result-title i{font-size:.9em;opacity:.75;margin-right:4px;}
.result-meta{margin:0 0 8px;color:var(--violet);font-size:.86rem;font-weight:700;opacity:.85;}
.result-bible{border-left:4px solid var(--violet);}
.result-bible .result-excerpt{font-family:var(--titre);font-size:1.08rem;color:var(--texte);}
.result-bible sup{color:var(--violet);font-weight:800;margin-right:2px;}
.result-bible .btn{margin-top:14px;}
.search-type-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;}
.search-type-filters:empty{display:none;}
.search-type-filters button{
  display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:var(--r-pilule);
  border:1px solid var(--bordure-forte);background:var(--surface);color:var(--violet);
  font:inherit;font-size:.88rem;font-weight:700;cursor:pointer;
  transition:background var(--transition), color var(--transition);
}
.search-type-filters button b{font-size:.78rem;opacity:.75;}
.search-type-filters button:hover,.search-type-filters button.active{background:var(--violet);color:#fff;border-color:var(--violet);}
mark{background:rgba(246,223,116,.75);color:#291400;border-radius:4px;padding:0 3px;}

/* ==================== 17. LECTEUR VIDÉO ==================== */
.video-container,
.video-preview{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  border-radius:var(--r-md);
  overflow:hidden;
  background:var(--violet-nuit);
}
.video-container iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.video-preview{
  display:block;
  padding:0;
  border:none;
  cursor:pointer;
  border-radius:0;
}
.video-preview img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}
.video-preview:hover img{transform:scale(1.05);}
.video-preview-gradient{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(34,4,47,.72) 100%);
}
.video-preview-heading{
  position:absolute;
  left:20px;
  right:20px;
  bottom:18px;
  display:flex;
  flex-direction:column;
  gap:3px;
  text-align:left;
  color:#fff;
  z-index:2;
}
.video-preview-heading strong{
  font-family:var(--titre);
  font-size:1.08rem;
  line-height:1.3;
  text-shadow:0 2px 10px rgba(0,0,0,.5);
}
.video-preview-heading small{font-size:.8rem;color:rgba(255,255,255,.85);}
.video-play-button{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:66px;height:66px;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:var(--violet);
  font-size:1.35rem;
  box-shadow:0 10px 30px rgba(0,0,0,.32);
  transition:transform var(--transition), background var(--transition);
  z-index:2;
}
.video-preview:hover .video-play-button{transform:translate(-50%,-50%) scale(1.1);background:#fff;}

/* ==================== 18. PAGE 404 ==================== */
.error-page{
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
.error-page main{
  flex:1 1 auto;
  display:grid;
  place-items:center;
  padding:60px var(--gouttiere);
  text-align:center;
  background:var(--fond-doux);
}
.error-page main > div{max-width:620px;}
.error-page img{width:min(320px,78vw);margin:0 auto 26px;}
.error-page h1{margin-bottom:12px;}
.error-page p{font-size:1.05rem;color:var(--texte-doux);margin-bottom:28px;}

/* ==================== 19. ACCESSIBILITÉ ET IMPRESSION ==================== */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
  .pathway-section::after,
  .teachings-command-center::after,
  .testimonials-section::after{transform:none;}
}

@media print{
  .navbar,.footer,.contact-section,
  .global-tools,.mobile-nav-actions,.nav-search,
  .video-container,.calendrier-embed{display:none !important;}
  body{background:#fff;color:#000;}
  .hero{background:none;color:#000;padding:20px 0;}
  .hero h1,.hero .subtitle{color:#000;text-shadow:none;}
  .card,.resume-card,.testimonial-card{box-shadow:none;border:1px solid #ccc;}
}

/* ==================== 20. RESPONSIVE ==================== */

/* --- Grands écrans : on relâche un peu la grille --- */
@media (max-width:1200px){
  .nav-search{flex-basis:190px;}
}

/* --- Tablettes larges --- */
@media (max-width:1080px){
  .verse-pro{grid-template-columns:1fr;gap:28px;}
  .teachings-dashboard{grid-template-columns:1fr;}
  .commande-layout{grid-template-columns:1fr;}
  .culte-archive-layout{grid-template-columns:1fr;}
  .culte-archive-panel{position:static;}
  .testimonials-layout{grid-template-columns:1fr;}
  .testimonial-form-panel{position:static;}
}

/* --- Bascule vers la navigation mobile --- */
@media (max-width:960px){
  html:not(.desktop-view) .navbar .container{
    flex-wrap:wrap;
    gap:12px;
    padding-top:12px;
    padding-bottom:12px;
  }
  html:not(.desktop-view) .mobile-nav-actions{display:flex;order:3;}
  html:not(.desktop-view) .global-tools{order:2;margin-left:auto;}
  html:not(.desktop-view) .nav-search{
    order:4;
    flex:1 1 100%;
    display:none;
  }
  html:not(.desktop-view).mobile-menu-open .nav-search{display:flex;}

  html:not(.desktop-view) .nav-links{
    order:5;
    display:none;
    flex-direction:column;
    align-items:stretch;
    width:100%;
    margin:0;
    gap:4px;
    padding-top:10px;
    border-top:1px solid var(--bordure);
  }
  html:not(.desktop-view).mobile-menu-open .nav-links{display:flex;}
  html:not(.desktop-view) .nav-links > a{
    padding:13px 16px;
    border-radius:var(--r-md);
    font-size:.98rem;
  }
  /* Sur mobile le menu « Explorer » est déplié : tout est visible d'un coup */
  html:not(.desktop-view) .nav-more{width:100%;}
  html:not(.desktop-view) .nav-more-toggle{display:none;}
  html:not(.desktop-view) .nav-more-menu{
    position:static;
    display:flex;
    min-width:0;
    padding:0;
    border:none;
    box-shadow:none;
    background:transparent;
    gap:4px;
  }
  html:not(.desktop-view) .nav-more-menu a{padding:13px 16px;font-size:.98rem;}
}

/* --- Tablettes --- */
@media (max-width:900px){
  .footer-content{grid-template-columns:1fr;gap:30px;}
  .footer-links{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:24px;}
  .culte-videos-grid{grid-template-columns:1fr;}
  .search-shell{margin-top:-32px;}
}

/* --- Téléphones --- */
@media (max-width:640px){
  :root{--gouttiere:16px;}

  body{font-size:15.5px;}

  .brand-text strong{font-size:1rem;}
  .brand-text em{display:none;}
  .brand-logo .brand-mark{width:38px;height:38px;}

  .hero{padding:52px 0;}
  .hero-buttons .btn,
  .teachings-hero-actions .btn{width:100%;}

  .home-counter{gap:8px;}
  .home-counter > span{font-size:.8rem;padding:8px 13px;}

  .card,
  .verse-pro-card,
  .formulaire-card,
  .contact-content,
  .testimonial-form-panel,
  .teachings-intro-card,
  .commande-calendar-panel,
  .culte-archive-panel,
  .search-panel{padding:22px;}

  .contact-actions .contact-btn{width:100%;}

  .pathway-grid,
  .resume-grid,
  .testimonials-grid,
  .voices-grid,
  .library-grid,
  .channel-grid,
  .channel-grid-primary,
  .channel-grid-compact,
  #evenements-list{grid-template-columns:1fr;}

  .event-card{grid-template-columns:64px 1fr;gap:14px;padding:20px;}
  .event-date .day{font-size:1.5rem;}

  .commande-calendar-day,
  .culte-calendar-day{min-height:44px;}
  .commande-calendar-day small,
  .culte-calendar-day small{display:none;}
  .commande-calendar-empty,
  .culte-calendar-empty{min-height:44px;}
  .commande-nav-actions{flex-direction:column;}

  .search-box{grid-template-columns:1fr;}
  .search-btn{width:100%;}
  .result-top{flex-direction:column;}

  .section-heading-row{flex-direction:column;align-items:flex-start;}

  .form-row{grid-template-columns:1fr;}
  .radio-group{flex-direction:column;}
  .radio-option label{width:100%;}

  .testimonial-filter-bar{flex-direction:column;align-items:flex-start;}

  .video-play-button{width:54px;height:54px;font-size:1.1rem;}
  .video-preview-heading{left:14px;right:14px;bottom:14px;}
  .video-preview-heading strong{font-size:.95rem;}

  .calendrier-embed{aspect-ratio:3/4;min-height:520px;}

  .footer{padding:40px 0 18px;}
  .footer-logo .brand-logo{padding:16px;}
}

/* --- Très petits écrans --- */
@media (max-width:380px){
  .brand-text small{display:none;}
  .global-tools select{padding:8px 26px 8px 28px;font-size:.8rem;background-position:left 9px center,right 10px center;}
  .mobile-menu-toggle span,
  .display-mode-toggle{font-size:.8rem;}
}

/* Contenu rédigé en français seulement (résumés de cultes) : note visible dans les autres langues */
.note-fr-seulement{display:none;align-items:center;gap:8px;margin:-6px 0 16px;font-size:.9rem;color:var(--texte-doux);font-style:italic;}
html:not([lang="fr"]) .note-fr-seulement:not([style*="none"]){display:flex;}

/* Mode PC sur téléphone : la page fait 1280 px puis est réduite (mode-affichage.js).
   Le bouton de retour est donc dessiné ~3 fois plus grand pour rester lisible et touchable. */
#retour-mode-mobile{
  position:fixed;
  left:50%;
  bottom:36px;
  transform:translateX(-50%);
  z-index:9999;
  display:inline-flex;
  align-items:center;
  gap:18px;
  padding:26px 48px;
  border:none;
  border-radius:999px;
  background:linear-gradient(135deg,var(--violet),var(--violet-fonce));
  color:#fff;
  font-family:var(--corps);
  font-size:40px;
  font-weight:800;
  box-shadow:0 18px 50px rgba(40,10,70,.45);
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
#retour-mode-mobile[hidden]{display:none;}
html:not(.desktop-view) #retour-mode-mobile{display:none;}

/* ==================== 21. FINITIONS MOBILE (iPhone, Android) ==================== */
/* Bouton « Mode PC » rangé dans le menu déroulant : invisible sur ordinateur */
.nav-links .nav-display-mode{display:none;}

@media (max-width:960px){
  /* En-tête sur une seule ligne : logo · langue · Menu */
  html:not(.desktop-view) .navbar .container{
    flex-wrap:wrap;
    gap:10px;
    min-height:60px;
    padding-top:8px;
    padding-bottom:8px;
    padding-left:max(var(--gouttiere), env(safe-area-inset-left));
    padding-right:max(var(--gouttiere), env(safe-area-inset-right));
  }
  html:not(.desktop-view) .brand-logo{flex:1 1 0;min-width:0;}
  html:not(.desktop-view) .brand-text{min-width:0;}
  html:not(.desktop-view) .global-tools select{padding:8px 24px 8px 27px;background-position:left 8px center,right 9px center;}
  html:not(.desktop-view) .global-tools{order:2;margin-left:0;}
  html:not(.desktop-view) .mobile-nav-actions{order:3;margin-left:0;}
  html:not(.desktop-view) .mobile-menu-toggle{padding:10px 14px;}
  html:not(.desktop-view) .mobile-menu-toggle[aria-expanded="true"]{background:var(--violet);color:#fff;border-color:var(--violet);}
  html:not(.desktop-view) .nav-links .nav-display-mode{
    display:flex;
    justify-content:center;
    width:100%;
    margin-top:8px;
    padding:12px 16px;
  }
  /* Menu ouvert : liste scrollable si l'écran est court */
  html:not(.desktop-view).mobile-menu-open .nav-links{max-height:calc(100dvh - 140px);overflow-y:auto;padding-bottom:8px;}
}

@media (max-width:640px){
  :root{--section-y:44px;}
  html{-webkit-text-size-adjust:100%;}
  body{padding-bottom:env(safe-area-inset-bottom);}

  .brand-text strong{font-size:.98rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;}
  .brand-text small{font-size:.58rem;letter-spacing:.06em;}

  /* Bandeaux plus compacts : le contenu arrive plus vite */
  .hero{padding:40px 0 44px;}
  .hero h1{font-size:clamp(1.75rem,8vw,2.2rem);line-height:1.18;}
  .hero .subtitle{font-size:1rem;line-height:1.6;}
  .section-title{font-size:clamp(1.45rem,6.4vw,1.8rem);}
  .section-subtitle{font-size:.98rem;}

  /* Accueil : parcours en cartes compactes */
  .pathway-brand img{width:84px;}
  .pathway-grid{gap:14px;}
  .pathway-step{padding:20px 20px 18px;}
  .pathway-step:hover{transform:none;}
  .pathway-number{top:14px;right:18px;font-size:1.5rem;}
  .pathway-icon{width:44px;height:44px;font-size:1.1rem;margin-bottom:12px;}
  .pathway-step h3{font-size:1.12rem;}

  /* Verset du jour : texte lisible, outils empilés proprement */
  .verse-pro-card{padding:22px 18px;}
  #verset-du-jour-contenu{font-size:1.12rem;line-height:1.65;}
  .verse-tools-row{flex-wrap:wrap;gap:8px;}
  .verse-tools-row select{flex:1 1 100%;}
  .verse-tools-row .btn{flex:1 1 0;justify-content:center;}

  /* Champs : 16 px minimum, sinon l'iPhone zoome à chaque saisie */
  input,select,textarea{font-size:16px !important;}

  /* Boutons et zones tactiles confortables (44 px) */
  .btn,.btn-submit,.contact-btn{min-height:46px;}
  .btn-submit{width:100%;justify-content:center;}
  .radio-option label{min-height:46px;}

  /* Commande au Matin : navigation « précédente / suivante » côte à côte */
  .commande-nav-actions{flex-direction:row;gap:10px;}
  .commande-nav-actions > *{flex:1 1 0;}

  /* Derniers cultes : pastilles et calendrier plus serrés */
  .culte-selection-meta{flex-direction:column;align-items:stretch;gap:8px;}
  .commande-calendar-day,
  .culte-calendar-day{min-height:40px;border-radius:10px;}

  /* Témoignages et formulaires */
  .testimonial-card{padding:20px;}

  /* Pied de page aéré */
  .footer{padding-bottom:calc(18px + env(safe-area-inset-bottom));}
}
/* En mode PC sur téléphone, le bouton « Mode mobile » reste aussi dans la barre du haut */
html.desktop-view .nav-links .nav-display-mode{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 18px;
  font-size:1rem;
  white-space:nowrap;
  background:var(--violet);
  color:#fff;
  border-color:var(--violet);
}
.commande-selected-card .commande-selected-titre{display:block;margin-top:4px;font-style:normal;font-weight:600;color:var(--texte);line-height:1.4;}

/* 22. Jours sans vidéo (calendriers) */
.commande-calendar-day.sans-video small,.culte-calendar-day.sans-video small{color:#9a8fae;font-style:italic;}
.commande-calendar-day.sans-video,.culte-calendar-day.sans-video{opacity:.75;}
.culte-video-label{display:inline-block;font-style:normal;font-weight:700;font-size:.78rem;background:#6a0dad;color:#fff;border-radius:999px;padding:2px 10px;margin-right:6px;}

/* 23. Aperçu des chaînes YouTube (Enseignements) */
.channel-latest{margin:14px 0 16px;}
.channel-latest-title{display:block;font-size:.8rem;font-weight:700;color:#6a0dad;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;}
.channel-latest-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.channel-latest-item{display:flex;flex-direction:column;gap:4px;text-align:left;background:#faf7ff;border:1px solid #eadcf8;border-radius:10px;padding:6px;cursor:pointer;font:inherit;color:inherit;transition:transform .15s,box-shadow .15s;}
.channel-latest-item:hover,.channel-latest-item:focus-visible{transform:translateY(-2px);box-shadow:0 6px 16px rgba(106,13,173,.15);}
.channel-latest-item img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:7px;background:#e9e0f5;}
.channel-latest-item span{font-size:.8rem;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.channel-latest-item small{font-size:.72rem;color:#7a6d8f;}

/* 24. Quiz interactif du culte */
.btn-submit[hidden],.contact-priere[hidden]{display:none!important;}
.quiz-score{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 16px;padding:12px 16px;border-radius:14px;background:var(--violet-pale,#f3eafc);color:var(--violet-fonce,#4b0a7a);font-weight:600;}
.quiz-score strong{font-size:1.15rem;}
.quiz-score em{flex-basis:100%;font-style:normal;font-weight:600;}
.quiz-score.termine{background:#e8f7ee;color:#17603a;}
.quiz-card.quiz-ok{border-color:#2e9d5b;}
.quiz-card.quiz-ko{border-color:#d9534f;}
.radio-option.quiz-bonne label{background:#e8f7ee;border-color:#2e9d5b;color:#17603a;}
.radio-option.quiz-bonne label span{border-color:#2e9d5b;box-shadow:inset 0 0 0 3px #2e9d5b;}
.radio-option.quiz-fausse label{background:#fdecec;border-color:#d9534f;color:#8f1f1b;}
.radio-option.quiz-fausse label span{border-color:#d9534f;box-shadow:inset 0 0 0 3px #d9534f;}
.quiz-retour{margin:12px 0 0;font-weight:600;min-height:1em;}
.quiz-ok .quiz-retour{color:#17603a;}
.quiz-ko .quiz-retour{color:#8f1f1b;}
.quiz-note{display:block;margin-top:6px;color:var(--texte-doux,#6d5a7c);font-size:.82rem;}
.quiz-check{margin:6px 0 14px;}

/* 25. Bouton « Connexion administrateur » (en haut à droite) */
.global-tools{display:flex;align-items:center;gap:8px;}
.admin-connexion{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--bordure-forte,#e2d4f0);background:var(--surface,#fff);color:var(--violet,#6a0dad);font-size:.9rem;flex:0 0 auto;transition:background .2s,color .2s;}
.admin-connexion:hover,.admin-connexion:focus-visible{background:var(--violet,#6a0dad);color:#fff;}
@media (max-width:760px){.admin-connexion{width:32px;height:32px;font-size:.8rem;}}

/* 26. Menu d'ordinateur sur une seule ligne */
@media (min-width:1081px){
  .nav-links{flex-wrap:nowrap;gap:2px;}
  .nav-links > a,.nav-more-toggle{white-space:nowrap;padding:9px 11px;}
  .navbar .container{gap:12px;}
  .nav-search{flex:0 1 180px;}
}
@media (min-width:1081px) and (max-width:1240px){
  .brand-text em{display:none;}
  .nav-search{flex-basis:44px;padding:6px;}
  .nav-search input{width:0;padding:0;opacity:0;}
  .nav-search:focus-within{flex-basis:180px;}
  .nav-search:focus-within input{width:auto;opacity:1;padding:initial;}
}
.badge-direct{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;background:#fdecec;color:#c62828;font-size:.75rem;font-weight:700;vertical-align:middle;}

/* 27. Lecteur : reprise, mode « Écouter », chargement */
.video-ecouter{position:absolute;top:12px;right:12px;z-index:3;display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:0;border-radius:999px;background:rgba(20,4,34,.62);color:#fff;font:700 .82rem var(--corps,sans-serif);backdrop-filter:blur(6px);cursor:pointer;transition:background .2s,transform .2s;}
.video-ecouter:hover{background:var(--violet,#6a0dad);transform:translateY(-1px);}
.video-reprise{position:absolute;left:20px;top:14px;z-index:3;display:inline-flex;align-items:center;gap:6px;padding:6px 12px 8px;border-radius:12px;background:rgba(255,255,255,.95);color:var(--violet-fonce,#3d0866);font-size:.78rem;font-weight:800;overflow:hidden;}
.video-reprise-barre{position:absolute;left:0;bottom:0;height:3px;width:var(--p);background:#e0245e;}
.video-chargement{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:1.6rem;z-index:1;pointer-events:none;}
.video-container .yt-cible,.video-container > iframe{position:absolute;inset:0;width:100%;height:100%;}
.video-container.mode-audio{aspect-ratio:auto;display:grid;grid-template-columns:200px 1fr;gap:16px;align-items:center;padding:14px;background:linear-gradient(135deg,#2a0548,#6a0dad);}
.video-container.mode-audio iframe{position:relative;inset:auto;width:200px;height:113px;border-radius:12px;}
.video-container.mode-audio .video-chargement{display:none;}
.audio-barre{color:#fff;display:grid;gap:8px;min-width:0;}
.audio-titre{display:flex;gap:10px;align-items:center;font-weight:700;font-size:.95rem;}
.audio-titre span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.audio-progression{width:100%;accent-color:#f5c542;}
.audio-temps{display:flex;justify-content:space-between;font-size:.78rem;opacity:.85;}
.audio-commandes{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.audio-commandes button{position:relative;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;font:800 .8rem var(--corps,sans-serif);}
.audio-commandes button small{position:absolute;font-size:.55rem;bottom:6px;}
.audio-commandes .audio-principal{width:58px;height:58px;background:#fff;color:var(--violet,#6a0dad);font-size:1.3rem;}
.audio-commandes .audio-vitesse{width:auto;padding:0 12px;border-radius:999px;}
@media (max-width:640px){
  .video-container.mode-audio{grid-template-columns:1fr;}
  .video-container.mode-audio iframe{width:100%;height:auto;aspect-ratio:16/9;}
  .video-ecouter span{display:none;}
  .video-ecouter{padding:9px 11px;}
}

/* ==================== 28. APPLICATION : installer, alertes, fenêtres, bandeau du direct ==================== */
.app-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border:0;border-radius:999px;background:var(--degrade-violet);color:#fff;font:700 .9rem var(--corps);cursor:pointer;text-decoration:none;box-shadow:0 8px 20px rgba(106,13,173,.25);transition:transform .15s,box-shadow .2s;}
.app-btn:hover{transform:translateY(-1px);color:#fff;box-shadow:0 12px 26px rgba(106,13,173,.32);}
.app-btn:disabled{opacity:.6;cursor:wait;}
.app-btn-large{width:100%;padding:14px 18px;margin-top:10px;}
.app-btn-clair{background:rgba(255,255,255,.16);box-shadow:none;border:1px solid rgba(255,255,255,.35);}
.app-fenetre{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:18px;background:rgba(18,4,30,.55);backdrop-filter:blur(4px);animation:app-apparait .2s ease both;}
.app-fenetre.sortie{opacity:0;transition:opacity .2s;}
.app-fenetre-boite{position:relative;width:min(430px,100%);max-height:88vh;overflow:auto;padding:30px 24px 24px;border-radius:26px;background:var(--surface);color:var(--texte);box-shadow:0 30px 80px rgba(0,0,0,.35);text-align:center;animation:app-monte .3s ease both;}
.app-fenetre-boite h3{margin:10px 0 6px;font-family:var(--titre);color:var(--violet-fonce);font-size:1.4rem;}
.app-fenetre-boite > p{color:var(--texte-doux);margin:0 0 16px;}
.app-fenetre-fermer{position:absolute;top:12px;right:12px;width:38px;height:38px;border:0;border-radius:50%;background:var(--violet-pale);color:var(--texte-doux);cursor:pointer;}
.app-fenetre-icone{width:74px;height:74px;margin:0 auto;display:grid;place-items:center;border-radius:22px;background:var(--degrade-violet);color:#fff;font-size:1.8rem;box-shadow:0 12px 30px rgba(106,13,173,.3);overflow:hidden;}
.app-fenetre-icone img{width:100%;height:100%;object-fit:cover;}
.app-etapes{list-style:none;margin:0;padding:0;display:grid;gap:10px;text-align:left;counter-reset:etape;}
.app-etapes li{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;background:var(--violet-pale);font-weight:600;}
.app-etapes li i{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:10px;background:var(--surface);color:var(--violet);}
.app-interrupteur{display:flex;align-items:center;gap:14px;padding:14px;margin-bottom:10px;border-radius:16px;background:var(--violet-pale);text-align:left;cursor:pointer;}
.app-interrupteur input{position:absolute;opacity:0;}
.app-interrupteur > span{flex:0 0 50px;height:30px;border-radius:999px;background:#cfc3dc;position:relative;transition:background .2s;}
.app-interrupteur > span::after{content:'';position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.2);transition:transform .2s;}
.app-interrupteur input:checked + span{background:var(--violet);}
.app-interrupteur input:checked + span::after{transform:translateX(20px);}
.app-interrupteur strong{display:block;}
.app-interrupteur small{color:var(--texte-doux);}
.app-message{min-height:1.2em;margin:10px 0 0;font-weight:700;}
.app-message.ok{color:var(--succes);}
.app-message.err{color:var(--erreur);}
.app-actions{display:grid;gap:4px;margin-top:6px;padding-top:6px;border-top:1px solid var(--bordure);}
.app-actions button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:0;border-radius:12px;background:transparent;color:var(--texte);font:600 .9rem var(--corps);cursor:pointer;text-align:left;}
.app-actions button:hover{background:var(--violet-pale);color:var(--violet);}
.app-actions button i{width:18px;color:var(--violet);}
.app-actions button.actif i{color:var(--or);}
.app-actions button[hidden]{display:none;}
.app-theme-rapide{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--bordure-forte);background:var(--surface);color:var(--violet);cursor:pointer;flex:0 0 auto;}
.app-theme-rapide span{display:none;}
@media (max-width:980px){.app-theme-rapide{display:none;}}
.app-bandeau-installer{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:2500;display:flex;align-items:center;gap:12px;padding:12px 12px 12px 14px;border-radius:20px;background:var(--surface);box-shadow:0 18px 50px rgba(20,0,40,.3);border:1px solid var(--bordure);animation:app-monte .35s ease both;}
.app-bandeau-installer img{width:46px;height:46px;border-radius:12px;}
.app-bandeau-installer div{flex:1;min-width:0;}
.app-bandeau-installer strong{display:block;font-size:.95rem;color:var(--texte);}
.app-bandeau-installer small{color:var(--texte-doux);font-size:.8rem;}
.app-bandeau-fermer{border:0;background:transparent;color:var(--texte-leger);font-size:1.1rem;cursor:pointer;padding:6px;}
.bandeau-direct{display:flex;align-items:center;gap:14px;flex-wrap:wrap;max-width:var(--largeur);margin:18px auto 0;padding:14px 20px;border-radius:20px;color:#fff;background:linear-gradient(120deg,#2a0548,#6a0dad 60%,#8e2de2);box-shadow:0 14px 40px rgba(106,13,173,.28);}
.bandeau-direct[hidden]{display:none;}
.bandeau-direct > i{font-size:1.4rem;color:#f5c542;}
.bandeau-direct > div:not(.bandeau-compteur){flex:1;min-width:160px;}
.bandeau-direct strong{display:block;font-family:var(--titre);font-size:1.1rem;}
.bandeau-direct small{opacity:.85;}
.bandeau-direct.en-direct{background:linear-gradient(120deg,#7f0f2e,#c62828 55%,#e0245e);}
.bandeau-point{width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.7);animation:app-pulse 1.4s infinite;}
.bandeau-compteur{display:flex;align-items:baseline;gap:4px;font-variant-numeric:tabular-nums;}
.bandeau-compteur b{font-size:1.7rem;font-weight:800;line-height:1;}
.bandeau-compteur em{font-style:normal;font-size:.75rem;opacity:.8;margin-right:6px;}
.bandeau-direct .app-btn{background:#fff;color:var(--violet-fonce);}
.bandeau-direct.en-direct .app-btn{color:#b3122f;}
.bandeau-direct .app-btn-clair{background:rgba(255,255,255,.16);color:#fff;}
@media (max-width:640px){.bandeau-direct{margin:14px 16px 0;padding:14px 16px;}.bandeau-compteur b{font-size:1.4rem;}}
@keyframes app-apparait{from{opacity:0;}to{opacity:1;}}
@keyframes app-monte{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
@keyframes app-pulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.7);}70%{box-shadow:0 0 0 12px rgba(255,255,255,0);}100%{box-shadow:0 0 0 0 rgba(255,255,255,0);}}

/* ==================== 29. MODE SOMBRE ==================== */
:root[data-theme="sombre"]{
  color-scheme:dark;
  --violet:#a866ea;
  --violet-fonce:#e6d3fb;
  --violet-clair:#c79bf2;
  --violet-pale:#241631;
  --or:#e5b93a;
  --texte:#ece6f2;
  --texte-doux:#c1b6cd;
  --texte-leger:#a597b3;
  --fond:#120a19;
  --fond-doux:#170e20;
  --surface:#1d1328;
  --surface-teintee:#281a36;
  --bordure:rgba(200,160,255,.14);
  --bordure-forte:rgba(200,160,255,.28);
  --degrade-violet:linear-gradient(135deg,#7a1fc4,#a45ae0);
  --ombre-xs:0 2px 8px rgba(0,0,0,.35);
  --ombre-sm:0 8px 22px rgba(0,0,0,.4);
  --ombre-md:0 16px 42px rgba(0,0,0,.45);
  --ombre-lg:0 24px 60px rgba(0,0,0,.5);
}
:root[data-theme="sombre"] body{background:var(--fond);color:var(--texte);}
:root[data-theme="sombre"] .navbar{background:rgba(18,10,25,.92);border-bottom-color:var(--bordure);}
:root[data-theme="sombre"] .section-light,
:root[data-theme="sombre"] .section{background-color:transparent;}
:root[data-theme="sombre"] [class*="card"],
:root[data-theme="sombre"] .question-card,
:root[data-theme="sombre"] .formulaire-card{background-color:var(--surface);color:var(--texte);}
:root[data-theme="sombre"] .btn-light{background:var(--surface);color:var(--texte);}
:root[data-theme="sombre"] input,
:root[data-theme="sombre"] select,
:root[data-theme="sombre"] textarea{background-color:var(--fond-doux);color:var(--texte);border-color:var(--bordure-forte);}
:root[data-theme="sombre"] h1,:root[data-theme="sombre"] h2,:root[data-theme="sombre"] h3,:root[data-theme="sombre"] h4{color:var(--violet-fonce);}
:root[data-theme="sombre"] .hero h1,:root[data-theme="sombre"] .hero h2{color:#fff;}
:root[data-theme="sombre"] a{color:inherit;}
:root[data-theme="sombre"] .channel-latest-item{background:var(--surface-teintee);border-color:var(--bordure);}
:root[data-theme="sombre"] .radio-option.quiz-bonne label{background:#123826;color:#9ff0c2;}
:root[data-theme="sombre"] .radio-option.quiz-fausse label{background:#3f1418;color:#ffb3b0;}
:root[data-theme="sombre"] .quiz-score.termine{background:#123826;color:#9ff0c2;}
:root[data-theme="sombre"] .footer{background:#0c0612;}
:root[data-theme="sombre"] img.brand-mark{background:#fff;border-radius:10px;}
.bandeau-direct-zone{padding:0 var(--gouttiere);}

/* ==================== 30. PAGE PRIÈRE ==================== */
.priere-hero{position:relative;overflow:hidden;padding:clamp(70px,10vw,120px) 0 clamp(60px,8vw,96px);color:#fff;text-align:center;
  background:radial-gradient(900px 480px at 50% 120%,rgba(245,197,66,.35),transparent 60%),radial-gradient(700px 400px at 15% 0%,rgba(168,102,234,.45),transparent 60%),linear-gradient(180deg,#0d0218 0%,#2a0548 55%,#4b0a7a 100%);}
.priere-etoiles{position:absolute;inset:0;background-image:radial-gradient(1.5px 1.5px at 20% 30%,#fff,transparent),radial-gradient(1px 1px at 70% 20%,#fff,transparent),radial-gradient(1.2px 1.2px at 40% 70%,#fff,transparent),radial-gradient(1px 1px at 85% 60%,#fff,transparent),radial-gradient(1.5px 1.5px at 10% 80%,#fff,transparent),radial-gradient(1px 1px at 55% 45%,#fff,transparent),radial-gradient(1.2px 1.2px at 92% 15%,#fff,transparent);background-size:420px 420px;opacity:.55;animation:priere-scintille 6s ease-in-out infinite alternate;}
.priere-hero-contenu{position:relative;max-width:820px;}
.priere-hero h1{font-family:var(--titre);font-size:clamp(2rem,5vw,3.3rem);line-height:1.15;margin:16px 0 14px;color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.35);}
.priere-hero .subtitle{color:rgba(255,255,255,.88);font-size:1.08rem;max-width:640px;margin:0 auto;}
.priere-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#f5d77a;font-size:.8rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;backdrop-filter:blur(6px);}
.priere-kicker.sombre{background:var(--violet-pale);border-color:var(--bordure);color:var(--violet);}
.priere-compteurs{display:flex;justify-content:center;gap:clamp(12px,3vw,28px);margin:34px 0 28px;flex-wrap:wrap;}
.priere-compteurs div{min-width:130px;padding:16px 18px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px);}
.priere-compteurs strong{display:block;font-family:var(--titre);font-size:2.2rem;line-height:1;color:#f5d77a;}
.priere-compteurs span{font-size:.85rem;color:rgba(255,255,255,.8);}
.priere-hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.priere-hero-actions .app-btn{padding:13px 22px;}
.priere-hero-actions .app-btn:first-child{background:linear-gradient(135deg,#f5c542,#e0a526);color:#2a0548;}

.priere-titre-section{text-align:center;margin-bottom:28px;}
.priere-titre-section h2{font-family:var(--titre);font-size:clamp(1.8rem,4vw,2.5rem);margin:12px 0 4px;color:var(--violet-fonce);}
.priere-titre-section p{color:var(--texte-doux);text-transform:capitalize;margin:0;}
.meditation-etapes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:etape;}
.meditation-etape{position:relative;padding:30px 24px 24px;border-radius:26px;background:var(--surface);border:1px solid var(--bordure);box-shadow:var(--ombre-md);display:flex;flex-direction:column;gap:12px;}
.meditation-etape:nth-child(1){background:linear-gradient(160deg,var(--surface) 60%,rgba(168,102,234,.10));}
.meditation-etape:nth-child(3){background:linear-gradient(160deg,var(--surface) 60%,rgba(245,197,66,.14));}
.meditation-num{position:absolute;top:-18px;left:24px;width:40px;height:40px;display:grid;place-items:center;border-radius:14px;background:var(--degrade-violet);color:#fff;font-weight:800;box-shadow:0 10px 24px rgba(106,13,173,.3);}
.meditation-etape h3{margin:6px 0 0;display:flex;gap:10px;align-items:center;font-family:var(--titre);font-size:1.3rem;color:var(--violet-fonce);}
.meditation-etape h3 i{color:var(--or);font-size:1.05rem;}
.meditation-etape blockquote{margin:0;font-family:var(--titre);font-size:1.18rem;line-height:1.6;font-style:italic;color:var(--texte);}
.meditation-etape cite{color:var(--violet);font-weight:800;font-style:normal;font-size:.9rem;}
.meditation-grand{font-size:1.1rem;font-weight:600;line-height:1.55;margin:0;}
.meditation-etape textarea{width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--bordure-forte);background:var(--fond-doux);font:inherit;font-size:16px;resize:vertical;}
.meditation-priere{margin:0;font-style:italic;line-height:1.65;color:var(--texte);}
.meditation-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;}
.app-btn-contour{background:transparent;color:var(--violet);border:1.5px solid var(--violet);box-shadow:none;}
.app-btn-contour:hover{background:var(--violet);color:#fff;}
#meditation-fait.fait{background:linear-gradient(135deg,#1f9254,#2bb673);}
.meditation-serie{margin:0;font-weight:800;color:#e0741f;}

.priere-section{background:var(--fond-doux);}
.priere-grille{display:grid;grid-template-columns:minmax(300px,380px) 1fr;gap:28px;align-items:start;}
.priere-panneau{position:sticky;top:96px;padding:26px;border-radius:26px;background:var(--surface);border:1px solid var(--bordure);box-shadow:var(--ombre-md);}
.priere-panneau h2{font-family:var(--titre);margin:12px 0 6px;font-size:1.5rem;color:var(--violet-fonce);}
.priere-panneau > p{color:var(--texte-doux);font-size:.92rem;}
.priere-form{display:grid;gap:8px;}
.priere-form label,.priere-label{font-weight:700;font-size:.88rem;}
.priere-form input[type=text],.priere-form textarea{width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--bordure-forte);background:var(--fond-doux);font:inherit;font-size:16px;color:var(--texte);}
.priere-form textarea{resize:vertical;}
.priere-compte{justify-self:end;color:var(--texte-leger);}
.priere-categories{display:flex;flex-wrap:wrap;gap:6px;}
.priere-categories button{display:inline-flex;gap:6px;align-items:center;padding:7px 12px;border-radius:999px;border:1px solid var(--bordure-forte);background:var(--surface);color:var(--texte-doux);font:600 .82rem var(--corps);cursor:pointer;}
.priere-categories button[aria-checked="true"]{background:var(--violet);border-color:var(--violet);color:#fff;}
.mes-sujets{margin-top:22px;padding-top:18px;border-top:1px solid var(--bordure);}
.mes-sujets h3{margin:0 0 12px;font-size:1.05rem;color:var(--violet-fonce);display:flex;gap:8px;align-items:center;}
.mon-sujet{padding:12px 14px;border-radius:16px;background:var(--fond-doux);border:1px solid var(--bordure);margin-bottom:10px;display:grid;gap:8px;}
.mon-sujet p{margin:0;font-size:.9rem;}
.mon-sujet > div{display:flex;flex-wrap:wrap;gap:8px;font-size:.78rem;font-weight:700;}
.mon-sujet-statut{color:var(--texte-doux);}
.mon-sujet.publie .mon-sujet-statut{color:var(--succes);}
.mon-sujet.exaucee{border-color:#e5b93a;background:linear-gradient(135deg,rgba(245,197,66,.14),transparent);}
.mon-sujet.exaucee .mon-sujet-statut{color:#b8860b;}
.mon-sujet-priants{color:var(--violet);}
.app-btn-or{background:linear-gradient(135deg,#f5c542,#e0a526);color:#2a0548;box-shadow:0 8px 20px rgba(224,165,38,.3);}
.app-btn-or:hover{color:#2a0548;}
.app-fenetre-icone.or{background:linear-gradient(135deg,#f5c542,#e0a526);color:#2a0548;}
.exaucee-texte{width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--bordure-forte);background:var(--fond-doux);font:inherit;font-size:16px;color:var(--texte);}

.priere-mur-tete h2{font-family:var(--titre);margin:12px 0 4px;font-size:clamp(1.6rem,3.5vw,2.2rem);color:var(--violet-fonce);}
.priere-mur-tete p{color:var(--texte-doux);margin:0 0 16px;}
.priere-filtres{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:16px;scrollbar-width:thin;}
.priere-filtres button{flex:0 0 auto;display:inline-flex;gap:6px;align-items:center;padding:9px 14px;border-radius:999px;border:1px solid var(--bordure-forte);background:var(--surface);color:var(--texte-doux);font:700 .84rem var(--corps);cursor:pointer;}
.priere-filtres button b{padding:1px 7px;border-radius:999px;background:var(--violet-pale);color:var(--violet);font-size:.72rem;}
.priere-filtres button.actif{background:var(--violet);border-color:var(--violet);color:#fff;}
.priere-filtres button.actif b{background:rgba(255,255,255,.22);color:#fff;}
.priere-cartes{columns:2 300px;column-gap:18px;}
.priere-carte{break-inside:avoid;position:relative;display:grid;gap:12px;margin-bottom:18px;padding:22px;border-radius:22px;background:var(--surface);border:1px solid var(--bordure);box-shadow:var(--ombre-sm);animation:app-monte .35s ease both;}
.priere-carte header{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.priere-cat{display:inline-flex;gap:6px;align-items:center;padding:5px 11px;border-radius:999px;background:var(--violet-pale);color:var(--violet);font-size:.78rem;font-weight:800;}
.priere-carte header small{color:var(--texte-leger);font-weight:600;}
.priere-texte{margin:0;font-size:1rem;line-height:1.65;}
.priere-carte footer{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}
.priere-auteur{color:var(--texte-doux);font-weight:700;font-size:.85rem;display:inline-flex;gap:6px;align-items:center;}
.priere-prier{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;border:1.5px solid var(--violet);background:transparent;color:var(--violet);font:800 .86rem var(--corps);cursor:pointer;transition:all .2s;}
.priere-prier b{padding:1px 8px;border-radius:999px;background:var(--violet-pale);}
.priere-prier:hover:not(:disabled){background:var(--violet);color:#fff;}
.priere-prier.prie{background:var(--degrade-violet);border-color:transparent;color:#fff;cursor:default;}
.priere-prier.prie b{background:rgba(255,255,255,.22);}
.priere-prier.anime{animation:priere-pulse .6s ease;}
.priere-carte.exaucee{background:linear-gradient(160deg,rgba(245,197,66,.16),var(--surface) 55%);border-color:rgba(229,185,58,.55);box-shadow:0 14px 40px rgba(224,165,38,.18);padding-top:34px;}
.priere-ruban{position:absolute;top:-1px;right:18px;padding:6px 12px 7px;border-radius:0 0 12px 12px;background:linear-gradient(135deg,#f5c542,#e0a526);color:#2a0548;font-size:.75rem;font-weight:800;}
.priere-reponse{padding:12px 14px;border-radius:14px;background:rgba(245,197,66,.14);border-left:4px solid #e5b93a;}
.priere-reponse strong{font-size:.82rem;color:#9a6f00;}
.priere-reponse p{margin:6px 0 0;font-style:italic;}
.priere-vide{text-align:center;padding:50px 20px;border-radius:22px;border:2px dashed var(--bordure-forte);color:var(--texte-doux);}
.priere-vide i{font-size:2.4rem;color:var(--violet-clair);}
.confettis{position:fixed;inset:0;pointer-events:none;z-index:4000;overflow:hidden;}
.confettis i{position:absolute;top:-12px;width:9px;height:14px;border-radius:2px;animation:confetti 2.2s ease-in forwards;}
@keyframes confetti{to{transform:translateY(105vh) rotate(720deg);opacity:.9;}}
@keyframes priere-pulse{0%{transform:scale(1);}40%{transform:scale(1.12);box-shadow:0 0 0 10px rgba(168,102,234,.2);}100%{transform:scale(1);}}
@keyframes priere-scintille{from{opacity:.35;}to{opacity:.7;}}
:root[data-theme="sombre"] .priere-reponse strong{color:#f5d77a;}
@media (max-width:980px){
  .meditation-etapes{grid-template-columns:1fr;gap:28px;}
  .priere-grille{grid-template-columns:1fr;}
  .priere-panneau{position:static;}
  .priere-cartes{columns:1;}
}
.carte-apercu{width:100%;border-radius:16px;margin:4px 0 8px;box-shadow:0 10px 30px rgba(0,0,0,.25);}

/* 31. Cultes : chapitres, passages du résumé, guide EDM */
.culte-chapitres{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 4px 4px;}
.culte-chapitres strong{width:100%;font-size:.85rem;color:var(--violet-fonce);display:flex;gap:6px;align-items:center;}
.culte-chapitres button{display:inline-flex;gap:8px;align-items:center;padding:7px 12px;border-radius:999px;border:1px solid var(--bordure-forte);background:var(--surface);color:var(--texte);font:600 .82rem var(--corps);cursor:pointer;transition:all .2s;}
.culte-chapitres button b{color:var(--violet);font-variant-numeric:tabular-nums;}
.culte-chapitres button:hover{background:var(--violet);color:#fff;border-color:var(--violet);}
.culte-chapitres button:hover b{color:#f5d77a;}
.resume-moment{display:inline-flex;gap:8px;align-items:center;margin-top:10px;padding:7px 14px;border-radius:999px;border:0;background:var(--violet-pale);color:var(--violet);font:700 .82rem var(--corps);cursor:pointer;transition:all .2s;}
.resume-moment:hover{background:var(--violet);color:#fff;}
.resume-moment b{font-variant-numeric:tabular-nums;}
.culte-guide{padding:26px;border-radius:26px;background:linear-gradient(160deg,var(--surface) 55%,rgba(168,102,234,.1));border:1px solid var(--bordure);box-shadow:var(--ombre-sm);}
.culte-guide-tete{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:12px;}
.culte-guide-tete .section-title{margin:8px 0 0;}
.guide-intro{display:flex;gap:10px;align-items:flex-start;font-size:1.02rem;font-style:italic;color:var(--texte-doux);}
.guide-intro i{color:var(--or);margin-top:4px;}
.guide-questions{counter-reset:q;list-style:none;padding:0;margin:14px 0;display:grid;gap:10px;}
.guide-questions li{counter-increment:q;position:relative;padding:14px 16px 14px 56px;border-radius:16px;background:var(--surface);border:1px solid var(--bordure);font-weight:600;line-height:1.5;}
.guide-questions li::before{content:counter(q);position:absolute;left:14px;top:12px;width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:var(--degrade-violet);color:#fff;font-weight:800;}
.guide-duo{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.guide-defi,.guide-priere{padding:16px;border-radius:16px;}
.guide-defi{background:rgba(245,197,66,.14);border:1px solid rgba(229,185,58,.4);}
.guide-priere{background:var(--violet-pale);border:1px solid var(--bordure);}
.guide-defi strong,.guide-priere strong{display:flex;gap:8px;align-items:center;color:var(--violet-fonce);}
.guide-defi p,.guide-priere p{margin:8px 0 0;line-height:1.6;}
.guide-priere p{font-style:italic;}
@media (max-width:760px){.guide-duo{grid-template-columns:1fr;}.culte-guide{padding:18px;}}

/* 32. Résumé de la Commande au Matin */
.commande-resume{margin-top:26px;padding:26px;border-radius:26px;background:var(--surface);border:1px solid var(--bordure);box-shadow:var(--ombre-md);display:grid;gap:18px;}
.commande-resume[hidden]{display:none;}
.cr-tete h3{font-family:var(--titre);font-size:clamp(1.3rem,3vw,1.7rem);margin:10px 0 0;color:var(--violet-fonce);}
.cr-verset{position:relative;margin:0;padding:22px 24px 20px;border-radius:20px;color:#fff;background:linear-gradient(135deg,#2a0548,#6a0dad);font-family:var(--titre);font-size:1.15rem;font-style:italic;line-height:1.6;}
.cr-verset > i{color:#f5c542;margin-right:6px;}
.cr-verset cite{display:block;margin-top:10px;font-family:var(--corps);font-style:normal;font-weight:800;color:#f5d77a;font-size:.9rem;}
.cr-partager{margin-top:12px;display:inline-flex;gap:8px;align-items:center;padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.12);color:#fff;font:700 .82rem var(--corps);cursor:pointer;}
.cr-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.cr-points article{display:flex;gap:12px;padding:16px;border-radius:18px;background:var(--fond-doux);border:1px solid var(--bordure);}
.cr-points article > span{flex:0 0 32px;height:32px;display:grid;place-items:center;border-radius:10px;background:var(--degrade-violet);color:#fff;font-weight:800;}
.cr-points strong{color:var(--violet-fonce);}
.cr-points p{margin:6px 0 0;line-height:1.6;font-size:.95rem;}
.cr-declarations,.cr-priere{padding:18px 20px;border-radius:20px;}
.cr-declarations{background:linear-gradient(135deg,rgba(245,197,66,.16),rgba(245,197,66,.04));border:1px solid rgba(229,185,58,.45);}
.cr-declarations h4,.cr-priere h4{margin:0;display:flex;gap:8px;align-items:center;color:var(--violet-fonce);font-size:1.05rem;}
.cr-aide{margin:6px 0 10px;color:var(--texte-doux);font-size:.88rem;}
.cr-declarations ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.cr-declarations li{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:var(--surface);font-weight:700;line-height:1.5;cursor:pointer;transition:all .2s;}
.cr-declarations li i{color:#cfc3dc;margin-top:3px;transition:color .2s;}
.cr-declarations li.fait{background:#e7f6ed;color:#17603a;}
.cr-declarations li.fait i{color:#1f9254;}
:root[data-theme="sombre"] .cr-declarations li.fait{background:#123826;color:#9ff0c2;}
.cr-priere{background:var(--violet-pale);border:1px solid var(--bordure);}
.cr-priere p{margin:8px 0 0;font-style:italic;line-height:1.7;}
@media (max-width:760px){.cr-points{grid-template-columns:1fr;}.commande-resume{padding:18px;}}

/* 33. Onglet « Prière et Méditation » : sur deux lignes quand la place manque */
@media (min-width:961px){
  .nav-links > a[data-nav="priere"]{white-space:normal;line-height:1.12;text-align:center;flex:0 0 auto;width:max-content;max-width:128px;min-width:118px;padding-top:5px;padding-bottom:5px;}
}
@media (min-width:961px) and (max-width:1380px){
  .nav-links > a,.nav-more-toggle{padding-left:9px;padding-right:9px;}
  .brand-text em{display:none;}
}
@media (min-width:961px) and (max-width:1080px){
  .nav-links{flex-wrap:nowrap;gap:0;}
  .nav-links > a,.nav-more-toggle{white-space:nowrap;padding-left:7px;padding-right:7px;font-size:.9rem;}
  .navbar .container{gap:10px;}
  .nav-search{flex-basis:44px;padding:6px;}
  .nav-search input{width:0;padding:0;opacity:0;}
  .nav-search:focus-within{flex-basis:180px;}
  .nav-search:focus-within input{width:auto;opacity:1;padding:initial;}
}
/* Recherche du menu : loupe ronde qui s'ouvre au clic tant que la place manque */
@media (min-width:961px) and (max-width:1600px){
  .nav-search{flex:0 0 44px;width:44px;padding:6px;overflow:hidden;transition:flex-basis .25s,width .25s;}
  .nav-search input{width:0;padding:0;opacity:0;}
  .nav-search:focus-within{flex-basis:200px;width:200px;}
  .nav-search:focus-within input{width:auto;opacity:1;padding:initial;}
}
@media (min-width:961px) and (max-width:1240px){
  .brand-text{display:none;}
}
/* Mode sombre : verset du jour lisible */
:root[data-theme="sombre"] #verset-du-jour-contenu,
:root[data-theme="sombre"] #random-verse-content{color:#f3eaff;}
:root[data-theme="sombre"] .verse-tools{background:linear-gradient(135deg,var(--violet-pale),var(--surface));}
:root[data-theme="sombre"] .search-panel{background:rgba(29,19,40,.96);}
:root[data-theme="sombre"] .channel-latest-title{color:var(--violet-clair);}
:root[data-theme="sombre"] .pathway-number,:root[data-theme="sombre"] .resume-index{color:rgba(199,155,242,.3);}
@media (min-width:1181px) and (max-width:1310px){.nav-links > a,.nav-more-toggle{padding-left:7px;padding-right:7px;}.navbar .container{gap:8px;}}

/* 34. Bandeau « nouvelle version disponible » */
.maj-site{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:1200;display:flex;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 24px);padding:10px 10px 10px 18px;border-radius:999px;background:var(--degrade-nuit,#2a0845);color:#fff;box-shadow:0 14px 40px rgba(20,4,40,.35);font-weight:600;font-size:.92rem;animation:maj-entree .35s ease-out;}
.maj-site i{color:#f4c95d;}
.maj-site .app-btn{padding:8px 16px;font-size:.88rem;}
.maj-fermer{border:0;background:transparent;color:rgba(255,255,255,.75);font-size:1.4rem;line-height:1;cursor:pointer;padding:0 6px;}
@keyframes maj-entree{from{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%,0)}}
@media (max-width:640px){.maj-site{border-radius:18px;flex-wrap:wrap;justify-content:center;text-align:center;padding:12px 14px;bottom:calc(84px + env(safe-area-inset-bottom));}}

/* 35. Choix de la version biblique dans la méditation du jour */
.meditation-version{display:flex;align-items:center;gap:8px;margin-top:14px;padding:6px 6px 6px 14px;border:1px solid var(--bordure);border-radius:999px;background:var(--surface-teintee);color:var(--violet);max-width:100%;}
.meditation-version select{flex:1;min-width:0;border:0;background:transparent;color:var(--texte);font:600 .88rem var(--corps,sans-serif);padding:6px 4px;cursor:pointer;}
.meditation-version select:focus{outline:none;}
.meditation-version:focus-within{border-color:var(--violet);box-shadow:0 0 0 3px rgba(106,13,173,.15);}
.meditation-mention{display:block;margin-top:8px;font-size:.74rem;line-height:1.4;color:var(--texte-leger);}

/* 36. En-tête : outils alignés (recherche, langue, thème, administration)
   Tous à 38 px de haut, centrés, espacés de 8 px, à toutes les largeurs d'ordinateur.
   La langue s'affiche avec un globe (les drapeaux émoji ne s'affichent pas sous Windows). */
.global-tools select{
  background-color:var(--surface);
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236a0dad' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M2.5 12h19M12 2.5c2.6 2.8 3.9 6 3.9 9.5s-1.3 6.7-3.9 9.5M12 2.5C9.4 5.3 8.1 8.5 8.1 12s1.3 6.7 3.9 9.5'/%3E%3C/svg%3E"),
    url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236a0dad' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat,no-repeat;
  background-position:left 11px center,right 12px center;
  background-size:15px,11px;
  padding-left:33px;
}
:root[data-theme="sombre"] .global-tools select{background-color:var(--surface);}
@media (min-width:961px){
  .navbar .container{align-items:center;}
  .nav-search{flex:0 0 38px;width:38px;height:38px;padding:0;gap:0;justify-content:center;overflow:hidden;
    background:var(--surface);border:1px solid var(--bordure-forte);border-radius:999px;transition:width .25s,flex-basis .25s,padding .25s;}
  .nav-search input{flex:0 0 0;width:0;padding:0;opacity:0;}
  .nav-search button{width:30px;height:30px;font-size:.78rem;}
  .nav-search:focus-within{flex-basis:230px;width:230px;padding:0 3px 0 14px;justify-content:flex-start;}
  .nav-search:focus-within input{flex:1 1 auto;width:auto;opacity:1;padding:4px 0;}
  .global-tools{gap:8px;margin:0;}
  .global-tools select{height:38px;padding-top:0;padding-bottom:0;line-height:36px;}
  .app-theme-rapide,.admin-connexion{width:38px;height:38px;}
}
@media (min-width:1241px){.navbar .container{max-width:1320px;}}

/* 37. Téléphone : pas de blocs « parcours » sur l'accueil (tout est dans le menu) */
@media (max-width:960px){html:not(.desktop-view) .pathway-section{display:none;}}

/* 38. Verset du jour : thème de la semaine ; titre centré sur téléphone */
.verset-theme{margin:14px 0 0;font-size:.9rem;color:var(--texte-doux);display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.verset-theme i{color:var(--or,#e5b93a);}
.verset-theme strong{color:var(--violet);}
@media (max-width:960px){
  html:not(.desktop-view) .verse-pro-intro{text-align:center;display:flex;flex-direction:column;align-items:center;min-width:0;}
  html:not(.desktop-view) .verse-pro-intro p{max-width:100%;}
  html:not(.desktop-view) .verse-pro > *{min-width:0;}
}
.verse-tools-row select{max-width:100%;min-width:0;}

/* 39. Bouton « Activer le son » (arrivée directe sur un direct) */
.video-container{position:relative;}
.video-son{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:4;display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:0;border-radius:999px;background:#fff;color:var(--violet-fonce,#3d0866);font:800 .9rem var(--corps,sans-serif);box-shadow:0 10px 30px rgba(0,0,0,.35);cursor:pointer;animation:maj-entree .35s ease-out;}

/* 40. Formulaire du culte : EDM / famille souhaitée */
.edm-souhaitee{margin-top:.6rem;}
.edm-souhaitee .champ-aide{margin:.35rem 0 0;font-size:.85rem;color:var(--texte-doux);}

/* ===== Page Confidentialité (RGPD) ===== */
.page-legale{max-width:860px;margin:0 auto;color:var(--texte);line-height:1.7;}
.page-legale h2{font-family:'Playfair Display',serif;color:var(--violet-fonce);font-size:1.45rem;margin:2.2rem 0 .8rem;}
.page-legale p,.page-legale li{color:var(--texte);}
.page-legale ul{padding-left:1.2rem;}
.page-legale li{margin:.35rem 0;}
.page-legale a{color:var(--violet);font-weight:700;}
.page-legale-maj{color:var(--texte-doux);font-size:.9rem;}
.page-legale-table{overflow-x:auto;border:1px solid var(--bordure,#eadff3);border-radius:14px;margin:1rem 0;}
.page-legale-table table{width:100%;border-collapse:collapse;font-size:.93rem;}
.page-legale-table th,.page-legale-table td{padding:10px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--bordure,#eadff3);}
.page-legale-table th{background:var(--violet-pale);color:var(--violet-fonce);}
.page-legale-table tr:last-child td{border-bottom:0;}
.form-rgpd{margin:.6rem 0 0;font-size:.82rem;color:var(--texte-doux);line-height:1.5;}
.form-rgpd a{color:var(--violet);font-weight:700;}

/* « J'aime » sur les témoignages */
.testimonial-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.testimonial-like{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:6px 14px;border-radius:var(--r-pilule,999px);border:1px solid var(--bordure);background:transparent;color:var(--texte-doux);font:700 .9rem 'Open Sans',sans-serif;cursor:pointer;transition:background .2s,color .2s,border-color .2s;}
.testimonial-like:hover{border-color:#e0457b;color:#e0457b;}
.testimonial-like:focus-visible{outline:3px solid rgba(224,69,123,.35);outline-offset:2px;}
.testimonial-like.is-liked{background:rgba(224,69,123,.1);border-color:rgba(224,69,123,.45);color:#e0457b;}
.testimonial-like span:empty{display:none;}
.testimonial-like.pop i{animation:like-pop .45s ease;}
@keyframes like-pop{0%{transform:scale(1)}40%{transform:scale(1.45)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.testimonial-like.pop i{animation:none;}}
.meditation-note-aide{margin:.5rem 0 0;font-size:.85rem;color:var(--texte-doux);line-height:1.5;}
.meditation-note-aide i{margin-right:4px;color:var(--violet);}
.admin-connexion.est-connecte{background:var(--violet,#6a0dad);color:#fff;border-color:transparent;}

/* Menu principal : « Mon espace personnel » (visible quand on est connecté). */
.nav-links .nav-espace-perso{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:var(--violet);}
.nav-links .nav-espace-perso i{font-size:1rem;}

/* ---------- Contacter le service technique (accueil) ---------- */
.support-section{padding:0 0 calc(var(--section-y) * .6);background:var(--fond);}
.support-tech{max-width:760px;margin:0 auto;border:1px solid var(--bordure);border-radius:18px;background:var(--surface);box-shadow:var(--ombre-xs);}
.support-tech summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:16px 20px;font-weight:700;color:var(--violet-fonce);}
.support-tech summary::-webkit-details-marker{display:none;}
.support-tech summary i{color:var(--violet);}
.support-tech summary small{flex-basis:100%;font-weight:500;color:var(--texte-doux);font-size:.88rem;}
.support-tech[open] summary{border-bottom:1px solid var(--bordure);}
.support-form{display:grid;gap:12px;padding:18px 20px 20px;}
.support-form label{display:grid;gap:6px;font-weight:600;font-size:.92rem;color:var(--texte);}
.support-form select,.support-form textarea,.support-form input[type=email]{width:100%;padding:11px 12px;border:1.5px solid var(--bordure-forte);border-radius:12px;font:inherit;font-size:16px;background:var(--fond);color:var(--texte);}
.support-form textarea{resize:vertical;min-height:96px;}
.support-ligne{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.support-intro,.support-note{margin:0;color:var(--texte-doux);font-size:.9rem;}
.support-form .btn{justify-self:start;}
.support-retour{margin:0;font-weight:600;}
.support-retour.ok{color:#1f8a4c;}
.support-retour.erreur{color:#c62828;}
:root[data-theme="sombre"] .support-retour.ok{color:#6fd89b;}
:root[data-theme="sombre"] .support-retour.erreur{color:#ff8f87;}
.champ-piege{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;}
@media (max-width:600px){.support-ligne{grid-template-columns:1fr;}.support-form .btn{justify-self:stretch;}}

/* Formulaire des cultes : demande pour rejoindre une Famille des Disciples ou une EDM. */
.choix-adhesion{border:0;margin:0 0 12px;padding:0;display:grid;gap:8px;}
.choix-adhesion legend{font-weight:700;margin-bottom:8px;color:var(--texte);}
.choix-adhesion-option{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid var(--bordure-forte);border-radius:12px;cursor:pointer;background:var(--surface);}
.choix-adhesion-option:has(input:checked){border-color:var(--violet);background:var(--surface-teintee);}
.choix-adhesion-option i{color:var(--violet);width:18px;text-align:center;}
#choix-famille,#choix-edm{display:grid;gap:8px;margin-top:6px;}
#choix-famille[hidden],#choix-edm[hidden]{display:none;}
.adhesion-lien{padding:10px 12px;border-radius:10px;background:var(--surface-teintee);}
.adhesion-lien a{font-weight:700;color:var(--violet);}
:root[data-theme="sombre"] .adhesion-lien a,:root[data-theme="sombre"] .choix-adhesion-option i{color:#c9a7ea;}
.choix-adhesion-option input[type="radio"]{width:auto;flex:0 0 auto;margin:0;accent-color:var(--violet);}
.choix-adhesion-option span{flex:1;text-align:left;font-weight:600;}
#commune-autre-groupe[hidden],#edm-souhaitee-groupe[hidden]{display:none;}

/* Bouton « Connexion » / « Mon espace » : bien visible, avec le texte (pastille). */
.global-tools .admin-connexion{width:auto;height:38px;padding:0 14px;gap:7px;border-radius:999px;font-weight:800;font-size:.86rem;white-space:nowrap;
  background:var(--degrade-violet,linear-gradient(135deg,#6a0dad,#9b59b6));color:#fff;border-color:transparent;box-shadow:0 6px 16px rgba(106,13,173,.25);}
.global-tools .admin-connexion:hover,.global-tools .admin-connexion:focus-visible{filter:brightness(1.08);color:#fff;}
.global-tools .admin-connexion.est-connecte{background:var(--surface,#fff);color:var(--violet,#6a0dad);border:1px solid var(--bordure-forte,#e2d4f0);box-shadow:none;}
.global-tools .admin-connexion.est-connecte:hover{background:var(--violet,#6a0dad);color:#fff;}
:root[data-theme="sombre"] .global-tools .admin-connexion.est-connecte{background:transparent;color:#d9c2f2;}

/* Bandeau d'invitation à créer un compte (même style que l'installation). */
.app-bandeau-compte-icone{flex:0 0 auto;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--degrade-violet);color:#fff;font-size:1.2rem;}
.app-bandeau-compte small{display:block;}
.app-bandeau-compte-lien{display:inline-block;margin-top:3px;font-size:.78rem;font-weight:700;color:var(--violet);text-decoration:underline;}
:root[data-theme="sombre"] .app-bandeau-compte-lien{color:#d9c2f2;}
.app-bandeau-compte .app-btn{text-decoration:none;}

/* Formulaire réservé aux comptes (prière, témoignage). */
.compte-requis{display:grid;justify-items:center;gap:12px;text-align:center;padding:22px 18px;border-radius:16px;background:var(--surface-teintee);border:1px dashed var(--bordure-forte);}
.compte-requis > i{font-size:1.6rem;color:var(--violet);}
.compte-requis p{margin:0;color:var(--texte);line-height:1.6;}
.compte-requis-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;}
:root[data-theme="sombre"] .compte-requis > i{color:#d9c2f2;}
/* Petits téléphones : le logo seul, pour laisser la place au bouton « Connexion ». */
/* Pilule de langue : simple enveloppe sur ordinateur */
.langue-pilule{display:contents;}
.langue-code{display:none;}
/* 41. En-tête téléphone/tablette : logo seul + trois pilules homogènes
   (langue, Connexion / Mon espace, Menu) : même hauteur, même rayon, même police. */
@media (max-width:960px){
  html:not(.desktop-view) .navbar .container{gap:8px;min-height:64px;}
  html:not(.desktop-view) .navbar .brand-text{display:none;}
  html:not(.desktop-view) .navbar .brand-logo{flex:1 1 auto;gap:0;}
  html:not(.desktop-view) .navbar .brand-logo .brand-mark{width:50px;height:50px;transition:transform .2s ease;}
  html:not(.desktop-view) .navbar .brand-logo:active .brand-mark{transform:scale(.94);}
  html:not(.desktop-view) .global-tools{gap:8px;margin:0;}
  html:not(.desktop-view) .mobile-nav-actions{margin:0;}
  html:not(.desktop-view) .global-tools .admin-connexion,
  html:not(.desktop-view) .mobile-menu-toggle{
    box-sizing:border-box;height:40px;border-radius:999px;font-family:var(--corps);
    font-size:.82rem;font-weight:800;letter-spacing:.01em;line-height:1;
    box-shadow:0 2px 8px rgba(34,4,47,.06);
  }
  /* Langue : la pilule visible est le libellé ; le vrai menu (16 px, sans zoom iOS) est posé dessus, invisible */
  html:not(.desktop-view) .langue-pilule{
    position:relative;display:inline-flex;align-items:center;box-sizing:border-box;height:40px;
    padding:0 24px 0 31px;border:1px solid var(--bordure-forte);border-radius:999px;background-color:var(--surface);
    background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236a0dad' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M2.5 12h19M12 2.5c2.6 2.8 3.9 6 3.9 9.5s-1.3 6.7-3.9 9.5M12 2.5C9.4 5.3 8.1 8.5 8.1 12s1.3 6.7 3.9 9.5'/%3E%3C/svg%3E"),
      url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236a0dad' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat,no-repeat;background-position:left 11px center,right 9px center;background-size:15px,9px;
    font-family:var(--corps);font-size:.82rem;font-weight:800;letter-spacing:.02em;color:var(--violet-fonce);
    box-shadow:0 2px 8px rgba(34,4,47,.06);cursor:pointer;
  }
  html:not(.desktop-view) .langue-pilule:focus-within{border-color:var(--violet);box-shadow:0 0 0 3px rgba(106,13,173,.15);}
  html:not(.desktop-view) .langue-pilule .langue-code{display:inline;}
  html:not(.desktop-view) .global-tools .langue-pilule select{
    position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;padding:0;border:0;cursor:pointer;font-size:16px !important;
  }
  html:not(.desktop-view) .global-tools .admin-connexion{padding:0 14px;gap:7px;font-size:.82rem;
    box-shadow:0 6px 16px rgba(106,13,173,.28);}
  html:not(.desktop-view) .global-tools .admin-connexion.est-connecte{
    background:var(--violet-pale,#f3eaff);color:var(--violet,#6a0dad);
    border:1px solid color-mix(in srgb,var(--violet,#6a0dad) 22%,transparent);box-shadow:0 2px 8px rgba(34,4,47,.06);}
  html:not(.desktop-view) .mobile-menu-toggle{
    padding:0 14px;gap:7px;color:var(--violet-fonce);background:var(--surface);border:1px solid var(--bordure-forte);
  }
  html:not(.desktop-view) .mobile-menu-toggle i{font-size:.95rem;}
  html:not(.desktop-view) .mobile-menu-toggle[aria-expanded="true"]{background:var(--violet);color:#fff;border-color:var(--violet);}
}
/* Petits téléphones : on garde tout sur une ligne */
@media (max-width:400px){
  html:not(.desktop-view) .navbar .container{gap:6px;}
  html:not(.desktop-view) .global-tools{gap:6px;}
  html:not(.desktop-view) .navbar .brand-logo .brand-mark{width:46px;height:46px;}
  html:not(.desktop-view) .langue-pilule{padding:0 21px 0 28px;background-position:left 9px center,right 8px center;}
  html:not(.desktop-view) .global-tools .admin-connexion,
  html:not(.desktop-view) .mobile-menu-toggle{padding:0 11px;gap:6px;font-size:.78rem;}
}
@media (max-width:340px){
  html:not(.desktop-view) .mobile-menu-toggle span{display:none;}
  html:not(.desktop-view) .mobile-menu-toggle{width:40px;justify-content:center;padding:0;}
}
html[data-theme="sombre"]:not(.desktop-view) .global-tools .admin-connexion.est-connecte{background:rgba(199,155,242,.14);color:#e3cff7;}
