/* ============================================================
   BVL Seller Space — front-end CSS
   Réutilise les variables du thème BVL Store (Editorial Noir).
   Si --ink etc. ne sont pas définies (plugin actif sans thème),
   on les redéfinit ici.
   ============================================================ */

:root {
  --ink:   var(--ink, #0A0A0A);
  --paper: var(--paper, #FAFAF7);
  --paper-pure: var(--paper-pure, #FFFFFF);
  --ash:   var(--ash, #8C8C88);
  --fog:   var(--fog, #E6E5E0);
  --acid:  var(--acid, #D8FF3D);
  --display: var(--display, 'Inter Tight', 'Helvetica Neue', Arial, sans-serif);
  --mono:    var(--mono, 'JetBrains Mono', ui-monospace, Menlo, monospace);
}

/* WC layout override pour donner plus de place au contenu seller */
.woocommerce-account .woocommerce-MyAccount-content {
  width: 78%;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
  width: 20%;
}
@media (max-width: 1024px) {
  .woocommerce-account .woocommerce-MyAccount-content,
  .woocommerce-account .woocommerce-MyAccount-navigation { width: 100%; }
}

/* ==== Screen shell ==== */
.bvl-screen { font-family: var(--display); color: var(--ink); }
.bvl-screen-head {
  display: flex; justify-content: space-between; align-items: flex-end;
  margin-bottom: 28px; gap: 16px; flex-wrap: wrap;
}
.bvl-screen-sub { margin-top: 8px; font-size: 14px; color: rgba(10,10,10,.6); }
.bvl-h1 { font-size: clamp(28px, 4vw, 48px); font-weight: 500; letter-spacing: -0.04em; line-height: 1; margin: 0; }
.bvl-h2 { font-size: clamp(22px, 3vw, 36px); font-weight: 500; letter-spacing: -0.03em; line-height: 1; margin: 0; }
.bvl-h1 em, .bvl-h2 em { font-style: italic; font-weight: 400; color: rgba(10,10,10,.45); }

.bvl-grid { display: grid; gap: 16px; }
.bvl-grid-2 { grid-template-columns: 1fr 1fr; }
.bvl-grid-3 { grid-template-columns: repeat(3, 1fr); }
.bvl-grid-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 900px) {
  .bvl-grid-3, .bvl-grid-4 { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .bvl-grid-2, .bvl-grid-3, .bvl-grid-4 { grid-template-columns: 1fr; }
}

/* ==== Eyebrow + dot ==== */
.eyebrow {
  font-family: var(--mono); font-size: 10px; letter-spacing: 0.22em;
  text-transform: uppercase; color: rgba(10,10,10,0.55);
  display: inline-flex; align-items: center; gap: 8px;
}
.eyebrow .dot { width: 6px; height: 6px; border-radius: 99px; background: var(--acid); display: inline-block; }
.hairline { height: 1px; background: var(--fog); border: 0; margin: 0; }

/* ==== Buttons ==== */
.btn, .bvl-screen button.btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 10px; height: 48px; padding: 0 22px;
  background: var(--ink); color: var(--paper);
  border: 1px solid var(--ink); border-radius: 0;
  font-family: var(--display); font-size: 13px; font-weight: 500;
  letter-spacing: 0.06em; text-transform: uppercase;
  cursor: pointer; text-decoration: none;
  transition: background .15s, color .15s;
}
.btn:hover { background: var(--paper); color: var(--ink); }
.btn.btn--acid { background: var(--acid); color: var(--ink); border-color: var(--acid); }
.btn.btn--acid:hover { background: var(--ink); color: var(--acid); border-color: var(--ink); }
.btn.btn--ghost { background: transparent; color: var(--ink); }
.btn.btn--ghost:hover { background: var(--ink); color: var(--paper); }
.btn.btn--ghost-light { background: transparent; color: var(--paper); border-color: rgba(255,255,255,.3); }
.btn.btn--ghost-light:hover { background: var(--paper); color: var(--ink); border-color: var(--paper); }
.btn.btn--sm { height: 38px; padding: 0 14px; font-size: 11px; }
.btn.btn--lg { height: 56px; padding: 0 26px; font-size: 14px; }
.btn.btn--block { width: 100%; }
.btn-link {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--mono); font-size: 10px; letter-spacing: 0.18em;
  text-transform: uppercase; border-bottom: 1px solid currentColor; padding-bottom: 2px;
  text-decoration: none; color: var(--ink);
}

/* ==== Forms ==== */
.field { display: flex; flex-direction: column; gap: 8px; }
.field-label {
  font-family: var(--mono); font-size: 10px; letter-spacing: 0.2em;
  text-transform: uppercase; color: rgba(10,10,10,0.55);
}
.input, .bvl-screen input.input, .bvl-screen textarea.input, .bvl-screen select.input {
  background: var(--paper); border: 1px solid var(--fog); border-radius: 0;
  font-family: var(--display); font-size: 15px; color: var(--ink);
  padding: 12px 14px; height: 48px; width: 100%;
}
.input.mono { font-family: var(--mono); letter-spacing: 0.04em; }
textarea.input { height: auto; min-height: 96px; resize: vertical; padding: 12px 14px; }
.input:focus { border-color: var(--ink); outline: none; }

/* ==== Status pills ==== */
.status {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--mono); font-size: 10px; letter-spacing: 0.18em;
  text-transform: uppercase; padding: 4px 10px;
  border: 1px solid var(--ink); background: var(--paper);
}
.status .dot { width: 6px; height: 6px; border-radius: 99px; background: var(--ink); }
.status--pending { background: var(--paper); color: var(--ink); }
.status--pending .dot { background: var(--ash); animation: bvl-blink 1.4s steps(2) infinite; }
.status--offer { background: var(--ink); color: var(--acid); border-color: var(--ink); }
.status--offer .dot { background: var(--acid); }
.status--accepted { background: var(--acid); color: var(--ink); border-color: var(--acid); }
.status--accepted .dot { background: var(--ink); }
.status--live { background: var(--paper); color: var(--ink); border-color: var(--ink); }
.status--live .dot { background: var(--acid); animation: bvl-blink 1.4s steps(2) infinite; }
.status--sold { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.status--sold .dot { background: var(--acid); }
.status--refused { background: var(--paper); color: rgba(10,10,10,0.6); border: 1px dashed rgba(10,10,10,0.3); }
@keyframes bvl-blink { 0%,49% { opacity:1 } 50%,100% { opacity:.3 } }

/* ==== Type tag ==== */
.typetag {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--mono); font-size: 9px; letter-spacing: 0.2em;
  text-transform: uppercase; padding: 3px 8px;
  background: var(--paper); border: 1px solid var(--ink);
}
.typetag--rachat { background: var(--ink); color: var(--acid); border-color: var(--ink); }
.typetag--depot  { background: var(--paper); color: var(--ink); border-color: var(--ink); }

/* ==== Lozenge ==== */
.loz {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 3px 8px; background: var(--paper); border: 1px solid var(--fog);
  font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em;
  color: rgba(10,10,10,0.65); text-transform: uppercase;
}
.loz.is-acid { background: var(--acid); border-color: var(--acid); color: var(--ink); }
.loz.is-active { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.loz.is-done { opacity: 0.5; }

/* ==== Pills filter bar ==== */
.filter-bar {
  display: flex; gap: 8px; flex-wrap: wrap;
  padding-bottom: 18px; border-bottom: 1px solid var(--ink);
}
.pill {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 12px; border: 1px solid var(--fog);
  font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em;
  color: var(--ink); text-decoration: none; text-transform: uppercase;
}
.pill.is-active { background: var(--ink); color: var(--paper); border-color: var(--ink); }

/* ==== Stat cards ==== */
.stat-card { border: 1px solid var(--fog); background: var(--paper-pure); padding: 24px; }
.stat-card .k { font-family: var(--mono); font-size: 10px; letter-spacing: 0.2em; color: rgba(10,10,10,0.55); text-transform: uppercase; }
.stat-card .v { margin-top: 14px; font-size: 40px; font-weight: 500; letter-spacing: -0.03em; line-height: 1; }
.stat-card .v-sub { margin-top: 6px; font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em; color: rgba(10,10,10,0.5); text-transform: uppercase; }
.stat-card.is-acid { background: var(--acid); border-color: var(--acid); }
.stat-card.is-dark { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.stat-card.is-dark .k, .stat-card.is-dark .v-sub { color: rgba(255,255,255,.55); }

/* ==== Cards / artboard chunks ==== */
.bvl-card { background: var(--paper-pure); border: 1px solid var(--fog); padding: 20px; }
.bvl-form-card { background: var(--paper-pure); border: 1px solid var(--ink); padding: 32px; }
@media (max-width: 768px) { .bvl-form-card { padding: 20px; } }
.bvl-empty { padding: 32px; text-align: center; color: rgba(10,10,10,.55); }

/* ==== Article cards ==== */
.art-card { display: flex; flex-direction: column; border: 1px solid var(--fog); background: var(--paper-pure); color: var(--ink); text-decoration: none; }
.art-card-media { aspect-ratio: 1/1; background: var(--fog); position: relative; overflow: hidden; }
.art-card-media img { width: 100%; height: 100%; object-fit: cover; }
.art-card-tag { position: absolute; top: 10px; left: 10px; z-index: 1; }
.art-card-body { padding: 14px; display: flex; flex-direction: column; gap: 8px; }
.art-card-title { font-size: 14px; font-weight: 500; letter-spacing: -0.01em; }
.art-card-meta {
  display: flex; justify-content: space-between; align-items: baseline;
  font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em; color: rgba(10,10,10,0.55); text-transform: uppercase;
}
.art-card-foot {
  padding: 10px 14px; border-top: 1px solid var(--fog);
  display: flex; justify-content: space-between; align-items: center;
  font-family: var(--mono); font-size: 11px;
}

/* ==== Table ==== */
.bvl-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.bvl-table thead th {
  font-family: var(--mono); font-size: 10px; letter-spacing: 0.18em;
  text-transform: uppercase; color: rgba(10,10,10,0.5);
  text-align: left; padding: 12px 16px;
  border-bottom: 1px solid var(--ink); font-weight: 500;
}
.bvl-table tbody td { padding: 14px 16px; border-bottom: 1px solid var(--fog); vertical-align: middle; }
.bvl-table tbody tr:hover { background: rgba(10,10,10,0.02); }
.bvl-table .num { font-family: var(--mono); letter-spacing: 0.04em; }

/* ==== Feed item ==== */
.feed-item {
  display: grid; grid-template-columns: 80px 1fr auto; gap: 16px;
  padding: 14px 0; border-bottom: 1px solid var(--fog); align-items: center;
}
.feed-item .time { font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em; color: rgba(10,10,10,0.45); text-transform: uppercase; }
.feed-item .what { font-size: 13px; font-weight: 500; }
.feed-item .what em { font-style: normal; color: rgba(10,10,10,0.55); font-weight: 400; }
.feed-item .amt { font-family: var(--mono); font-size: 12px; font-weight: 500; }

/* ==== Notif stripe ==== */
.notif {
  background: var(--ink); color: var(--paper);
  padding: 14px 20px; display: flex; align-items: center; gap: 14px;
  border-left: 4px solid var(--acid);
  font-family: var(--mono); font-size: 12px; letter-spacing: 0.04em;
}

/* ==== Section head ==== */
.bvl-section-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px; }
.bvl-screen-foot {
  margin-top: 24px; display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap;
}

/* ==== Placeholder image ==== */
.ph {
  position: relative; background: var(--fog); overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}
.ph::before {
  content: ''; position: absolute; inset: 0;
  background: repeating-linear-gradient(135deg, var(--fog) 0 14px, rgba(10,10,10,0.04) 14px 15px);
}
.ph-label {
  position: relative; z-index: 1;
  font-family: var(--mono); font-size: 9px; letter-spacing: 0.18em;
  color: rgba(10,10,10,0.4); text-transform: uppercase; text-align: center;
  line-height: 1.5;
}

/* ==== Timeline ==== */
.bvl-timeline { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--ink); margin-top: 12px; }
.bvl-timeline .tl-step { padding: 18px 16px; border-right: 1px solid var(--fog); position: relative; }
.bvl-timeline .tl-step:last-child { border-right: 0; }
.bvl-timeline .tl-step .n { font-family: var(--mono); font-size: 10px; letter-spacing: 0.2em; color: rgba(10,10,10,0.4); text-transform: uppercase; }
.bvl-timeline .tl-step .t { margin-top: 12px; font-size: 15px; font-weight: 500; letter-spacing: -0.01em; }
.bvl-timeline .tl-step .d { margin-top: 6px; font-family: var(--mono); font-size: 10px; letter-spacing: 0.06em; color: rgba(10,10,10,0.5); }
.bvl-timeline .tl-step.is-done .n::before { content: '✓ '; color: var(--acid); }
.bvl-timeline .tl-step.is-current { background: var(--ink); color: var(--paper); border-right-color: var(--ink); }
.bvl-timeline .tl-step.is-current .n, .bvl-timeline .tl-step.is-current .d { color: rgba(255,255,255,0.7); }
.bvl-timeline .tl-step.is-current .n::before { content: '● '; color: var(--acid); animation: bvl-blink 1.4s steps(2) infinite; }
@media (max-width: 800px) { .bvl-timeline { grid-template-columns: 1fr 1fr; } .bvl-timeline .tl-step { border-bottom: 1px solid var(--fog); } }

/* ==== Photo gallery ==== */
.bvl-photo-main { aspect-ratio: 1/1; background: var(--fog); position: relative; }
.bvl-photo-main img { width: 100%; height: 100%; object-fit: cover; }
.bvl-photo-tag { position: absolute; top: 14px; left: 14px; }
.bvl-photo-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.bvl-photo-thumb { aspect-ratio: 1/1; background: var(--fog); overflow: hidden; }
.bvl-photo-thumb img { width: 100%; height: 100%; object-fit: cover; }

/* ==== Breadcrumb ==== */
.bvl-breadcrumb {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em;
  color: rgba(10,10,10,0.5); text-transform: uppercase; margin-bottom: 18px;
}
.bvl-breadcrumb a { color: rgba(10,10,10,.5); border-bottom: 1px solid currentColor; padding-bottom: 1px; text-decoration: none; }
.bvl-breadcrumb span:last-child { color: var(--ink); }

/* ==== Offer block ==== */
.bvl-offer {
  margin-top: 28px; background: var(--ink); color: var(--paper);
  padding: 28px; border-left: 4px solid var(--acid);
}
.bvl-offer-grid { margin-top: 16px; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
@media (max-width: 600px) { .bvl-offer-grid { grid-template-columns: 1fr; } }
.bvl-offer-k { font-family: var(--mono); font-size: 10px; letter-spacing: 0.18em; color: rgba(255,255,255,.55); text-transform: uppercase; }
.bvl-offer-v {
  margin-top: 8px; font-size: 56px; font-weight: 500;
  letter-spacing: -0.04em; line-height: 1;
}
.bvl-offer-v span { font-size: 24px; color: rgba(255,255,255,.55); }
.bvl-offer-v.is-acid { color: var(--acid); }
.bvl-offer-v.is-acid span { color: var(--paper); }
.bvl-offer-sub { margin-top: 6px; font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em; color: rgba(255,255,255,.5); }
.bvl-offer-msg {
  margin-top: 22px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.12);
  font-size: 13px; line-height: 1.55; color: rgba(255,255,255,.85);
}
.bvl-offer-actions { margin-top: 22px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; }
@media (max-width: 600px) { .bvl-offer-actions { grid-template-columns: 1fr; } }
.bvl-rachat-notice {
  margin-top: 14px; padding: 10px 14px; background: rgba(216,255,61,.08); border-left: 2px solid var(--acid);
  font-size: 11px; line-height: 1.55; color: rgba(255,255,255,.85);
}
.bvl-offer-expire { margin-top: 10px; font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em; color: rgba(255,255,255,.45); text-transform: uppercase; text-align: center; }

/* ==== Split (depot répartition) ==== */
.bvl-split {
  margin-top: 16px; display: grid; grid-template-columns: 1fr 1fr 1fr;
  border: 1px solid var(--fog);
}
.bvl-split > div { padding: 16px; border-right: 1px solid var(--fog); }
.bvl-split > div:last-child { border-right: 0; }
.bvl-split > div.is-dark { background: var(--ink); color: var(--paper); }
.bvl-split > div.is-acid { background: var(--acid); }
.bvl-split-k { font-family: var(--mono); font-size: 9px; letter-spacing: 0.18em; color: rgba(10,10,10,.5); text-transform: uppercase; }
.bvl-split > .is-dark .bvl-split-k { color: rgba(255,255,255,.55); }
.bvl-split > .is-acid .bvl-split-k { color: rgba(10,10,10,.6); }
.bvl-split-v { margin-top: 6px; font-size: 28px; font-weight: 500; letter-spacing: -0.02em; }

/* ==== Fiche technique ==== */
.bvl-spec dl {
  display: grid; grid-template-columns: auto 1fr; gap: 10px 18px;
  font-family: var(--mono); font-size: 11px; letter-spacing: 0.06em; margin: 0;
}
.bvl-spec dt { color: rgba(10,10,10,.5); }
.bvl-spec dd { margin: 0; }

/* ==== Market card ==== */
.bvl-market-counts { font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em; color: rgba(10,10,10,.5); margin-bottom: 12px; text-transform: uppercase; }
.bvl-market-row { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid var(--fog); font-family: var(--mono); font-size: 12px; }
.bvl-market-row:last-child { border-bottom: 0; }
.bvl-market-row span:first-child { color: rgba(10,10,10,.55); letter-spacing: 0.1em; text-transform: uppercase; font-size: 10px; }

/* ==== Choice cards (submit step 1) ==== */
.bvl-choice {
  border: 1px solid var(--fog); padding: 28px;
  cursor: pointer; transition: border-color .15s, background .15s;
  background: var(--paper-pure);
  display: flex; flex-direction: column; gap: 14px;
  min-height: 280px;
}
.bvl-choice:hover { border-color: var(--ink); }
.bvl-choice.is-selected { border-color: var(--ink); background: var(--ink); color: var(--paper); }
.bvl-choice.is-selected .eyebrow { color: rgba(255,255,255,.55); }
.bvl-choice-head { display: flex; justify-content: space-between; align-items: flex-start; }
.bvl-choice h3 { margin: 0; font-size: 28px; font-weight: 500; letter-spacing: -0.02em; }
.bvl-choice p { margin: 0; font-size: 13px; color: rgba(10,10,10,0.65); line-height: 1.5; }
.bvl-choice.is-selected p { color: rgba(255,255,255,.75); }
.bvl-choice-meta { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--fog); font-family: var(--mono); font-size: 10px; letter-spacing: 0.06em; color: rgba(10,10,10,.6); }
.bvl-choice-meta > div { display: flex; justify-content: space-between; margin-bottom: 6px; }
.bvl-choice-meta .acid { color: var(--acid); background: var(--ink); padding: 1px 6px; }

/* ==== Tier mini grid (commission par tranche) ==== */
.bvl-tier-mini {
  margin-top: 14px; display: grid; grid-template-columns: repeat(3, 1fr);
  border: 1px solid var(--fog);
}
.bvl-tier-mini > div { padding: 12px; border-right: 1px solid var(--fog); }
.bvl-tier-mini > div:last-child { border-right: 0; }
.bvl-tier-mini > div span { display: block; font-family: var(--mono); font-size: 9px; letter-spacing: 0.16em; color: rgba(10,10,10,.5); text-transform: uppercase; }
.bvl-tier-mini > div strong { display: block; margin-top: 4px; font-size: 18px; font-weight: 500; letter-spacing: -0.01em; }

/* ==== Steps pill ==== */
.bvl-steps-pill { display: flex; gap: 8px; flex-wrap: wrap; }

/* ==== Double offer toggle ==== */
.bvl-double-offer {
  margin-top: 16px; padding: 18px;
  background: var(--paper-pure); border: 1px solid var(--fog);
  display: flex; gap: 14px; align-items: center; cursor: pointer;
}
.bvl-double-offer input { margin: 0 6px 0 0; }

/* ==== Notice ==== */
.bvl-notice {
  margin-top: 12px; padding: 14px 18px;
  background: var(--ink); color: var(--paper); border-left: 3px solid var(--acid);
  font-size: 12px; line-height: 1.55;
}

/* ==== Conditions radio ==== */
.bvl-cond { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.bvl-cond label {
  padding: 14px 12px; border: 1px solid var(--fog); cursor: pointer; text-align: center;
  font-family: var(--display); font-size: 14px; font-weight: 500; transition: background .15s, color .15s, border-color .15s;
}
.bvl-cond label em { display: block; margin-top: 4px; font-family: var(--mono); font-size: 9px; letter-spacing: 0.14em; color: rgba(10,10,10,.5); text-transform: uppercase; font-style: normal; }
.bvl-cond input { display: none; }
.bvl-cond label:has(input:checked) { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.bvl-cond label:has(input:checked) em { color: rgba(255,255,255,.6); }

/* ==== Tier hero (profile) ==== */
.bvl-tier-hero {
  background: var(--ink); color: var(--paper);
  padding: 28px; display: grid; grid-template-columns: auto 1fr;
  gap: 28px; align-items: center; margin-bottom: 28px;
}
.bvl-tier-medal {
  width: 96px; height: 96px; background: var(--acid); color: var(--ink);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  border: 3px solid var(--acid);
}
.bvl-tier-medal .k { font-family: var(--mono); font-size: 11px; letter-spacing: 0.2em; font-weight: 600; }
.bvl-tier-medal .v { font-size: 32px; font-weight: 600; letter-spacing: -0.04em; line-height: 1; }
.bvl-tier-line { margin-top: 8px; font-size: 24px; font-weight: 500; letter-spacing: -0.02em; }
.bvl-tier-progress { margin-top: 18px; }
.bvl-tier-progress-labels {
  display: flex; justify-content: space-between;
  font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em; color: rgba(255,255,255,.55);
  text-transform: uppercase; margin-bottom: 8px;
}
.bvl-tier-bar { height: 6px; background: rgba(255,255,255,.1); position: relative; }
.bvl-tier-fill { position: absolute; inset: 0; background: var(--acid); }
.bvl-tier-marker {
  position: absolute; top: -3px; width: 12px; height: 12px;
  background: var(--paper); transform: translateX(-50%);
  border: 2px solid var(--ink); display: flex; align-items: center; justify-content: center;
  font-size: 8px; font-weight: 600; color: var(--ink); font-family: var(--mono);
}
.bvl-tier-marker.is-cur { background: var(--acid); }
.bvl-tier-foot { margin-top: 8px; font-family: var(--mono); font-size: 9px; letter-spacing: 0.14em; color: rgba(255,255,255,.4); text-transform: uppercase; }

/* ==== Tier cells ==== */
.bvl-tier-grid {
  display: grid; grid-template-columns: repeat(5, 1fr);
  border: 1px solid var(--ink); margin-bottom: 28px;
}
.bvl-tier-cell {
  padding: 22px; background: var(--paper-pure); color: var(--ink);
  border-right: 1px solid var(--fog); position: relative;
}
.bvl-tier-cell:last-child { border-right: 0; }
.bvl-tier-cell.is-cur { background: var(--ink); color: var(--paper); }
.bvl-tier-cell.is-acid { background: var(--acid); color: var(--ink); }
.bvl-tier-cell-pin {
  position: absolute; top: -1px; left: -1px; padding: 3px 8px;
  background: var(--acid); color: var(--ink);
  font-family: var(--mono); font-size: 9px; letter-spacing: 0.2em; text-transform: uppercase;
}
.bvl-tier-cell.is-cur { padding-top: 32px; }
.bvl-tier-cell .k { font-family: var(--mono); font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(10,10,10,.55); }
.bvl-tier-cell.is-cur .k { color: rgba(255,255,255,.55); }
.bvl-tier-cell .range { margin-top: 8px; font-size: 20px; font-weight: 500; letter-spacing: -0.02em; }
.bvl-tier-cell .red { margin-top: 14px; font-size: 32px; font-weight: 500; letter-spacing: -0.03em; }
.bvl-tier-cell.is-cur .red { color: var(--acid); }
.bvl-tier-cell .d { margin-top: 4px; font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em; color: rgba(10,10,10,.55); text-transform: uppercase; }
.bvl-tier-cell.is-cur .d { color: rgba(255,255,255,.55); }
@media (max-width: 900px) {
  .bvl-tier-grid { grid-template-columns: 1fr 1fr; }
  .bvl-tier-cell { border-right: 1px solid var(--fog); border-bottom: 1px solid var(--fog); }
}

/* ==== KYC slots ==== */
.bvl-kyc-slot {
  aspect-ratio: 1.58/1; background: var(--fog); border: 1px dashed rgba(10,10,10,.18);
  padding: 12px; display: flex; flex-direction: column; justify-content: space-between;
  cursor: pointer; position: relative;
}
.bvl-kyc-slot.is-filled { border: 1px solid var(--ink); }
.bvl-kyc-side { font-family: var(--mono); font-size: 9px; letter-spacing: 0.18em; color: rgba(10,10,10,.55); text-transform: uppercase; }
.bvl-kyc-check {
  position: absolute; top: 12px; right: 12px;
  width: 22px; height: 22px; background: var(--acid);
  display: inline-flex; align-items: center; justify-content: center;
}
.bvl-kyc-meta { font-family: var(--mono); font-size: 10px; letter-spacing: 0.06em; color: rgba(10,10,10,.6); }

/* ==== Notif toggles ==== */
.bvl-notif-list { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }
.bvl-notif-list label {
  display: flex; justify-content: space-between; align-items: center;
  padding: 10px 12px; background: var(--paper); border: 1px solid var(--fog); cursor: pointer;
  font-size: 13px;
}
.bvl-notif-list input { display: none; }
.bvl-notif-list .toggle {
  display: inline-block; width: 36px; height: 18px;
  background: var(--fog); position: relative;
}
.bvl-notif-list .toggle::after {
  content: ''; position: absolute; top: 1px; left: 1px; width: 16px; height: 16px;
  background: var(--paper); transition: left .15s, background .15s;
}
.bvl-notif-list label:has(input:checked) .toggle { background: var(--ink); }
.bvl-notif-list label:has(input:checked) .toggle::after { left: 19px; background: var(--acid); }

/* ==== Meta row ==== */
.bvl-meta-row { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 14px; font-family: var(--mono); font-size: 11px; letter-spacing: 0.08em; color: rgba(10,10,10,.6); text-transform: uppercase; }

/* ==== Balance hero (paiements) ==== */
.bvl-balance-hero {
  background: var(--ink); color: var(--paper);
  padding: 36px; display: flex; flex-direction: column;
  min-height: 240px;
}
.bvl-balance-v { margin-top: 18px; font-size: clamp(56px, 7vw, 96px); font-weight: 500; letter-spacing: -0.05em; line-height: 1; color: var(--acid); }
.bvl-balance-v span { font-size: 36px; color: var(--paper); }
.bvl-balance-meta { margin-top: 12px; font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; color: rgba(255,255,255,.55); text-transform: uppercase; }
.bvl-balance-actions { margin-top: auto; padding-top: 28px; display: flex; gap: 10px; flex-wrap: wrap; }
