/* Lisibilité renforcée du menu principal. */
.navbar {
  padding-right: 18px;
  padding-left: 18px;
}

.nav-logo {
  font-size: 21px;
  letter-spacing: 0.18em;
}

.nav-links a,
.nav-mentions {
  padding: 10px 5px;
  font-size: 14px;
  letter-spacing: 0.06em;
}

@media (max-width: 1024px) {
  .nav-links a,
  .nav-mentions {
    padding: 8px 6px;
    font-size: 11.5px;
  }

  .nav-logo {
    font-size: 18px;
  }
}

@media (max-width: 768px) {
  .nav-links a,
  .nav-mentions {
    padding: 14px;
    font-size: 16px;
  }

  .nav-logo {
    font-size: 19px;
  }
}

/* Signale clairement que les cartes de rubrique sont cliquables. */
a.grid-card {
  cursor: pointer;
  padding-bottom: 58px !important;
}

a.grid-card::after {
  content: "Cliquer pour entrer  →";
  position: absolute;
  right: 24px;
  bottom: 19px;
  left: 24px;
  color: var(--accent-gold-light);
  font-family: var(--font-ui);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-align: center;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.25s ease, transform 0.25s ease;
}

a.grid-card:hover::after,
a.grid-card:focus-visible::after {
  opacity: 1;
  transform: translateY(0);
}

a.grid-card:hover,
a.grid-card:focus-visible {
  transform: translateY(-7px) scale(1.015);
  border-color: var(--accent-gold) !important;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.48),
              0 0 30px rgba(200, 163, 78, 0.18) !important;
}

@media (hover: none) {
  a.grid-card::after {
    opacity: 0.75;
    transform: none;
  }
}

/* Bouton d’entrée plus compact sur la page d’accueil. */
.hero-enter-btn {
  min-width: 160px;
  width: auto;
  align-self: center;
  gap: 6px;
  padding: 9px 13px;
  font-size: 10px;
  letter-spacing: 0.13em;
}

.hero-enter-btn > span {
  font-size: 14px;
}

@media (max-width: 768px) {
  .hero-enter-btn {
    min-width: 150px;
    padding: 9px 12px;
  }
}

.nav-mentions{text-decoration:none}

.footer .legal-footer-link{display:inline-flex;align-items:center;justify-content:center;margin:10px 6px;padding:11px 17px;border:1px solid rgba(232,200,106,.65);border-radius:7px;background:rgba(200,163,78,.12);color:#f0d793!important;font-weight:700;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.footer .legal-footer-link:hover{background:rgba(200,163,78,.23);border-color:#e8c86a;transform:translateY(-2px)}

.contact-section{max-width:900px;margin:56px auto 20px;padding:32px;border:1px solid rgba(232,200,106,.28);border-radius:14px;background:linear-gradient(145deg,rgba(27,27,37,.96),rgba(13,13,18,.96));box-shadow:0 20px 48px rgba(0,0,0,.28)}
.contact-heading{margin-bottom:25px;text-align:center}.contact-heading h2{margin:8px 0 10px;color:var(--text-primary);font-family:var(--font-display);font-size:clamp(25px,4vw,34px)}.contact-heading p{color:var(--text-secondary);font-size:16px;line-height:1.65}
.contact-form{display:grid;gap:18px}.contact-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{display:grid;gap:8px;color:var(--accent-gold-light);font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.contact-form input,.contact-form textarea{box-sizing:border-box;width:100%;border:1px solid rgba(232,200,106,.25);border-radius:7px;background:#09090e;color:var(--text-primary);font:400 16px/1.5 var(--font-ui);letter-spacing:normal;text-transform:none;padding:12px 13px}.contact-form textarea{min-height:150px;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent-gold);outline:2px solid rgba(232,200,106,.18);outline-offset:2px}.contact-privacy,.contact-direct{margin:0;color:var(--text-muted);font-size:13px;line-height:1.6}.contact-privacy a,.contact-direct a{color:var(--accent-gold-light);text-decoration:underline;text-underline-offset:3px}.contact-submit{justify-self:start;padding:12px 19px;border:1px solid var(--accent-gold-light);border-radius:7px;background:linear-gradient(135deg,var(--accent-gold-light),var(--accent-gold));color:#17130b;cursor:pointer;font-family:var(--font-ui);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.contact-submit:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(200,163,78,.25)}.contact-submit:disabled{cursor:wait;opacity:.65;transform:none}.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contact-status{min-height:22px;margin:0;font-size:14px;font-weight:600;line-height:1.5}.contact-status--success{color:#86d79b}.contact-status--error{color:#ff9b9b}
@media(max-width:650px){.contact-section{margin:42px 0 10px;padding:23px 18px}.contact-row{grid-template-columns:1fr}.contact-submit{width:100%;justify-self:stretch}}

.source-panel{box-sizing:border-box;width:min(940px,calc(100% - 40px));margin:20px auto 80px;padding:28px;border:1px solid rgba(232,200,106,.28);border-radius:14px;background:linear-gradient(145deg,rgba(27,27,37,.96),rgba(13,13,18,.96));box-shadow:0 20px 48px rgba(0,0,0,.28)}.source-panel-heading{display:flex;gap:14px;align-items:center;margin-bottom:14px}.source-panel-heading>span{color:var(--accent-gold-light);font-size:25px}.source-panel-heading h2{margin:2px 0 0;color:var(--text-primary);font-family:var(--font-display);font-size:25px}.source-panel-note{margin:0 0 20px;padding:13px 15px;border-left:2px solid var(--accent-gold);background:rgba(200,163,78,.07);color:var(--text-secondary);font-size:14px;line-height:1.65}.source-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.source-list a{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(150px,.8fr) minmax(170px,1fr);gap:15px;align-items:center;padding:14px 16px;border:1px solid var(--border-subtle);border-radius:8px;background:rgba(255,255,255,.018);text-decoration:none;transition:var(--transition)}.source-list a:hover{transform:translateY(-2px);border-color:var(--border-glow);background:rgba(200,163,78,.07)}.source-list strong{color:var(--text-primary);font-family:var(--font-display);font-size:14px;line-height:1.4}.source-list span{color:var(--text-secondary);font-size:13px;line-height:1.45}.source-list em{color:var(--accent-gold-light);font-family:var(--font-ui);font-size:11px;font-style:normal;line-height:1.45}.source-panel .disclaimer-label{margin:0}
@media(max-width:720px){.source-panel{width:calc(100% - 28px);padding:22px 17px}.source-list a{grid-template-columns:1fr;gap:5px}.source-list strong{font-size:15px}}
