/* Pied de page premium pleine largeur (templates/partials/_footer.html). Toujours sombre (navy). */
.ns-footer {
    margin-top: auto; padding-top: 0; color: rgba(255,255,255,.72);
    background: radial-gradient(circle at 12% 0%, rgba(226,138,59,.14), transparent 40%),
                linear-gradient(180deg, #0f1a45 0%, #0b1336 100%);
    border-top: 1px solid rgba(226,138,59,.35);
    margin-bottom: 0;
}
.ns-footer a { color: rgba(255,255,255,.78); text-decoration: none; transition: color .2s ease; }
.ns-footer a:hover, .ns-footer a:focus-visible { color: var(--naydor-gold); }
.ns-footer-wrap { width: 100%; max-width: 1440px; margin: 0 auto; padding-left: clamp(1rem, 4vw, 3rem); padding-right: clamp(1rem, 4vw, 3rem); }

/* Bandeau newsletter */
.ns-footer-news { border-bottom: 1px solid rgba(255,255,255,.08); }
.ns-footer-news-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.25rem; padding-top: 2.2rem; padding-bottom: 2.2rem; }
.ns-footer-kicker { display: block; letter-spacing: .22em; text-transform: uppercase; font-size: .75rem; font-weight: 700; color: var(--naydor-gold); }
.ns-footer-news-title { margin: .35rem 0 0; font-family: 'Playfair Display', Georgia, serif; font-size: clamp(1.15rem, 2.2vw, 1.55rem); color: #fff; max-width: 36rem; }
.ns-footer-news-form { display: flex; gap: .5rem; flex: 1 1 22rem; max-width: 34rem; }
.ns-footer-input {
    flex: 1; min-width: 0; border-radius: 999px; border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.06); color: #fff; padding: .7rem 1.1rem;
}
.ns-footer-input::placeholder { color: rgba(255,255,255,.5); }
.ns-footer-input:focus { outline: none; border-color: var(--naydor-gold); box-shadow: 0 0 0 3px rgba(226,138,59,.25); }
.ns-footer-news-btn { border-radius: 999px; white-space: nowrap; }

/* Colonnes */
.ns-footer-grid {
    display: grid; gap: 2rem 2.5rem; padding-top: 3rem; padding-bottom: 2.5rem;
    grid-template-columns: minmax(16rem, 1.6fr) repeat(4, minmax(10rem, 1fr));
}
.ns-footer-logo { display: inline-flex; align-items: center; gap: .65rem; color: #fff !important; }
.ns-footer-logo img { border-radius: 50%; background: #fff; }
.ns-footer-logo span { font-family: 'Playfair Display', Georgia, serif; font-size: 1.45rem; font-weight: 700; letter-spacing: .02em; color: var(--naydor-gold); }
.ns-footer-tagline { margin: 1rem 0 1.2rem; font-size: .93rem; line-height: 1.6; max-width: 26rem; }
.ns-footer-contact, .ns-footer-col ul { list-style: none; padding: 0; margin: 0; }
.ns-footer-contact li { display: flex; gap: .65rem; align-items: baseline; margin-bottom: .55rem; font-size: .9rem; }
.ns-footer-contact i { width: 1rem; text-align: center; color: var(--naydor-gold); }
.ns-footer-h { font-size: .8rem; letter-spacing: .18em; text-transform: uppercase; font-weight: 700; color: #fff; margin-bottom: 1.1rem; }
.ns-footer-col li { margin-bottom: .6rem; font-size: .93rem; }
.ns-footer-club { color: var(--naydor-gold) !important; font-weight: 600; }
.ns-footer-pay { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem !important; }
.ns-footer-pay li {
    display: inline-flex; align-items: center; gap: .4rem; margin: 0; padding: .35rem .7rem; font-size: .8rem; font-weight: 600;
    border-radius: 8px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.05); color: #fff;
}
.ns-footer-pay i { color: var(--naydor-gold); }
.ns-footer-small { font-size: .82rem; margin-bottom: 1rem; }
.ns-footer-social { display: flex; gap: .6rem; }
.ns-footer-social a {
    width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%;
    border: 1px solid rgba(255,255,255,.18); font-size: 1.05rem;
}
.ns-footer-social a:hover { border-color: var(--naydor-gold); background: rgba(226,138,59,.12); }

/* Barre basse */
.ns-footer-bottom { border-top: 1px solid rgba(255,255,255,.08); font-size: .82rem; }
.ns-footer-bottom-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; padding-top: 1.1rem; padding-bottom: 1.1rem; }
.ns-footer-dev { display: inline-flex; align-items: center; gap: .55rem; }
.ns-footer-dev img { border-radius: 50%; object-fit: cover; border: 1px solid rgba(226,138,59,.5); }

@media (max-width: 1199.98px) {
    .ns-footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ns-footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 767.98px) {
    .ns-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem 1.25rem; }
    .ns-footer-news-form { flex-direction: column; max-width: none; }
    .ns-footer-bottom-inner { flex-direction: column; text-align: center; }
}
@media (prefers-reduced-motion: reduce) { .ns-footer a { transition: none; } }

.ns-footer-legal { display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; justify-content: center; }
.ns-footer-legal a { color: rgba(255,255,255,.7); }
