/* Modèle visuel standard de l'écosystème La Mission Catholique (modèle heavenradio.fr) :
   barre Heaven Radio, barre « Nous aider », bloc « Écrivez-nous », bouton « Contactez-nous ».
   Le balisage est écrit directement dans les pages du site (plus de script commun injecté).
   --eco-h = hauteur des deux barres du haut, pour décaler les en-têtes fixés du site. */
:root{--eco-h:90px}
@media (max-width:640px){:root{--eco-h:84px}}
.eco-barre,.eco-soutien,.eco-contact{--eco-navy:#0b2e6b;--eco-ciel:#1565d8;--eco-or1:#f6d468;--eco-or2:#e8b93a;--eco-or3:#b8860b;
  font-family:Poppins,"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;line-height:1.4;text-align:left}
.eco-barre *,.eco-soutien *,.eco-contact *{box-sizing:border-box}
html.eco-avec-barre body{padding-top:var(--eco-h,115px)!important}
html.eco-avec-barre{scroll-padding-top:var(--eco-h,115px)}
/* Sites React : les barres sont écrites en fin de page, sans classe sur <html> */
body:has(> .eco-barre){padding-top:var(--eco-h)!important}
html:has(> body > .eco-barre){scroll-padding-top:var(--eco-h)}

/* ---------- Barre ---------- */
.eco-barre{position:fixed;top:0;left:0;right:0;z-index:2147483000;height:56px;display:flex;align-items:center;gap:18px;padding:0 24px;
  background:linear-gradient(90deg,var(--eco-navy) 0%,var(--eco-ciel) 50%,var(--eco-navy) 100%);border-bottom:3px solid var(--eco-or2);
  box-shadow:0 6px 20px #0b2e6b59;color:#fff;margin:0}
.eco-marque{display:flex;align-items:center;gap:10px;flex:0 0 auto;color:#fff;text-decoration:none}
.eco-marque img{height:44px;width:auto;border-radius:8px;display:block}
.eco-marque span{display:none;font-family:Oswald,Poppins,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--eco-or1)}
.eco-lecture{flex:0 0 auto;width:46px;height:46px;border-radius:50%;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;
  background:linear-gradient(180deg,var(--eco-or1),var(--eco-or2));color:var(--eco-navy);box-shadow:0 4px 0 var(--eco-or3);transition:transform .2s}
.eco-lecture svg{width:24px;height:24px}
.eco-lecture .eco-i-pause,.eco-lecture.joue .eco-i-lire{display:none}
.eco-lecture.joue .eco-i-pause{display:block}
.eco-lecture:hover{transform:scale(1.08)}
.eco-lecture:focus-visible{outline:2px solid #fff;outline-offset:3px}
.eco-piste{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:12px}
.eco-pochette{width:48px;height:48px;border-radius:8px;object-fit:cover;border:2px solid var(--eco-or1);flex:0 0 auto;background:#fff}
.eco-texte{display:flex;flex-direction:column;min-width:0}
.eco-direct{font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--eco-or1)}
.eco-direct i{color:#ff5252;font-size:7px;margin-right:5px;vertical-align:middle;font-style:normal}
.eco-titre{font-weight:600;font-size:1rem;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}
.eco-artiste{font-size:.85rem;font-style:italic;color:#cfe3ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.eco-eq{flex:0 0 auto;display:flex;align-items:center;gap:3px;height:32px;padding:0 14px;background:#ffffff1a;border-radius:8px}
.eco-eq span{width:4px;height:100%;border-radius:2px;background:var(--eco-or1);transform:scaleY(.2)}
.eco-eq.joue span{animation:eco-eq .9s ease-in-out infinite}
.eco-eq span:nth-child(2){animation-delay:.15s}.eco-eq span:nth-child(3){animation-delay:.3s}.eco-eq span:nth-child(4){animation-delay:.45s}.eco-eq span:nth-child(5){animation-delay:.6s}
@keyframes eco-eq{0%,to{transform:scaleY(.2)}50%{transform:scaleY(1)}}
.eco-volume{flex:0 0 auto;display:flex;align-items:center;gap:8px;color:var(--eco-or1);margin:0}
.eco-volume input{width:110px;accent-color:var(--eco-or1);cursor:pointer}
@media (max-width:1100px){.eco-eq,.eco-volume{display:none}}
@media (max-width:640px){
  .eco-barre{height:52px;gap:10px;padding:0 12px}
  .eco-marque img{display:none}
  .eco-marque span{display:block;font-size:.95rem;max-width:74px;line-height:1.1}
  .eco-lecture{width:44px;height:44px}
  .eco-pochette{width:40px;height:40px}
  .eco-artiste{display:none}
  .eco-titre{font-size:.85rem}
}
@media (prefers-reduced-motion:reduce){.eco-eq.joue span{animation:none}}

/* ---------- Bloc de contact ---------- */
.eco-contact{background:linear-gradient(135deg,var(--eco-navy),#123f8f);color:#fff;padding:56px 16px;margin:0;clear:both}
.eco-contact-int{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:1fr 1.4fr;gap:40px;align-items:start}
@media (max-width:820px){.eco-contact-int{grid-template-columns:1fr;gap:24px}}
.eco-surtitre{display:block;font-size:.75rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--eco-or1);margin-bottom:8px}
.eco-contact h2{font-family:Oswald,Poppins,sans-serif;font-size:2.2rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin:0 0 12px;color:#fff;line-height:1.1}
.eco-contact-intro p{color:#cfe3ff;margin:0;font-size:1rem;line-height:1.6}
.eco-contact-intro a{color:var(--eco-or1)}
.eco-form{display:grid;gap:14px;background:#ffffff10;border:1px solid #ffffff26;border-radius:14px;padding:24px;margin:0}
.eco-ligne{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.eco-ligne{grid-template-columns:1fr}}
.eco-form label{display:grid;gap:6px;font-size:.85rem;font-weight:600;color:var(--eco-or1);margin:0}
.eco-form input,.eco-form select,.eco-form textarea{font:inherit;font-size:.95rem;font-weight:400;color:#10213f;background:#fff;border:1px solid #c9d6ee;border-radius:8px;padding:11px 12px;width:100%;margin:0}
.eco-form textarea{resize:vertical;min-height:120px}
.eco-form input:focus,.eco-form select:focus,.eco-form textarea:focus{outline:3px solid var(--eco-or2);outline-offset:1px}
.eco-form button{justify-self:start;font:inherit;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:13px 26px;border:0;border-radius:999px;cursor:pointer;
  background:linear-gradient(180deg,var(--eco-or1),var(--eco-or2));color:var(--eco-navy);box-shadow:0 4px 0 var(--eco-or3)}
.eco-form button[disabled]{opacity:.6;cursor:wait}
.eco-pot{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.eco-etat{margin:0;font-size:.95rem;min-height:1.4em;color:#cfe3ff}
.eco-etat.ok{color:#9ff0b8}
.eco-etat.erreur{color:#ffb4b4}

/* ---------- Barre « Nous aider » sous la barre Heaven Radio ---------- */
.eco-soutien{position:fixed;top:56px;left:0;right:0;z-index:2147482999;height:34px;margin:0;padding:0 12px;
  display:flex;align-items:center;justify-content:center;gap:12px;background:var(--eco-navy);border-bottom:1px solid #f6d46866;color:#fff}
.eco-soutien-texte{font-family:Oswald,Poppins,sans-serif;font-weight:600;font-size:.95rem;letter-spacing:1px;text-transform:uppercase;color:var(--eco-or1);white-space:nowrap}
.eco-soutien-icone{width:32px;height:32px;border-radius:50%;border:0;padding:0;margin:0;cursor:pointer;display:flex;align-items:center;justify-content:center;
  background:#ffffff1f;color:#fff;text-decoration:none;transition:all .2s}
.eco-soutien-icone svg{width:15px;height:15px;display:block}
.eco-soutien-icone:hover{background:var(--eco-or2);color:var(--eco-navy)}
.eco-soutien-icone:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media (max-width:640px){.eco-soutien{top:52px;height:32px}.eco-soutien-texte{font-size:.85rem}}

/* Pas de pochette du morceau dans les barres (carré « HR » noir qui faisait doublon avec le logo) — y compris le lecteur propre à heavenradio.fr et à la cathédrale */
.eco-pochette,.playerbar__cover{display:none!important}

/* ---------- Bouton flottant « Contactez-nous » (téléphone et ordinateur, modèle lamissioncatholique.fr) ---------- */
@media all{
  .eco-flottant{display:block;position:fixed;right:16px;bottom:16px;z-index:2147482998;margin:0;
    background:#1565d8;color:#fff!important;text-decoration:none!important;padding:12px 20px;border-radius:999px;
    font-family:"Source Sans 3",Poppins,"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;font-size:14.7px;font-weight:600;line-height:1.2;
    box-shadow:0 8px 22px rgba(15,28,58,.28)}
  .eco-flottant:hover{background:#0f56bf}
  .eco-flottant:focus-visible{outline:2px solid #fff;outline-offset:2px}
}

/* Bouton rond de partage propre à lebaptemecatholique.fr : masqué, il faisait doublon avec « Partager » de la barre « Nous aider » */
.share-button{display:none!important}

/* heavenradio.fr : la section d'accueil .landing doit aussi dégager le bandeau d'actualité (--news-h).
   Le build calculait padding-top sans --news-h → le titre passait sous le bandeau rouge. (Inerte sur les autres sites : pas de .landing.) */
.landing{padding-top:calc(var(--bar-h) + var(--help-h) + var(--news-h) + var(--nav-h) + 18px)!important}
@media (max-width:640px){.landing{padding-top:calc(var(--bar-h) + var(--help-h) + var(--news-h) + var(--nav-h) + 10px)!important}}
