/* CHOCEEU layout update — loaded after the site's existing stylesheet. */
.page-hero{position:relative;isolation:isolate;min-height:401px;display:flex;align-items:center;background-position:center;background-size:cover;color:#fff}.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(2,31,37,.88),rgba(2,31,37,.38) 66%,rgba(2,31,37,.22))}.page-hero .container{width:min(1180px,calc(100% - 40px));margin:auto}.page-hero h1{max-width:780px;text-shadow:0 3px 18px rgba(0,0,0,.48)}
.page-hero--about{background-image:url('../img/headers/aboutHeader.jpg')}.page-hero--vision{background-image:url('../img/headers/NotrevisionHeader.jpg')}.page-hero--actions{background-image:url('../img/headers/actionSocialHeader.jpg')}.page-hero--team{background-image:url('../img/headers/Notre_equiteHeader.jpg')}.page-hero--songs{background-image:url('../img/headers/SongsHeader.jpg')}
.read-more-btn{margin:12px 0 24px}.read-more-content[hidden]{display:none}.read-more-content{animation:choceeuReveal .28s ease-out}@keyframes choceeuReveal{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.team-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:34px 0}.team-tabs button{border:1px solid rgba(17,146,157,.35);border-radius:999px;padding:11px 22px;background:#fff;color:#17454b;font-weight:700;cursor:pointer}.team-tabs button.active{background:#089aa7;color:#fff;box-shadow:0 8px 24px rgba(8,154,167,.22)}.team-panel{display:none}.team-panel.active{display:block}.team-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:stretch}.team-row .person{min-width:0;overflow:hidden}.team-row .portrait{aspect-ratio:4/4.7;width:100%;display:grid;place-items:center;background:linear-gradient(135deg,#087881,#24c6d2);font-size:3.2rem;color:#fff}.team-row .portrait img{width:100%;height:100%;object-fit:cover}.team-row .person-info{padding:20px}.team-row .role{color:#058d99;font-weight:800}.team-row h3{margin:12px 0 8px}
.current-team-layout{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.35fr);gap:24px;align-items:stretch}.current-team-layout .person{overflow:hidden}.current-team-layout .portrait{width:100%;display:grid;place-items:center;background:linear-gradient(135deg,#087881,#24c6d2);color:#fff;font-size:3.2rem}.current-team-layout .portrait img{width:100%;height:100%;object-fit:cover}.current-team-layout .person-info{padding:22px}.current-team-layout .role{color:#058d99;font-weight:800}.current-team-layout h3{margin:10px 0 8px}.current-president{display:grid;grid-template-rows:minmax(360px,1fr) auto}.current-president .portrait{min-height:360px}.current-president .portrait img{object-position:center 18%}.current-officers{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:24px}.current-officers .person{display:grid;grid-template-columns:minmax(150px,42%) 1fr;align-items:stretch}.current-officers .portrait{min-height:220px}.placeholder-portrait{background:radial-gradient(circle at 35% 30%,#37d5df,#087881 72%)!important}
.current-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;align-items:start}.current-person{display:flex;min-width:0;flex-direction:column;overflow:hidden;border-radius:22px;background:#fff}.current-person .portrait{width:100%;aspect-ratio:4/5;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#087881,#25c7d3);color:#fff;font-size:4rem}.current-person .portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}.current-person .person-info{width:100%;min-height:130px;padding:22px 24px 25px;background:#fff}.current-person .role{display:block;color:#058d99;font-weight:800}.current-person h3{margin:12px 0 0;font-size:1.18rem;line-height:1.3;overflow-wrap:anywhere}.placeholder-portrait{background:radial-gradient(circle at 35% 30%,#32d1dc,#087881 72%)!important}
.former-team-card{overflow:hidden;border:1px solid rgba(17,146,157,.18);border-radius:25px;background:#fff;box-shadow:0 18px 50px rgba(4,69,75,.1)}.former-team-photo{width:100%;aspect-ratio:16/7;min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:28px;text-align:center;background:linear-gradient(135deg,#075f68,#21c5d1);color:#fff}.former-team-photo span{font-size:.78rem;font-weight:800;letter-spacing:.13em}.former-team-photo strong{font-family:Georgia,serif;font-size:clamp(2rem,5vw,4rem)}.former-team-copy{padding:28px 32px 34px}.former-team-copy h2{margin:0 0 10px}.former-team-copy p{max-width:780px;margin:0 0 24px;color:#607a7e}.former-members{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px 18px;margin:0;padding:0;list-style:none}.former-members li{padding:9px 12px;border-radius:10px;background:#edf8f9;color:#17454b;font-size:.88rem;font-weight:700}
.songs-layout{display:grid;grid-template-columns:minmax(290px,500px) minmax(0,1fr);gap:42px;align-items:start}.album-column{position:sticky;top:100px}.album-cover{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:24px;border:2px solid #d7ae25;box-shadow:0 22px 60px rgba(0,0,0,.2)}.album-column .badge{display:inline-block;margin-top:22px}.track-list{padding:10px 28px}.track-list .track{display:grid;grid-template-columns:46px minmax(0,1fr);gap:16px;align-items:center;padding:20px 0;border-bottom:1px solid rgba(35,100,106,.16)}.track-list .track:last-child{border-bottom:0}.track-number{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#dff9fb;color:#087f8a;font-weight:800}.track-list strong,.track-list small{display:block}.track-list small{margin:6px 0 10px;color:#6f8588}.track-list audio{display:block;width:min(100%,390px);height:40px}
@media(max-width:1050px){.team-row{grid-template-columns:repeat(2,minmax(0,1fr))}.current-team-grid{gap:22px}.former-members{grid-template-columns:repeat(4,minmax(0,1fr))}.songs-layout{grid-template-columns:minmax(260px,38%) 1fr;gap:28px}}@media(max-width:820px){.current-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.former-members{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.page-hero{min-height:300px;background-position:center}.team-row,.current-team-grid{grid-template-columns:1fr}.current-team-grid{gap:24px}.current-person .portrait{aspect-ratio:4/5}.former-team-photo{min-height:230px}.former-team-copy{padding:22px 18px 26px}.former-members{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.songs-layout{grid-template-columns:1fr}.album-column{position:static}.track-list{padding:6px 16px}.track-list .track{grid-template-columns:40px minmax(0,1fr);gap:10px}.track-list audio{width:100%}}

/* Concert gallery */
.page-hero--gallery{background-image:url('../img/headers/gallery-header.jpg')}.gallery-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:34px 0 28px}.gallery-tabs button{border:1px solid rgba(17,146,157,.35);border-radius:999px;padding:11px 25px;background:#fff;color:#17454b;font-weight:800;cursor:pointer}.gallery-tabs button.active{background:#089aa7;color:#fff;box-shadow:0 8px 24px rgba(8,154,167,.22)}.gallery-page{display:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.gallery-page.active{display:grid}.gallery-photo{position:relative;width:100%;aspect-ratio:4/3;padding:0;overflow:hidden;border:0;border-radius:18px;background:#0a5f68;cursor:zoom-in;box-shadow:0 10px 30px rgba(4,63,70,.12)}.gallery-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.gallery-photo:hover img,.gallery-photo:focus-visible img{transform:scale(1.055)}.gallery-photo:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}.gallery-lightbox[hidden]{display:none}.gallery-lightbox.open{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:32px 80px;background:rgba(0,17,22,.94)}.gallery-lightbox>img{display:block;max-width:min(1400px,90vw);max-height:88vh;object-fit:contain;border-radius:10px;box-shadow:0 28px 80px rgba(0,0,0,.5)}.gallery-close,.gallery-nav{position:fixed;z-index:2;display:grid;place-items:center;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(2,45,52,.78);color:#fff;cursor:pointer}.gallery-close{top:24px;right:26px;width:48px;height:48px;font-size:2rem}.gallery-nav{top:50%;width:52px;height:52px;transform:translateY(-50%);font-size:2.4rem}.gallery-prev{left:22px}.gallery-next{right:22px}.lightbox-open{overflow:hidden}

/* Three full-screen video slides */
.hero-carousel--fullscreen{height:calc(100svh - 86px);min-height:620px}.hero-carousel--fullscreen .video-slide{background:#021a20}.hero-carousel--fullscreen .video-slide video{width:100%;height:100%;object-fit:cover;object-position:center}.hero-sound{position:absolute;z-index:5;right:24px;bottom:24px;display:flex;align-items:center;gap:8px;padding:10px 15px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:rgba(0,28,34,.7);color:#fff;font-weight:800;cursor:pointer;backdrop-filter:blur(8px)}.sound-consent{position:absolute;z-index:6;left:50%;bottom:82px;transform:translateX(-50%);width:min(430px,calc(100% - 32px));padding:14px 18px;border-radius:15px;background:rgba(0,27,33,.9);color:#fff;text-align:center;box-shadow:0 15px 50px rgba(0,0,0,.3)}.sound-consent[hidden]{display:none}.sound-consent button{display:block;margin:0 auto 6px;padding:10px 18px;border:0;border-radius:999px;background:var(--cyan);color:#032c32;font-weight:800;cursor:pointer}.sound-consent small{display:block;color:#d6ebed}.hero-carousel--fullscreen .slider-controls{bottom:24px}.hero-carousel--fullscreen .slider-pause{font-size:1rem}
@media(max-width:850px){.gallery-page{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-carousel--fullscreen{height:calc(100svh - 74px);min-height:560px}.hero-sound{right:12px;bottom:78px}.hero-sound [data-sound-label]{display:none}}@media(max-width:560px){.gallery-page{grid-template-columns:1fr}.gallery-lightbox.open{padding:70px 12px}.gallery-nav{top:auto;bottom:18px;transform:none}.gallery-prev{left:calc(50% - 65px)}.gallery-next{right:calc(50% - 65px)}.gallery-close{top:14px;right:14px}.hero-carousel--fullscreen{height:calc(100svh - 74px);min-height:520px}}
/* Hero video framing fix — preserve the complete 16:9 video frame */
.hero-carousel--fullscreen{height:min(calc(100svh - 86px),56.25vw);min-height:0;background:#000}
.hero-carousel--fullscreen .hero-slides,.hero-carousel--fullscreen .hero-slide{background:#000}
.hero-carousel--fullscreen .video-slide video{object-fit:contain;object-position:center center;background:#000}
@media(max-width:850px){.hero-carousel--fullscreen{height:min(calc(100svh - 74px),56.25vw);min-height:360px}}
@media(max-width:640px){.hero-carousel--fullscreen{height:56.25vw;min-height:260px}.slider-arrow{display:block}}

/* Full-viewport hero video fix — 2026-09-15 */
.hero-carousel--fullscreen{
  width:100%;
  height:calc(100svh - 86px);
  min-height:620px;
  max-height:none;
  background:#000;
}
.hero-carousel--fullscreen .hero-slides,
.hero-carousel--fullscreen .hero-slide{width:100%;height:100%;background:#000;}
.hero-carousel--fullscreen .video-slide video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  background:#000;
}
@media(max-width:850px){.hero-carousel--fullscreen{height:calc(100svh - 74px);min-height:560px}}
@media(max-width:640px){.hero-carousel--fullscreen{height:calc(100svh - 74px);min-height:520px}}

/* CHOCEEU album tabs — 2026-09-16 */
.songs-section{background:linear-gradient(180deg,#f7fbfc 0%,#eef7f8 100%)}
.album-tabs{display:flex;align-items:flex-end;gap:10px;padding:0 34px;margin-bottom:-1px;position:relative;z-index:2}
.album-tab{border:0;border-radius:18px 18px 0 0;padding:18px 30px;background:#879294;color:#fff;font-weight:800;letter-spacing:.035em;cursor:pointer;box-shadow:0 -3px 14px rgba(0,0,0,.06);transition:.2s ease}
.album-tab.active{background:#44c5e7;color:#032f3a;padding-top:22px}
.album-tab:hover{transform:translateY(-2px)}
.album-panel{background:#fff;border-radius:26px;padding:34px;box-shadow:0 16px 50px rgba(4,50,62,.09);border:1px solid rgba(26,116,130,.08)}
.album-panel[hidden]{display:none!important}.album-panel.active{display:block}
.songs-layout--album{grid-template-columns:minmax(270px,390px) minmax(0,1fr)}
.songs-layout--album .album-cover{border-color:#45c7e8;box-shadow:0 20px 55px rgba(17,137,165,.18)}
.songs-layout--album .track-list{border:1px solid rgba(68,197,231,.18);box-shadow:none}
.album-coming-soon{min-height:460px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:50px!important;background:linear-gradient(145deg,#f8fdfe,#e9f8fb)}
.album-empty-icon{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:#44c5e7;color:#fff;font-size:2.2rem;margin-bottom:20px}
.album-coming-soon p{max-width:520px;color:#607b80;line-height:1.7}
@media(max-width:720px){.album-tabs{padding:0 12px;gap:5px}.album-tab{flex:1;padding:14px 10px;font-size:.78rem}.album-tab.active{padding-top:18px}.album-panel{padding:18px;border-radius:18px}.songs-layout--album{grid-template-columns:1fr}.album-coming-soon{min-height:320px;padding:28px!important}}

.leadership-list{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;max-width:760px}.leadership-list li{font-size:1.05rem;padding:14px 16px!important}.page-hero--about{background-position:center 42%}.gallery-page .gallery-photo img{content-visibility:auto}

/* CHOCEEU NEWS / ACTUALITES — final layout 2026-09-18 */
.page-hero--news{background-image:linear-gradient(90deg,rgba(2,36,42,.84),rgba(2,36,42,.38)),url('../img/news/actu-choir-angola-3.jpeg');background-position:center 38%}
.news-section{background:linear-gradient(180deg,#f8fcfd,#eef8fa)}
.news-layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(520px,1.28fr);gap:28px;align-items:start;max-width:1180px;margin:0 auto}
.news-intro{margin:0;padding:34px 30px;text-align:left;border:1px solid rgba(0,140,152,.16);box-shadow:0 16px 45px rgba(4,50,62,.08);height:100%}
.news-intro h2{margin-top:0;font-family:Georgia,serif;font-size:clamp(1.55rem,2.3vw,2.2rem);color:#073d45}.news-intro p{margin:18px 0;line-height:1.75;color:#315d63}.news-intro .news-blessing{font-weight:800;color:#078c98}
.news-media{min-width:0}.news-tabs{display:flex;justify-content:flex-start;gap:8px;margin:0 0 14px;position:relative;z-index:2}.news-tab{min-width:128px;border:1px solid #008c98;border-radius:999px;padding:11px 20px;background:#fff;color:#087e89;font-weight:800;cursor:pointer;transition:.2s}.news-tab:hover,.news-tab:focus-visible{background:#eaf9fa;outline:none}.news-tab.active{background:#008c98;color:#fff;box-shadow:0 7px 20px rgba(0,140,152,.18)}
.news-poster-shell{margin:0;padding:24px;border-radius:22px;background:#fff;border:1px solid rgba(0,140,152,.16);box-shadow:0 18px 55px rgba(4,50,62,.1)}.news-poster{margin:0;text-align:center}.news-poster[hidden]{display:none!important}.news-poster img{display:block;width:min(100%,680px);height:auto;margin:0 auto;border-radius:10px;box-shadow:0 14px 40px rgba(0,0,0,.14)}.news-video{display:block;width:100%;max-width:860px;aspect-ratio:16/9;object-fit:contain;margin:0 auto;background:#021e23;border-radius:12px;box-shadow:0 14px 40px rgba(0,0,0,.18)}
@media(max-width:900px){.news-layout{grid-template-columns:1fr}.news-intro{height:auto}.news-tabs{justify-content:center}.news-poster-shell{padding:18px}}
@media(max-width:560px){.news-intro{padding:24px 20px}.news-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.news-tab{min-width:0;padding:10px 6px;font-size:.74rem}.news-poster-shell{padding:10px;border-radius:16px}}

/* Latest-news attention cue: three gentle pulses on page load, then stops. */
.menu a.news-fresh{animation:choceeuNewsPulse .8s ease-in-out 3;transform-origin:center}
@keyframes choceeuNewsPulse{0%,100%{background:transparent;box-shadow:none}50%{background:#008c98;color:#fff;box-shadow:0 0 0 5px rgba(0,140,152,.14)}}
@media(prefers-reduced-motion:reduce){.menu a.news-fresh{animation:none}}

/* Seven CHOCEEU news pages: allow tabs to wrap without horizontal scrolling. */
.news-tabs{flex-wrap:wrap}
@media(max-width:560px){.news-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}}
