/* =========================================================
   Radio Djawoampo — pages.css
   Accueil, actualités, programme, podcasts, direction,
   soutenir/tarifs, recherche, AILG, 404.
   ========================================================= */

/* ================= ACCUEIL ================= */
.hero{background:linear-gradient(125deg,var(--vert-nuit) 0%,var(--vert-fonce) 45%,var(--vert) 100%);color:#fff;padding:2.6rem 0;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-120px;top:-120px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(240,130,30,.28),transparent 70%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:center;position:relative;z-index:1}
.hero-kicker{display:inline-block;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);padding:.25rem .7rem;border-radius:50px;font-size:.78rem;font-weight:700;margin-bottom:.8rem}
.hero-txt h2{font-size:clamp(1.6rem,3.6vw,2.4rem);margin-bottom:.6rem}
.hero-txt h2 em{color:var(--orange);font-style:normal;display:block}
.hero-txt p{opacity:.92;font-size:1.02rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}

.onair-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius);padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.7rem}
.onair-head{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.onair-clock{margin-left:auto;font-family:ui-monospace,monospace;background:rgba(0,0,0,.2);padding:.1rem .45rem;border-radius:6px}
.live-dot{width:9px;height:9px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 0 rgba(239,68,68,.6);animation:livepulse 1.6s infinite}
@keyframes livepulse{70%{box-shadow:0 0 0 8px rgba(239,68,68,0)}100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}}
.onair-now small{display:block;color:#ffd6ad;font-weight:700;font-family:ui-monospace,monospace;font-size:.8rem}
.onair-now strong{display:block;font-size:1.15rem;line-height:1.3}
.onair-now span{font-size:.85rem;opacity:.85}
.onair-next{font-size:.82rem;opacity:.9;border-top:1px dashed rgba(255,255,255,.25);padding-top:.6rem}
.meteo-chip{align-self:flex-start;background:#0E7490;color:#fff;border:none;border-radius:50px;padding:.4rem .85rem;font-size:.8rem;display:inline-flex;gap:.35rem;align-items:center;max-width:100%}
.meteo-chip span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Tuiles d'accès rapide : petites et légères */
.quick-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:.6rem}
.quick-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;background:#fff;border:1px solid var(--bord);border-radius:12px;padding:.85rem .4rem;color:var(--texte);font-weight:700;font-size:.8rem;text-align:center;transition:transform .15s,border-color .15s,box-shadow .15s;min-height:84px}
.quick-tile:hover{transform:translateY(-2px);border-color:var(--vert);box-shadow:var(--ombre)}
.qt-ico{font-size:1.45rem;line-height:1;width:44px;height:44px;border-radius:12px;background:var(--vert-pale);display:flex;align-items:center;justify-content:center}
@media (max-width:999px){.quick-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:420px){.quick-grid{gap:.5rem}.quick-tile{font-size:.72rem;min-height:76px;padding:.6rem .2rem}.qt-ico{width:38px;height:38px;font-size:1.25rem}}

/* À la une (3 actus compactes) */
.home-news{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.hn-item{display:flex;gap:.8rem;background:#fff;border-radius:12px;box-shadow:var(--ombre);padding:.8rem;align-items:flex-start;cursor:pointer;border:1px solid transparent;transition:border-color .15s}
.hn-item:hover{border-color:var(--vert)}
.hn-thumb{width:64px;height:64px;border-radius:10px;flex-shrink:0;background:var(--vert-pale);display:flex;align-items:center;justify-content:center;font-size:1.6rem;overflow:hidden}
.hn-thumb img{width:100%;height:100%;object-fit:cover}
.hn-body{min-width:0}
.hn-body .cat{margin-bottom:.25rem}
.hn-body h4{font-size:.92rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hn-body time{font-size:.72rem;color:#8a8f8a}
@media (max-width:899px){.home-news{grid-template-columns:1fr;gap:.6rem}}

/* Gnagna Éco : cartes horizontales compactes */
.eco{background:var(--sable-fonce)}
.eco-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.8rem}
.eco-card{display:flex;align-items:center;gap:.8rem;background:#fff;border:1px solid transparent;border-radius:12px;padding:.75rem .9rem;text-align:left;box-shadow:var(--ombre);transition:border-color .15s,transform .15s}
.eco-card:hover{border-color:var(--vert);transform:translateY(-2px)}
.eco-ico{font-size:1.4rem;width:44px;height:44px;border-radius:50%;background:var(--orange-pale);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.eco-txt{display:flex;flex-direction:column;min-width:0}
.eco-txt b{color:var(--vert-fonce);font-size:.92rem;line-height:1.25}
.eco-txt small{color:var(--texte-doux);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media (max-width:799px){
  .hero{padding:1.8rem 0}
  .hero-grid{grid-template-columns:1fr;gap:1.2rem}
  .hero-actions .btn{flex:1 1 auto}
}
@media (max-width:420px){.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}}

/* ================= ACTUALITÉS ================= */
.actus-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.6rem;align-items:start}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem}
.card{background:#fff;border-radius:var(--radius);box-shadow:var(--ombre);overflow:hidden;display:flex;flex-direction:column}
.card-media{height:170px;overflow:hidden;background:#eee}
.card-media img{width:100%;height:100%;object-fit:cover}
.card-body{padding:1rem;flex:1;display:flex;flex-direction:column}
.card h4{font-size:1rem;margin:.4rem 0}.card p{font-size:.88rem;color:#555;flex:1}
.card time{font-size:.75rem;color:#8a8f8a;display:block;margin-top:.5rem}
.card video{width:100%;margin-top:.6rem;border-radius:8px}
.card-file{display:inline-block;margin-top:.5rem;font-size:.78rem;background:var(--gris-clair);padding:.3rem .6rem;border-radius:6px}
.cat{display:inline-block;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:#fff;padding:.18rem .55rem;border-radius:50px;align-self:flex-start}
.cat-agro{background:var(--vert)}.cat-cohesion{background:var(--noir)}.cat-sante{background:#0E7490}.cat-jeunes{background:#7A4A1F}.cat-culture{background:#7C3AED}
.share-row{display:flex;align-items:center;gap:.4rem;margin-top:.8rem;padding-top:.6rem;border-top:1px dashed #e5e0d5}
.share-row .lbl{font-size:.72rem;color:#767166;font-weight:700;margin-right:auto}
.share-btn{width:30px;height:30px;border-radius:50%;border:none;color:#fff;font-size:.8rem;font-weight:800;display:flex;align-items:center;justify-content:center}
.sb-fb{background:#1877F2}.sb-wa{background:#25D366}.sb-x{background:#0f1419}.sb-yt{background:#FF0000}
.sidebar .box{background:#fff;border-radius:var(--radius);box-shadow:var(--ombre);padding:1.2rem;margin-bottom:1rem;font-size:.9rem}
.sidebar .box p{margin-bottom:.25rem}
.sidebar h5{color:var(--vert-fonce);margin-bottom:.8rem;border-bottom:3px solid var(--orange);display:inline-block;padding-bottom:.2rem;font-size:.95rem}
.sidebar ol{padding-left:1.2rem;font-size:.9rem}.sidebar li{margin-bottom:.5rem}
.side-logo{width:100%;border-radius:8px;border:1px solid #eee;background:#fff;margin-bottom:.8rem}
@media (max-width:999px){.actus-grid{grid-template-columns:1fr}}
@media (max-width:640px){.cards{grid-template-columns:1fr}}

/* ================= PROGRAMME ================= */
.page-hero{background:linear-gradient(120deg,var(--vert-fonce),#3DBB63);color:#fff;padding:2rem 0;text-align:center}
.page-hero h2{font-size:clamp(1.35rem,3.5vw,2rem);margin-bottom:.3rem}
.page-hero p{font-size:.88rem;opacity:.95}
.prog-clock{font-family:ui-monospace,monospace;font-size:1.05rem;background:rgba(0,0,0,.25);display:inline-block;padding:.3rem .8rem;border-radius:8px;margin-top:.6rem}
.prog-tabs{display:flex;gap:.35rem;margin:0 auto 1.4rem;background:#fff;padding:.4rem;border-radius:50px;box-shadow:var(--ombre);width:fit-content;max-width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.prog-tabs::-webkit-scrollbar{display:none}
.prog-tabs button{background:transparent;border:none;padding:.55rem 1rem;border-radius:50px;font-weight:700;font-size:.85rem;color:#666;white-space:nowrap;flex-shrink:0}
.prog-tabs button.active{background:var(--orange);color:#fff}
.prog-tabs button.meteo-tab.active{background:#0E7490}
.prog-section{background:#fff;border-radius:var(--radius);box-shadow:var(--ombre);padding:1.3rem;margin-bottom:1.1rem}
.prog-section h3{color:var(--vert-fonce);margin-bottom:.9rem;padding-bottom:.6rem;border-bottom:2px solid var(--gris-clair);font-size:1.05rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.prog-slot{display:grid;grid-template-columns:110px 1fr auto;gap:.8rem;padding:.75rem .9rem;border-left:4px solid var(--vert);background:linear-gradient(90deg,#F0FAF4,#fff);border-radius:8px;margin-bottom:.5rem;align-items:center}
.prog-slot.live-now{border-left-color:var(--orange);background:linear-gradient(90deg,#FFF4E5,#fff)}
.prog-time{font-weight:800;color:var(--orange-fonce);font-family:ui-monospace,monospace;font-size:.88rem}
.prog-info .title{font-weight:700}.prog-info .host{font-size:.8rem;color:#666}
.prog-badge{background:var(--vert);color:#fff;padding:.2rem .65rem;border-radius:50px;font-size:.7rem;font-weight:700;white-space:nowrap}
.prog-badge.live{background:#dc2626}.prog-badge.genre{background:var(--orange)}
.prog-freq{background:var(--vert-fonce);color:#fff;padding:.9rem 1.2rem;border-radius:10px;text-align:center;font-weight:700;margin-top:1.5rem}
@media (max-width:599px){
  .prog-tabs{border-radius:12px;width:100%}
  .prog-section{padding:1rem}
  .prog-slot{grid-template-columns:1fr auto;gap:.2rem .6rem;padding:.65rem .75rem}
  .prog-time{grid-column:1;font-size:.8rem}
  .prog-badge{grid-column:2;grid-row:1}
  .prog-info{grid-column:1/-1}
}

.emis-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1rem}
.emis{background:#fff;border-radius:var(--radius);box-shadow:var(--ombre);padding:1.1rem;border-left:4px solid var(--orange);display:flex;flex-direction:column}
.emis-img{width:100%;height:140px;object-fit:cover;border-radius:8px;margin-bottom:.7rem}
.emis h4{color:var(--vert-fonce);font-size:1.02rem;margin-bottom:.25rem}
.emis .sched{font-size:.78rem;color:var(--orange-fonce);font-weight:700}
.emis .host{font-size:.8rem;color:#555;margin:.15rem 0 .45rem}
.emis .desc{font-size:.86rem;color:#555;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* Météo */
.meteo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.9rem}
.meteo-card{background:#fff;border-radius:var(--radius);box-shadow:var(--ombre);padding:1rem;border-top:4px solid #0E7490;position:relative;font-size:.88rem}
.meteo-card.urgent{border-top-color:#dc2626;background:#FFF5F5}
.meteo-card .urg{position:absolute;top:.5rem;right:.5rem;font-size:.62rem;font-weight:800;background:#dc2626;color:#fff;padding:.15rem .5rem;border-radius:50px}
.meteo-card .temp{font-size:1.6rem;font-weight:900;color:#0E7490}
.meteo-clock{font-family:ui-monospace,monospace;font-size:.82rem;color:#666;font-weight:400}
.btn-refresh{background:#0E7490;color:#fff;border:none;border-radius:50px;padding:.35rem .8rem;font-size:.78rem;font-weight:700;margin-left:auto}

/* ================= PODCASTS ================= */
.pod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1rem}
.pod-card{background:var(--sable);border:1px solid var(--bord);border-radius:var(--radius);padding:1rem;display:flex;gap:.9rem;align-items:flex-start}
.pod-num{width:52px;height:52px;border-radius:12px;background:var(--vert-fonce);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;flex-shrink:0;font-size:.95rem;overflow:hidden}
.pod-num img{width:100%;height:100%;object-fit:cover}
.pod-body{min-width:0;flex:1}
.pod-card .ep{font-size:.68rem;color:var(--orange-fonce);font-weight:800;text-transform:uppercase}
.pod-card h4{color:var(--vert-fonce);font-size:.98rem;margin:.15rem 0 .3rem}
.pod-card .desc{font-size:.84rem;color:#555;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pod-card video{width:100%;margin-top:.5rem;border-radius:8px}

/* ================= DIRECTION ================= */
.direction{background:var(--sable-fonce)}
.dir-grid{display:grid;grid-template-columns:300px 1fr;gap:2rem;align-items:start}
.photo-frame{border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:0 0 0 5px var(--vert),0 0 0 10px var(--orange),var(--ombre);margin:10px 10px 1.3rem}
.photo-frame img{width:100%}
.dir-photo h4{color:var(--noir);font-size:1.1rem}.dir-photo .role{color:var(--vert-fonce);font-weight:700;font-size:.88rem}
.dir-msg{background:#fff;border-radius:var(--radius);box-shadow:var(--ombre);padding:2rem 2.2rem;border-top:6px solid var(--orange);text-align:center;display:flex;flex-direction:column;justify-content:center;align-self:stretch}
.dir-msg h4{color:var(--vert-fonce);margin-bottom:.8rem}.dir-msg p{margin-bottom:.8rem}
.signature{font-style:italic;font-weight:800;color:var(--vert-fonce);text-align:center;margin-top:.6rem}
.pres-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}
.pres-card{background:#fff;border-radius:var(--radius);box-shadow:var(--ombre);padding:1.2rem;border-top:4px solid var(--vert)}
.pres-card h5{color:var(--vert-fonce);margin-bottom:.7rem;font-size:1rem}
.pres-card ul{list-style:none}.pres-card li{font-size:.87rem;margin-bottom:.45rem}
.aud-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-bottom:1rem}
.aud-card{background:#fff;border-radius:12px;box-shadow:var(--ombre);padding:1rem;text-align:center;border-bottom:4px solid var(--orange)}
.aud-card b{display:block;font-size:1.4rem;color:var(--vert-fonce)}
.aud-card span{font-size:.78rem;color:#666}
.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.6rem}
.proj-item{background:#fff;border-radius:10px;box-shadow:var(--ombre);padding:.65rem .85rem;font-size:.85rem;border-left:4px solid var(--vert)}
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}
.staff-card{background:#fff;border-radius:var(--radius);box-shadow:var(--ombre);padding:1rem .7rem;text-align:center;border-bottom:4px solid var(--vert)}
.staff-photo{position:relative;width:96px;height:96px;margin:0 auto .7rem;border-radius:50%;overflow:hidden;background:#EDEDED;box-shadow:0 0 0 4px var(--orange)}
.staff-photo img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1}
.avatar-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:800;color:#fff;background:linear-gradient(135deg,#147A3D,#2FA84F)}
.staff-card h5{color:var(--vert-fonce);font-size:.86rem}.staff-card p{font-size:.78rem;color:#777}
.staff-card .mat{font-size:.66rem;color:#999}
.pub-band{background:var(--vert-fonce);color:#fff;text-align:center}
.pub-band h3{font-size:1.3rem}.pub-band p{margin:.4rem 0 1rem;opacity:.92}
.com-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem}
.com-card{background:#fff;border-radius:var(--radius);box-shadow:var(--ombre);padding:1.2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.4rem}
.com-card .ico-e{font-size:2rem}.com-card h4{color:var(--vert-fonce)}
.com-card .num{font-weight:800;font-size:1rem}
.com-card .btns{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin-top:.3rem}
@media (max-width:799px){
  .dir-grid{grid-template-columns:1fr}
  .dir-photo{max-width:320px;margin:0 auto;text-align:center}
  .aud-grid{grid-template-columns:repeat(2,1fr)}
  .dir-msg{padding:1.2rem}
}
@media (max-width:420px){.team-grid{grid-template-columns:repeat(2,1fr);gap:.6rem}.staff-photo{width:76px;height:76px}}

/* ================= SOUTENIR / TARIFS ================= */
.sout-tabs{display:flex;gap:.3rem;margin-bottom:1.5rem;border-bottom:2px solid #eee;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.sout-tabs::-webkit-scrollbar{display:none}
.sout-tabs button{background:transparent;border:none;padding:.7rem 1rem;font-weight:700;font-size:.9rem;color:#777;border-bottom:3px solid transparent;white-space:nowrap;flex-shrink:0;margin-bottom:-2px}
.sout-tabs button.active{color:var(--vert-fonce);border-bottom-color:var(--orange)}
.sout-pane{display:none}.sout-pane.active{display:block}
.dons-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.don-card{background:linear-gradient(135deg,#fff,#F3EFE7);border-radius:var(--radius);padding:1.3rem;box-shadow:var(--ombre);border-left:5px solid var(--vert)}
.don-card h4{color:var(--vert-fonce)}.don-card .num{font-size:1.25rem;font-weight:900;color:var(--orange);margin:.4rem 0;font-family:ui-monospace,monospace}
.don-card .hint{font-size:.8rem;color:#666}

.tarif-table{width:100%;border-collapse:collapse;background:#fff;box-shadow:var(--ombre)}
.tarif-table th{background:var(--vert-fonce);color:#fff;padding:.8rem;text-align:left;font-size:.84rem}
.tarif-table td{padding:.7rem .8rem;border-bottom:1px solid #eee;font-size:.9rem;vertical-align:top}
.tarif-table .prix{font-weight:700;color:var(--vert-fonce);white-space:nowrap}
.tarif-table .total{color:var(--orange-fonce);font-weight:800;white-space:nowrap}
.tarif-table .quantite{width:70px;max-width:100%;padding:.45rem;border:1px solid #ddd;border-radius:6px;text-align:center}
.btn-configurer{background:var(--vert-fonce);color:#fff;border:none;padding:.5rem .8rem;border-radius:6px;font-size:.8rem;white-space:nowrap}
.btn-configurer.open{background:var(--orange-fonce)}
.configuration{display:none;background:#f7f9f8;border:1px solid #ddd;border-radius:8px;padding:.8rem;margin-top:.5rem;font-size:.85rem}
.configuration.active{display:block}
.langues{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem}
.langue{background:#fff;border:1px solid #ddd;padding:.4rem .6rem;border-radius:6px;font-size:.8rem;display:flex;align-items:center;gap:.3rem}
.total-general{background:var(--vert-fonce);color:#fff;padding:1rem 1.3rem;font-weight:800;display:flex;justify-content:space-between;align-items:center;gap:1rem;border-radius:10px;margin-top:1rem}
.total-general #grandTotal{color:#ffd27a;font-size:1.2rem;white-space:nowrap}
.devis-form{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1.2rem}
.devis-form input,.devis-form textarea{width:100%;padding:.8rem;border:1px solid #ddd;border-radius:8px;background:#fff}
.devis-form textarea{grid-column:1/-1;min-height:90px}
.upload-box{background:#fff;border:2px dashed #ccc;border-radius:10px;padding:1.1rem;margin-top:1.2rem;text-align:center;cursor:pointer}
.upload-box .ico{font-size:2.2rem;width:auto;height:auto}
.upload-box input[type=file]{display:none}
.upload-preview{margin-top:.8rem;padding:.7rem;background:#F3EFE7;border-radius:8px;display:none;align-items:center;justify-content:space-between;gap:.5rem;font-size:.85rem}
.upload-preview.show{display:flex}
.upload-preview button{border:none;background:#fff;width:30px;height:30px;border-radius:50%;font-size:1.1rem}
.send-btns{display:flex;gap:.7rem;margin-top:1.4rem;flex-wrap:wrap}
.send-btns button{flex:1;min-width:200px;padding:.95rem;border-radius:50px;border:none;font-weight:700;color:#fff}
.btn-wa{background:#25D366}.btn-mail{background:var(--vert-fonce)}.send-btns .btn-reset{background:#6b7280;flex:0 0 auto;min-width:auto;padding:.9rem 1.2rem}
.pay-info{background:#fff;border-left:5px solid var(--orange);border-radius:10px;padding:1.2rem;margin-top:1.5rem;font-size:.87rem}
.pay-info b{color:var(--vert-fonce)}

/* Tableau des tarifs → cartes sur mobile */
@media (max-width:699px){
  .tarif-table,.tarif-table tbody,.tarif-table tr,.tarif-table td{display:block;width:100%}
  .tarif-table{background:transparent;box-shadow:none}
  .tarif-table thead{display:none}
  .tarif-table tr{background:#fff;border-radius:12px;box-shadow:var(--ombre);margin-bottom:.7rem;padding:.8rem .9rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem .6rem;align-items:end}
  .tarif-table td{border:none;padding:0;font-size:.88rem}
  .tarif-table td:first-child{grid-column:1/-1;font-weight:700;color:var(--texte)}
  .tarif-table td[data-label]::before{content:attr(data-label);display:block;font-size:.66rem;font-weight:800;text-transform:uppercase;color:#8a8f8a;letter-spacing:.04em}
  .tarif-table td.td-choix{grid-column:1/-1}
  .tarif-table .btn-configurer{width:100%}
  .devis-form{grid-template-columns:1fr}
  .send-btns{flex-direction:column}
  .send-btns button,.send-btns .btn-reset{width:100%;flex:1 1 auto}
  .total-general{padding:.9rem 1rem;font-size:.9rem}
}

/* ================= RECHERCHE ================= */
.search-box{display:flex;align-items:center;gap:.6rem;background:#fff;border:2px solid var(--bord);border-radius:50px;padding:.3rem .5rem .3rem 1rem;max-width:640px;margin:0 auto 1.5rem;box-shadow:var(--ombre)}
.search-box:focus-within{border-color:var(--vert)}
.search-box .ico{color:var(--texte-doux)}
.search-box input{flex:1;border:none;outline:none;padding:.65rem 0;background:transparent;min-width:0}
.result-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.8rem}
.result-card{background:#fff;border-radius:12px;box-shadow:var(--ombre);padding:1rem;cursor:pointer;border:1px solid transparent}
.result-card:hover{border-color:var(--vert)}
.result-card .rtype{color:var(--orange-fonce);font-size:.72rem;font-weight:800}
.result-card h4{color:var(--vert-fonce);font-size:.95rem;margin:.2rem 0}
.result-card p{font-size:.82rem;color:#666}

/* ================= AILG ================= */
.ailg{padding:0;background:#fff}
.ailg-banner{background:linear-gradient(120deg,#147A3D,#2FA84F);color:#fff;padding:2.2rem 0}
.ailg-banner h2{font-size:clamp(1.4rem,3.5vw,1.9rem)}
.ailg-banner p{opacity:.95}
.ailg-small{font-size:.8rem;opacity:.85;margin-top:.5rem}
.ailg-logo{background:#fff;border-radius:10px;padding:.5rem;max-width:620px;width:100%;margin:0 auto 1.2rem;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.ailg-facts{display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem;margin:1.6rem 0}
.ailg-fact{background:var(--sable-fonce);border:none;border-radius:12px;padding:.9rem .6rem;text-align:center;border-bottom:4px solid var(--orange);transition:transform .15s}
.ailg-fact:hover{transform:translateY(-3px)}
.ailg-fact b{display:block;font-size:1.15rem;color:#147A3D}.ailg-fact span{font-size:.78rem;color:#555}
.ailg-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;padding-bottom:2.5rem}
.ailg h4{color:#147A3D;margin:1.1rem 0 .5rem}.ailg-cols p{font-size:.92rem;margin-bottom:.7rem}
.ailg-cols ul{margin:0 0 1rem 1.2rem}.ailg-cols li{margin-bottom:.35rem;font-size:.92rem}
.timeline{border-left:4px solid var(--orange);margin:1rem 0 1rem .5rem;padding-left:1.2rem;display:flex;flex-direction:column;gap:.9rem}
.timeline button{position:relative;background:none;border:none;text-align:left;font-size:.92rem;padding:0}
.timeline button:hover{color:var(--orange-fonce)}
.timeline button::before{content:"";position:absolute;left:-1.62rem;top:.3rem;width:12px;height:12px;border-radius:50%;background:#147A3D;border:2px solid #fff}
.timeline b{color:#C96A0E}
@media (max-width:799px){.ailg-facts{grid-template-columns:repeat(2,1fr)}.ailg-fact:last-child{grid-column:1/-1}}

/* ================= 404 ================= */
.notfound{text-align:center;padding:3rem 0}.notfound .big{font-size:5rem}.notfound h2{font-size:3rem;color:var(--vert-fonce)}

/* ================= TARIFS : demande de devis (prix non affichés) ================= */
.devis-intro{margin-bottom:1.2rem}
.devis-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.devis-steps span{background:#fff;border:1px solid var(--bord);border-radius:12px;padding:.7rem .8rem;font-size:.85rem;display:flex;gap:.6rem;align-items:center}
.devis-steps b{width:26px;height:26px;border-radius:50%;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.8rem}
.tarifs-list{display:flex;flex-direction:column;gap:1.3rem}
.tf-group h4{color:var(--vert-fonce);font-size:1rem;margin-bottom:.6rem}
.tf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.7rem}
.tf-item{background:#fff;border:1.5px solid var(--bord);border-radius:12px;padding:.8rem .9rem;display:flex;flex-direction:column;gap:.6rem;transition:border-color .15s,box-shadow .15s}
.tf-item.selected{border-color:var(--vert);box-shadow:0 0 0 3px rgba(47,168,79,.12)}
.tf-top{display:flex;align-items:center;gap:.7rem;justify-content:space-between}
.tf-name{font-weight:700;font-size:.9rem;line-height:1.3}
.tf-qty{display:flex;align-items:center;border:1px solid var(--bord);border-radius:50px;overflow:hidden;flex-shrink:0;background:var(--sable)}
.tf-qty button{width:34px;height:34px;border:none;background:transparent;font-size:1.1rem;font-weight:800;color:var(--vert-fonce)}
.tf-qty button:hover{background:var(--vert-pale)}
.tf-qty input{width:38px;border:none;text-align:center;background:transparent;font-weight:800;font-size:.95rem;-moz-appearance:textfield}
.tf-qty input::-webkit-outer-spin-button,.tf-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.tf-langs{display:none;flex-wrap:wrap;gap:.35rem}
.tf-item.selected .tf-langs{display:flex}
.tf-langs label{font-size:.75rem;border:1px solid var(--bord);border-radius:50px;padding:.25rem .6rem;display:flex;align-items:center;gap:.3rem;cursor:pointer;background:var(--sable)}
.tf-langs label:has(input:checked){background:var(--vert-pale);border-color:var(--vert);color:var(--vert-fonce);font-weight:700}
.tf-langs input{accent-color:var(--vert)}
.devis-summary{margin-top:1.3rem;background:var(--vert-fonce);color:#fff;border-radius:12px;padding:1rem 1.2rem}
.devis-summary h5{font-size:.95rem;margin-bottom:.4rem;display:flex;justify-content:space-between;gap:.5rem}
.devis-summary h5 span{background:var(--orange);border-radius:50px;padding:.05rem .6rem;font-size:.8rem}
.devis-summary ul{list-style:none;font-size:.86rem;opacity:.95}
.devis-summary li{padding:.25rem 0;border-top:1px dashed rgba(255,255,255,.2)}
.devis-summary .empty{font-size:.86rem;opacity:.85}
@media (max-width:699px){.devis-steps{grid-template-columns:1fr}.tf-grid{grid-template-columns:1fr}}

/* ================= ÉQUIPE : cartes cliquables + page profil ================= */
.staff-card{cursor:pointer;transition:transform .15s,box-shadow .15s;display:block;color:inherit}
.staff-card:hover{transform:translateY(-3px);box-shadow:var(--ombre-forte)}
.staff-card .more{display:inline-block;margin-top:.4rem;font-size:.72rem;font-weight:800;color:var(--orange-fonce)}
.back-link{display:inline-block;font-weight:700;margin-bottom:1.2rem}
.profile{background:#fff;border-radius:18px;box-shadow:var(--ombre);overflow:hidden}
.profile-head{display:flex;gap:1.5rem;align-items:center;padding:1.6rem;background:linear-gradient(120deg,var(--vert-fonce),var(--vert));color:#fff;flex-wrap:wrap}
.profile-photo{width:140px;height:140px;border-radius:50%;overflow:hidden;position:relative;box-shadow:0 0 0 5px var(--orange);background:#EDEDED;flex-shrink:0}
.profile-photo img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1}
.profile-photo .avatar-fallback{font-size:2.8rem}
.profile-id{min-width:0;flex:1}
.profile-id .prenom{font-size:1.05rem;opacity:.95}
.profile-id h2{font-size:clamp(1.4rem,4vw,2rem);letter-spacing:.02em;line-height:1.15}
.profile-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.7rem}
.profile-tags span{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);border-radius:50px;padding:.2rem .7rem;font-size:.8rem;font-weight:700}
.profile-tags span.poste{background:var(--orange);border-color:var(--orange)}
.profile-body{display:grid;grid-template-columns:320px 1fr;gap:1.5rem;padding:1.6rem}
.profile-facts{display:flex;flex-direction:column;gap:.6rem}
.fact{background:var(--sable);border-radius:12px;padding:.7rem .9rem;display:flex;gap:.7rem;align-items:flex-start}
.fact .fi{font-size:1.2rem;line-height:1.2}
.fact small{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--texte-doux);font-weight:800}
.fact b,.fact a{font-size:.92rem;word-break:break-word}
.profile-main h3{color:var(--vert-fonce);font-size:1.05rem;margin:0 0 .6rem;border-left:5px solid var(--orange);padding-left:.6rem}
.profile-bio{font-size:.95rem;line-height:1.7;margin-bottom:1.5rem;white-space:pre-line}
.profile-shows{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.7rem}
.pshow{background:var(--sable);border-radius:12px;padding:.8rem;border-left:4px solid var(--orange)}
.pshow b{display:block;color:var(--vert-fonce)}
.pshow small{color:var(--texte-doux);font-size:.78rem}
.profile-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
@media (max-width:799px){
  .profile-head{flex-direction:column;text-align:center;padding:1.4rem 1rem}
  .profile-tags{justify-content:center}
  .profile-body{grid-template-columns:1fr;padding:1.1rem}
  .profile-photo{width:120px;height:120px}
}
.host-link{font-weight:700;text-decoration:underline;text-decoration-color:rgba(20,122,61,.3)}

.team-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.7rem}
.team-gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;box-shadow:var(--ombre)}

.dir-msg h4{font-size:1.2rem}
.dir-msg #dirMsgBody{max-width:640px;margin:0 auto}
.dir-msg #dirMsgBody p{line-height:1.75}
.dir-msg #dirMsgBody p.lead{font-size:1.12rem;font-weight:800;color:var(--orange-fonce)}
@media (max-width:599px){.dir-msg{padding:1.4rem 1.1rem}}

/* Newsletter (accueil) */
.newsletter-band{background:linear-gradient(120deg,var(--vert-fonce),var(--vert));color:#fff;padding:2rem 0}
.nl-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:1.5rem;align-items:center}
.nl-txt{display:flex;gap:1rem;align-items:flex-start}
.nl-ico{font-size:2rem;width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.nl-txt h3{font-size:1.25rem;margin-bottom:.3rem}
.nl-txt p{opacity:.92;font-size:.92rem}
.nl-form{display:flex;gap:.5rem;flex-wrap:wrap}
.nl-form input:not([type=hidden]){flex:1 1 160px;padding:.8rem 1rem;border:none;border-radius:50px;background:#fff;color:var(--texte)}
.nl-form .btn{flex:0 0 auto}
@media (max-width:799px){.nl-grid{grid-template-columns:1fr}.nl-form .btn{width:100%}}

/* ================= MUSIQUE GULMANCÉMA ================= */
.musique-hero{background:linear-gradient(120deg,#5b2a86,#147A3D 70%)}
.mu-tip{background:#fff;border-left:4px solid var(--orange);border-radius:10px;padding:.7rem 1rem;font-size:.86rem;margin-bottom:1.2rem;box-shadow:var(--ombre)}
.mu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;align-items:start}
.mu-artist{background:#fff;border-radius:var(--radius);box-shadow:var(--ombre);padding:1rem;display:flex;flex-direction:column;gap:.8rem}
.mu-head{display:flex;gap:.9rem;align-items:center}
.mu-photo{width:72px;height:72px;border-radius:50%;overflow:hidden;flex-shrink:0;background:linear-gradient(135deg,#5b2a86,var(--vert));display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.8rem;font-weight:900;box-shadow:0 0 0 3px var(--orange)}
.mu-photo img{width:100%;height:100%;object-fit:cover}
.mu-id{min-width:0}
.mu-id h4{color:var(--vert-fonce);font-size:1.1rem}
.mu-id p{font-size:.84rem;color:#555;margin-top:.2rem}
.mu-id .card-actions{margin-top:.4rem}
.mu-list{list-style:none;display:flex;flex-direction:column;gap:.35rem}
.mu-track{width:100%;display:flex;align-items:center;gap:.7rem;background:var(--sable);border:1.5px solid transparent;border-radius:10px;padding:.4rem .6rem .4rem .4rem;text-align:left;transition:border-color .15s,background .15s}
.mu-track:hover{border-color:var(--vert)}
.mu-track.is-current{border-color:var(--orange);background:var(--orange-pale)}
.mu-thumb{position:relative;width:74px;height:42px;border-radius:6px;overflow:hidden;flex-shrink:0;background:#222;display:flex;align-items:center;justify-content:center}
.mu-thumb img{width:100%;height:100%;object-fit:cover}
.mu-note{color:#fff;font-size:1.2rem}
.mu-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.9rem;background:rgba(0,0,0,.28)}
.mu-track.is-playing .mu-play{background:rgba(240,130,30,.55)}
.mu-ttl{flex:1;min-width:0;font-weight:700;font-size:.88rem;line-height:1.25}
.mu-kind{font-size:.68rem;color:#8a8f8a;white-space:nowrap}
.mu-empty{font-size:.84rem;color:#8a8f8a;background:var(--sable);border-radius:10px;padding:.7rem;text-align:center}
/* Vidéos YouTube : lecteur YouTube intégré, indépendant du lecteur du site */
.mu-videos{display:grid;grid-template-columns:1fr;gap:.7rem}
.mu-video{margin:0;background:var(--sable);border-radius:10px;overflow:hidden}
.mu-yt{position:relative;aspect-ratio:16/9;background:#000;cursor:pointer;overflow:hidden}
.mu-yt img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.mu-yt:hover img{transform:scale(1.03)}
.mu-yt:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.mu-yt-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.15)}
.mu-yt-play svg{width:64px;height:46px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}
.mu-yt.is-open{cursor:default}
.mu-yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.mu-video figcaption{display:flex;align-items:center;gap:.5rem;padding:.45rem .7rem;font-size:.85rem;font-weight:700}
.mu-video figcaption span{flex:1;min-width:0;line-height:1.25}
.mu-video figcaption a{font-size:.72rem;font-weight:700;color:#c00;white-space:nowrap}
@media (max-width:420px){.mu-grid{grid-template-columns:1fr}}

/* ================= À PROPOS ================= */
.apropos{display:grid;grid-template-columns:1.1fr 1fr;gap:1.5rem;align-items:center;background:#fff;border-radius:18px;box-shadow:var(--ombre);padding:1.2rem;margin-top:2.4rem;scroll-margin-top:90px}
.apropos-img img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:14px}
.apropos-txt h3{color:var(--vert-fonce);font-size:1.3rem;margin-bottom:.7rem;border-left:6px solid var(--orange);padding-left:.65rem}
.apropos-txt p{margin-bottom:.7rem;line-height:1.7}
@media (max-width:799px){.apropos{grid-template-columns:1fr;padding:1rem}}

/* ================= SONOTHÈQUE ================= */
.son-actions{margin-bottom:.7rem}
.son-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.45rem}
.son-num{width:42px;background:var(--vert-fonce)}
.son-num b{color:#fff;font-size:.85rem}
.son-num .mu-play{opacity:0}
.mu-track:hover .son-num .mu-play,.mu-track.is-current .son-num .mu-play{opacity:1}
.mu-ttl small{display:block;font-weight:400;color:#777;font-size:.75rem}
