/* ═══════════════════════════════════════════════
   PAYEN TRAITEUR — NOUVEL AN
   ═══════════════════════════════════════════════ */

:root {
    --gold:       #C9A64E;
    --gold-dark:  #9A7230;
    --gold-light: #E2C880;
    --na-dark:    #0d0d0d;
    --na-darker:  #070707;
}

/* ── BASE PAGE ─────────────────────────────────── */
.na-page #navbar {
    background: rgba(10,10,10,.95);
    backdrop-filter: blur(12px);
}
.na-page .nav-logo { color: var(--white); }

.na-nav-btn {
    background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%) !important;
    color: #fff !important;
    box-shadow: 0 4px 16px rgba(185,130,40,.35);
}
.na-nav-btn:hover {
    background: linear-gradient(135deg, var(--gold-light) 0%, var(--gold) 100%) !important;
    transform: translateY(-1px);
}

/* ── HERO ──────────────────────────────────────── */
#na-hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: var(--na-darker);
}

.na-hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    transition: opacity 1s ease;
}

.na-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,.5) 0%,
        rgba(0,0,0,.65) 50%,
        rgba(0,0,0,.85) 100%
    );
    z-index: 1;
}

/* Particules / étoiles */
.na-hero-particles {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    overflow: hidden;
}
.na-particle {
    position: absolute;
    border-radius: 50%;
    background: var(--gold-light);
    animation: naParticle linear infinite;
    opacity: 0;
}
@keyframes naParticle {
    0%   { transform: translateY(0) scale(0); opacity: 0; }
    10%  { opacity: .6; }
    90%  { opacity: .3; }
    100% { transform: translateY(-100vh) scale(1.2); opacity: 0; }
}

.na-hero-content {
    position: relative;
    z-index: 3;
    text-align: center;
    color: var(--white);
    max-width: 860px;
    padding: 0 24px;
    animation: heroFadeIn 1.2s ease forwards;
}

.na-hero-badge {
    display: inline-block;
    padding: 6px 20px;
    border: 1px solid rgba(201,166,78,.5);
    border-radius: 100px;
    font-size: .7rem;
    letter-spacing: .25em;
    text-transform: uppercase;
    color: var(--gold-light);
    margin-bottom: 24px;
    background: rgba(201,166,78,.08);
}

.na-hero-title {
    font-family: var(--font-serif);
    font-size: clamp(2.4rem, 6vw, 5rem);
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 16px;
    text-shadow: 0 2px 20px rgba(0,0,0,.4);
    background: linear-gradient(135deg, #fff 0%, var(--gold-light) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.na-hero-subtitle {
    font-size: clamp(.95rem, 2vw, 1.2rem);
    font-weight: 300;
    opacity: .85;
    letter-spacing: .04em;
    margin-bottom: 32px;
}

.na-hero-meta {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin-bottom: 32px;
}

.na-meta-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .85rem;
    color: rgba(255,255,255,.75);
}
.na-meta-item svg { width: 16px; height: 16px; stroke: var(--gold); flex-shrink: 0; }
.na-meta-sep { color: var(--gold); opacity: .5; }

.na-hero-price-badge {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    background: rgba(201,166,78,.12);
    border: 1px solid rgba(201,166,78,.3);
    border-radius: 100px;
    padding: 10px 24px;
    margin-bottom: 36px;
}
.na-price-label {
    font-size: .75rem;
    color: rgba(255,255,255,.6);
    letter-spacing: .06em;
    text-transform: uppercase;
}
.na-price-value {
    font-family: var(--font-serif);
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--gold-light);
}
.na-price-pp {
    font-size: .8rem;
    color: rgba(255,255,255,.5);
}

.na-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 18px 40px;
    background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
    color: #fff;
    border-radius: 6px;
    font-family: var(--font-sans);
    font-size: .88rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    text-decoration: none;
    box-shadow: 0 8px 32px rgba(185,130,40,.45);
    transition: all .3s ease;
    border: 2px solid transparent;
}
.na-cta-btn svg { width: 18px; height: 18px; flex-shrink: 0; }
.na-cta-btn:hover {
    background: linear-gradient(135deg, var(--gold-light) 0%, var(--gold) 100%);
    transform: translateY(-3px);
    box-shadow: 0 14px 40px rgba(185,130,40,.55);
}

.na-hero-scroll {
    position: absolute;
    bottom: 36px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
}
.na-hero-scroll span {
    display: block;
    width: 24px;
    height: 40px;
    border: 2px solid rgba(201,166,78,.4);
    border-radius: 12px;
    position: relative;
}
.na-hero-scroll span::before {
    content: '';
    position: absolute;
    top: 6px;
    left: 50%;
    transform: translateX(-50%);
    width: 4px;
    height: 8px;
    background: var(--gold);
    border-radius: 2px;
    animation: scrollBounce 2s ease-in-out infinite;
}

/* ── SECTIONS ──────────────────────────────────── */
.na-section { padding: 100px 0; }
.na-section-light { background: var(--bg-alt); }
.na-section-dark  { background: var(--na-dark); }

.na-reservation-section {
    background: linear-gradient(180deg, #111 0%, #0a0a0a 100%);
}

.na-section-header { text-align: center; margin-bottom: 64px; }
.na-label-gold { color: var(--gold) !important; }

/* ── MESSAGE FERMETURE ─────────────────────────── */
.na-ferme-msg {
    background: linear-gradient(90deg, #1a1200, #1a0a00);
    border-top: 2px solid rgba(201,166,78,.25);
    border-bottom: 2px solid rgba(201,166,78,.25);
    padding: 18px 0;
}
.na-ferme-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: var(--gold-light);
    font-size: .9rem;
}
.na-ferme-inner svg { width: 20px; height: 20px; flex-shrink: 0; }

/* ── ABOUT ─────────────────────────────────────── */
.na-about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
}

.na-description {
    font-size: 1.05rem;
    line-height: 1.8;
    color: var(--text);
    margin-bottom: 40px;
}

.na-infos-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.na-info-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.na-info-icon {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 16px rgba(185,130,40,.3);
}
.na-info-icon svg { width: 18px; height: 18px; stroke: #fff; }

.na-info-item strong {
    display: block;
    font-weight: 700;
    color: var(--primary);
    font-size: .95rem;
    margin-bottom: 2px;
}
.na-info-item span { color: var(--text-light); font-size: .85rem; }

.na-info-compl {
    margin-top: 28px;
    padding: 20px 24px;
    background: rgba(201,166,78,.06);
    border-left: 3px solid var(--gold);
    border-radius: 4px;
    color: var(--text);
    font-size: .9rem;
    line-height: 1.7;
    white-space: pre-line;
}

/* Galerie latérale about */
.na-about-gallery {
    position: relative;
}
.na-about-img-placeholder {
    width: 100%;
    aspect-ratio: 3/4;
    background: linear-gradient(135deg, #e8e2d9 0%, #d4ccbf 100%);
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: var(--text-light);
}
.na-about-img-placeholder svg { width: 48px; height: 48px; opacity: .3; }

.na-about-gallery-imgs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.na-about-gallery-imgs img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 8px;
    cursor: pointer;
    transition: transform .3s ease, box-shadow .3s ease;
}
.na-about-gallery-imgs img:first-child {
    grid-column: 1 / -1;
    aspect-ratio: 16/9;
}
.na-about-gallery-imgs img:hover {
    transform: scale(1.02);
    box-shadow: 0 8px 24px rgba(0,0,0,.2);
}

/* ── PROGRAMME & MENU ──────────────────────────── */
.na-prog-menu-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
}

.na-prog-card {
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(201,166,78,.15);
    border-radius: 16px;
    padding: 36px 32px;
    transition: border-color .3s ease;
}
.na-prog-card:hover { border-color: rgba(201,166,78,.35); }

.na-prog-card-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 28px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(201,166,78,.15);
}
.na-prog-card-header svg { width: 22px; height: 22px; stroke: var(--gold); flex-shrink: 0; }
.na-prog-card-header h3 {
    font-family: var(--font-serif);
    font-size: 1.2rem;
    color: var(--gold-light);
    font-weight: 600;
}

.na-prog-items { display: flex; flex-direction: column; gap: 0; }
.na-prog-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid rgba(255,255,255,.05);
}
.na-prog-item:last-child { border-bottom: none; }
.na-prog-time {
    font-size: .78rem;
    font-weight: 700;
    color: var(--gold);
    letter-spacing: .06em;
    white-space: nowrap;
    min-width: 68px;
    padding-top: 2px;
}
.na-prog-desc {
    font-size: .88rem;
    color: rgba(255,255,255,.75);
    line-height: 1.5;
}

.na-menu-items { display: flex; flex-direction: column; gap: 0; }
.na-menu-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(255,255,255,.05);
}
.na-menu-item:last-child { border-bottom: none; }
.na-menu-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gold);
    flex-shrink: 0;
    margin-top: 7px;
}
.na-menu-text {
    font-size: .88rem;
    color: rgba(255,255,255,.75);
    line-height: 1.5;
}
.na-menu-text strong { color: var(--gold-light); font-weight: 600; }

/* ── PHOTOS GALERIE ────────────────────────────── */
.na-photos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
}
.na-photo-item {
    border-radius: 10px;
    overflow: hidden;
    cursor: pointer;
    aspect-ratio: 4/3;
    position: relative;
}
.na-photo-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}
.na-photo-item:hover img { transform: scale(1.06); }
.na-photo-item-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .3s ease;
}
.na-photo-item:hover .na-photo-item-overlay { background: rgba(0,0,0,.3); }
.na-photo-item-overlay svg {
    width: 40px;
    height: 40px;
    color: #fff;
    opacity: 0;
    transform: scale(.8);
    transition: all .3s ease;
}
.na-photo-item:hover .na-photo-item-overlay svg { opacity: 1; transform: scale(1); }

/* ── FORMULAIRE DE RÉSERVATION ─────────────────── */
.na-form-wrapper {
    max-width: 680px;
    margin: 0 auto;
}

.na-form {
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(201,166,78,.2);
    border-radius: 20px;
    padding: 48px 44px;
    position: relative;
}

.na-form-step { }

.na-step-title {
    display: flex;
    align-items: center;
    gap: 16px;
    font-family: var(--font-serif);
    font-size: 1.4rem;
    color: var(--white);
    margin-bottom: 32px;
}

.na-step-num {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .9rem;
    font-weight: 700;
    color: #fff;
    flex-shrink: 0;
    font-family: var(--font-sans);
}

.na-step-hint {
    color: rgba(255,255,255,.55);
    font-size: .88rem;
    margin-bottom: 24px;
    line-height: 1.6;
}

/* Sélecteur nombre de personnes */
.na-nb-select {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-bottom: 28px;
}

.na-nb-btn {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 2px solid rgba(201,166,78,.4);
    background: transparent;
    color: var(--gold);
    font-size: 1.8rem;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .25s ease;
    padding: 0;
}
.na-nb-btn:hover {
    border-color: var(--gold);
    background: rgba(201,166,78,.1);
    transform: scale(1.1);
}

.na-nb-display {
    text-align: center;
    min-width: 80px;
}
#naNbDisplay {
    display: block;
    font-family: var(--font-serif);
    font-size: 3rem;
    font-weight: 700;
    color: var(--white);
    line-height: 1;
}
.na-nb-label {
    font-size: .78rem;
    color: rgba(255,255,255,.45);
    letter-spacing: .06em;
}

.na-total-preview {
    text-align: center;
    padding: 16px 24px;
    background: rgba(201,166,78,.08);
    border: 1px solid rgba(201,166,78,.2);
    border-radius: 10px;
    margin-bottom: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: rgba(255,255,255,.65);
    font-size: .9rem;
}
.na-total-preview strong {
    font-family: var(--font-serif);
    font-size: 1.6rem;
    color: var(--gold-light);
    font-weight: 700;
}

/* Champs personnes */
.na-personnes-list { display: flex; flex-direction: column; gap: 16px; margin-bottom: 28px; }

.na-personne-row {
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 12px;
    padding: 20px 20px 16px;
    transition: border-color .3s ease;
}
.na-personne-row:focus-within { border-color: rgba(201,166,78,.4); }

.na-personne-label {
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 12px;
    display: block;
}

.na-personne-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

/* Champs contact */
.na-contact-fields { display: flex; flex-direction: column; gap: 20px; margin-bottom: 24px; }

.na-form-group label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: rgba(255,255,255,.55);
    margin-bottom: 10px;
}
.na-form-group label svg { width: 14px; height: 14px; stroke: var(--gold); }

/* Input générique NA */
.na-page input[type="text"],
.na-page input[type="email"],
.na-page input[type="tel"] {
    width: 100%;
    background: rgba(255,255,255,.05);
    border: 1.5px solid rgba(255,255,255,.12);
    border-radius: 8px;
    padding: 12px 16px;
    font-family: var(--font-sans);
    font-size: .92rem;
    color: var(--white);
    outline: none;
    transition: border-color .25s ease, background .25s ease;
}
.na-page input[type="text"]::placeholder,
.na-page input[type="email"]::placeholder,
.na-page input[type="tel"]::placeholder { color: rgba(255,255,255,.25); }
.na-page input[type="text"]:focus,
.na-page input[type="email"]:focus,
.na-page input[type="tel"]:focus {
    border-color: var(--gold);
    background: rgba(201,166,78,.06);
}
.na-page input.na-error {
    border-color: #e55;
}

.na-field-error {
    display: block;
    font-size: .78rem;
    color: #ff7070;
    margin-top: 6px;
    min-height: 1em;
}

/* Récapitulatif */
.na-form-recap {
    background: rgba(201,166,78,.05);
    border: 1px solid rgba(201,166,78,.2);
    border-radius: 12px;
    padding: 20px 24px;
    margin-bottom: 28px;
}
.na-recap-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    font-size: .88rem;
    color: rgba(255,255,255,.65);
}
.na-recap-row:not(:last-child) { border-bottom: 1px solid rgba(255,255,255,.05); }
.na-recap-row strong { color: var(--white); font-weight: 600; }
.na-recap-total {
    font-size: 1rem !important;
    color: var(--gold-light) !important;
    margin-top: 8px;
    padding-top: 10px !important;
    border-top: 1px solid rgba(201,166,78,.2) !important;
}
.na-recap-total strong { color: var(--gold-light) !important; font-size: 1.2rem; }

/* Boutons navigation formulaire */
.na-step-btns {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
}

.na-next-btn, .na-submit-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 32px;
    background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-family: var(--font-sans);
    font-size: .88rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
    transition: all .25s ease;
    box-shadow: 0 4px 20px rgba(185,130,40,.3);
}
.na-next-btn svg, .na-submit-btn svg { width: 16px; height: 16px; }
.na-next-btn:hover, .na-submit-btn:hover {
    background: linear-gradient(135deg, var(--gold-light) 0%, var(--gold) 100%);
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(185,130,40,.45);
}
.na-submit-btn:disabled {
    opacity: .6;
    cursor: not-allowed;
    transform: none;
}

.na-back-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 24px;
    background: transparent;
    color: rgba(255,255,255,.55);
    border: 1.5px solid rgba(255,255,255,.15);
    border-radius: 8px;
    font-family: var(--font-sans);
    font-size: .88rem;
    font-weight: 600;
    cursor: pointer;
    transition: all .25s ease;
}
.na-back-btn svg { width: 16px; height: 16px; }
.na-back-btn:hover {
    color: var(--white);
    border-color: rgba(255,255,255,.35);
    background: rgba(255,255,255,.05);
}

/* Progression */
.na-form-progress {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin-top: 36px;
    padding-top: 28px;
    border-top: 1px solid rgba(255,255,255,.06);
}
.na-prog-dot {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,.15);
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .7rem;
    font-weight: 700;
    color: rgba(255,255,255,.3);
    transition: all .3s ease;
    flex-shrink: 0;
}
.na-prog-dot::after { content: attr(data-step); }
.na-prog-dot.active {
    border-color: var(--gold);
    background: var(--gold);
    color: #fff;
}
.na-prog-dot.done {
    border-color: var(--gold-dark);
    background: var(--gold-dark);
    color: #fff;
}
.na-prog-line {
    flex: 1;
    height: 2px;
    background: rgba(255,255,255,.1);
    max-width: 80px;
    transition: background .3s ease;
}
.na-prog-line.done { background: var(--gold-dark); }

/* ── SUCCÈS ────────────────────────────────────── */
.na-success-msg {
    max-width: 680px;
    margin: 0 auto 48px;
}
.na-success-inner {
    background: rgba(46,125,82,.08);
    border: 1px solid rgba(82,183,120,.25);
    border-radius: 20px;
    padding: 48px 44px;
    text-align: center;
}
.na-success-icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
}
.na-success-icon svg { width: 28px; height: 28px; stroke: #fff; }
.na-success-inner h3 {
    font-family: var(--font-serif);
    font-size: 1.8rem;
    color: var(--white);
    margin-bottom: 12px;
}
.na-success-inner p { color: rgba(255,255,255,.65); font-size: .95rem; line-height: 1.7; }

.na-virement-info {
    margin-top: 28px;
    padding: 24px;
    background: rgba(201,166,78,.06);
    border: 1px solid rgba(201,166,78,.2);
    border-radius: 12px;
    text-align: left;
}
.na-virement-info h4 {
    font-family: var(--font-serif);
    font-size: 1rem;
    color: var(--gold-light);
    margin-bottom: 16px;
    font-weight: 600;
}
.na-virement-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    font-size: .85rem;
    color: rgba(255,255,255,.65);
    border-bottom: 1px solid rgba(255,255,255,.05);
}
.na-virement-row:last-child { border-bottom: none; }
.na-virement-row strong { color: var(--white); word-break: break-all; }
.na-montant-due {
    margin-top: 16px;
    padding: 14px 20px;
    background: rgba(201,166,78,.1);
    border-radius: 8px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--gold-light);
    font-size: .9rem;
    font-weight: 600;
}
.na-montant-due strong { font-size: 1.3rem; font-family: var(--font-serif); }

/* ── ANNULÉ ────────────────────────────────────── */
.na-annule-msg {
    max-width: 680px;
    margin: 0 auto 32px;
}
.na-annule-inner {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 24px;
    background: rgba(220,50,50,.06);
    border: 1px solid rgba(220,50,50,.2);
    border-radius: 12px;
    color: rgba(255,180,180,.8);
    font-size: .88rem;
}
.na-annule-inner svg { width: 20px; height: 20px; flex-shrink: 0; }

/* ── LIGHTBOX ──────────────────────────────────── */
.na-lightbox {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.96);
    z-index: 2000;
    display: flex !important;
    align-items: center;
    justify-content: center;
}
.na-lightbox[style*="display:none"] { display: none !important; }
.na-lb-close, .na-lb-prev, .na-lb-next {
    position: absolute;
    background: none;
    border: none;
    color: #fff;
    cursor: pointer;
    font-size: 2.4rem;
    line-height: 1;
    padding: 12px;
    opacity: .7;
    transition: opacity .2s ease;
}
.na-lb-close:hover, .na-lb-prev:hover, .na-lb-next:hover { opacity: 1; }
.na-lb-close { top: 20px; right: 20px; }
.na-lb-prev { left: 20px; top: 50%; transform: translateY(-50%); font-size: 3.5rem; }
.na-lb-next { right: 20px; top: 50%; transform: translateY(-50%); font-size: 3.5rem; }
.na-lb-content img {
    max-width: 90vw;
    max-height: 90vh;
    object-fit: contain;
    border-radius: 4px;
}

/* ── FOOTER ────────────────────────────────────── */
.na-footer { background: #0a0a0a; border-top: 1px solid rgba(201,166,78,.1); }
.na-footer-links { display: flex; gap: 24px; }
.na-footer-link { color: rgba(255,255,255,.4); font-size: .8rem; transition: color .2s ease; }
.na-footer-link:hover { color: var(--gold); }

/* ── RESPONSIVE ────────────────────────────────── */
@media (max-width: 900px) {
    .na-about-grid { grid-template-columns: 1fr; gap: 40px; }
    .na-prog-menu-grid { grid-template-columns: 1fr; }
    .na-about-gallery { order: -1; max-height: 320px; overflow: hidden; border-radius: 12px; }
    .na-about-gallery .na-about-img-placeholder { aspect-ratio: 16/9; }
    .na-section { padding: 72px 0; }
}

@media (max-width: 640px) {
    .na-hero-meta { flex-direction: column; gap: 8px; }
    .na-meta-sep { display: none; }
    .na-form { padding: 32px 24px; }
    .na-personne-fields { grid-template-columns: 1fr; }
    .na-step-btns { flex-direction: column-reverse; }
    .na-next-btn, .na-submit-btn, .na-back-btn { width: 100%; justify-content: center; }
    .na-hero-price-badge { flex-direction: column; gap: 2px; }
    .na-footer .footer-inner { flex-direction: column; text-align: center; }
    .na-footer-links { justify-content: center; }
    .na-prog-menu-grid { gap: 20px; }
    .na-prog-card { padding: 24px 20px; }
}

@media (max-width: 400px) {
    .na-form { padding: 24px 16px; }
    .na-cta-btn { padding: 14px 28px; }
}
