/* Neva Espace client v0.3.0 : tableau de bord dans l'univers neva.ski
   Bleu nuit, or du logo, blanc ; titres en Cormorant italique (embarquee). */
@font-face { font-family: 'Neva Cormorant'; font-style: italic; font-weight: 500; font-display: swap; src: url('fonts/cormorant-garamond-500-italic.woff2') format('woff2'); }

.neva-ec {
	--nv-ink: #121411; --nv-ink-2: #2b2d29; --nv-gold: #C9A744; --nv-gold-2: #dcc583; --nv-gold-bg: #F4F1E9;
	--nv-line: #e6e8ee; --nv-soft: #f7f5ef; --nv-mute: #6b6a63; --nv-ok: #1f6b45; --nv-ok-bg: #e9f4ee;
	--nv-r: 8px; --nv-shadow: 0 1px 2px rgba(18,20,17,.05), 0 8px 24px rgba(18,20,17,.06);
	color: var(--nv-ink); font-feature-settings: 'tnum';
}
.neva-ec *, .neva-ec *::before, .neva-ec *::after { box-sizing: border-box; }
.neva-ec p { margin: 0 0 .6em; }
.neva-ec a { color: var(--nv-ink); }
.neva-ec-lang { text-align: right; font-size: .8em; letter-spacing: .08em; margin: 0 0 .8em !important; color: var(--nv-mute); }
.neva-ec-lang a { color: var(--nv-mute) !important; text-decoration: none; }
.neva-ec-lang strong { color: var(--nv-ink); }
.neva-ec-muted { color: var(--nv-mute); font-size: .9em; }
.neva-ec-admin { background: var(--nv-gold-bg); border: 1px dashed var(--nv-gold); padding: .5em .8em; font-size: .9em; border-radius: 8px; }
.neva-ec-eyebrow { font-size: .72em; letter-spacing: .2em; text-transform: uppercase; color: var(--nv-gold); font-weight: 700; margin: 0 0 .4em !important; }
.neva-ec-eyebrow-light { color: var(--nv-gold-2); }
.neva-ec-mini { font-size: .72em; letter-spacing: .14em; text-transform: uppercase; color: var(--nv-mute); font-weight: 700; margin: .9em 0 .35em !important; }

/* Boutons */
.neva-ec .button.neva-ec-btn, .neva-ec-btn { display: inline-block; background: var(--nv-ink) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; padding: .75em 1.6em !important; font-weight: 600; letter-spacing: .02em; text-decoration: none !important; transition: background .2s, color .2s; }
.neva-ec .button.neva-ec-btn:hover, .neva-ec-btn:hover { background: var(--nv-gold) !important; color: #fff !important; }
.neva-ec button[disabled], .neva-ec input[disabled], .neva-ec select[disabled] { opacity: .6; cursor: not-allowed; }

/* En-tetes de page */
.neva-ec-head { margin: 0 0 1.4em; }
.neva-ec-head-t { font-family: 'Neva Cormorant', 'Cormorant Garamond', Georgia, serif; font-style: italic; font-weight: 500; font-size: 2.1em; line-height: 1.1; margin: 0 0 .2em; color: var(--nv-ink); }
.neva-ec-head-s { color: var(--nv-mute); margin: 0 !important; }
.neva-ec-h { display: flex; align-items: baseline; gap: .7em; flex-wrap: wrap; color: var(--nv-ink); font-size: 1.05em; font-weight: 700; margin: 1.6em 0 .8em; padding-bottom: .45em; border-bottom: 1px solid var(--nv-line); position: relative; }
.neva-ec-h::after { content: ''; position: absolute; left: 0; bottom: -1px; width: 40px; height: 2px; background: var(--nv-gold); }
.neva-ec-h small { font-weight: 400; color: var(--nv-mute); font-size: .85em; }

/* Panneaux, alertes, vide */
.neva-ec-panel { background: #fff; border: 1px solid var(--nv-line); border-radius: var(--nv-r); padding: 1.4em 1.5em; margin: 0 0 1.2em; box-shadow: var(--nv-shadow); }
.neva-ec-panel-t { font-family: 'Neva Cormorant', 'Cormorant Garamond', Georgia, serif; font-style: italic; font-weight: 500; font-size: 1.55em; margin: 0 0 .5em; color: var(--nv-ink); }
.neva-ec-alert { display: flex; align-items: center; justify-content: space-between; gap: 1em; flex-wrap: wrap; background: var(--nv-gold-bg); border: 1px solid #e6dcc0; border-left: 4px solid var(--nv-gold); border-radius: 10px; padding: .9em 1.1em; margin: 0 0 1.2em; }
.neva-ec-empty { background: var(--nv-soft); border: 1px dashed #cfd4de; border-radius: var(--nv-r); padding: 1.6em; text-align: center; color: var(--nv-ink-2); }
.neva-ec-empty-t { font-family: 'Neva Cormorant', 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 1.5em; color: var(--nv-ink); }
.neva-ec-empty-deb { padding: 2.4em 1.6em; background: linear-gradient(180deg, #fff, var(--nv-soft)); }
.neva-ec-ok { color: var(--nv-ok); font-weight: 600; font-size: .92em; }
.neva-ec-ok::before { content: '\2713'; margin-right: .4em; }
.neva-ec-verif { text-align: left; }
.neva-ec-foot { margin-top: 1.5em; }

/* Tableau de bord : hero */
.woocommerce-MyAccount-content:has(.neva-ec-dash) > p { display: none; }
.neva-ec-hero { display: grid; grid-template-columns: 1.4fr 1fr; gap: 1.5em; align-items: center; background: radial-gradient(120% 140% at 100% 0%, #2e2c22 0%, var(--nv-ink) 55%, #0b0c0a 100%); color: #fff; border-radius: 18px; padding: 2em 2.2em; margin: 0 0 1.4em; position: relative; overflow: hidden; }
.neva-ec-hero::after { content: ''; position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; border: 1px solid rgba(220,197,131,.25); border-radius: 50%; }
.neva-ec-hero-hello { font-family: 'Neva Cormorant', 'Cormorant Garamond', Georgia, serif; font-style: italic; font-weight: 500; font-size: 2.4em; line-height: 1.05; margin: 0 0 .3em; color: #fff; }
.neva-ec-hero-sub { margin: 0 !important; opacity: .85; }
.neva-ec-hero-side { display: flex; align-items: center; gap: 1.2em; justify-content: flex-end; position: relative; z-index: 1; }
.neva-ec-count { text-align: center; min-width: 96px; }
.neva-ec-count-n { display: block; font-size: 3.4em; font-weight: 700; line-height: 1; color: var(--nv-gold-2); }
.neva-ec-count-l { display: block; font-size: .72em; letter-spacing: .2em; text-transform: uppercase; opacity: .8; margin-top: .3em; }
.neva-ec-next { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); border-radius: 12px; padding: .9em 1.1em; max-width: 280px; }
.neva-ec-next-k { display: block; font-size: .68em; letter-spacing: .18em; text-transform: uppercase; color: var(--nv-gold-2); }
.neva-ec-next-d { display: block; font-weight: 700; margin-top: .25em; }
.neva-ec-next-t { display: block; font-size: .88em; opacity: .85; margin-top: .15em; }
@media (max-width: 720px) { .neva-ec-hero { grid-template-columns: 1fr; padding: 1.6em; } .neva-ec-hero-side { justify-content: flex-start; } .neva-ec-hero-hello { font-size: 2em; } }

/* Tuiles */
.neva-ec-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1em; margin: 0 0 1.4em; }
.neva-ec-tile { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--nv-line); border-radius: var(--nv-r); padding: 1.2em 1.2em 1.1em; box-shadow: var(--nv-shadow); position: relative; }
.neva-ec-tile::before { content: ''; position: absolute; left: 1.2em; top: 0; width: 28px; height: 3px; background: var(--nv-gold); border-radius: 0 0 3px 3px; }
.neva-ec-tile.is-todo::before { background: #c0392b; width: 44px; }
.neva-ec-tile.is-done::before { background: var(--nv-ok); }
.neva-ec-tile-k { font-size: .7em; letter-spacing: .18em; text-transform: uppercase; color: var(--nv-mute); font-weight: 700; margin: .3em 0 .5em !important; }
.neva-ec-tile-v { font-weight: 700; font-size: 1.08em; line-height: 1.3; margin: 0 0 .35em !important; }
.neva-ec-tile-t { color: var(--nv-mute); font-size: .88em; flex: 1; }
.neva-ec-tile-a { align-self: flex-start; margin-top: .4em; font-weight: 600; font-size: .9em; text-decoration: none; border-bottom: 1px solid var(--nv-gold); padding-bottom: 1px; }
.neva-ec-tile-a::after { content: ' \2192'; color: var(--nv-gold); }

/* Conseil du moniteur sur le tableau de bord */
.neva-ec-tip { display: block; text-decoration: none !important; background: #fff; border: 1px solid var(--nv-line); border-left: 4px solid var(--nv-gold); border-radius: var(--nv-r); padding: 1.1em 1.3em; margin: 0 0 1.4em; box-shadow: var(--nv-shadow); }
.neva-ec-tip-k { display: block; font-size: .7em; letter-spacing: .16em; text-transform: uppercase; color: var(--nv-gold); font-weight: 700; }
.neva-ec-tip-t { display: block; font-family: 'Neva Cormorant', 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 1.45em; line-height: 1.25; color: var(--nv-ink); margin-top: .2em; }

/* Bandeau fidelite pleine largeur */
.neva-ec-loyal { display: flex; align-items: center; justify-content: space-between; gap: 1.2em; flex-wrap: wrap; background: linear-gradient(100deg, var(--nv-gold) 0%, #d4b660 60%, var(--nv-gold-2) 100%); color: #fff; border-radius: var(--nv-r); padding: 1.3em 1.6em; margin: 0 0 1em; width: 100%; }
.neva-ec-loyal-txt { display: flex; flex-direction: column; gap: .2em; }
.neva-ec-loyal-k { font-size: .7em; letter-spacing: .2em; text-transform: uppercase; opacity: .9; font-weight: 700; }
.neva-ec-loyal-t { font-size: 1.2em; font-weight: 600; }
.neva-ec-loyal-t strong { font-family: Consolas, 'Courier New', monospace; letter-spacing: .1em; background: rgba(255,255,255,.18); padding: .05em .45em; border-radius: 6px; }
.neva-ec-loyal-s { font-size: .9em; opacity: .92; }
.neva-ec-loyal-btn { background: #fff; color: var(--nv-ink) !important; border-radius: 999px; padding: .7em 1.5em; font-weight: 700; text-decoration: none !important; white-space: nowrap; }
.neva-ec-loyal-btn:hover { background: var(--nv-ink); color: #fff !important; }
.neva-ec-more a { font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--nv-gold); }
.neva-ec-more a::after { content: ' \2192'; color: var(--nv-gold); }
.neva-ec-help { margin-top: 2em !important; padding-top: 1em; border-top: 1px solid var(--nv-line); font-size: .88em; color: var(--nv-mute); }
.neva-ec-help a { color: var(--nv-ink); font-weight: 600; }

/* Listes de cours */
.neva-ec-list { list-style: none; margin: 0; padding: 0; }
.neva-ec-item { display: flex; align-items: center; gap: 1em; border: 1px solid var(--nv-line); border-radius: 12px; padding: .9em 1.1em; margin: 0 0 .6em; background: #fff; box-shadow: 0 1px 2px rgba(18,20,17,.04); }
.neva-ec-cal { flex: 0 0 56px; text-align: center; border-radius: 10px; overflow: hidden; border: 1px solid var(--nv-ink); background: #fff; }
.neva-ec-cal-d { display: block; font-size: 1.4em; font-weight: 700; line-height: 1.6; color: var(--nv-ink); }
.neva-ec-cal-m { display: block; background: var(--nv-ink); color: var(--nv-gold-2); font-size: .66em; font-weight: 700; letter-spacing: .1em; padding: .18em 0; }
.neva-ec-item-body { flex: 1; min-width: 0; }
.neva-ec-item-title { font-weight: 600; color: var(--nv-ink); }
.neva-ec-item-meta { color: var(--nv-mute); font-size: .88em; margin-top: .15em; }
.neva-ec-ics { display: inline-block; margin-top: .35em; font-size: .82em; font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--nv-gold); }
.neva-ec-ics::before { content: '+ '; color: var(--nv-gold); }
.neva-ec-st { display: inline-block; padding: .2em .75em; border-radius: 999px; font-size: .8em; font-weight: 600; white-space: nowrap; }
.neva-ec-st-ok { background: var(--nv-ok-bg); color: var(--nv-ok); }
.neva-ec-st-due { background: #fff2cc; color: #7a5a00; }
@media (max-width: 540px) { .neva-ec-item { flex-wrap: wrap; } .neva-ec-item .neva-ec-st { margin-left: 72px; } }

/* Onglets par participant (CSS pur) */
.neva-ec-tabs { display: flex; flex-wrap: wrap; gap: .4em; margin-top: .4em; }
.neva-ec-tab-in { position: absolute; opacity: 0; pointer-events: none; }
.neva-ec-tab-lb { order: 1; cursor: pointer; padding: .5em 1.2em; border: 1px solid var(--nv-line); border-radius: 999px; background: #fff; color: var(--nv-ink); font-weight: 600; font-size: .92em; }
.neva-ec-tab-panel { order: 2; width: 100%; display: none; padding-top: .4em; }
.neva-ec-tab-in:checked + .neva-ec-tab-lb { background: var(--nv-ink); color: #fff; border-color: var(--nv-ink); }
.neva-ec-tab-in:checked + .neva-ec-tab-lb + .neva-ec-tab-panel { display: block; }
.neva-ec-tab-in:focus-visible + .neva-ec-tab-lb { outline: 2px solid var(--nv-gold); outline-offset: 2px; }

/* Ma location : formulaires */
.neva-ec-skiers { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1em; margin: 1em 0; }
.neva-ec-skier { border: 1px solid var(--nv-line); border-radius: 12px; padding: 1em 1.1em .8em; margin: 0; background: var(--nv-soft); }
.neva-ec-skier.is-done { background: #fff; border-color: #cfe5d8; }
.neva-ec-skier legend { font-weight: 700; padding: 0 .4em; font-size: 1.05em; }
.neva-ec-skier-items { list-style: none; margin: 0 0 .8em; padding: 0; font-size: .88em; }
.neva-ec-skier-items li { display: flex; justify-content: space-between; gap: .8em; padding: .3em 0; border-bottom: 1px dashed var(--nv-line); }
.neva-ec-skier-items li span { color: var(--nv-mute); white-space: nowrap; }
.neva-ec-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: .7em; margin: 0 0 .7em; }
.neva-ec-field { display: flex; flex-direction: column; gap: .3em; font-size: .78em; letter-spacing: .06em; text-transform: uppercase; color: var(--nv-mute); font-weight: 700; }
.neva-ec-field input, .neva-ec-field select { width: 100%; font-size: 1.15rem; text-transform: none; letter-spacing: 0; font-weight: 600; color: var(--nv-ink); border: 1px solid #d5d9e2; border-radius: 10px; padding: .55em .7em; background: #fff; }
.neva-ec-field input:focus, .neva-ec-field select:focus { outline: 2px solid var(--nv-gold-2); border-color: var(--nv-gold); }
.neva-ec-field-wide { grid-column: 1 / -1; }
.neva-ec-input { position: relative; display: block; }
.neva-ec-input em { position: absolute; right: .8em; top: 50%; transform: translateY(-50%); font-style: normal; color: var(--nv-mute); font-size: .95rem; pointer-events: none; }
.neva-ec-input input { padding-right: 2.6em; }
.neva-ec-checks { display: flex; flex-wrap: wrap; gap: .5em; margin: .8em 0; }
.neva-ec-check { display: inline-flex; align-items: center; gap: .45em; border: 1px solid var(--nv-line); border-radius: 999px; padding: .4em .9em; background: #fff; font-weight: 600; cursor: pointer; }

/* Passeport : echelle des niveaux */
.neva-ec-pass { background: #fff; border: 1px solid var(--nv-line); border-radius: 18px; overflow: hidden; margin: 0 0 1.5em; box-shadow: var(--nv-shadow); }
.neva-ec-pass-top { display: flex; align-items: center; gap: 1em; flex-wrap: wrap; background: var(--nv-ink); color: #fff; padding: 1em 1.4em; }
.neva-ec-brand { color: var(--nv-gold-2); letter-spacing: .18em; font-size: .7em; font-weight: 700; }
.neva-ec-pass-name { font-family: 'Neva Cormorant', 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 1.7em; line-height: 1; }
.neva-ec-pass-lvl { margin-left: auto; border: 1px solid var(--nv-gold-2); color: var(--nv-gold-2); border-radius: 999px; padding: .25em .9em; font-weight: 700; font-size: .9em; }
.neva-ec-ladder { list-style: none; margin: 0; padding: 1.6em 1.2em 1.2em; display: grid; grid-template-columns: repeat(9, 1fr); gap: .2em; position: relative; background: linear-gradient(180deg, var(--nv-soft), #fff); }
.neva-ec-ladder::before { content: ''; position: absolute; left: 6%; right: 6%; top: calc(1.6em + 22px); height: 2px; background: var(--nv-line); }
.neva-ec-rung { display: flex; flex-direction: column; align-items: center; text-align: center; position: relative; z-index: 1; }
.neva-ec-medal { width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1em; background: #fff; border: 2px dashed #c9ced8; color: #9aa1b2; }
.neva-ec-rung-l { margin-top: .5em; font-size: .78em; font-weight: 600; color: #9aa1b2; line-height: 1.2; }
.neva-ec-rung-tag { margin-top: .35em; font-size: .62em; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: #fff; background: var(--nv-gold); border-radius: 999px; padding: .2em .6em; }
.neva-ec-rung-tag-reco { background: var(--nv-ink); }
.neva-ec-rung.is-done .neva-ec-medal { background: #eceef2; border: 2px solid #d5d9e2; color: #8a91a3; }
.neva-ec-rung.is-done .neva-ec-rung-l { color: #9aa1b2; }
.neva-ec-rung.is-now .neva-ec-medal { width: 60px; height: 60px; margin-top: -8px; font-size: 1.3em; border: 0; color: #fff; background: radial-gradient(circle at 30% 30%, var(--nv-gold-2), var(--nv-gold) 70%); box-shadow: 0 0 0 4px #fff, 0 0 0 6px var(--nv-gold), 0 8px 20px rgba(201,167,68,.35); }
.neva-ec-rung.is-now .neva-ec-rung-l { color: var(--nv-ink); font-weight: 800; font-size: .9em; }
.neva-ec-rung.is-reco .neva-ec-medal { border: 2px solid var(--nv-ink); color: var(--nv-ink); }
.neva-ec-pass-body { padding: .4em 1.4em 1.4em; }
.neva-ec-weeks { list-style: none; margin: 0 0 1em; padding: 0; }
.neva-ec-weeks li { display: flex; flex-wrap: wrap; gap: .5em 1em; align-items: center; padding: .5em 0; border-bottom: 1px dashed var(--nv-line); font-size: .92em; }
.neva-ec-weeks li span:first-child { font-weight: 600; }
.neva-ec-tag { background: var(--nv-ink); color: #fff; font-size: .72em; padding: .1em .55em; border-radius: 999px; }
.neva-ec-tag-gold { background: var(--nv-gold); }
.neva-ec-pass-reco { margin: .8em 0 1em !important; }
@media (max-width: 680px) {
	.neva-ec-ladder { grid-template-columns: repeat(5, 1fr); row-gap: 1.2em; }
	.neva-ec-ladder::before { display: none; }
}
.neva-ec-del, .neva-ec-withdraw { margin-top: 2em; font-size: .88em; color: var(--nv-mute); }

/* Debriefs */
.neva-ec-focus { background: var(--nv-ink); color: #fff; border-radius: 18px; padding: 1.6em 1.8em; margin: .6em 0 1.4em; position: relative; overflow: hidden; }
.neva-ec-focus::before { content: '\201C'; position: absolute; right: .3em; top: -.25em; font-family: Georgia, serif; font-size: 7em; color: rgba(220,197,131,.18); }
.neva-ec-focus-k { display: block; font-size: .7em; letter-spacing: .2em; text-transform: uppercase; color: var(--nv-gold-2); font-weight: 700; }
.neva-ec-focus-t { font-family: 'Neva Cormorant', 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 2em; line-height: 1.15; margin: .25em 0 .4em !important; color: #fff; }
.neva-ec-focus-c { opacity: .88; margin: 0 !important; max-width: 60ch; }
.neva-ec-timeline { list-style: none; margin: 0; padding: 0; }
.neva-ec-deb { display: flex; gap: 1em; align-items: flex-start; background: #fff; border: 1px solid var(--nv-line); border-radius: var(--nv-r); padding: 1.1em 1.2em; margin: 0 0 .8em; box-shadow: var(--nv-shadow); }
.neva-ec-deb-body { flex: 1; min-width: 0; }
.neva-ec-deb-h { font-weight: 700; margin: 0 0 .2em !important; }
.neva-ec-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4em; }
.neva-ec-chip { font-size: .82em; font-weight: 600; border-radius: 999px; padding: .25em .75em; border: 1px solid var(--nv-line); background: var(--nv-soft); }
.neva-ec-chip.is-done { background: var(--nv-ok-bg); border-color: #cfe5d8; color: var(--nv-ok); }
.neva-ec-chip.is-done::before { content: '\2713\00a0'; }
.neva-ec-chip.is-wip { background: #fff; border-style: dashed; border-color: var(--nv-gold); color: var(--nv-ink); }
.neva-ec-chip.is-piste { background: #eef3fb; border-color: #d5e0f2; color: #234a8a; }
.neva-ec-deb-axe { margin: .9em 0 .3em !important; padding: .7em .9em; background: var(--nv-gold-bg); border-radius: 10px; }
.neva-ec-deb-q { margin: .6em 0 0; padding: 0 0 0 1em; border-left: 2px solid var(--nv-gold); font-family: 'Neva Cormorant', 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 1.2em; color: var(--nv-ink-2); }

/* Avantages */
.neva-ec-perks { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1em; }
.neva-ec-perk { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--nv-line); border-radius: var(--nv-r); padding: 1.2em; box-shadow: var(--nv-shadow); }
.neva-ec-perk-n { font-family: 'Neva Cormorant', 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 1.5em; line-height: 1.1; margin: 0 0 .2em !important; }
.neva-ec-perk-o { font-weight: 700; color: var(--nv-gold); margin: 0 0 .7em !important; }
.neva-ec-perk-code { display: flex; flex-direction: column; border: 1px dashed var(--nv-gold); border-radius: 10px; padding: .5em .8em; background: var(--nv-gold-bg); font-family: Consolas, 'Courier New', monospace; font-weight: 700; letter-spacing: .08em; font-size: 1.05em; }
.neva-ec-perk-code span { font-family: inherit; font-size: .6em; letter-spacing: .16em; text-transform: uppercase; color: var(--nv-mute); font-weight: 700; }
.neva-ec-perk-code.is-txt { font-family: inherit; letter-spacing: 0; font-size: .95em; }
.neva-ec-perk-d { color: var(--nv-mute); font-size: .88em; margin-top: .7em !important; flex: 1; }
.neva-ec-perk-a { align-self: flex-start; font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--nv-gold); }
.neva-ec-perk-a::after { content: ' \2192'; color: var(--nv-gold); }
.neva-ec-cardcta { display: flex; align-items: center; justify-content: space-between; gap: 1em; flex-wrap: wrap; border: 1px solid var(--nv-ink); border-radius: var(--nv-r); padding: 1.1em 1.4em; margin-top: 1.6em; }
.neva-ec-cardcta-t { font-weight: 700; margin: 0 !important; }

/* Intro 5 s */
.neva-ec-intro { position: fixed; inset: 0; z-index: 99999; background: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; transition: opacity .6s ease; }
.neva-ec-intro[hidden] { display: none; }
.neva-ec-intro-anim { width: min(340px, 72vw); height: auto; display: block; animation: nevaEcLogo 1s cubic-bezier(.2,.7,.2,1) both; } /* 0.5.12 : Reflet or */
.neva-ec-intro-logo svg { width: min(300px, 64vw); height: auto; display: block; animation: nevaEcLogo 1.4s cubic-bezier(.2,.7,.2,1) both; }
.neva-ec-intro-slogan { font-family: 'Neva Cormorant', 'Cormorant Garamond', Georgia, serif; font-style: italic; font-weight: 500; font-size: clamp(1.4em, 4vw, 2.1em); color: #121411; margin: 1em 0 0; animation: nevaEcFade 1.2s ease 1s both; }
.neva-ec-intro-slogan::after { content: ''; display: block; width: 48px; height: 2px; background: #C9A744; margin: .6em auto 0; animation: nevaEcLine 1s ease 1.8s both; }
.neva-ec-intro-skip { position: absolute; bottom: 1.5em; right: 1.5em; background: transparent; border: 1px solid #c9ced8; color: #6b7385; padding: .4em 1em; border-radius: 20px; cursor: pointer; font-size: .8em; }
.neva-ec-intro-out { opacity: 0; }
@keyframes nevaEcLogo { from { opacity: 0; transform: scale(.94); } to { opacity: 1; transform: none; } }
@keyframes nevaEcLine { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes nevaEcFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* Menu Mon compte lisible (le theme affichait des puces vides) */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none !important; margin: 0 !important; padding: .4em !important; border: 1px solid #e6e8ee; border-radius: 14px; overflow: hidden; background: #fff; box-shadow: 0 1px 2px rgba(18,20,17,.05); }
.woocommerce-account .woocommerce-MyAccount-navigation li { list-style: none !important; margin: 0 0 2px !important; padding: 0 !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li::marker { content: ''; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: .75em 1em; border-radius: 10px; color: #121411 !important; font-weight: 600; text-decoration: none !important; background: transparent; transition: background .15s; }
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: #f7f5ef; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: #121411; color: #fff !important; box-shadow: inset 3px 0 0 #C9A744; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: .4em !important; border-top: 1px solid #eef0f4; padding-top: .3em !important; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a { color: #6b7385 !important; font-weight: 500; }

/* Carte membre */
.neva-ec-carte { max-width: 420px; margin: 1em auto; background: #fff; border: 2px solid #121411; border-radius: 18px; padding: 1.6em 1.6em 1.3em; text-align: center; box-shadow: 0 10px 30px rgba(18,20,17,.14); }
.neva-ec-carte-logo svg { width: 180px; height: auto; }
.neva-ec-carte-slogan { font-family: 'Neva Cormorant', 'Cormorant Garamond', Georgia, serif; font-style: italic; font-weight: 500; font-size: 1.25em; color: #121411; margin-top: .3em; }
.neva-ec-carte-titre { margin-top: 1.1em; font-size: .78em; letter-spacing: .18em; text-transform: uppercase; color: #C9A744; font-weight: 700; }
.neva-ec-carte-nom { font-size: 1.5em; font-weight: 700; color: #121411; margin: .2em 0 .8em; }
.neva-ec-carte-avantages { list-style: none; margin: 0 0 1em; padding: .8em 0; border-top: 1px solid #e6e8ee; border-bottom: 1px solid #e6e8ee; }
.neva-ec-carte-avantages li { padding: .25em 0; color: #121411; font-weight: 600; }
.neva-ec-carte-valide { font-size: .8em; color: #6b7385; }
.neva-ec-carte-actions { text-align: center; font-size: .9em; }
@media print { body * { visibility: hidden; } .neva-ec-carte, .neva-ec-carte * { visibility: visible; } .neva-ec-carte { position: absolute; left: 0; top: 0; box-shadow: none; } }

/* v0.3.1 : vraies medailles, descriptif au clic, gammes de location, attentes, boutique */
.neva-ec-levels { position: relative; }
.neva-ec-lv-in { position: absolute; opacity: 0; pointer-events: none; }
.neva-ec-rung label { display: flex; flex-direction: column; align-items: center; cursor: pointer; width: 100%; }
.neva-ec-medal { position: relative; width: 52px; height: 52px; border: 0 !important; background: transparent !important; transition: transform .2s; }
.neva-ec-medal img { width: 100%; height: 100%; object-fit: contain; display: block; border-radius: 50%; }
.neva-ec-rung.is-next .neva-ec-medal img { filter: grayscale(1) opacity(.45); }
.neva-ec-rung.is-done .neva-ec-medal img { filter: grayscale(1) opacity(.8); }
.neva-ec-medal-ok { position: absolute; right: -4px; bottom: -2px; width: 20px; height: 20px; border-radius: 50%; background: #8a91a3; color: #fff; font-size: 11px; line-height: 20px; text-align: center; box-shadow: 0 0 0 2px #fff; }
.neva-ec-rung.is-now .neva-ec-medal { width: 72px !important; height: 72px !important; margin-top: -10px; box-shadow: 0 0 0 4px #fff, 0 0 0 6px var(--nv-gold), 0 10px 24px rgba(201,167,68,.35) !important; border-radius: 50%; }
.neva-ec-rung.is-reco .neva-ec-medal img { filter: none; }
.neva-ec-rung.is-reco .neva-ec-medal { box-shadow: 0 0 0 3px var(--nv-ink); border-radius: 50%; }
.neva-ec-rung label:hover .neva-ec-medal { transform: translateY(-2px); }
.neva-ec-ladder::before { top: calc(1.6em + 26px); }
.neva-ec-lvl-panels { padding: 0 1.4em; }
.neva-ec-lvl-p { display: none; align-items: center; gap: 1em; background: var(--nv-soft); border: 1px solid var(--nv-line); border-radius: 12px; padding: .8em 1em; margin: .2em 0 .6em; }
.neva-ec-lvl-p img { flex: 0 0 56px; }
.neva-ec-lvl-t { font-weight: 700; margin: 0 0 .15em !important; }
.neva-ec-lvl-t span { font-weight: 400; color: var(--nv-mute); font-size: .88em; margin-left: .4em; }
.neva-ec-lvl-d { margin: 0 !important; }
.neva-ec-lv-in-0:checked ~ .neva-ec-lvl-panels .neva-ec-lvl-p-0, .neva-ec-lv-in-1:checked ~ .neva-ec-lvl-panels .neva-ec-lvl-p-1,
.neva-ec-lv-in-2:checked ~ .neva-ec-lvl-panels .neva-ec-lvl-p-2, .neva-ec-lv-in-3:checked ~ .neva-ec-lvl-panels .neva-ec-lvl-p-3,
.neva-ec-lv-in-4:checked ~ .neva-ec-lvl-panels .neva-ec-lvl-p-4, .neva-ec-lv-in-5:checked ~ .neva-ec-lvl-panels .neva-ec-lvl-p-5,
.neva-ec-lv-in-6:checked ~ .neva-ec-lvl-panels .neva-ec-lvl-p-6, .neva-ec-lv-in-7:checked ~ .neva-ec-lvl-panels .neva-ec-lvl-p-7,
.neva-ec-lv-in-8:checked ~ .neva-ec-lvl-panels .neva-ec-lvl-p-8 { display: flex; }
.neva-ec-lv-in-0:checked ~ .neva-ec-ladder .neva-ec-rung-0 .neva-ec-rung-l, .neva-ec-lv-in-1:checked ~ .neva-ec-ladder .neva-ec-rung-1 .neva-ec-rung-l,
.neva-ec-lv-in-2:checked ~ .neva-ec-ladder .neva-ec-rung-2 .neva-ec-rung-l, .neva-ec-lv-in-3:checked ~ .neva-ec-ladder .neva-ec-rung-3 .neva-ec-rung-l,
.neva-ec-lv-in-4:checked ~ .neva-ec-ladder .neva-ec-rung-4 .neva-ec-rung-l, .neva-ec-lv-in-5:checked ~ .neva-ec-ladder .neva-ec-rung-5 .neva-ec-rung-l,
.neva-ec-lv-in-6:checked ~ .neva-ec-ladder .neva-ec-rung-6 .neva-ec-rung-l, .neva-ec-lv-in-7:checked ~ .neva-ec-ladder .neva-ec-rung-7 .neva-ec-rung-l,
.neva-ec-lv-in-8:checked ~ .neva-ec-ladder .neva-ec-rung-8 .neva-ec-rung-l { color: var(--nv-ink); text-decoration: underline; text-decoration-color: var(--nv-gold); text-underline-offset: 4px; }

.neva-ec-gammes { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1em; margin: 1em 0 1.4em; }
.neva-ec-gamme { border: 1px solid var(--nv-line); border-radius: 14px; padding: 1.1em 1.2em; background: #fff; display: flex; flex-direction: column; }
.neva-ec-gamme-head { display: flex; flex-direction: column; margin-bottom: .4em; }
.neva-ec-gamme-k { font-size: .7em; letter-spacing: .16em; text-transform: uppercase; color: var(--nv-mute); font-weight: 700; }
.neva-ec-gamme-n { font-family: 'Neva Cormorant', 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 1.7em; line-height: 1.1; }
.neva-ec-gamme-bronze .neva-ec-gamme-n { color: #9a5b2b; } .neva-ec-gamme-argent .neva-ec-gamme-n { color: #6f7785; } .neva-ec-gamme-or .neva-ec-gamme-n { color: var(--nv-gold); }
.neva-ec-gamme-s { font-weight: 600; margin: 0 0 .4em !important; }
.neva-ec-gamme-t { color: var(--nv-mute); font-size: .9em; }
.neva-ec-upgrade { margin-top: auto; border-top: 1px dashed var(--nv-gold); padding-top: .9em; background: linear-gradient(180deg, #fff, var(--nv-gold-bg)); border-radius: 0 0 10px 10px; margin-left: -1.2em; margin-right: -1.2em; margin-bottom: -1.1em; padding: .9em 1.2em 1.1em; }
.neva-ec-upgrade-k { font-size: .72em; letter-spacing: .16em; text-transform: uppercase; color: var(--nv-gold); font-weight: 800; margin: 0 0 .3em !important; }
.neva-ec-upgrade-s { font-weight: 600; margin: 0 0 .3em !important; }
.neva-ec-upgrade-p { margin: .4em 0 .7em !important; }
.neva-ec-upgrade-p strong { font-size: 1.4em; color: var(--nv-ink); }

.neva-ec-attentes { margin-top: 1.4em; }
.neva-ec-field textarea { width: 100%; font-size: 1rem; text-transform: none; letter-spacing: 0; font-weight: 400; color: var(--nv-ink); border: 1px solid #d5d9e2; border-radius: 10px; padding: .6em .7em; background: #fff; font-family: inherit; }
.neva-ec-field textarea:focus { outline: 2px solid var(--nv-gold-2); border-color: var(--nv-gold); }

.neva-ec-shop { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 1em; }
.neva-ec-prod { background: #fff; border: 1px solid var(--nv-line); border-radius: 14px; padding: .8em; display: flex; flex-direction: column; box-shadow: var(--nv-shadow); }
.neva-ec-prod-img img { width: 100%; height: 150px; object-fit: contain; display: block; }
.neva-ec-prod-n { font-weight: 600; font-size: .92em; margin: .5em 0 .2em !important; line-height: 1.3; }
.neva-ec-prod-n a { text-decoration: none; }
.neva-ec-prod-p { color: var(--nv-gold); font-weight: 700; margin: 0 0 .6em !important; flex: 1; }
.neva-ec-prod-b { align-self: stretch; text-align: center; background: var(--nv-ink); color: #fff !important; border-radius: 999px; padding: .5em .8em; font-weight: 600; font-size: .88em; text-decoration: none !important; }
.neva-ec-prod-b:hover { background: var(--nv-gold); }
.neva-ec-backshop { margin: 0 0 1em; }
.neva-ec-backshop a { font-weight: 600; text-decoration: none; border-bottom: 1px solid #C9A744; color: #121411; }
.neva-ec-backshop a::before { content: '\2190 '; color: #C9A744; }

/* v0.3.2 : programme membre « Mon statut » (rendu de MEMBERSHIP_PROPOSITION.html) */
.neva-ec-mb { display: grid; grid-template-columns: minmax(280px, 400px) 1fr; gap: 2em; align-items: center; margin: 0 0 1.6em; }
@media (max-width: 760px) { .neva-ec-mb { grid-template-columns: 1fr; } }
.neva-ec-mb-card { position: relative; aspect-ratio: 1.586; border-radius: 20px; padding: 1.3em 1.4em; color: #fff; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 18px 40px rgba(18,20,17,.25); }
.neva-ec-mb-card::after { content: ''; position: absolute; inset: 0; background: radial-gradient(120% 80% at 110% -10%, rgba(255,255,255,.35), transparent 55%); pointer-events: none; }
.neva-ec-mb-card.is-bronze { background: linear-gradient(135deg,#5a3418 0%,#9a5b2b 40%,#c98a52 70%,#7a4520 100%); }
.neva-ec-mb-card.is-argent { background: linear-gradient(135deg,#4a525e 0%,#9aa3ae 40%,#dfe3e8 62%,#7d8691 100%); color: #121411; }
.neva-ec-mb-card.is-or { background: linear-gradient(135deg,#6b4a12 0%,#C9A744 35%,#ecd08a 60%,#9a6d1c 100%); color: #121411; }
.neva-ec-mb-top { display: flex; justify-content: space-between; align-items: center; }
.neva-ec-mb-logo svg { width: 96px; height: auto; display: block; }
.neva-ec-mb-card.is-bronze .neva-ec-mb-logo svg path { fill: #fff; }
.neva-ec-mb-tier { font-size: .68em; letter-spacing: .2em; text-transform: uppercase; font-weight: 800; border: 1px solid currentColor; border-radius: 999px; padding: .25em .8em; }
.neva-ec-mb-chip { width: 44px; height: 32px; border-radius: 7px; margin: 1em 0 .6em; background: linear-gradient(135deg,#f3e3b0,#b99245); box-shadow: inset 0 0 0 1px rgba(0,0,0,.15); }
.neva-ec-mb-name { font-size: 1.3em; font-weight: 700; letter-spacing: .03em; }
.neva-ec-mb-sub { font-size: .8em; opacity: .85; }
.neva-ec-mb-bar { margin-top: auto; height: 6px; border-radius: 6px; background: rgba(0,0,0,.18); overflow: hidden; }
.neva-ec-mb-bar span { display: block; height: 100%; background: #fff; }
.neva-ec-mb-card.is-argent .neva-ec-mb-bar span, .neva-ec-mb-card.is-or .neva-ec-mb-bar span { background: #121411; }
.neva-ec-mb-next { font-size: .78em; margin-top: .35em; font-weight: 600; }
.neva-ec-mb-foot { display: flex; justify-content: space-between; font-size: .68em; letter-spacing: .12em; text-transform: uppercase; margin-top: .5em; opacity: .85; }
.neva-ec-mb-foot span:first-child { font-family: 'Neva Cormorant', Georgia, serif; font-style: italic; text-transform: none; letter-spacing: 0; font-size: 1.3em; }
.neva-ec-mb-steps { list-style: none; margin: 0 0 1em; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); position: relative; }
.neva-ec-mb-steps::before { content: ''; position: absolute; left: 16%; right: 16%; top: 34px; height: 3px; background: linear-gradient(90deg,#c98a52,#c9ced8 50%,#ecd08a); }
.neva-ec-mb-step { display: flex; flex-direction: column; align-items: center; text-align: center; position: relative; }
.neva-ec-mb-medal { width: 68px; height: 68px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 1.4em; color: #fff; box-shadow: 0 0 0 5px #fff, 0 10px 24px rgba(18,20,17,.18); position: relative; }
.neva-ec-mb-step.is-bronze .neva-ec-mb-medal { background: radial-gradient(circle at 30% 30%,#e3a874,#9a5b2b); }
.neva-ec-mb-step.is-argent .neva-ec-mb-medal { background: radial-gradient(circle at 30% 30%,#f4f6f8,#8a929e); color: #121411; }
.neva-ec-mb-step.is-or .neva-ec-mb-medal { background: radial-gradient(circle at 30% 30%,#f3dc9c,#C9A744); color: #121411; }
.neva-ec-mb-step.is-done .neva-ec-mb-medal::after { content: '\2713'; position: absolute; right: -4px; bottom: -2px; width: 24px; height: 24px; border-radius: 50%; background: #1f6b45; color: #fff; font-size: .55em; line-height: 24px; text-align: center; box-shadow: 0 0 0 2px #fff; }
.neva-ec-mb-step.is-now .neva-ec-mb-medal { transform: scale(1.1); box-shadow: 0 0 0 5px #fff, 0 0 0 8px #C9A744, 0 12px 28px rgba(201,167,68,.4); }
.neva-ec-mb-step.is-next .neva-ec-mb-medal { filter: grayscale(.85) opacity(.5); }
.neva-ec-mb-step-n { font-weight: 700; margin-top: .9em; font-size: .95em; }
.neva-ec-mb-step-s { color: var(--nv-mute); font-size: .8em; }
.neva-ec-mb-step.is-next .neva-ec-mb-step-n { color: #9aa1b2; }
.neva-ec-mb-rule { color: var(--nv-mute); font-size: .88em; background: var(--nv-soft); border-radius: 12px; padding: .8em 1em; }
.neva-ec-mb-table { overflow-x: auto; background: #fff; border: 1px solid var(--nv-line); border-radius: 14px; box-shadow: var(--nv-shadow); }
.neva-ec-mb-table table { width: 100%; border-collapse: collapse; font-size: .92em; margin: 0; }
.neva-ec-mb-table th, .neva-ec-mb-table td { padding: .75em .9em; border-bottom: 1px solid var(--nv-line); text-align: center; vertical-align: middle; }
.neva-ec-mb-table td.neva-ec-mb-k { text-align: left; font-weight: 600; }
.neva-ec-mb-table th { font-size: .72em; letter-spacing: .14em; text-transform: uppercase; }
.neva-ec-mb-table th small { display: block; letter-spacing: .06em; text-transform: none; font-weight: 600; color: var(--nv-gold); }
.neva-ec-mb-table th.is-bronze { color: #9a5b2b; } .neva-ec-mb-table th.is-argent { color: #6f7785; } .neva-ec-mb-table th.is-or { color: var(--nv-gold); }
.neva-ec-mb-table .is-cur { background: var(--nv-gold-bg); }
.neva-ec-mb-table th.is-cur { box-shadow: inset 0 3px 0 var(--nv-gold); }
.neva-ec-mb-table td.is-yes { color: #1f6b45; font-weight: 800; }
.neva-ec-mb-table td.is-no { color: #c3c8d2; }

/* v0.3.3 : reserver sans quitter l'espace */
.neva-ec-hero-cta { margin: 1em 0 0 !important; }
.neva-ec-add { border: 1px dashed #cfd4de; border-radius: 14px; padding: 1em 1.1em; margin: 1em 0 0; background: #fff; }
.neva-ec-add-btns { display: flex; flex-wrap: wrap; gap: .6em; }
.neva-ec-add-b { display: inline-flex; align-items: center; gap: .4em; background: var(--nv-ink); color: #fff !important; border-radius: 999px; padding: .6em 1.2em; font-weight: 600; font-size: .9em; text-decoration: none !important; transition: background .2s; }
.neva-ec-add-b::before { content: '+'; color: var(--nv-gold-2); font-weight: 800; }
.neva-ec-add-b:hover { background: var(--nv-gold); }
.neva-ec-add-b.is-ghost { background: #fff; color: var(--nv-ink) !important; border: 1px solid var(--nv-ink); }
.neva-ec-add-b.is-ghost:hover { background: var(--nv-soft); }
.neva-ec-add-h { margin: .7em 0 0 !important; font-size: .85em; color: var(--nv-mute); }
.neva-ec-modal { position: fixed; inset: 0; z-index: 9999998; background: #fff; display: flex; flex-direction: column; }
.neva-ec-modal[hidden] { display: none; }
.neva-ec-modal-bar { display: flex; align-items: center; justify-content: space-between; gap: 1em; padding: .6em 1em; background: #121411; color: #fff; }
.neva-ec-modal-t { font-family: 'Neva Cormorant', Georgia, serif; font-style: italic; font-size: 1.3em; }
.neva-ec-modal-x { background: #fff; color: #121411; border: 0; border-radius: 999px; padding: .45em 1.1em; font-weight: 700; cursor: pointer; }
.neva-ec-modal-f { flex: 1; width: 100%; border: 0; }


/* v0.3.4 : univers neva.ski (kit Elementor) : Sora pour les titres, Manrope pour le texte,
   or #C9A744, noir #121411, creme #F4F1E9, boutons pilule Sora 700, cartes a coins 8px.
   Cormorant reste reserve au slogan « Born for the ride » (intro, cartes). */
.neva-ec, .neva-ec input, .neva-ec select, .neva-ec textarea, .neva-ec button { font-family: 'Manrope', -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; }
.neva-ec { color: #1A1A1A; }
.neva-ec-head-t, .neva-ec-hero-hello, .neva-ec-panel-t, .neva-ec-pass-name, .neva-ec-focus-t, .neva-ec-tip-t, .neva-ec-perk-n,
.neva-ec-gamme-n, .neva-ec-empty-t, .neva-ec-h, .neva-ec-tile-v, .neva-ec-mb-name, .neva-ec-modal-t {
	font-family: 'Sora', 'Manrope', sans-serif !important; font-style: normal !important; letter-spacing: -.01em;
}
.neva-ec-head-t { font-weight: 700; font-size: 2em; }
.neva-ec-hero-hello { font-weight: 700; font-size: 2.2em; }
.neva-ec-panel-t, .neva-ec-perk-n, .neva-ec-gamme-n { font-weight: 600; font-size: 1.3em; }
.neva-ec-focus-t, .neva-ec-tip-t { font-weight: 600; }
.neva-ec-pass-name { font-weight: 700; font-size: 1.4em; }
.neva-ec-eyebrow, .neva-ec-tile-k, .neva-ec-mini, .neva-ec-tip-k, .neva-ec-focus-k, .neva-ec-next-k, .neva-ec-loyal-k, .neva-ec-gamme-k, .neva-ec-upgrade-k { font-family: 'Sora', sans-serif; }
.neva-ec .button.neva-ec-btn, .neva-ec-btn, .neva-ec-loyal-btn, .neva-ec-add-b, .neva-ec-prod-b, .neva-ec-modal-x {
	font-family: 'Sora', sans-serif !important; font-weight: 700 !important; font-size: 14px !important; border-radius: 999px !important; letter-spacing: 0;
}
.neva-ec .button.neva-ec-btn, .neva-ec-btn { background: #121411 !important; }
.neva-ec .button.neva-ec-btn:hover, .neva-ec-btn:hover, .neva-ec-add-b:hover, .neva-ec-prod-b:hover { background: #C9A744 !important; color: #121411 !important; }
.neva-ec-hero { border-radius: 8px; background: radial-gradient(120% 140% at 100% 0%, #2e2c22 0%, #121411 55%, #0b0c0a 100%); }
.neva-ec-hero-logo { display: block; width: 110px; height: auto; margin: 0 0 1.1em; }
.neva-ec-pass, .neva-ec-focus, .neva-ec-tile, .neva-ec-panel, .neva-ec-perk, .neva-ec-gamme, .neva-ec-prod, .neva-ec-deb, .neva-ec-tip, .neva-ec-loyal, .neva-ec-empty, .neva-ec-mb-table { border-radius: 8px; }
.neva-ec-pass { position: relative; }
.neva-ec-pass::after { content: ''; position: absolute; right: 18px; bottom: 16px; width: 170px; height: 40px; background: url('logo-neva-dark.svg') no-repeat right bottom / contain; opacity: .06; pointer-events: none; }
.neva-ec-pass-top { background: #121411; }
.neva-ec-pass-logo { width: 78px; height: auto; display: block; }
.neva-ec-loyal { background: linear-gradient(100deg, #b8952f 0%, #C9A744 55%, #dcc583 100%); color: #121411; }
.neva-ec-loyal-t strong { background: rgba(18,20,17,.1); }
.neva-ec-loyal-btn { background: #121411; color: #fff !important; }
.neva-ec-loyal-btn:hover { background: #fff; color: #121411 !important; }
.neva-ec-hero .neva-ec-loyal-btn { background: #C9A744; color: #121411 !important; }
.neva-ec-hero .neva-ec-loyal-btn:hover { background: #fff; }
.neva-ec-count-n, .neva-ec-next-k, .neva-ec-eyebrow-light, .neva-ec-focus-k { color: #C9A744; }
.neva-ec-focus { background: #121411; }
.neva-ec-tab-in:checked + .neva-ec-tab-lb { background: #121411; border-color: #121411; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { border-radius: 8px; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { font-family: 'Sora', 'Manrope', sans-serif; font-weight: 600; border-radius: 6px; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: #121411; box-shadow: inset 3px 0 0 #C9A744; }
.neva-ec-carte { border-color: #121411; border-radius: 12px; }
.neva-ec-carte-titre { color: #C9A744; }

/* v0.3.5 : medailles plus grandes, demandes, galerie des debriefs, carte membre au visuel « Mon statut » */
.neva-ec-ladder { padding: 2em 1em 1.4em; }
.neva-ec-medal { width: 78px !important; height: 78px !important; }
.neva-ec-rung.is-now .neva-ec-medal { width: 112px !important; height: 112px !important; margin-top: -16px; }
.neva-ec-ladder::before { top: calc(2em + 39px); }
.neva-ec-medal-ok { width: 24px; height: 24px; line-height: 24px; font-size: 13px; }
.neva-ec-rung-l { font-size: .85em; }
.neva-ec-lvl-p img { flex: 0 0 72px; width: 72px; height: 72px; }
@media (max-width: 680px) { .neva-ec-medal { width: 60px !important; height: 60px !important; } .neva-ec-rung.is-now .neva-ec-medal { width: 84px !important; height: 84px !important; } }

.neva-ec-price { margin: .4em 0 .9em !important; font-family: 'Sora', sans-serif; font-weight: 600; background: #F4F1E9; border-radius: 8px; padding: .7em .9em; }
.neva-ec-upgrade form { margin: .5em 0 0; }
.neva-ec-upgrade-n { margin-top: .5em !important; font-size: .82em; }
.neva-ec-perk-card { align-self: flex-start; margin-top: .2em; }

.neva-ec-gal { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .6em; margin: .2em 0 .8em; }
.neva-ec-gal-i { margin: 0; border-radius: 8px; overflow: hidden; background: #121411; position: relative; }
.neva-ec-gal-i img, .neva-ec-gal-i video { display: block; width: 100%; height: 130px; object-fit: cover; }
.neva-ec-gal-i a { display: block; }
.neva-ec-gal-i a:hover img { opacity: .9; transform: scale(1.02); transition: transform .2s; }
.neva-ec-gal-i figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: .35em .55em; font-size: .75em; color: #fff; background: linear-gradient(0deg, rgba(0,0,0,.65), transparent); pointer-events: none; }
.neva-ec-gal-i.is-video figcaption { position: static; background: #121411; }
.neva-ec-lb { position: fixed; inset: 0; z-index: 9999999; background: rgba(10,10,9,.94); display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3em 1em 2em; }
.neva-ec-lb[hidden] { display: none; }
.neva-ec-lb img { max-width: 100%; max-height: 82vh; object-fit: contain; border-radius: 6px; }
.neva-ec-lb-t { color: #fff; margin-top: .8em; font-size: .95em; }
.neva-ec-lb-x { position: absolute; top: .5em; right: .7em; background: transparent; border: 0; color: #fff; font-size: 2.4em; line-height: 1; cursor: pointer; }

.neva-ec-carte-wrap { max-width: 440px; margin: 1em auto; }
.neva-ec-carte-wrap .neva-ec-mb-card { margin-bottom: 1em; }
.neva-ec-carte-wrap .neva-ec-carte-avantages { list-style: none; padding: 0; margin: 0 0 1em; background: #fff; border: 1px solid #e6e8ee; border-radius: 8px; }
.neva-ec-carte-wrap .neva-ec-carte-avantages li { padding: .65em 1em; border-bottom: 1px solid #f0eee8; font-size: .92em; }
.neva-ec-carte-wrap .neva-ec-carte-avantages li:last-child { border-bottom: 0; }
.neva-ec-mb-spacer { margin-top: auto; }
.neva-ec-mb { grid-template-columns: minmax(280px, 420px) 1fr; }
.neva-ec-mb-table th.is-reste, .neva-ec-mb-table td.is-reste { background: #121411; color: #fff; font-weight: 600; }
.neva-ec-mb-table th.is-reste { color: #C9A744; }
.neva-ec-mb-ok { color: #6fd08c; font-weight: 800; font-size: 1.1em; }
@media print { .neva-ec-carte-wrap, .neva-ec-carte-wrap * { visibility: visible; } .neva-ec-carte-wrap { position: absolute; left: 0; top: 0; } }

/* ===================== v0.3.6 (13/10/2026) : remarques de Raphael ===================== */
/* Jetons de mouvement (regles Emil Kowalski) : ease-out pour entrer/sortir, jamais ease-in, UI < 300 ms. */
.neva-ec { --nv-ease-out: cubic-bezier(0.23, 1, 0.32, 1); --nv-ease-io: cubic-bezier(0.77, 0, 0.175, 1); font-size: 1.06rem; line-height: 1.55; }

/* 1. Accueil : la photo de montagne et le grand NEVA du site, au lieu d'un fond vide. */
.neva-ec-hero {
	min-height: 340px; padding: 2.6em 2.6em 2.4em; border-radius: 14px;
	background:
		linear-gradient(100deg, rgba(11,12,10,.86) 0%, rgba(11,12,10,.62) 48%, rgba(11,12,10,.28) 100%),
		url('https://neva.ski/wp-content/uploads/2026/06/shutterstock_530912209.jpg') center 38% / cover no-repeat;
	box-shadow: 0 24px 48px rgba(18,20,17,.18);
}
.neva-ec-hero::after { content: ''; position: absolute; inset: auto -2% -6% auto; width: 78%; height: 62%; border: 0; border-radius: 0;
	background: url('neva-bg-big.png') right bottom / contain no-repeat; opacity: .22; pointer-events: none; }
.neva-ec-hero-main { position: relative; z-index: 1; }
.neva-ec-hero-hello { font-size: clamp(2.2rem, 4.6vw, 3.4rem); line-height: 1.05; letter-spacing: -0.01em; }
.neva-ec-hero-sub { font-size: 1.08em; max-width: 34em; }
.neva-ec-next { background: rgba(255,255,255,.1); backdrop-filter: blur(14px) saturate(160%); -webkit-backdrop-filter: blur(14px) saturate(160%); }
@media (max-width: 720px) { .neva-ec-hero { min-height: 0; padding: 1.8em 1.5em; } .neva-ec-hero::after { width: 100%; opacity: .14; } }

/* Lisibilite : etiquettes et textes secondaires moins petits. */
.neva-ec-muted, .neva-ec-tile-t, .neva-ec-item-meta { font-size: .95em; }
.neva-ec-tile-k, .neva-ec-mini, .neva-ec-eyebrow { font-size: .76em; }
.neva-ec-tile-v { font-size: 1.15em; }
.neva-ec-panel-t { font-size: 1.75em; }
.neva-ec-h { font-size: 1.2em; }

/* 2. Montee en gamme : toutes les gammes superieures, cote a cote. */
.neva-ec-upgrades { margin-top: 1em; }
.neva-ec-upgrade-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1em; margin: .6em 0; }
.neva-ec-upgrade { border-radius: 10px; padding: 1.2em 1.3em; border: 1px solid var(--nv-line); background: #fff; }
.neva-ec-upgrade-argent { background: linear-gradient(160deg, #f4f6f8 0%, #fff 60%); border-color: #c9ced8; }
.neva-ec-upgrade-or { background: linear-gradient(160deg, #f7ecc9 0%, #fff 65%); border-color: #C9A744; }
.neva-ec-upgrade-n2 { font-family: 'Neva Cormorant', 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 1.9em; line-height: 1; margin: 0 0 .25em !important; }

/* 4. Statut : ou j'en suis, les etapes cochees, les suggestions. */
.neva-ec-path-top { background: #121411; color: #fff; border-radius: 14px; padding: 1.6em 1.8em; margin: 0 0 1.2em; }
.neva-ec-path-k { font-size: .76em; letter-spacing: .2em; text-transform: uppercase; color: var(--nv-gold-2); font-weight: 700; margin: 0 0 .4em !important; }
.neva-ec-path .neva-ec-path-k { color: var(--nv-gold); }
.neva-ec-path-top .neva-ec-path-k { color: var(--nv-gold-2); }
.neva-ec-path-big { font-family: 'Neva Cormorant', 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: clamp(2rem, 4vw, 2.8rem); line-height: 1.05; margin: 0 0 .5em !important; }
.neva-ec-path-sub { opacity: .8; margin: .6em 0 0 !important; }
.neva-ec-path-bar { height: 10px; border-radius: 10px; background: rgba(255,255,255,.14); overflow: hidden; }
.neva-ec-path-bar span { display: block; height: 100%; border-radius: 10px; background: linear-gradient(90deg, #c9ced8, #f4f6f8); transform-origin: left; animation: nv-grow 900ms var(--nv-ease-out) both; }
.neva-ec-path-bar.is-or span { background: linear-gradient(90deg, #b8952f, #ecd08a); }
@keyframes nv-grow { from { transform: scaleX(.02); } to { transform: scaleX(1); } }
.neva-ec-steps { list-style: none; margin: 0 0 1.4em; padding: 0; display: grid; gap: .6em; }
.neva-ec-stepi { display: flex; align-items: center; gap: 1em; background: #fff; border: 1px solid var(--nv-line); border-radius: 12px; padding: 1em 1.2em; font-size: 1.05em; }
.neva-ec-stepi-ic { flex: 0 0 38px; height: 38px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 800; border: 2px solid #c3c8d2; color: #9aa1b2; }
.neva-ec-stepi.is-done { border-color: #bfe0cc; background: #f3faf6; }
.neva-ec-stepi.is-done .neva-ec-stepi-ic { background: #1f6b45; border-color: #1f6b45; color: #fff; }
.neva-ec-stepi-t { display: flex; flex-direction: column; font-weight: 600; }
.neva-ec-stepi-t em { font-style: normal; font-weight: 600; font-size: .78em; letter-spacing: .14em; text-transform: uppercase; color: var(--nv-mute); margin-top: .2em; }
.neva-ec-stepi.is-done .neva-ec-stepi-t em { color: #1f6b45; }
.neva-ec-stepi-sep { text-align: center; font-family: 'Neva Cormorant', Georgia, serif; font-style: italic; font-size: 1.2em; color: var(--nv-mute); }
.neva-ec-sugg { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1em; margin: .6em 0 1.6em; }
.neva-ec-sugg-c { display: flex; flex-direction: column; gap: .35em; text-decoration: none !important; color: var(--nv-ink) !important; background: var(--nv-gold-bg); border: 1px solid #e7dcbd; border-radius: 12px; padding: 1.2em 1.3em; transition: transform 160ms var(--nv-ease-out), box-shadow 200ms ease; }
.neva-ec-sugg-t { font-family: 'Neva Cormorant', 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 1.5em; line-height: 1.1; }
.neva-ec-sugg-s { color: var(--nv-mute); }
.neva-ec-sugg-b { margin-top: auto; font-weight: 700; color: #8a6d1c; }

/* Tableau des avantages : plus grand, plus luxe. */
.neva-ec-mb-table table { font-size: 1.02em; }
.neva-ec-mb-table th, .neva-ec-mb-table td { padding: 1em 1.1em; }
.neva-ec-mb-table th { font-family: 'Neva Cormorant', 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 1.35em; letter-spacing: 0; text-transform: none; font-weight: 500; }
.neva-ec-mb-table th small { font-family: 'Sora', sans-serif; font-style: normal; font-size: .5em; letter-spacing: .16em; text-transform: uppercase; margin-top: .3em; }
.neva-ec-mb-table td.neva-ec-mb-k { font-weight: 600; font-size: 1.02em; }
.neva-ec-mb-table td.is-yes { font-size: 1.2em; }

/* 6. Rappels boutique (presque partout) et tuile boutique. */
.neva-ec-shopnudge { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .3em 1.4em; margin: 1.8em 0 0; padding: 1.2em 1.5em; border-radius: 12px; text-decoration: none !important; color: #fff !important;
	background: linear-gradient(100deg, rgba(11,12,10,.9), rgba(11,12,10,.72)), url('https://neva.ski/wp-content/uploads/2026/06/shutterstock_530912209.jpg') center 30% / cover; transition: transform 160ms var(--nv-ease-out); }
.neva-ec-shopnudge-k { grid-column: 1; font-size: .74em; letter-spacing: .2em; text-transform: uppercase; color: var(--nv-gold-2); font-weight: 700; }
.neva-ec-shopnudge-t { grid-column: 1; font-size: 1.02em; opacity: .92; }
.neva-ec-shopnudge-t strong { color: var(--nv-gold-2); }
.neva-ec-shopnudge-b { grid-column: 2; grid-row: 1 / span 2; background: #C9A744; color: #121411; border-radius: 999px; padding: .7em 1.4em; font-weight: 700; white-space: nowrap; }
@media (max-width: 600px) { .neva-ec-shopnudge { grid-template-columns: 1fr; } .neva-ec-shopnudge-b { grid-column: 1; grid-row: auto; justify-self: start; margin-top: .5em; } }
/* 0.5.21 (20/10/2026) : 3 produits en photo sous le rappel boutique (Avantages, Statut) */
.neva-ec-shopnudge-prods { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7em; margin: .7em 0 0; }
.neva-ec-shopnudge-p { display: flex; flex-direction: column; gap: .4em; background: #fff; border: 1px solid #e8e3d6; border-radius: 10px; padding: .55em; text-decoration: none !important; color: var(--nv-ink) !important; font-size: .8em; font-weight: 700; line-height: 1.25; transition: transform 160ms var(--nv-ease-out), box-shadow 160ms ease; }
.neva-ec-shopnudge-p img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: contain; border-radius: 6px; background: #fff; }
.neva-ec-shopnudge-p:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(0,0,0,.12); }
@media (max-width: 600px) { .neva-ec-shopnudge-prods { gap: .4em; } .neva-ec-shopnudge-p { font-size: .72em; padding: .4em; } }
.neva-ec-tile.is-shop { background: linear-gradient(160deg, #f7ecc9 0%, #fff 70%); border-color: #e7dcbd; }

/* Mouvement : retour tactile a la pression, survol seulement a la souris, mouvement reduit respecte. */
.neva-ec-btn, .neva-ec-loyal-btn, .neva-ec-tile-a, .neva-ec-shopnudge-b { transition: background-color 200ms ease, color 200ms ease, transform 160ms var(--nv-ease-out); }
.neva-ec-btn:active, .neva-ec-loyal-btn:active, .neva-ec-sugg-c:active, .neva-ec-shopnudge:active { transform: scale(.97); }
@media (hover: hover) and (pointer: fine) {
	.neva-ec-sugg-c:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(18,20,17,.08); }
	.neva-ec-shopnudge:hover .neva-ec-shopnudge-b { background: #fff; }
}
@media (prefers-reduced-motion: reduce) {
	.neva-ec-path-bar span { animation: none; }
	.neva-ec-sugg-c, .neva-ec-shopnudge, .neva-ec-btn, .neva-ec-loyal-btn { transition: background-color 200ms ease, color 200ms ease; }
	.neva-ec-sugg-c:hover, .neva-ec-btn:active, .neva-ec-loyal-btn:active, .neva-ec-sugg-c:active, .neva-ec-shopnudge:active { transform: none; }
}

/* v0.3.7 (13/10/2026) : Raphael « la photo doit être en arrière-plan de l'espace blanc, pas dans le cadre ». */
body.woocommerce-account.logged-in {
	background: linear-gradient(180deg, rgba(255,255,255,.30) 0px, rgba(255,255,255,.62) 520px, rgba(247,245,239,.94) 1100px),
		url('https://neva.ski/wp-content/uploads/2026/06/shutterstock_530912209.jpg') center top / cover fixed no-repeat;
}
@media (max-width: 900px), (hover: none) { body.woocommerce-account.logged-in { background-attachment: scroll, scroll; } }
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
	background: rgba(255,255,255,.93); -webkit-backdrop-filter: blur(20px) saturate(180%); backdrop-filter: blur(20px) saturate(180%);
	border-radius: 14px; box-shadow: 0 18px 40px rgba(18,20,17,.10);
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-content { padding: 1.8em 2em; }
@media (max-width: 720px) { body.woocommerce-account.logged-in .woocommerce-MyAccount-content { padding: 1.2em 1em; } }
/* Le bandeau d'accueil retrouve un fond sombre, sans photo (la photo est derrière la page). */
.neva-ec-hero { background: radial-gradient(120% 140% at 100% 0%, #2e2c22 0%, #121411 55%, #0b0c0a 100%); min-height: 280px; }
.neva-ec-hero::after { opacity: .12; }
@media (prefers-reduced-transparency: reduce) {
	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation, body.woocommerce-account.logged-in .woocommerce-MyAccount-content { background: #fff; backdrop-filter: none; -webkit-backdrop-filter: none; }
}
/* v0.3.7b : le grand NEVA blanc du site, par-dessus la photo (comme l'accueil). */
body.woocommerce-account.logged-in {
	background: url('neva-bg-big.png') center 140px / min(1200px, 92vw) auto no-repeat,
		linear-gradient(180deg, rgba(255,255,255,.18) 0px, rgba(255,255,255,.58) 560px, rgba(247,245,239,.94) 1100px),
		url('https://neva.ski/wp-content/uploads/2026/06/shutterstock_530912209.jpg') center top / cover no-repeat;
	background-attachment: scroll, fixed, fixed;
}
@media (max-width: 900px), (hover: none) { body.woocommerce-account.logged-in { background-attachment: scroll, scroll, scroll; } }

/* v0.3.9 (13/10/2026) : animations VISIBLES (Raphael : « je ne vois aucune animation »).
   Regles Emil Kowalski : ouverture de page = moment rare -> place pour le delice ; ease-out ; entree depuis
   opacity 0 + translateY(10px) (jamais scale(0)) ; cascade 60 ms qui ne bloque jamais le clic ; transform/opacity seuls. */
@keyframes nv-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes nv-pop { from { opacity: 0; transform: scale(.94); } to { opacity: 1; transform: none; } }
.neva-ec-hero { animation: nv-in 620ms var(--nv-ease-out) both; }
.neva-ec-hero-hello { animation: nv-in 700ms var(--nv-ease-out) 120ms both; }
.neva-ec-hero-sub, .neva-ec-hero-cta { animation: nv-in 700ms var(--nv-ease-out) 220ms both; }
.neva-ec-count { animation: nv-pop 600ms var(--nv-ease-out) 260ms both; }
.neva-ec-next { animation: nv-in 600ms var(--nv-ease-out) 340ms both; }
.neva-ec-tiles > *, .neva-ec-sugg > *, .neva-ec-upgrade-grid > *, .neva-ec-steps > *, .neva-ec-perks > *, .neva-ec-gammes > * { animation: nv-in 520ms var(--nv-ease-out) both; }
.neva-ec-tiles > :nth-child(1), .neva-ec-sugg > :nth-child(1), .neva-ec-steps > :nth-child(1), .neva-ec-upgrade-grid > :nth-child(1) { animation-delay: 180ms; }
.neva-ec-tiles > :nth-child(2), .neva-ec-sugg > :nth-child(2), .neva-ec-steps > :nth-child(2), .neva-ec-upgrade-grid > :nth-child(2) { animation-delay: 240ms; }
.neva-ec-tiles > :nth-child(3), .neva-ec-sugg > :nth-child(3), .neva-ec-steps > :nth-child(3) { animation-delay: 300ms; }
.neva-ec-tiles > :nth-child(4), .neva-ec-sugg > :nth-child(4), .neva-ec-steps > :nth-child(4) { animation-delay: 360ms; }
.neva-ec-tiles > :nth-child(5) { animation-delay: 420ms; }
.neva-ec-tiles > :nth-child(6) { animation-delay: 480ms; }
.neva-ec-panel, .neva-ec-sec, .neva-ec-path-top, .neva-ec-mb, .neva-ec-tip, .neva-ec-loyal, .neva-ec-shopnudge, .neva-ec-pass, .neva-ec-focus { animation: nv-in 560ms var(--nv-ease-out) 120ms both; }
.neva-ec-mb-card { animation: nv-pop 700ms var(--nv-ease-out) 80ms both; }
.neva-ec-rung .neva-ec-medal, .neva-ec-mb-step .neva-ec-mb-medal { animation: nv-pop 480ms var(--nv-ease-out) both; }
.neva-ec-rung:nth-child(1) .neva-ec-medal { animation-delay: 150ms; } .neva-ec-rung:nth-child(2) .neva-ec-medal { animation-delay: 210ms; }
.neva-ec-rung:nth-child(3) .neva-ec-medal { animation-delay: 270ms; } .neva-ec-rung:nth-child(4) .neva-ec-medal { animation-delay: 330ms; }
.neva-ec-rung:nth-child(5) .neva-ec-medal { animation-delay: 390ms; } .neva-ec-rung:nth-child(6) .neva-ec-medal { animation-delay: 450ms; }
.neva-ec-rung:nth-child(7) .neva-ec-medal { animation-delay: 510ms; } .neva-ec-rung:nth-child(8) .neva-ec-medal { animation-delay: 570ms; }
.neva-ec-rung:nth-child(9) .neva-ec-medal { animation-delay: 630ms; }
/* Survol a la souris : les tuiles se soulevent un peu (frequent -> petit et rapide). */
.neva-ec-tile, .neva-ec-perk, .neva-ec-upgrade { transition: transform 200ms var(--nv-ease-out), box-shadow 200ms ease; }
@media (hover: hover) and (pointer: fine) {
	.neva-ec-tile:hover, .neva-ec-perk:hover, .neva-ec-upgrade:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(18,20,17,.10); }
	.neva-ec-btn:hover, .neva-ec-loyal-btn:hover { transform: translateY(-1px); }
}
@media (prefers-reduced-motion: reduce) {
	.neva-ec *, .neva-ec-hero, .neva-ec-mb-card { animation: none !important; }
	.neva-ec-tile:hover, .neva-ec-perk:hover, .neva-ec-upgrade:hover, .neva-ec-btn:hover, .neva-ec-loyal-btn:hover { transform: none; }
}

/* v0.3.9 mobile (skill mobile-native d'Emil Kowalski, 13/10/2026). */
body.woocommerce-account { -webkit-tap-highlight-color: transparent; }
.neva-ec input, .neva-ec select, .neva-ec textarea { font-size: max(16px, 1rem) !important; } /* pas de zoom iOS au focus */
.neva-ec a, .neva-ec button, .neva-ec .button, .neva-ec label, .woocommerce-MyAccount-navigation a { touch-action: manipulation; }
.neva-ec .button, .neva-ec-btn, .neva-ec-loyal-btn, .neva-ec-shopnudge-b, .neva-ec-tab-lb { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; min-height: 44px; }
.neva-ec-mb-table { overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
@media (max-width: 720px) {
	.neva-ec-tiles { grid-template-columns: 1fr 1fr; gap: .7em; }
	.neva-ec-tile { padding: 1em .9em; }
	.neva-ec-hero-side { flex-wrap: wrap; }
	.neva-ec-count-n { font-size: 2.8em; }
}
@media (max-width: 420px) { .neva-ec-tiles { grid-template-columns: 1fr; } }
/* Mobile : menu en barre d'onglets horizontale (scroll-snap natif), le contenu arrive tout de suite. */
@media (max-width: 768px) {
	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation { padding: .5em; margin-bottom: 1em; position: sticky; top: 0; z-index: 5; }
	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul { display: flex; gap: .4em; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; touch-action: pan-x pan-y; margin: 0; padding: 0; scrollbar-width: none; }
	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li { flex: 0 0 auto; scroll-snap-align: start; list-style: none; margin: 0; border: 0; }
	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li a { display: block; white-space: nowrap; padding: .6em 1em; border-radius: 999px; border: 1px solid #e6e8ee; font-size: .95em; min-height: 44px; line-height: 1.6; }
	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.is-active a { background: #121411; color: #fff; border-color: #121411; }
}

/* v0.4.2 (13/10/2026) : parrainage (solutions 3 et 4). */
.neva-ec-par { background: #fff; border: 1px solid #e7dcbd; border-radius: 14px; padding: 1.4em 1.5em; margin: 0 0 1.4em; }
.neva-ec-par-t { font-size: 1.02em; margin: 0 0 1em !important; }
.neva-ec-par-share { display: flex; gap: .6em; flex-wrap: wrap; margin: 0 0 1.1em; }
.neva-ec-par-wa, .neva-ec-par-mail { display: inline-flex; align-items: center; min-height: 44px; padding: .6em 1.3em; border-radius: 999px; font-weight: 700; text-decoration: none !important; touch-action: manipulation; transition: transform 160ms var(--nv-ease-out), background-color 200ms ease; }
.neva-ec-par-wa { background: #25d366; color: #fff !important; }
.neva-ec-par-mail { background: #121411; color: #fff !important; }
.neva-ec-par-wa:active, .neva-ec-par-mail:active { transform: scale(.97); }
.neva-ec-par-count { margin: 1em 0 .4em !important; font-weight: 600; }
.neva-ec-par-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .3em; }
.neva-ec-par-list li { display: flex; justify-content: space-between; border-bottom: 1px dashed #e6e8ee; padding: .35em 0; }
.neva-ec-par-list li span { color: var(--nv-mute); font-size: .9em; }
.neva-ec-stepi.is-link a { display: flex; align-items: center; gap: 1em; width: 100%; text-decoration: none !important; color: inherit !important; }
.neva-ec-stepi.is-link { cursor: pointer; border-color: #e7dcbd; }
@media (hover: hover) and (pointer: fine) { .neva-ec-stepi.is-link:hover { background: var(--nv-gold-bg); } }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* v0.4.3 (13/10/2026) : onglets vides commerciaux. */
.neva-ec-vide { background: #fff; border: 1px solid #e7dcbd; border-radius: 14px; padding: 2em 2em 1.6em; margin: 0 0 1.4em; animation: nv-in 560ms var(--nv-ease-out) 80ms both; }
.neva-ec-vide-t { font-family: 'Neva Cormorant', 'Cormorant Garamond', Georgia, serif; font-style: italic; font-weight: 500; font-size: clamp(1.9rem, 3.6vw, 2.6rem); line-height: 1.05; margin: .1em 0 .5em !important; }
.neva-ec-vide-p { font-size: 1.08em; line-height: 1.6; max-width: 40em; }
.neva-ec-vide-cta { display: flex; flex-wrap: wrap; gap: .7em; align-items: center; margin: 1.3em 0 1em; }
.neva-ec-vide-2 { display: inline-flex; align-items: center; min-height: 44px; padding: .6em 1.4em; border: 1px solid #121411; border-radius: 999px; font-weight: 700; text-decoration: none !important; color: #121411 !important; transition: background-color 200ms ease, color 200ms ease, transform 160ms var(--nv-ease-out); }
.neva-ec-vide-2:active { transform: scale(.97); }
@media (hover: hover) and (pointer: fine) { .neva-ec-vide-2:hover { background: #121411; color: #fff !important; } }
.neva-ec-vide-n { color: var(--nv-mute); font-size: .92em; margin: 0 !important; }
@media (prefers-reduced-motion: reduce) { .neva-ec-vide { animation: none; } }

/* v0.4.5 : prix membre automatique */
.neva-ec-prixmembre{display:block;margin-top:2px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#8a6d1c}


/* v0.4.9 (13/10/2026) : le cadre est le bouton (tuiles, bandeau Neva Club, rappels boutique), texte du bandeau revu,
   note « Tarif pack école » plus masquée par les cartes de montée en gamme, règles du statut. */
a.neva-ec-tile.is-link { position: relative; display: flex; flex-direction: column; gap: .3em; text-decoration: none !important; color: var(--nv-ink) !important; cursor: pointer; padding-right: 2.6em; }
a.neva-ec-tile.is-link .neva-ec-tile-k, a.neva-ec-tile.is-link .neva-ec-tile-v, a.neva-ec-tile.is-link .neva-ec-tile-t { display: block; }
.neva-ec-tile-go { position: absolute; right: 1em; bottom: 1em; color: #C9A744; font-size: 1.2em; transition: transform 200ms cubic-bezier(.23,1,.32,1); }
a.neva-ec-loyal { text-decoration: none !important; color: #121411 !important; cursor: pointer; }
.neva-ec-loyal-t { font-family: 'Neva Cormorant', 'Cormorant Garamond', Georgia, serif; font-style: italic; font-weight: 500; font-size: 1.55em; line-height: 1.15; }
.neva-ec-loyal-t strong { all: unset; }
.neva-ec-loyal-go, .neva-ec-shopnudge-go { font-size: 1.6em; line-height: 1; transition: transform 200ms cubic-bezier(.23,1,.32,1); }
.neva-ec-shopnudge { grid-template-columns: 1fr auto !important; align-items: center; }
.neva-ec-shopnudge-go { grid-column: 2; grid-row: 1 / span 2; color: #C9A744; }
@media (hover: hover) and (pointer: fine) {
	a.neva-ec-tile.is-link:hover .neva-ec-tile-go, a.neva-ec-loyal:hover .neva-ec-loyal-go, .neva-ec-shopnudge:hover .neva-ec-shopnudge-go { transform: translateX(4px); }
}
a.neva-ec-tile.is-link:active, a.neva-ec-loyal:active { transform: scale(.98); }
.neva-ec-upgrade-grid .neva-ec-upgrade { margin: 0 !important; border-top-style: solid; }
.neva-ec-upgrade-n { position: relative; z-index: 2; clear: both; margin-top: 1em !important; padding-top: .2em; }
.neva-ec-regles dl { display: grid; grid-template-columns: 9em 1fr; gap: .8em 1.2em; margin: .6em 0 0; }
.neva-ec-regles dt { font-weight: 700; }
.neva-ec-regles dd { margin: 0; color: #4a4a45; line-height: 1.55; }
@media (max-width: 600px) { .neva-ec-regles dl { grid-template-columns: 1fr; gap: .2em; } .neva-ec-regles dd { margin-bottom: .8em; } }

/* 0.5.4 (14/10/2026, test de Liza : « ce n'est pas centré et les textes débordent l'un sur l'autre ») */
.neva-ec-skiers { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.neva-ec-skier { min-width: 0; min-inline-size: 0; box-sizing: border-box; }
.neva-ec-skier-items li { flex-direction: column; align-items: flex-start; gap: .1em; }
.neva-ec-skier-items li span { white-space: normal; }
.neva-ec-fields { grid-template-columns: repeat(auto-fit, minmax(min(100%, 110px), 1fr)); }
.neva-ec-field { min-width: 0; }
.neva-ec-field input, .neva-ec-field select, .neva-ec-field textarea { box-sizing: border-box; max-width: 100%; }

/* 0.5.7 (audit 15/10/2026) */
.neva-ec-prep { background: #fff; border: 1px solid var(--nv-line); border-left: 4px solid var(--nv-gold); border-radius: var(--nv-r); padding: 1.1em 1.3em; margin: 0 0 1.3em; box-shadow: var(--nv-shadow); }
.neva-ec-prep-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1em; }
.neva-ec-prep-head .neva-ec-h { margin: 0 0 .6em; border: 0; padding: 0; }
.neva-ec-prep-head .neva-ec-h::after { display: none; }
.neva-ec-prep-n { font-weight: 700; color: var(--nv-gold); white-space: nowrap; }
.neva-ec-prep-bar { height: 6px; background: var(--nv-soft); border-radius: 99px; overflow: hidden; margin: 0 0 .8em; }
.neva-ec-prep-bar span { display: block; height: 100%; background: var(--nv-gold); border-radius: 99px; }
.neva-ec-prep-l { list-style: none; margin: 0; padding: 0; }
.neva-ec-prep-l li { border-top: 1px solid var(--nv-line); }
.neva-ec-prep-l a { display: flex; align-items: center; gap: .8em; padding: .7em .2em; text-decoration: none !important; }
.neva-ec-prep-ic { width: 1.6em; height: 1.6em; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; border: 1.5px solid var(--nv-gold); color: var(--nv-gold); font-weight: 700; flex: 0 0 auto; }
.neva-ec-prep-l .is-done .neva-ec-prep-ic { background: var(--nv-ok); border-color: var(--nv-ok); color: #fff; }
.neva-ec-prep-l .is-done .neva-ec-prep-t { color: var(--nv-mute); }
.neva-ec-prep-t { flex: 1; }
.neva-ec-prep-t em { font-style: normal; color: var(--nv-mute); font-size: .9em; margin-left: .3em; }
.neva-ec-prep-go { font-size: .85em; font-weight: 600; white-space: nowrap; }
.neva-ec-prep-l .is-todo .neva-ec-prep-go { color: var(--nv-gold); }
.neva-ec-resume { background: var(--nv-soft); border-radius: var(--nv-r); padding: .6em 1em; font-weight: 600; margin: 0 0 1em !important; }
.neva-ec-acc-i { border: 1px solid var(--nv-line); border-radius: var(--nv-r); margin: 0 0 .6em; background: #fff; }
.neva-ec-acc-i > summary { cursor: pointer; padding: .8em 1em; font-weight: 700; display: flex; align-items: center; justify-content: space-between; gap: 1em; list-style: none; }
.neva-ec-acc-i > summary::-webkit-details-marker { display: none; }
.neva-ec-acc-i > summary::after { content: '+'; color: var(--nv-gold); font-size: 1.2em; }
.neva-ec-acc-i[open] > summary::after { content: '–'; }
.neva-ec-acc-n { margin-left: auto; font-weight: 500; font-size: .85em; color: var(--nv-mute); }
.neva-ec-acc-b, .neva-ec-acc-i > .neva-ec-skier, .neva-ec-acc-i > .neva-ec-gamme { padding: 0 1em 1em; }
.neva-ec-after { background: var(--nv-ink); color: #fff; border-radius: var(--nv-r); padding: 1.3em 1.4em; margin: 0 0 1.3em; }
.neva-ec-after .neva-ec-h { color: #fff; border-color: rgba(255,255,255,.15); }
.neva-ec-after p { color: rgba(255,255,255,.85); }
.neva-ec-after-b { display: flex; flex-wrap: wrap; gap: .6em; margin-top: .6em; }
.neva-ec-after .neva-ec-btn { background: var(--nv-gold) !important; }
.neva-ec-after .neva-ec-add-b.is-ghost { color: #fff !important; border-color: rgba(255,255,255,.5) !important; }
.woocommerce-EditAccountForm p:has(#account_display_name) { display: none; }
.neva-ec-infos { border: 1px solid #e6e8ee; border-radius: 8px; padding: 1em 1.2em; margin: 1.2em 0; }
.neva-ec-infos legend { font-weight: 700; padding: 0 .4em; }
.neva-ec-nl label { font-weight: 400; }
.neva-ec-compte-head { text-align: center; margin: 0 auto 1.4em; max-width: 560px; }
.neva-ec-compte-head .neva-club-slogan, .neva-ec-verif .neva-club-slogan { font-family: 'Neva Cormorant', 'Cormorant Garamond', Georgia, serif; font-style: italic; color: #C9A744; font-size: 1.2em; margin: 0 0 .6em; }
@media (max-width: 600px) {
	.neva-ec-prep-go { display: none; }
	.neva-ec-after-b > * { flex: 1 1 100%; text-align: center; }
}

/* ===== 0.5.16 (19/10/2026) : « Votre séjour approche » + factures ===== */
.neva-ec-trip { background: #fff; border: 1px solid var(--nv-line); border-radius: var(--nv-r); padding: 1.2em 1.3em 1.1em; margin: 0 0 1.3em; box-shadow: var(--nv-shadow, 0 8px 24px rgba(18,20,17,.06)); }
.neva-ec-trip .neva-ec-h { margin-top: .2em; }
.neva-ec-trip-steps { list-style: none; margin: .4em 0 1em; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: .6em; position: relative; }
.neva-ec-trip-steps li { position: relative; display: flex; flex-direction: column; gap: .15em; padding: .7em .8em .7em 2.2em; border-radius: 10px; background: var(--nv-soft); color: var(--nv-mute); transition: background-color .2s ease, color .2s ease; }
.neva-ec-trip-dot { position: absolute; left: .8em; top: .95em; width: .8em; height: .8em; border-radius: 50%; border: 1.5px solid var(--nv-gold); background: #fff; }
.neva-ec-trip-steps .is-done .neva-ec-trip-dot { background: var(--nv-ok); border-color: var(--nv-ok); }
.neva-ec-trip-steps .is-now { background: var(--nv-ink); color: #fff; }
.neva-ec-trip-steps .is-now .neva-ec-trip-dot { background: var(--nv-gold); border-color: var(--nv-gold); box-shadow: 0 0 0 4px rgba(201,167,68,.25); }
.neva-ec-trip-k { font-size: .75em; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: var(--nv-gold); }
.neva-ec-trip-t { font-weight: 700; color: inherit; line-height: 1.25; }
.neva-ec-trip-steps .is-next .neva-ec-trip-t { color: var(--nv-ink); }
.neva-ec-trip-d { font-size: .85em; opacity: .85; }
.neva-ec-trip-now p, .neva-ec-trip-old p { margin: 0 0 .7em; line-height: 1.55; }
.neva-ec-trip-intro { margin: 0; color: var(--nv-mute); }
.neva-ec-trip-b { display: flex; flex-wrap: wrap; gap: .6em; margin-top: .9em; }
.neva-ec-trip-old { border-top: 1px solid var(--nv-line); margin-top: .9em; padding-top: .7em; }
.neva-ec-trip-old summary { cursor: pointer; font-weight: 600; color: var(--nv-mute); }
.neva-ec-trip-old[open] summary { margin-bottom: .6em; }
@media (max-width: 640px) { .neva-ec-trip-steps { grid-template-columns: 1fr; } }

.neva-ec-docs { margin: 1.6em 0 1em; }
.neva-ec-docs-l { list-style: none; margin: 0 0 .6em; padding: 0; }
.neva-ec-doc { display: flex; align-items: center; gap: .9em; padding: .75em .2em; border-top: 1px solid var(--nv-line); }
.neva-ec-doc:last-child { border-bottom: 1px solid var(--nv-line); }
.neva-ec-doc-ic { flex: none; width: 2.6em; height: 2.6em; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; font-size: .7em; font-weight: 800; letter-spacing: .08em; color: var(--nv-ink); background: var(--nv-soft); border: 1px solid var(--nv-line); }
.neva-ec-doc.is-facture .neva-ec-doc-ic { background: var(--nv-ink); color: var(--nv-gold); border-color: var(--nv-ink); }
.neva-ec-doc-t { flex: 1; display: flex; flex-direction: column; }
.neva-ec-doc-t em { font-style: normal; color: var(--nv-mute); font-size: .9em; }
.neva-ec-doc-b { flex: none; font-weight: 700; text-decoration: none !important; border: 1.5px solid var(--nv-ink); border-radius: 999px; padding: .45em 1.1em; color: var(--nv-ink) !important; transition: background-color .15s ease, color .15s ease, transform .1s ease; }
.neva-ec-doc-b:hover { background: var(--nv-ink); color: #fff !important; }
.neva-ec-doc-b:active { transform: scale(.97); }
@media (prefers-reduced-motion: reduce) { .neva-ec-trip-steps li, .neva-ec-doc-b { transition: none; } }
.neva-ec-trip-b .neva-ec-add-b::before { content: none; }

/* ===== 0.5.17 (19/10/2026, revue Fable B2) : prenoms manquants ===== */
.neva-ec-alert.is-info { background: #f3f6fa; border-color: #d7e0ea; border-left-color: var(--nv-navy, #0f2a44); }

