
@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Geist:wght@300;400;500;600&display=swap');

:root {
  --black:#3f403f; --white:#e8edf2;
  --g1:#4a4b4a; --g2:#525352; --g3:#5a5b5a; --g4:#6e6f6e; --g5:#a0a1a0; --g6:#c8c9c8;
  --ac:#ff9500; --bd:rgba(232,237,242,0.08); --bdh:rgba(232,237,242,0.18);
  --sans:'Geist','Inter',sans-serif; --mono:'DM Mono',monospace; --nav-h:64px;
  --c1:#94f700; --c2:#c300ff; --c3:#fff800; --c4:#ff9500;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--black);color:var(--white);font-family:var(--sans);font-weight:300;line-height:1.6;padding-top:var(--nav-h);}
a{color:var(--ac);text-decoration:none;transition:opacity 0.2s;}
a:hover{opacity:0.8;}
img{max-width:100%;height:auto;display:block;}
p{margin-bottom:1rem;}

/* NAV */
.site-nav{position:fixed;top:0;left:0;right:0;height:var(--nav-h);z-index:100;background:rgba(8,14,22,0.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--bd);display:flex;align-items:center;justify-content:space-between;padding:0 2rem;}
.nav-logo img{height:44px;width:auto;filter:brightness(0) invert(1);}
.nav-logo span{font-family:var(--mono);font-size:1rem;font-weight:500;letter-spacing:0.1em;color:var(--white);text-transform:uppercase;}
.nav-links{display:flex;flex-direction:row;gap:1.2rem;list-style:none;margin:0;padding:0;}
.nav-links li{list-style:none;margin:0;padding:0;display:inline-block;white-space:nowrap;}
.nav-links li::before,.nav-links li::marker{display:none;content:none;}
.nav-links a{font-family:var(--mono);font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--g5);}
.nav-links a:hover,.nav-links .current-menu-item a{color:var(--white);opacity:1;}

/* Colored menu items */
.nav-links li:nth-child(1) a { color: var(--c1) !important; }
.nav-links li:nth-child(2) a { color: var(--c2) !important; }
.nav-links li:nth-child(3) a { color: var(--c3) !important; }
.nav-links li:nth-child(4) a { color: var(--c4) !important; }
.nav-links li:nth-child(1) a:hover { opacity: 0.7; }
.nav-links li:nth-child(2) a:hover { opacity: 0.7; }
.nav-links li:nth-child(3) a:hover { opacity: 0.7; }
.nav-links li:nth-child(4) a:hover { opacity: 0.7; }
.nav-cta{font-family:var(--mono);font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;color:#fff;background:var(--ac);border:none;padding:0.4rem 1rem;border-radius:2px;font-weight:500;cursor:pointer;transition:opacity 0.2s;text-decoration:none;}
.nav-cta:hover{opacity:0.85;color:#fff;}
.nav-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:0;}
.nav-burger span{display:block;width:22px;height:2px;background:var(--white);transition:all 0.3s;}

/* MAIN */
.site-main{min-height:80vh;}
.page-wrap{max-width:1200px;margin:0 auto;padding:0 2rem;}

/* SECTION LABEL */
.slabel{font-family:var(--mono);font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--ac);font-weight:300;margin-bottom:1.2rem;display:flex;justify-content:space-between;align-items:center;}
.slabel a{color:var(--g5);font-size:0.65rem;}
.slabel a:hover{color:var(--white);opacity:1;}

/* PAGE HEADER */
.page-header{padding:3rem 0 2rem;border-bottom:1px solid var(--bd);display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2rem;}
.page-title{font-size:clamp(2.5rem,5vw,4rem);font-weight:300;letter-spacing:-0.03em;line-height:1;color:var(--white);}

/* HOMEPAGE */
.home-hero{display:grid;grid-template-columns:1fr 1.4fr;gap:1px;background:var(--bd);border:1px solid var(--bd);margin-top:1rem;}
.hero-left{background:var(--black);padding:2rem 2.5rem;display:flex;flex-direction:column;gap:1rem;}
.hero-tag{font-family:var(--mono);font-size:1.1rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--ac);font-weight:500;}
.hero-title{font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:300;line-height:1.2;letter-spacing:-0.02em;color:var(--white);}
.hero-title em{font-style:italic;color:var(--g5);}
.hero-desc{font-size:1.05rem;color:var(--g5);line-height:1.7;font-weight:300;}
.agenda-panel{background:var(--g1);padding:2rem;display:flex;flex-direction:column;}

/* SHOW ROWS */
.show-row{display:grid;grid-template-columns:3rem 1fr auto;align-items:center;gap:1rem;padding:0.8rem 0;border-bottom:1px solid var(--bd);cursor:pointer;transition:opacity 0.2s;}
.show-row:last-child{border-bottom:none;}
.show-row:hover{opacity:0.7;}
.show-date{background:var(--g2);border-radius:3px;padding:0.3rem;text-align:center;}
.show-date-d{font-size:1rem;font-weight:500;display:block;line-height:1;}
.show-date-m{font-family:var(--mono);font-size:0.55rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--g5);display:block;margin-top:1px;}
.show-name{font-size:0.88rem;font-weight:500;}
.show-venue{font-size:0.75rem;color:var(--g5);margin-top:1px;}
.ticket-btn{font-family:var(--mono);font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;border:none;padding:0.4rem 1rem;border-radius:2px;color:#fff;background:#ff9500;white-space:nowrap;text-decoration:none;font-weight:600;transition:opacity 0.2s;}
.ticket-btn:hover{opacity:0.85;}

/* SHARE BUTTONS */
.share-btn{width:22px;height:22px;border-radius:50%;background:transparent;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:all 0.2s;flex-shrink:0;}
.share-btn svg{width:11px;height:11px;overflow:visible;}
.share-btn.fb{border:1.5px solid #c300ff;}
.share-btn.fb svg{stroke:#c300ff;fill:none;}
.share-btn.fb:hover{background:#c300ff;opacity:1;}
.share-btn.fb:hover svg{stroke:white;}
.share-btn.wa{border:1.5px solid #94f700;}
.share-btn.wa svg{stroke:#94f700;fill:none;}
.share-btn.wa:hover{background:#94f700;opacity:1;}
.share-btn.wa:hover svg{stroke:black;}

/* ROSTER STRIP */
.roster-strip-wrap{background:var(--black);padding:2rem 2.5rem;border:1px solid var(--bd);border-top:none;}
.roster-strip{display:flex;gap:1px;background:var(--bd);overflow-x:auto;scrollbar-width:none;margin-top:0.5rem;}
.roster-strip::-webkit-scrollbar{display:none;}
.rs-card{background:var(--g1);flex:0 0 150px;cursor:pointer;transition:background 0.2s;text-decoration:none;color:var(--white);display:block;}
.rs-card:hover{background:var(--g2);opacity:1;}
.rs-img{height:110px;background:var(--g2);overflow:hidden;}
.rs-img img{width:100%;height:100%;object-fit:cover;}
.rs-name{padding:0.6rem 0.8rem;font-size:0.8rem;font-weight:500;}

/* INSTAGRAM */
.insta-wrap{background:var(--black);padding:2rem 2.5rem;border:1px solid var(--bd);border-top:none;margin-bottom:4rem;}
.insta-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:0.5rem;margin-top:0.5rem;}
.insta-item{aspect-ratio:1;border-radius:3px;background:var(--g1);cursor:pointer;transition:opacity 0.2s;}
.insta-item:hover{opacity:0.7;}

/* ROSTER PAGE */
.roster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1px;background:var(--bd);border:1px solid var(--bd);margin-bottom:4rem;}
.roster-card{background:var(--g1);cursor:pointer;transition:background 0.2s;text-decoration:none;color:var(--white);display:block;}
.roster-card-wrap{display:flex;flex-direction:column;}
.roster-card-wrap > a{flex:1;}
.roster-card:hover{background:var(--g2);opacity:1;}
.roster-card-img{aspect-ratio:4/3;background:var(--g2);overflow:hidden;}
.roster-card-img img{width:100%;height:100%;object-fit:cover;}
.roster-card-info{padding:0.9rem 1rem;}
.roster-card-name{font-size:0.9rem;font-weight:500;margin-bottom:0.2rem;}
.roster-card-origin{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.08em;color:var(--g5);text-transform:uppercase;}

/* SHOWS PAGE */
.shows-filters{margin-bottom:1.5rem;}
.filter-label{font-family:var(--mono);font-size:0.58rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--g5);margin-bottom:0.6rem;}
.filter-group{display:flex;gap:0.5rem;flex-wrap:wrap;margin-bottom:1.2rem;}
.filter-btn{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;background:transparent;border:1px solid var(--bdh);color:var(--g5);padding:0.35rem 0.9rem;border-radius:2px;cursor:pointer;transition:all 0.2s;}
.filter-btn.active,.filter-btn:hover{border-color:var(--ac);color:var(--ac);}
.shows-list{display:flex;flex-direction:column;gap:1px;background:var(--bd);border:1px solid var(--bd);margin-bottom:4rem;}
.show-full-row{background:var(--g1);display:grid;grid-template-columns:5rem 1fr 1fr auto auto;align-items:center;gap:1.5rem;padding:1.2rem 1.5rem;transition:background 0.2s;}
.show-full-row:hover{background:var(--g2);}
.show-full-date{font-family:var(--mono);font-size:0.68rem;letter-spacing:0.08em;color:var(--g5);}
.show-full-name{font-size:0.92rem;font-weight:500;}
.show-full-venue{font-size:0.82rem;color:var(--g5);}
.show-full-country{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--g4);background:var(--g2);padding:0.2rem 0.5rem;border-radius:2px;}
.show-full-links{display:flex;gap:0.5rem;align-items:center;}

/* TEAM */
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--bd);border:1px solid var(--bd);margin-bottom:2rem;}
.team-card{background:var(--g1);padding:2rem;display:flex;gap:1.5rem;align-items:flex-start;}
.team-avatar{width:52px;height:52px;border-radius:50%;background:var(--g3);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:0.75rem;color:var(--g5);}
.team-name{font-size:0.95rem;font-weight:500;margin-bottom:0.2rem;}
.team-role{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ac);margin-bottom:0.5rem;}
.team-email{font-family:var(--mono);font-size:0.68rem;color:var(--g5);text-decoration:none;display:block;}
.team-email:hover{color:var(--white);opacity:1;}

/* CONTACT */
.contact-form{background:var(--g1);border:1px solid var(--bd);padding:2.5rem;margin-bottom:4rem;}
.form-title{font-size:1.1rem;font-weight:500;margin-bottom:0.3rem;}
.form-sub{font-size:0.82rem;color:var(--g5);margin-bottom:2rem;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form-group{display:flex;flex-direction:column;gap:0.4rem;margin-bottom:1rem;}
.form-group.full{grid-column:1 / -1;}
.form-label{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--g5);}
.form-input,.form-select,.form-textarea{background:var(--g2);border:1px solid var(--bd);color:var(--white);font-family:var(--sans);font-size:0.88rem;padding:0.65rem 0.9rem;border-radius:3px;outline:none;transition:border-color 0.2s;width:100%;}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--bdh);}
.form-select option{background:var(--g2);}
.form-textarea{resize:vertical;min-height:100px;}
.form-submit{margin-top:1rem;font-family:var(--mono);font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;background:var(--ac);color:#fff;border:none;padding:0.75rem 2rem;border-radius:2px;cursor:pointer;transition:opacity 0.2s;font-weight:500;}
.form-submit:hover{opacity:0.85;}

/* PAST TOURS */
.past-year{border-top:1px solid var(--bd);padding:1.5rem 0;display:grid;grid-template-columns:6rem 1fr;gap:2rem;}
.past-year-num{font-family:var(--mono);font-size:1.1rem;font-weight:500;color:var(--g5);}
.past-tour-item{font-size:0.9rem;color:var(--g6);margin-bottom:0.4rem;}

/* FOOTER */
.site-footer{border-top:1px solid var(--bd);padding:2rem;display:flex;justify-content:space-between;align-items:center;}
.footer-logo img{height:28px;width:auto;filter:brightness(0) invert(1);opacity:0.35;}
.footer-logo span{font-family:var(--mono);font-size:0.7rem;color:var(--g4);opacity:0.35;}
.footer-copy{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.08em;color:var(--g4);}

/* MOBILE MENU */
.mobile-menu{position:fixed;top:var(--nav-h);left:0;right:0;bottom:0;z-index:99;background:#1a2f45;display:none;flex-direction:column;padding:2rem 1.5rem;}
.mobile-menu.open{display:flex;}
.mobile-menu a{font-family:var(--mono);font-size:1.4rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--g6);padding:1.2rem 0;border-bottom:1px solid rgba(232,237,242,0.1);text-decoration:none;}
.mobile-menu a:hover{color:var(--white);opacity:1;}

/* RESPONSIVE */
@media(max-width:768px){
  .home-hero{grid-template-columns:1fr;}
  .roster-grid{grid-template-columns:1fr 1fr;}
  .team-grid{grid-template-columns:1fr;}
  .form-grid{grid-template-columns:1fr;}
  .insta-grid{grid-template-columns:repeat(3,1fr);}
  .show-full-row{grid-template-columns:4rem 1fr auto;}
  .show-full-venue,.show-full-country{display:none;}
  .nav-links,.nav-cta{display:none !important;}
  .nav-burger{display:flex !important;}
  .page-wrap{padding:0 1rem;}
  .hero-left,.roster-strip-wrap,.insta-wrap{padding:1.5rem;}
}

/* ARTIST PAGE */
.artist-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  background: transparent;
  border: 1px solid var(--bd);
  margin-top: 1rem;
  margin-bottom: 2rem;
  align-items: stretch;
}
.artist-media {
  background: var(--g2);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.artist-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  flex: 1;
  min-height: 0;
}
.artist-media .yt-wrap {
  flex: 1;
  min-height: 0;
  position: relative;
  overflow: hidden;
}
.artist-media .yt-wrap iframe {
  position: absolute;
  top: -10%;
  left: 0;
  width: 100%;
  height: 120%;
  border: 0;
  pointer-events: all;
}
.artist-img { background:var(--g2); overflow:hidden; aspect-ratio:4/3; }
.artist-img img { width:100%; height:100%; object-fit:cover; }
.artist-info { background:var(--g1); padding:2rem; display:flex; flex-direction:column; gap:1rem; }
.artist-origin { font-family:var(--mono); font-size:0.65rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--g5); }
.artist-name { font-size:clamp(1.8rem,3vw,2.5rem); font-weight:700; letter-spacing:-0.02em; color:var(--white); }
.artist-bio { font-size:0.9rem; color:var(--g6); line-height:1.7; }
.artist-links { display:flex; gap:0.8rem; flex-wrap:wrap; }
.artist-link-btn { font-family:var(--mono); font-size:0.62rem; letter-spacing:0.1em; text-transform:uppercase; padding:0.4rem 1rem; border-radius:2px; text-decoration:none; display:inline-flex; align-items:center; gap:0.4rem; transition:opacity 0.2s; }
.artist-link-btn.bc { background:#1da0c3; color:#fff; }
.artist-link-btn.web { border:1px solid var(--bdh); color:var(--g5); }
.artist-link-btn:hover { opacity:0.8; }
.artist-bc-embed { margin-top:0.5rem; }
.artist-shows { margin-bottom:2rem; }

/* ROSTER MINI PLAYER */
.roster-card { position:relative; overflow:hidden; }
.roster-card-play {
  position:absolute; bottom:0; left:0; right:0;
  background:rgba(13,27,42,0.92);
  padding:0.6rem 0.8rem;
  display:flex; align-items:center; gap:0.6rem;
  transform:translateY(100%);
  transition:transform 0.25s ease;
  border-top:1px solid var(--bd);
}
.roster-card:hover .roster-card-play { transform:translateY(0); }
.play-btn {
  width:26px; height:26px; border-radius:50%;
  background:var(--ac); border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; transition:opacity 0.2s;
}
.play-btn:hover { opacity:0.85; }
.play-btn svg { width:10px; height:10px; fill:white; margin-left:1px; }
.play-track { font-family:var(--mono); font-size:0.58rem; color:var(--g5); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.play-bc-link { font-family:var(--mono); font-size:0.55rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--ac); text-decoration:none; flex-shrink:0; margin-left:auto; }
.play-bc-link:hover { opacity:0.8; }

@media(max-width:768px) {
  .artist-hero { grid-template-columns:1fr; }
}

/* BOOK BUTTON */
.artist-link-btn.book {
  background: #94f700;
  color: #0d1b2a;
  font-weight: 700;
  border: none;
  font-size: 0.72rem;
  padding: 0.5rem 1.2rem;
}
.artist-link-btn.book:hover { opacity: 0.85; color: #0d1b2a; }

/* ARTIST BIO spacing */
.artist-bio { margin-top: 1rem; }
.artist-bc-embed { margin: 1rem 0; }

/* ARTIST LEFT COLUMN */
.artist-left { display: flex; flex-direction: column; gap: 1px; background: var(--bd); }
.artist-video { background: var(--g2); overflow: hidden; }
.artist-video iframe { display: block; }

/* ── CUSTOM OVERRIDES ────────────────────────────────────────────────────── */

/* Fond navy */
:root {
  --black: #0d1b2a;
  --g1: #132436;
  --g2: #192d42;
  --g3: #1f3650;
  --g4: #2e5070;
  --g5: #7a9ab5;
  --g6: #b0c8e0;
  --white: #c8d4e0;
}
body { background-color: #0d1b2a; color: #c8d4e0; }
.site-nav { background: rgba(8,14,22,0.98); }

/* Logo */
.nav-logo img {
  filter: brightness(0) invert(1) opacity(0.85);
}

/* Couleurs menu desktop */
.nav-links li:nth-child(5) a { color: #94f700 !important; }
.nav-links li:nth-child(3) a { color: #c300ff !important; }
.nav-links li:nth-child(4) a { color: #fff800 !important; }
.nav-links li:nth-child(2) a { color: #ff9500 !important; }

/* Trait actif desktop */
.nav-links li:nth-child(5).current-menu-item a { outline: 1px solid #94f700 !important; padding: 0.2rem 0.5rem !important; border-radius: 2px !important; }
.nav-links li:nth-child(3).current-menu-item a { outline: 1px solid #c300ff !important; padding: 0.2rem 0.5rem !important; border-radius: 2px !important; }
.nav-links li:nth-child(4).current-menu-item a { outline: 1px solid #fff800 !important; padding: 0.2rem 0.5rem !important; border-radius: 2px !important; }
.nav-links li:nth-child(2).current-menu-item a { outline: 1px solid #ff9500 !important; padding: 0.2rem 0.5rem !important; border-radius: 2px !important; }

/* Taille et espacement menu */
.nav-links a {
  font-size: 0.85rem !important;
  word-spacing: -0.4em !important;
}

/* Hover desktop */
.nav-links li a:hover { opacity: 0.7 !important; }

/* Couleurs menu mobile */
#mobile-menu li:nth-child(4) a { color: #94f700 !important; }
#mobile-menu li:nth-child(2) a { color: #c300ff !important; }
#mobile-menu li:nth-child(3) a { color: #fff800 !important; }
#mobile-menu li:nth-child(1) a { color: #ff9500 !important; }
#mobile-menu { background: #0d1b2a !important; }
#mobile-menu a { border-bottom: 1px solid rgba(232,237,242,0.1) !important; }

/* Supprimer pastilles menu */
.nav-links li::before,
.nav-links li::marker,
#mobile-menu li::before,
#mobile-menu li::marker,
#mobile-menu ul,
#mobile-menu li { list-style: none !important; }

/* Mobile */
@media (max-width: 768px) {
  .nav-links, #site-navigation ul, .primary-menu { display: none !important; }
  .nav-cta { display: none !important; }
  .nav-burger { display: flex !important; }
}

/* Masquer titres de pages */
.page-title { display: none !important; }
.page-header { border-bottom: none !important; padding: 1rem 0 0 !important; }

/* Masquer spans slabels homepage */
.hero-left .slabel span,
.agenda-panel .slabel span,
.roster-strip-wrap .slabel span,
.insta-wrap .slabel span {
  display: none !important;
  visibility: hidden !important;
}
.hero-left .slabel,
.agenda-panel .slabel,
.roster-strip-wrap .slabel,
.insta-wrap .slabel {
  justify-content: flex-end !important;
}

/* Shows page — lisibilité */
.show-full-date { color: #c8d4e0 !important; font-weight: 600 !important; }
.show-full-name { color: #c8d4e0 !important; font-weight: 600 !important; }
.show-full-venue { color: #a8bcd4 !important; font-weight: 500 !important; }
.show-full-country { color: #c8d4e0 !important; font-weight: 700 !important; background: rgba(232,237,242,0.1) !important; }

/* Shows homepage */
.show-date-d { color: #c8d4e0 !important; font-weight: 600 !important; }
.show-date-m { color: #a8bcd4 !important; font-weight: 500 !important; }
.show-name { color: #c8d4e0 !important; font-weight: 500 !important; }
.show-venue { color: #8098b0 !important; }

/* Filtres shows */
.filter-label { font-size: 0.78rem !important; font-weight: 700 !important; color: #c8d4e0 !important; letter-spacing: 0.14em !important; }
.filter-btn { font-size: 0.72rem !important; font-weight: 600 !important; padding: 0.45rem 1.1rem !important; }

/* Roster — cacher décompte */
.page-header span { display: none !important; }

/* Team cards */
.team-card {
  padding: 1.5rem !important;
  gap: 1rem !important;
  align-items: center !important;
  flex-direction: column !important;
  text-align: center !important;
}
.team-card > div:first-child {
  width: 110px !important;
  height: 110px !important;
  border-radius: 30% !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}
.team-card > div:first-child img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.team-avatar {
  width: 110px !important;
  height: 110px !important;
  font-size: 1.2rem !important;
  border-radius: 30% !important;
}
.team-name { font-size: 1.1rem !important; font-weight: 600 !important; margin-bottom: 0.2rem !important; }
.team-role { font-size: 0.7rem !important; margin-bottom: 0.4rem !important; }
.team-email { font-size: 0.72rem !important; word-break: break-all !important; }

/* Photo équipe */
.page-wrap > div:first-child img { max-height: 200px !important; object-fit: cover !important; }

/* Logo animation */
@keyframes bassShake {
  0%   { transform: translateX(0) scaleX(1); }
  5%   { transform: translateX(-4px) scaleX(0.98); filter: brightness(0) invert(1) brightness(2); }
  10%  { transform: translateX(5px) scaleX(1.02); }
  15%  { transform: translateX(-3px) scaleX(0.99); filter: brightness(0) invert(1) brightness(1.5); }
  20%  { transform: translateX(4px); }
  28%  { transform: translateX(-2px); filter: brightness(0) invert(1) brightness(1.2); }
  36%  { transform: translateX(2px); }
  45%  { transform: translateX(-1px); }
  55%  { transform: translateX(1px); }
  70%  { transform: translateX(0); }
  100% { transform: translateX(0) scaleX(1); filter: brightness(0) invert(1); }
}
.nav-logo img.firing { animation: bassShake 0.9s ease-out forwards; }

/* LEGAL PAGES */
.legal-content { max-width: 800px; margin: 2rem auto 4rem; padding: 0 1rem; }
.legal-content h1 { font-size: 2rem; font-weight: 300; margin-bottom: 2rem; color: var(--white); }
.legal-content h2 { font-size: 1.1rem; font-weight: 600; margin: 2rem 0 0.8rem; color: var(--white); border-bottom: 1px solid var(--bd); padding-bottom: 0.4rem; }
.legal-content h3 { font-size: 0.95rem; font-weight: 500; margin: 1.2rem 0 0.4rem; color: var(--g6); }
.legal-content p { color: var(--g6); line-height: 1.8; margin-bottom: 1rem; }
.legal-content ul { color: var(--g6); line-height: 1.8; margin: 0.5rem 0 1rem 1.5rem; }
.legal-content a { color: var(--ac); }
.legal-content a:hover { opacity: 0.8; }

/* Roster — mini player fixé en bas de card */
.roster-card-wrap {
  display: flex;
  flex-direction: column;
}
.roster-card-wrap > a {
  flex: 1;
}
.bc-mini-bar,
.roster-card-wrap > div:last-child {
  margin-top: auto;
  flex-shrink: 0;
}

/* Stopper animation logo */
.nav-logo img,
.nav-logo img.firing {
  animation: none !important;
}

/* Shows page — agrandir venue, ville et tickets */
.show-full-name { font-size: 1.1rem; font-weight: 700; }
.show-full-venue { font-size: 1rem; font-weight: 500; color: #c8d4e0; }
.show-full-country { font-size: 0.75rem; padding: 0.3rem 0.8rem; }
.ticket-btn { font-size: 0.75rem; padding: 0.4rem 1rem; letter-spacing: 0.1em; }
.show-full-date { font-size: 1rem; font-weight: 700; color: #c8d4e0; }

@media (max-width: 768px) {
  .show-date-long { display: none !important; }
  .show-date-short { display: block !important; }
}

/* ── MOBILE FIXES ─────────────────────────────────────────────────────────── */

/* Vidéo artiste sur mobile — passe sous la bio */
@media (max-width: 768px) {
  .artist-hero {
    display: flex !important;
    flex-direction: column-reverse !important;
  }
  .artist-media,
  .yt-wrap {
    width: 100% !important;
    height: 250px !important;
    min-height: 250px !important;
  }
  .yt-wrap iframe {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  /* Footer mobile */
  .site-footer {
    flex-direction: column !important;
    align-items: center !important;
    gap: 1rem !important;
    text-align: center !important;
  }
  .site-footer > div {
    flex-direction: column !important;
    align-items: center !important;
    gap: 0.8rem !important;
  }

  /* Menu mobile — zone cliquable large */
  #mobile-menu li { width: 100% !important; }
  #mobile-menu a {
    display: block !important;
    padding: 1.2rem 1.5rem !important;
    font-size: 1.4rem !important;
    width: 100% !important;
    min-height: 60px !important;
  }

  /* Shows mobile */
  .show-full-row {
    grid-template-columns: 3.5rem 1fr auto !important;
    gap: 0.5rem !important;
    padding: 0.8rem !important;
  }
  .show-full-name { font-size: 0.85rem !important; }
  .show-full-venue { font-size: 0.75rem !important; display: block !important; }
  .show-full-date { font-size: 0.8rem !important; }
  .show-full-country { display: none !important; }
  .ticket-btn { font-size: 0.6rem !important; padding: 0.25rem 0.5rem !important; }

  /* Date format mobile */
  .show-date-long { display: none !important; }
  .show-date-short { display: block !important; }
}

/* ── MOBILE FIXES ─────────────────────────────────────────────────────────── */
@media (max-width: 768px) {

  /* Vidéo artiste — passe sous la description */
  .artist-hero {
    display: flex !important;
    flex-direction: column-reverse !important;
  }
  .artist-media, .yt-wrap {
    width: 100% !important;
    height: 250px !important;
    min-height: 250px !important;
  }
  .yt-wrap iframe {
    position: absolute !important;
    top: 0 !important; left: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  /* Footer empilé */
  .site-footer {
    flex-direction: column !important;
    align-items: center !important;
    gap: 1rem !important;
    text-align: center !important;
  }
  .site-footer > div {
    flex-direction: column !important;
    align-items: center !important;
    gap: 0.8rem !important;
  }

  /* Menu mobile — zone cliquable large */
  #mobile-menu li { width: 100% !important; }
  #mobile-menu a {
    display: block !important;
    padding: 1.2rem 1.5rem !important;
    font-size: 1.4rem !important;
    width: 100% !important;
    min-height: 60px !important;
  }

  /* Shows mobile — 2 lignes */
  .show-full-row {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    grid-template-rows: auto auto !important;
    gap: 0.2rem 0.5rem !important;
    padding: 0.8rem 1rem !important;
  }
  .show-top-line {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: flex !important;
    align-items: baseline !important;
    gap: 0.4rem !important;
    flex-wrap: nowrap !important;
  }
  .show-full-date {
    font-size: 0.65rem !important;
    color: #7a9ab5 !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
  }
  .show-full-name {
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    color: #c8d4e0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .show-full-venue {
    display: block !important;
    font-size: 0.7rem !important;
    color: #7a9ab5 !important;
    grid-column: 1 !important;
    grid-row: 2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .show-full-links {
    display: flex !important;
    gap: 0.4rem !important;
    align-items: center !important;
    grid-column: 2 !important;
    grid-row: 1 / 3 !important;
  }
  .ticket-btn { font-size: 0.6rem !important; padding: 0.25rem 0.6rem !important; }
  .show-full-country { display: none !important; }
}

/* show-top-line — desktop */
.show-top-line { display: contents; }

/* show-top-line — mobile only */
@media (max-width: 768px) {
  .show-top-line {
    display: flex !important;
    align-items: baseline !important;
    gap: 0.4rem !important;
    flex-wrap: nowrap !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
}

@media (max-width: 768px) {
  .show-artist-name {
    grid-column: 1 !important;
    grid-row: 2 !important;
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    color: #c8d4e0 !important;
  }
  .single-artiste .show-full-venue {
    grid-row: 3 !important;
  }
}

/* Shows page mobile — 3 lignes */
@media (max-width: 768px) {
  .show-full-row {
    grid-template-rows: auto auto auto !important;
  }
  .show-full-date {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
  .show-full-name {
    grid-column: 1 !important;
    grid-row: 2 !important;
    font-size: 0.88rem !important;
    font-weight: 700 !important;
  }
  .show-full-venue {
    grid-column: 1 !important;
    grid-row: 3 !important;
  }
  .show-full-links {
    grid-row: 1 / 4 !important;
  }
}

/* Ticket home — plus petit */
.show-row .ticket-btn {
  font-size: 0.58rem !important;
  padding: 0.25rem 0.6rem !important;
}

/* Book this artist — orange */
.artist-link-btn.book {
  background: #ff9500 !important;
  color: #fff !important;
}
.artist-link-btn.book:hover { color: #fff !important; opacity: 0.85 !important; }

/* Cacher bouton bandcamp page artiste au cas ou */
.artist-link-btn.bc { display: none !important; }

/* Instagram feed — aucune contrainte de hauteur */

/* ── CUSTOM CSS ──────────────────────────────────────────────────────────── */

/* Righteous font */
/* Righteous loaded via header.php */

.artist-name,
.roster-card-name,
.rs-name,
.show-full-name,
.show-name,
.hero-tag,
.nav-links a,
.nav-cta,
.ut-ticker-inner span {
  font-family: 'Righteous', sans-serif !important;
}

.nav-links a {
  font-size: 0.75rem !important;
  word-spacing: 0 !important;
}

/* Show links alignment desktop */
@media (min-width: 769px) {
  .show-full-links {
    min-width: 160px !important;
    justify-content: flex-end !important;
  }
}

/* Agenda home — tout sur une ligne */
.show-row {
  grid-template-columns: 3rem 1fr auto !important;
}
.show-name {
  display: inline !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
}
.show-venue {
  display: inline !important;
  font-size: 0.95rem !important;
  color: #a8bcd4 !important;
  margin-left: 1rem !important;
}
.show-date-d {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
}
.show-date-m {
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  color: #c8d4e0 !important;
}

/* Roster — centrage noms */
.roster-card-name,
.rs-name {
  text-align: center !important;
}
.roster-card-origin {
  text-align: center !important;
}

/* Boutons FREE et DOORS ONLY */
.ticket-btn.free {
  background: #94f700 !important;
  color: #0d1b2a !important;
  border: none !important;
  cursor: default !important;
  pointer-events: none !important;
}
.ticket-btn.doors {
  background: #fff800 !important;
  color: #0d1b2a !important;
  border: none !important;
  cursor: default !important;
  pointer-events: none !important;
}
